Commit 16fb72f8 authored by 远方不远's avatar 远方不远
parents 0e041fb4 de62c298
......@@ -45,12 +45,6 @@ public class EnterpriseController {
return enterpriseService.bidDataGroup(vo);
}
@ApiOperation(value = "供应商列表(建设库)")
@PostMapping(value = "supplierPage")
public R supplierPage(@RequestBody @Valid EnterpriseSupplierPageBody vo) throws Exception {
return enterpriseService.supplierPage(vo);
}
@ApiOperation(value = "甲方业绩数据(openApi)")
@PostMapping(value = "projectTenderDataGroup")
public R projectTenderDataGroup(@RequestBody @Valid EnterpriseProjectTenderDataGroupBody vo) throws Exception {
......@@ -75,30 +69,6 @@ public class EnterpriseController {
return enterpriseService.affiliates(vo);
}
@ApiOperation(value = "招标公告列表(建设库)")
@PostMapping(value = "bidNoticePage")
public R bidNoticePage(@RequestBody @Valid EnterpriseBidNoticePageBody vo) throws Exception {
return enterpriseService.bidNoticePage(vo);
}
@ApiOperation(value = "招标公告省份(建设库)")
@PostMapping(value = "bidNoticeProvince")
public R bidNoticeProvince(@RequestBody @Valid EnterpriseBidNoticePageBody vo) throws Exception {
return enterpriseService.bidNoticeProvince(vo);
}
@ApiOperation(value = "招标公告信息类型(建设库)")
@PostMapping(value = "bidNoticeTenderStage")
public R bidNoticeTenderStage(@RequestBody @Valid EnterpriseBidNoticePageBody vo) throws Exception {
return enterpriseService.bidNoticeTenderStage(vo);
}
@ApiOperation(value = "招标公告详情(建设库)")
@PostMapping(value = "bidNoticeDeatil")
public R bidNoticeDeatil(@RequestBody @Valid EnterpriseBidNoticeDetailBody vo) throws Exception {
return enterpriseService.bidNoticeDeatil(vo);
}
@ApiOperation(value = "企业动态列表(建设库)")
@PostMapping(value = "dynamicPage")
public TableDataInfo dynamicPage(@RequestBody @Valid EnterpriseDynamicPageBody vo) throws Exception {
......@@ -129,4 +99,10 @@ public class EnterpriseController {
return enterpriseService.bestStockPage(vo);
}
@ApiOperation(value = "财务简析(openApi)")
@PostMapping(value = "financial")
public R financial(@RequestBody @Valid EnterpriseFinancialBody vo) throws Exception {
return enterpriseService.financial(vo);
}
}
......@@ -26,7 +26,7 @@ public class CompanySearchController {
*/
@RequestMapping("/index")
public AjaxResult landMarketPage(@RequestBody ComposeQueryDto compose) {
return opportunityRadarService.enterprisePage(compose);
return opportunityRadarService.enterpriseIndex(compose);
}
/*
......@@ -36,4 +36,12 @@ public class CompanySearchController {
public AjaxResult findByName(@PathVariable String keyword) {
return opportunityRadarService.enterpriseByName(keyword);
}
/*
* 完全匹配企业名称
*/
@GetMapping("/page")
public AjaxResult page(@RequestBody ComposeQueryDto compose) {
return opportunityRadarService.enterprisePage(compose);
}
}
......@@ -18,10 +18,12 @@ public interface BusinessOpportunityRadarService {
AjaxResult landMarketPage(ComposeQueryDto compose);
AjaxResult establishmentPage(ComposeQueryDto compose);
AjaxResult enterprisePage(ComposeQueryDto compose);
AjaxResult enterpriseIndex(ComposeQueryDto compose);
AjaxResult enterpriseByName(String keyword);
AjaxResult enterprisePage(ComposeQueryDto compose);
AjaxResult bondProjectPage(ComposeQueryDto compose);
AjaxResult jskBidPlanPage(ComposeQueryDto compose);
......
......@@ -51,11 +51,18 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR
}
@Override
public AjaxResult enterprisePage(ComposeQueryDto compose) {
public AjaxResult enterpriseIndex(ComposeQueryDto compose) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/index", BeanUtil.beanToMap(compose, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult enterprisePage(ComposeQueryDto compose) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/page", BeanUtil.beanToMap(compose, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult enterpriseByName(String keyword){
Map<String,Object> params = new HashMap<>();
......
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseFinancialBody
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
}
......@@ -32,7 +32,8 @@ public class DskOpenApiUtil {
}
public Map<String,Object> requestBodyLocal(String path, Map<String, Object> bodyMap){
return JSONUtil.toBean(HttpUtil.post("http://127.0.0.1:8766"+path, JSONUtil.toJsonStr(bodyMap)), JSONConfig.create().setIgnoreNullValue(true), Map.class);
String post = HttpUtil.post("http://127.0.0.1:8766" + path, JSONUtil.toJsonStr(bodyMap));
return CommonUtils.assertAsMap(CommonUtils.parseJSON(post));
}
public Map<String,Object> requestBodyWithHeader(String path, Map<String, Object> bodyMap, Map<String, String> headerMap){
......
......@@ -82,12 +82,6 @@
&:hover{
background: #F3F4F5;
}
.txt{
padding-left: 8px;
opacity: 0.4;
display: inline-block;
width: 100%;
}
.el-input{
margin-right: 8px;
.el-input__inner{
......@@ -100,67 +94,100 @@
text-indent: 8px;
}
}
.el-date-editor--date{
.el-input__prefix{
display: none;
}
}
&.i{
.el-input{
.el-input__inner{
width: 100px;
}
}
}
}
.txt{
padding-left: 8px;
color: rgba(35,35,35,0.4);
display: inline-block;
width: 100%;
}
width: 438px;
&.i{
width: auto;
}
.tipinput{
.inputime{
display: inline-block;
margin-top: 1px;
width: calc(100% - 116px);
.el-input{
float: left;
margin-right: 8px;
width: 70px;
margin-bottom: 10px;
.el-input__inner{
width: 70px;
height: 24px;
background: #F3F4F5;
border-radius: 2px;
padding: 0;
text-indent: 14px;
border: 0;
}
width: 184px;
height: 28px;
border-radius: 2px;
line-height: 28px;
cursor: pointer;
>span{
padding-left: 8px;
}
.addbtn{
float: left;
width: 20px;
height: 20px;
background: url("../../assets/images/project/add.png") no-repeat center center;
background-size: 100%;
display: inline-block;
margin-left: 8px;
margin-top: 2px;
&:hover{
background: url("../../assets/images/project/add_1.png") no-repeat center center;
}
.el-icon-caret-bottom{
color: rgba(35,35,32,0.4);
margin-left: 4px;
}
.tips{
float: left;
height: 24px;
line-height: 24px;
padding: 0 14px;
font-size: 14px;
color: #0081FF;
background: #E4F3FD;
margin-right: 8px;
margin-bottom: 5px;
img{
margin-left: 8px;
margin-top: 4px;
float: right;
width: 16px;
display: none;
cursor: pointer;
}
&:hover{
background: #DCEAF3;
img{
display: block;
}
}
}
}
}
.tipinput{
display: inline-block;
margin-top: 1px;
width: calc(100% - 116px);
.el-input{
float: left;
margin-right: 8px;
width: 70px;
margin-bottom: 10px;
.el-input__inner{
width: 70px;
height: 24px;
background: #F3F4F5;
border-radius: 2px;
padding: 0;
text-indent: 14px;
border: 0;
}
}
.addbtn{
float: left;
width: 20px;
height: 20px;
background: url("../../assets/images/project/add.png") no-repeat center center;
background-size: 100%;
display: inline-block;
margin-left: 8px;
margin-top: 2px;
&:hover{
background: url("../../assets/images/project/add_1.png") no-repeat center center;
}
}
.tips{
float: left;
height: 24px;
line-height: 24px;
padding: 0 14px;
font-size: 14px;
color: #0081FF;
background: #E4F3FD;
margin-right: 8px;
margin-bottom: 5px;
img{
margin-left: 8px;
margin-top: 4px;
float: right;
width: 16px;
display: none;
cursor: pointer;
}
&:hover{
background: #DCEAF3;
img{
display: block;
}
}
}
......@@ -543,7 +570,7 @@
.el-input__prefix{
left: 8px;
top: 4px;
top: -2px;
}
.el-input__suffix{
height: 32px;
......@@ -673,6 +700,15 @@
text-align: center;
display: inline-block;
margin-left: 10px;
&.on{
background: #FF3C3C;
color: #FF3C3C;
}
&:hover{
border: 1px solid #FF3C3C;
color: #FF3C3C;
background: #FFEBEB;
}
}
}
.tasklist{
......@@ -701,6 +737,21 @@
border-radius: 4px;
right: 16px;
top: 30px;
padding: 8px 12px;
line-height: 16px;
box-sizing: border-box;
&.on{
background: #D3F0E8;
.color_text{
color: #0CBC6D;
}
}
.select-popper{
margin: 0;
}
.el-icon-caret-bottom{
color:rgba(35,35,35,0.4) ;
}
}
}
}
......
......@@ -28,16 +28,36 @@
</div>
</div>
</div>
<div class="tasktitle"><strong>我的任务</strong><span>4条已逾期</span></div>
<div class="tasktitle"><strong>我的任务</strong><span>4条已逾期</span><!--<span class="on">4条已逾期</span>--></div>
<div class="tasklist">
<div class="task_name">周二拜访交通局李主任</div>
<div class="task_con"><span>发起时间:2023-01-24</span><span>关联客户:<font class="wordprimary">重庆市交通局</font></span><span>完成时间:2023-0.-03</span></div>
<div class="select">未完成</div>
<div class="select" :class="{'on':status == 1}">
<div class="select-popper">
<span class="color_text">
{{status == 0?"未完成":"已完成"}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select placeholder="请选择" v-model="status" class="select-multiple">
<el-option label="未完成" value="0"></el-option>
<el-option label="已完成" value="1"></el-option>
</el-select>
</div></div>
</div>
<div class="tasklist">
<div class="task_name">周二拜访交通局李主任</div>
<div class="task_con"><span>发起时间:2023-01-24</span><span>关联客户:<font class="wordprimary">重庆市交通局</font></span><span>完成时间:2023-0.-03</span></div>
<div class="select">未完成</div>
<div class="select" :class="{'on':status == 1}">
<div class="select-popper">
<span class="color_text">
{{status == 0?"未完成":"已完成"}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select placeholder="请选择" v-model="status" class="select-multiple">
<el-option label="未完成" value="0"></el-option>
<el-option label="已完成" value="1"></el-option>
</el-select>
</div></div>
</div>
</div>
</el-card>
......@@ -46,12 +66,14 @@
<script>
import "@/assets/styles/project.scss"
import "@/assets/styles/public.css"
export default {
name: 'gjjl',
data(){
return{
isEdit:false,
value:''
value:'',
status:0,
}
},
methods:{
......
......@@ -9,7 +9,7 @@
<span>总投资额(万元) :</span>
<div class="inputxt">
<div class="flex" v-if="nowedit == 1">
<el-input placeholder="待添加"></el-input>
<el-input placeholder="待添加" v-model="money" @input="number"></el-input>
<div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px">确定</div>
<div class="cancels h28" @click="nowedit = -1" style="">取消</div>
......@@ -48,8 +48,46 @@
</div>
<div class="con i">
<span>计划招标 :</span>
<div class="inputxt">
<span class="txt">待添加</span>
<div class="inputime">
<div class="flex" style="opacity: 0;height: 0">
<el-date-picker v-if="nowedit == 11" showWordLimit="true"
v-model="value1"
type="date"
value-format="yyyy-MM-dd"
placeholder="待添加" @change="nowedit = -1">
</el-date-picker>
</div>
<span :class="{'txt':!value1}" @click="nowedit = 11">{{value1||"待添加"}}<i class="el-icon-caret-bottom"></i></span>
</div>
</div>
</div>
<div class="row">
<div class="con">
<span>计划开工 :</span>
<div class="inputime">
<div class="flex" style="opacity: 0;height: 0">
<el-date-picker v-if="nowedit == 12" showWordLimit="true"
v-model="value1"
type="date"
value-format="yyyy-MM-dd"
placeholder="待添加" @change="nowedit = -1">
</el-date-picker>
</div>
<span :class="{'txt':!value1}" @click="nowedit = 12">{{value1||"待添加"}}<i class="el-icon-caret-bottom"></i></span>
</div>
</div>
<div class="con i">
<span>计划竣工 :</span>
<div class="inputime">
<div class="flex" style="opacity: 0;height: 0">
<el-date-picker v-if="nowedit == 13" showWordLimit="true"
v-model="value1"
type="date"
value-format="yyyy-MM-dd"
placeholder="待添加" @change="nowedit = -1">
</el-date-picker>
</div>
<span :class="{'txt':!value1}" @click="nowedit = 13">{{value1||"待添加"}}<i class="el-icon-caret-bottom"></i></span>
</div>
</div>
</div>
......@@ -86,8 +124,16 @@
</div>
<div class="con i">
<span>开标时间 :</span>
<div class="inputxt">
<span class="txt">待添加</span>
<div class="inputime">
<div class="flex" style="opacity: 0;height: 0">
<el-date-picker v-if="nowedit == 14" showWordLimit="true"
v-model="value1"
type="date"
value-format="yyyy-MM-dd"
placeholder="待添加" @change="nowedit = -1">
</el-date-picker>
</div>
<span :class="{'txt':!value1}" @click="nowedit = 14">{{value1||"待添加"}}<i class="el-icon-caret-bottom"></i></span>
</div>
</div>
</div>
......@@ -160,9 +206,23 @@
return{
textarea:"",
nowedit:-1,//当前正在编辑的文本
value1:'',
money:'',
}
},
watch:{
// nowedit(oldvalue,newvalue){
// if (newvalue == 13){
// this.$ref.newvalue13.=true
// }
// }
},
methods:{
//输入数字
number(value){
console.log(value)
this.money = value.replace(/^\D*(\d*(?:\.\d{0,6})?).*$/g, '$1')//输入6位小数
},
}
}
</script>
......
......@@ -80,33 +80,27 @@
<span>重庆市轨道交通3号线二期工程4标段施工总承包</span>
</div>
<el-form class="popform" label-width="137px">
<div class="row">
<span class="left">联系人姓名:</span>
<el-form-item label="联系人姓名:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系人角色:</span>
</el-form-item>
<el-form-item label="联系人角色:" class="row">
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row">
<span class="left">联系人职位:</span>
</el-form-item>
<el-form-item label="联系人职位:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系人公司/机关:</span>
</el-form-item>
<el-form-item label="联系人公司/机关:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">内部维护人:</span>
</el-form-item>
<el-form-item label="内部维护人:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系方式:</span>
</el-form-item>
<el-form-item label="联系方式:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
</div>
</el-form-item>
<div class="popbot">
<div class="btn btn_cancel h32" @click="cancel">返回</div>
<div class="btn btn_primary h32">保存</div>
......
......@@ -104,43 +104,37 @@
<img src="@/assets/images/economies/icon.png">
<span>新建相关企业-{{types==1?"业主单位":""}}{{types==2?"合作伙伴":""}}{{types==3?"竞争对手":""}}</span>
</div>
<el-form class="popform i" label-width="85px">
<div class="row">
<span class="left"><i>*</i>企业名称:</span>
<el-form class="popform i" label-width="85px" :rules="rules" ref="ruleForm" >
<el-form-item label="企业名称:" prop="projectName" class="row">
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row" v-if="types == 1">
<span class="left">对接深度:</span>
</el-form-item>
<el-form-item v-if="types == 1" label="对接深度:" class="row">
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row" v-if="types == 2">
<span class="left">合作阶段:</span>
</el-form-item>
<el-form-item v-if="types == 2" label="合作阶段:" class="row">
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row" v-if="types == 3">
<span class="left">竞争力度:</span>
</el-form-item>
<el-form-item v-if="types == 3" label="竞争力度:" prop="projectName" class="row">
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row">
<span class="left">企业角色:</span>
</el-form-item>
<el-form-item label="企业角色:" prop="projectName" class="row">
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row">
<span class="left">负责人:</span>
</el-form-item>
<el-form-item label="负责人:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
</div>
</el-form-item>
<div class="popbot">
<div class="btn btn_cancel h32" @click="cancel">返回</div>
<div class="btn btn_primary h32">添加</div>
......@@ -182,7 +176,12 @@
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}
]
],
rules:{
projectName:[{ required: true, message: '请输入非空格字符!', trigger: 'blur' },],
ownerCompany:[{ required: true, message: '请输入非空格字符!', trigger: 'blur' },],
},
}
},
methods:{
......
......@@ -20,7 +20,16 @@
</div>
<div class="con i">
<span>项目阶段 :</span>
<div class="inputxt"><span class="txt">待添加</span></div>
<div class="select-popper " >
<span class="color_text" :class="{'txt':xmjd == '待添加'}">
{{xmjd}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-model="xmjd" class="select-multiple" placeholder="请选择">
<el-option v-for="(item,index) in projectStage" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select>
</div>
</div>
</div>
<div class="row">
......@@ -159,6 +168,7 @@
<script>
import "@/assets/styles/project.scss"
import {getDictType,} from '@/api/main'
export default {
name: 'xmsl',
data(){
......@@ -166,8 +176,17 @@
nowedit:-1,//当前正在编辑的文本
tipslit:[],//项目标签
tipsvalue:"",//标签填写内容
xmjd:'待添加',
projectStage:[],//项目阶段
}
},
created(){
//项目阶段
getDictType('project_stage_type').then(result=>{
this.projectStage = result.code == 200 ? result.data:[]
})
},
methods:{
//验证电话号码
isphone(value){
......
......@@ -7,7 +7,7 @@
</div>
<div class="app-container">
<el-card class="box-card noborder pad16 overflows">
<div class="head">
<div class="head baseinfo">
<div class="titles">
<img src="@/assets/images/project/headimg.png" class="headimg">
<strong class="text">重庆市轨道交通3号线二期工程4标段施工总承包</strong>
......@@ -15,31 +15,68 @@
<img v-if="islock == true" src="@/assets/images/project/lock.png">
<img v-else src="@/assets/images/project/lockopen.png">
仅自己可见
<div class="delform">
<div class="words">{{islock==true?"是否将项目权限修改为他人可见?":"是否将项目权限修改为仅自己可见?"}}</div>
<div>
<div class="btnsmall btn_primary h28">确定</div>
<div class="btnsmall btn_cancel h28">取消</div>
</div>
</div>
<!--<div class="delform">-->
<!--<div class="words">{{islock==true?"是否将项目权限修改为他人可见?":"是否将项目权限修改为仅自己可见?"}}</div>-->
<!--<div>-->
<!--<div class="btnsmall btn_primary h28">确定</div>-->
<!--<div class="btnsmall btn_cancel h28">取消</div>-->
<!--</div>-->
<!--</div>-->
</div>
</div>
<div class="contets">
<div class="contets row">
<div class="det-con">
<span>项目类型:</span>
<span><el-select><option label="aaa" value="888"></option></el-select></span>
<div class="select-popper" >
<span class="color_text" :class="{'txt':xmlx == '请选择'}">
{{xmlx}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-model="xmlx" class="select-multiple" placeholder="请选择">
<el-option v-for="(item,index) in projectType" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select>
</div>
</div>
<div class="det-con">
<span>项目类别:</span>
<span>城市轨道交通</span>
<span>
<div class="select-popper" >
<span class="color_text" :class="{'txt':xmlb == '请选择'}">
{{xmlb}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-model="xmlb" class="select-multiple" placeholder="请选择">
<el-option v-for="(item,index) in projectCategory" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select>
</div>
</span>
</div>
<div class="det-con">
<div class="det-con con" >
<span>投资估算(万元):</span>
<span>21</span>
<div class="inputxt i" :class="{'nomar':nowedit != 3}">
<div class="flex" v-if="nowedit == 3">
<el-input placeholder="待添加" @input="number"></el-input>
<div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px">确定</div>
<div class="cancels h28" @click="nowedit = -1" style="">取消</div>
</div>
</div>
<span class="txt" v-else @click="nowedit = 3">待添加</span>
</div>
</div>
<div class="det-con">
<span>建设地点:</span>
<span>重庆市-渝中区</span>
<div class="select-popper">
<span :class="{ color_text:address != 'address'}">
{{address}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-cascader class="cascader-region select-location"
ref="myCascader" :props="props"
:options="addressList"
@change="handleChange"></el-cascader>
</div>
</div>
<div class="det-con">
<span>商务团队:</span>
......@@ -47,11 +84,11 @@
</div>
</div>
<div class="schedule">
<div class="child" v-for="(item,index) in schedulelist" @mouseover="hover(index)" @mouseleave="hover(-1)" @click="choose(index)">
<div class="child" v-for="(item,index) in projectStage" @mouseover="hover(index)" @mouseleave="hover(-1)" @click="choose(index,item.dictValue)">
<img v-if="index == lastindex" src="@/assets/images/project/pro_2.png">
<img v-else-if="index == thisindex" src="@/assets/images/project/pro_3.png">
<img v-else src="@/assets/images/project/pro_1.png">
<span :class="{'now':index == thisindex}">{{item}}</span>
<span :class="{'now':index == thisindex}">{{item.dictLabel}}</span>
</div>
</div>
......@@ -85,6 +122,8 @@
<script>
import "@/assets/styles/project.scss"
import "@/assets/styles/public.css"
import {getDictType,} from '@/api/main'
import xmsl from './component/xmsl.vue'
import jsnr from './component/jsnr.vue'
import lxr from './component/lxr.vue'
......@@ -92,12 +131,12 @@
import gzdb from './component/gzdb.vue'
import zlwd from './component/zlwd.vue'
import xgqy from './component/xgqy.vue'
import prvinceTree from '@/assets/json/provinceTree'
export default {
name: 'detail',
components: {xmsl,jsnr,lxr,gjjl,gzdb,zlwd,xgqy},
data(){
return {
schedulelist: ['立项审批','招标计划','招标公告','开标阶段','中标结果'],
lastindex: 0,//上一个点击步骤
thisindex: 1,//当前点击步骤
tabslist:[//项目信息展示板块
......@@ -110,23 +149,118 @@
{tag:'xgqy',name:'相关企业'},
],
thistag:'xgqy',
xmlx:'请选择',//项目类型
xmlb:'请选择',//项目类别
islock:true,//仅自己可见
projectStage:[],//项目阶段
projectType:[],//项目类型
projectCategory:[],//项目类别
nowedit:-1,
address:'待添加',
//项目地区
addressList:[],
domicile:[],
props:{ checkStrictly: true, expandTrigger: 'hover' },
}
},
created(){
this.prvinceTree()
//项目阶段
getDictType('project_stage_type').then(result=>{
this.projectStage = result.code == 200 ? result.data:[]
})
//项目类型
getDictType('project_type').then(result=>{
this.projectType = result.code == 200 ? result.data:[]
})
//项目类别
getDictType('project_category').then(result=>{
this.projectCategory = result.code == 200 ? result.data:[]
})
},
methods: {
//地区
async prvinceTree() {
// await axios.post("https://files.jiansheku.com/file/json/common/provinceTree.json", {}, {
// headers: {
// 'Content-Type': 'application/json'
// }
// }).then(res => {
// if (res.data.code == 200) {
// console.log(res.data.data)
// }
// })
// console.log(prvinceTree)
this.addressList = prvinceTree;
this.getadd(this.addressList)
},
//处理项目地区
getadd(row) {
this.addrcallback(row,this.getadd)
},
addrcallback(row,callback){
if(row){
row.forEach(item => {
item.value = item.id
callback && callback(item.children)
})
}
},
//进度条悬浮、点击事件
hover(index){
this.lastindex = index
},
choose(index){
choose(index,value){
this.thisindex = index
console.log(value)
},
//内容组件切换
getCom(tag){
console.log(tag)
this.thistag = tag
}
},
//输入数字
number(value){
this.queryParam.registerCapital = value.replace(/^\D*(\d*(?:\.\d{0,6})?).*$/g, '$1')//输入6位小数
},
handleChange(value) {
// console.log(value);
let str = ''
var labelString = this.$refs.myCascader.getCheckedNodes()[0].pathLabels;
labelString.forEach((item,index)=>{
if(index == 0)
str += item
else
str += '-'+item
})
this.address = str
let arr = this.$refs.myCascader.getCheckedNodes();
// console.log(arr)
let province = [],
city = [],
area = [];
this.domicile = [];
for (var i in arr) {
if (arr[i].parent) {
if (!arr[i].parent.checked) {
arr[i].hasChildren && city.push(arr[i].value);
arr[i].hasChildren && this.domicile.push(arr[i].label);
!arr[i].hasChildren && area.push(arr[i].value);
!arr[i].hasChildren && this.domicile.push(arr[i].label);
}
} else {
province.push(arr[i].value);
this.domicile.push(arr[i].label);
}
}
// var obj = JSON.parse(JSON.stringify(this.searchParam));
// obj.province = province;
// obj.city = city;
// obj.area = area;
// this.searchParam = obj;
},
}
}
</script>
......@@ -178,7 +312,7 @@
&:last-child{
padding-right: 0;
}
span:nth-child(2n-1){
>span:nth-child(2n-1){
color: #a7a7a7;
}
}
......@@ -237,4 +371,15 @@
}
}
}
.det-con.con{
width: auto;
margin-top: -4px;
.inputxt{
width: 100px;
margin-right: 70px;
&.nomar{
margin: 0;
}
}
}
</style>
......@@ -147,6 +147,7 @@
<script>
import "@/assets/styles/project.scss"
import "@/assets/styles/public.css"
import prvinceTree from '@/assets/json/provinceTree'
import {getProjectlist} from '@/api/project/project'
import {getDictType,} from '@/api/main'
......@@ -207,7 +208,7 @@ export default {
},
created() {
this.prvinceTree()
// this.getList(1)
this.getList(1)
//项目阶段
getDictType('project_stage_type').then(result=>{
this.projectStage = result.code == 200 ? result.data:[]
......@@ -225,6 +226,8 @@ export default {
//获取商机列表
getList(pageNum){
this.searchParam.pageNum = pageNum
console.log(this.searchParam)
return false
getProjectlist(this.searchParam).then(result=>{
console.log(result)
})
......@@ -288,9 +291,6 @@ export default {
let Id = '111'
this.$router.push({ path: '/project/projectList/detail', query: Id });
},
getxmdq(){
console.log(888)
},
handleClick(){
},
......
......@@ -123,4 +123,9 @@ public class EnterpriseService {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/bestStockPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R financial(EnterpriseFinancialBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/financial", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
}
......@@ -112,8 +112,8 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
int addBusiness = businessInfoMapper.insertBusinessInfo(businessInfo);
if (addBusiness > 0) {
//获取登陆用户的部门id
// Long deptId = SecurityUtils.getLoginUser().getDeptId();
Long deptId = 100l;
Long deptId = SecurityUtils.getLoginUser().getDeptId();
// Long deptId = 100l;
//新增用户-项目关系信息
int addbusinessUser = businessUserMapper.insertBusinessUser(new BusinessUser(businessInfo.getId(), deptId.intValue(), dto.getUserId(), 1));
//新增项目-关联企业信息
......
......@@ -262,10 +262,10 @@
<select id="selectCustomerBusinessList" resultType="com.dsk.system.domain.customer.vo.CustomerBusinessListVo">
select
bi.id, bi.project_name, pi.investment_amount, pi.project_stage, pi.status
bi.id, bi.project_name, bi.investment_amount, bi.project_stage, bi.status
from business_info bi
left join business_user bu on bi.id = bu.business_id
where bi.customer_id = #{customerId} and (bu.user_id = #{userId} or bi.is_private = 1))
where bi.customer_id = #{customerId} and (bu.user_id = #{userId} or bi.is_private = 1)
<if test="projectStage != null and projectStage != '' "> and bi.project_stage = #{projectStage}</if>
<if test="status != null "> and bi.status = #{status}</if>
order by bi.create_time desc
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment