Commit 6ec9bb36 authored by 远方不远's avatar 远方不远
parents c7ddc679 6a0464e2
...@@ -17,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -17,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -81,10 +82,18 @@ public class BusinessFileController extends BaseController { ...@@ -81,10 +82,18 @@ public class BusinessFileController extends BaseController {
try { try {
//获取文件名 //获取文件名
String filename = file.getOriginalFilename(); String filename = file.getOriginalFilename();
//TODO 校验是否上传同名文件
String businessFileName = request.getHeader("FilePath"); String businessFileName = request.getHeader("FilePath");
// 上传文件路径 // 上传文件路径
String filePath = RuoYiConfig.getUploadPath() + businessFileName + "/"; String filePath = RuoYiConfig.getUploadPath() + businessFileName + "/";
//校验是否上传同名文件
File newFile = new File(filePath);
// 获取当前目录下的文件和文件夹
File[] files = newFile.listFiles();
for (File allFile : files) {
if(filename.equals(allFile.getName())) return error("文件已存在");
}
// 上传并返回文件全路径 // 上传并返回文件全路径
String fileName = FileUploadUtils.upload(filePath, file); String fileName = FileUploadUtils.upload(filePath, file);
String url = serverConfig.getUrl() + fileName; String url = serverConfig.getUrl() + fileName;
......
...@@ -114,4 +114,16 @@ public class RegionalEconomicDataController { ...@@ -114,4 +114,16 @@ public class RegionalEconomicDataController {
return economicService.regionalCompare(dto); return economicService.regionalCompare(dto);
} }
/***
*@Description: 地区经济-对比
*@Param:
*@return: com.dsk.acc.security.common.msg.RestResponse
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/regional/multipleCompare")
public AjaxResult regionalMultipleCompare(@RequestBody OpRegionalEconomicRegionalCompareDto compareDto) {
return economicService.regionalMultipleCompare(compareDto);
}
} }
...@@ -6,7 +6,7 @@ import javax.validation.constraints.NotNull; ...@@ -6,7 +6,7 @@ import javax.validation.constraints.NotNull;
/** /**
* @ClassName OpRegionalEconomicDataV1Dto * @ClassName OpRegionalEconomicDataV1Dto
* @Description 专项债-项目类别统计 * @Description 地区经济
* @Author Dgm * @Author Dgm
* @Date 2023/5/23 14:05 * @Date 2023/5/23 14:05
* @Version * @Version
......
package com.dsk.common.dtos;
import lombok.Data;
import java.util.List;
/**
* @ClassName OpRegionalEconomicRegionalCompareDto
* @Description 地区经济-对比
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public class OpRegionalEconomicRegionalCompareDto {
/**
* 年份
*/
private Integer year;
private List<OpRegionalEconomicDataStatisticsRegionalDto> compareList;
}
...@@ -343,6 +343,11 @@ ul, li { ...@@ -343,6 +343,11 @@ ul, li {
} }
} }
} }
.el-table__fixed{
tr:nth-child(2n){
background-color: #F8FBFF;
}
}
} }
} }
......
...@@ -13,10 +13,11 @@ export default { ...@@ -13,10 +13,11 @@ export default {
data() { data() {
return { return {
loading: false, // 是否加载中 loading: false, // 是否加载中
navHeight: 68, // iframe距离顶部距离px
iframeHight: window.innerHeight, // iframe高度 iframeHight: window.innerHeight, // iframe高度
scrollTop: 0, // 滚动条距离内部页面顶部距离 scrollTop: 0, // 滚动条距离内部页面顶部距离
// domain: 'https://pre-plug.jiansheku.com', domain: 'https://pre-plug.jiansheku.com',
domain: 'http://192.168.60.30:3300', // domain: 'http://192.168.60.30:3300',
ak: 'aec7b3ff2y2q8x6t49a7e2c463ce21912' // 需要携带的sdkId ak: 'aec7b3ff2y2q8x6t49a7e2c463ce21912' // 需要携带的sdkId
} }
}, },
...@@ -28,7 +29,7 @@ export default { ...@@ -28,7 +29,7 @@ export default {
this.src = `${this.domain}/enterprise/${this.$route.params.id}?ak=${this.ak}` this.src = `${this.domain}/enterprise/${this.$route.params.id}?ak=${this.ak}`
} }
if(this.$route.name=='Personnel'){ //人员详情 if(this.$route.name=='Personnel'){ //人员详情
this.src = `${this.domain}/personnel/${this.$route.params.id}.html?ak=${this.ak}&referrer=true` this.src = `${this.domain}/personnel/${this.$route.params.id}.html?ak=${this.ak}`
} }
} }
}, },
...@@ -53,7 +54,7 @@ export default { ...@@ -53,7 +54,7 @@ export default {
} }
// 点击栏目名及子标签动态设置滚动高度 // 点击栏目名及子标签动态设置滚动高度
if (data.scrollHeight) { if (data.scrollHeight) {
window.scrollTo(sc, parseInt(data.scrollHeight) + 83) window.scrollTo(sc, parseInt(data.scrollHeight) + _this.navHeight + 15)
} }
// 点击下拉子标签动态设置滚动高度 // 点击下拉子标签动态设置滚动高度
if (data.clientHeight) { if (data.clientHeight) {
...@@ -69,7 +70,7 @@ export default { ...@@ -69,7 +70,7 @@ export default {
// 准备传值 // 准备传值
this.$nextTick(() => { this.$nextTick(() => {
const ifa = this.$refs.companyIframe const ifa = this.$refs.companyIframe
ifa.contentWindow.postMessage({ 'scrollTop': this.scrollTop }, '*') ifa.contentWindow.postMessage({ 'scrollTop': this.scrollTop, 'navHeight': this.navHeight }, '*')
}) })
} }
} }
......
...@@ -61,12 +61,12 @@ export default { ...@@ -61,12 +61,12 @@ export default {
}, },
created() { created() {
this.dataQuery=this.$route.query; this.dataQuery=this.$route.query;
location({provinceId:'500000'}).then(res => { location({}).then(res => {
this.province=res.data.currentProvince.regionName; this.province=res.data.province;
if(!this.dataQuery.provinceId){ if(!this.dataQuery.provinceId){
this.dataQuery.provinceId=res.data.currentProvince.id this.dataQuery.provinceId=res.data.provinceId
this.dataQuery.province=this.province; this.dataQuery.province=this.province;
this.provinceId.push(res.data.currentProvince.id) this.provinceId.push(res.data.provinceId)
}else { }else {
this.provinceId.push(this.dataQuery.provinceId) this.provinceId.push(this.dataQuery.provinceId)
} }
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
border border
:summary-method="getSummaries" :summary-method="getSummaries"
show-summary show-summary
height="360" height="400"
fit fit
@sort-change="sortChange" @sort-change="sortChange"
highlight-current-row highlight-current-row
...@@ -170,13 +170,15 @@ export default { ...@@ -170,13 +170,15 @@ export default {
orient: 'horizontal', orient: 'horizontal',
bottom: 0, bottom: 0,
data: data, data: data,
itemHeight:8,
itemWidth:12,
pageButtonPosition: 'end', pageButtonPosition: 'end',
}, },
series: [ series: [
{ {
type: 'pie', type: 'pie',
radius: '55%', radius: '55%',
center: ['50%', '40%'], center: ['50%', '50%'],
data: data, data: data,
emphasis: { emphasis: {
itemStyle: { itemStyle: {
...@@ -318,6 +320,11 @@ export default { ...@@ -318,6 +320,11 @@ export default {
} }
.table-item{ .table-item{
margin-top: 22px; margin-top: 22px;
::v-deep .el-table{
td.el-table__cell{
border-bottom: 0;
}
}
} }
} }
</style> </style>
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<span class="common-title">全国经济大全</span> <span class="common-title">全国经济大全</span>
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small"> <el-form ref="queryForm" :model="queryParams" :inline="true" size="small">
<el-form-item prop="year"> <el-form-item prop="year">
<el-select v-model="queryParams.year" filterable class="form-content-width" placeholder="请选择年度" @change="handleSearch"> <el-select v-model="queryParams.year" filterable class="form-content-width" placeholder="请选择" @change="handleSearch">
<el-option v-for="(item, index) in yearOptions" :key="index" :label="item.year" :value="item.year" /> <el-option v-for="(item, index) in yearOptions" :key="index" :label="item.year" :value="item.year" />
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -316,6 +316,9 @@ ...@@ -316,6 +316,9 @@
.el-form{ .el-form{
margin-left: 24px; margin-left: 24px;
} }
.form-content-width{
width: 110px;
}
::v-deep .el-cascader{ ::v-deep .el-cascader{
.el-cascader__tags{ .el-cascader__tags{
flex-wrap: inherit; flex-wrap: inherit;
...@@ -366,18 +369,12 @@ ...@@ -366,18 +369,12 @@
.el-table__fixed-header-wrapper th{ .el-table__fixed-header-wrapper th{
background: #F0F3FA; background: #F0F3FA;
} }
td.el-table__cell{
border-bottom: 0;
}
.caret-wrapper{ .caret-wrapper{
width: 10px; width: 10px;
/*<!--position: absolute;-->*/ }
/*<!--right: 12px;-->*/
/*<!--top: -3px;-->*/
}
/*.sort-caret{*/
/*position: initial;*/
/*}*/
/*.ascending{*/
/*margin-bottom: 3px;*/
/*}*/
} }
} }
} }
......
...@@ -377,7 +377,7 @@ export default { ...@@ -377,7 +377,7 @@ export default {
let option ={ let option ={
legend: { legend: {
x:'right', x:'right',
padding:[0,120,0,0], padding:[0,30,0,0],
}, },
tooltip: { tooltip: {
trigger: 'axis', trigger: 'axis',
......
...@@ -162,7 +162,7 @@ ...@@ -162,7 +162,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="city" label="区域" :formatter="formatStatus" width="150"> <el-table-column prop="city" label="区域" :formatter="formatStatus" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<router-link :to="{path:'/macro/economies',query:{id:scope.row.id,provinceId:scope.row.provinceId}}" tag="a" class="a-link"> <router-link :to="{path:'/macro/economies',query:{provinceId:scope.row.provinceId}}" tag="a" class="a-link">
{{ scope.row.province}}{{scope.row.city ? '-': ''}}{{ scope.row.city}}{{scope.row.area ? '-': ''}}{{ scope.row.area}} {{ scope.row.province}}{{scope.row.city ? '-': ''}}{{ scope.row.city}}{{scope.row.area ? '-': ''}}{{ scope.row.area}}
</router-link> </router-link>
<!--<span v-else>-</span>--> <!--<span v-else>-</span>-->
......
...@@ -146,6 +146,7 @@ ...@@ -146,6 +146,7 @@
//添加客户 //添加客户
submitForm(formName) { submitForm(formName) {
this.queryParam.userId = this.$store.state.user.userId this.queryParam.userId = this.$store.state.user.userId
this.queryParam.investmentAmount = parseFloat(this.queryParam.investmentAmount)
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
addProject(this.queryParam).then(result=>{ addProject(this.queryParam).then(result=>{
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div class="cardtitles" v-if="showtype != 'projectgjdt'">跟进记录</div> <div class="cardtitles" v-if="showtype != 'projectgjdt'">跟进记录</div>
<div style="height: 24px" v-if="showtype == 'projectgjdt'"></div> <div style="height: 24px" v-if="showtype == 'projectgjdt'"></div>
<div class="records"> <div class="records">
<div class="writeIn"> <div class="writeIn" v-if="isDisabled == false">
<div class="default" v-if="isEdit == false" @click="getEdit"> <div class="default" v-if="isEdit == false" @click="getEdit">
<img src="@/assets/images/project/add_3.png"> <img src="@/assets/images/project/add_3.png">
<div>新建一条跟进记录,如:周五上午预约客户上门拜访</div> <div>新建一条跟进记录,如:周五上午预约客户上门拜访</div>
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
</el-input> </el-input>
</div> </div>
<div class="times"><img src="@/assets/images/project/ico_4.png"> <div class="times"><img src="@/assets/images/project/ico_4.png">
<el-date-picker class="w128" <el-date-picker class="w128" value-format="yyyy-MM-dd"
v-model="addParam.nextVisitTime" v-model="addParam.nextVisitTime"
type="date" type="date"
placeholder="下次拜访时间"> placeholder="下次拜访时间">
...@@ -91,7 +91,7 @@ ...@@ -91,7 +91,7 @@
<div class="rec_time"> <div class="rec_time">
<i class="el-icon-time"></i> <i class="el-icon-time"></i>
<div>{{item.creatTime}}</div> <div>{{item.creatTime}}</div>
<div class="operate"> <div class="operate" v-if="isDisabled == false">
<!--<img src="@/assets/images/edit.png">第一期不做编辑--> <!--<img src="@/assets/images/edit.png">第一期不做编辑-->
<img @click="delRecord(item.id)" src="@/assets/images/delete.png"> <img @click="delRecord(item.id)" src="@/assets/images/delete.png">
</div> </div>
...@@ -145,6 +145,7 @@ ...@@ -145,6 +145,7 @@
default: 0 default: 0
}, },
datas:[],//数据源 datas:[],//数据源
isDisabled:false,
}, },
name: 'gjjl', name: 'gjjl',
data(){ data(){
...@@ -171,11 +172,13 @@ ...@@ -171,11 +172,13 @@
projectId:this.detailId ? this.detailId : parseInt(this.$route.query.id),//项目详情id projectId:this.detailId ? this.detailId : parseInt(this.$route.query.id),//项目详情id
userId:this.$store.state.user.userId,//当前用户id userId:this.$store.state.user.userId,//当前用户id
projectList:[],//关联项目 projectList:[],//关联项目
isDisabled:this.isDisabled,
} }
}, },
computed: { computed: {
}, },
created(){ created(){
console.log(this.isDisabled)
//获取拜访方式 //获取拜访方式
getDictType('visit_mode_type').then(result=>{ getDictType('visit_mode_type').then(result=>{
this.bffslist = result.code == 200 ? result.data:[] this.bffslist = result.code == 200 ? result.data:[]
...@@ -183,6 +186,7 @@ ...@@ -183,6 +186,7 @@
this.showtype = this.types this.showtype = this.types
//客户管理跟进动态 //客户管理跟进动态
if(this.showtype == 'gjdt'){ if(this.showtype == 'gjdt'){
this.isDisabled = false
getUserList().then(result=>{ getUserList().then(result=>{
this.glqylist = result.data this.glqylist = result.data
}) })
...@@ -194,6 +198,7 @@ ...@@ -194,6 +198,7 @@
} }
//项目管理跟进动态 //项目管理跟进动态
if(this.showtype == 'projectgjdt'){ if(this.showtype == 'projectgjdt'){
this.isDisabled = false
this.projectId = null//项目id暂时清空,必须手选id this.projectId = null//项目id暂时清空,必须手选id
relateProject(this.userId).then(res=>{ relateProject(this.userId).then(res=>{
this.projectList = res.data this.projectList = res.data
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<el-card class="box-card noborder"> <el-card class="box-card noborder">
<div class="cardtitles">工作待办</div> <div class="cardtitles">工作待办</div>
<div class="records"> <div class="records">
<div class="writeIn"> <div class="writeIn" v-if="isDisabled == false">
<div class="default" v-if="isEdit == false" @click="getEdit"> <div class="default" v-if="isEdit == false" @click="getEdit">
<img src="@/assets/images/project/add_3.png"> <img src="@/assets/images/project/add_3.png">
<div>新建一条工作代办,如:周五上午预约客户上门拜访</div> <div>新建一条工作代办,如:周五上午预约客户上门拜访</div>
...@@ -15,15 +15,17 @@ ...@@ -15,15 +15,17 @@
</div> </div>
<div class="wr_bot"> <div class="wr_bot">
<div class="times"><img src="@/assets/images/project/ico_4.png"> <div class="times"><img src="@/assets/images/project/ico_4.png">
<el-date-picker <el-date-picker value-format="yyyy-MM-dd"
v-model="queryParam.finishTime" v-model="queryParam.finishTime"
type="date" type="date"
placeholder="完成时间"> placeholder="完成时间">
</el-date-picker> </el-date-picker>
</div> </div>
<div class="sels">
<img src="@/assets/images/project/ico_2.png">
<el-input v-model="queryParam.target" placeholder="拜访对象" style="width: 100px;"> <el-input v-model="queryParam.target" placeholder="拜访对象" style="width: 100px;">
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/ico_2.png"></i>
</el-input> </el-input>
</div>
<div class="btn btn_primary h32 wc" @click="add" :disabled="queryParam.task == ''" :class="{'btn_disabled':queryParam.task == ''}">完成</div> <div class="btn btn_primary h32 wc" @click="add" :disabled="queryParam.task == ''" :class="{'btn_disabled':queryParam.task == ''}">完成</div>
</div> </div>
</div> </div>
...@@ -34,11 +36,11 @@ ...@@ -34,11 +36,11 @@
<div class="task_con"><span>发起时间:{{item.createTime}}</span><span v-if="item.target">关联客户:<font class="wordprimary">{{item.target}}</font></span><span v-if="item.finishTime">完成时间:{{item.finishTime}}</span></div> <div class="task_con"><span>发起时间:{{item.createTime}}</span><span v-if="item.target">关联客户:<font class="wordprimary">{{item.target}}</font></span><span v-if="item.finishTime">完成时间:{{item.finishTime}}</span></div>
<div class="select" :class="{'on':item.state == 2}"> <div class="select" :class="{'on':item.state == 2}">
<div class="select-popper"> <div class="select-popper">
<span class="color_text"> <span>
{{item.state == 2?"已完成":"未完成"}} {{item.state == 2?"已完成":"未完成"}}
<i class="el-icon-caret-bottom"></i> <i class="el-icon-caret-bottom"></i>
</span> </span>
<el-select placeholder="请选择" v-model="item.state" class="select-multiple" @change="changes(item.id,$event)"> <el-select v-if="isDisabled == false" placeholder="请选择" v-model="item.state" class="select-multiple" @change="changes(item.id,$event)">
<el-option label="未完成" value="1"></el-option> <el-option label="未完成" value="1"></el-option>
<el-option label="已完成" value="2"></el-option> <el-option label="已完成" value="2"></el-option>
</el-select> </el-select>
...@@ -73,7 +75,8 @@ ...@@ -73,7 +75,8 @@
detailId: { //从企业详情跳转过来ID detailId: { //从企业详情跳转过来ID
type: Number, type: Number,
default: 0 default: 0
} },
isDisabled:false,
}, },
data(){ data(){
return{ return{
...@@ -94,6 +97,7 @@ ...@@ -94,6 +97,7 @@
}, },
datalist:[], datalist:[],
yqnum:0,//已逾期数量 yqnum:0,//已逾期数量
isDisabled:this.isDisabled,
} }
}, },
created(){ created(){
...@@ -109,6 +113,9 @@ ...@@ -109,6 +113,9 @@
if(result.code == 200){ if(result.code == 200){
this.$message.success("添加成功!") this.$message.success("添加成功!")
this.getList() this.getList()
this.queryParam.target = ''
this.queryParam.task = ''
this.queryParam.finishTime = ''
}else{ }else{
this.$message.error(result.msg) this.$message.error(result.msg)
} }
...@@ -162,4 +169,7 @@ ...@@ -162,4 +169,7 @@
width: 100px; width: 100px;
margin-right: 12px; margin-right: 12px;
} }
.times .el-input__icon >img{
width: 16px;
}
</style> </style>
...@@ -14,13 +14,16 @@ ...@@ -14,13 +14,16 @@
<img src="@/assets/images/project/empty.png"> <img src="@/assets/images/project/empty.png">
<div class="p1">暂无数据展示</div> <div class="p1">暂无数据展示</div>
<div class="p2">抱歉,你还未添加相关数据,快去添加吧</div> <div class="p2">抱歉,你还未添加相关数据,快去添加吧</div>
<div class="btn btn_primary h36 w102" @click="opennew">新增联系人</div> <div class="btn btn_primary h36 w102" @click="opennew" v-if="isDisabled==false">新增联系人</div>
</div> </div>
</template> </template>
<el-table-column <el-table-column
prop="name" prop="name"
label="姓名" label="姓名"
width="113"> width="113">
<template slot-scope="scope">
{{scope.row.name || '--'}}
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" prop="name"
...@@ -38,20 +41,32 @@ ...@@ -38,20 +41,32 @@
label="角色" label="角色"
sortable sortable
width="146"> width="146">
<template slot-scope="scope">
{{scope.row.role || '--'}}
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="office" prop="office"
label="公司/机关"> label="关联企业">
<template slot-scope="scope">
{{scope.row.office || '--'}}
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="position" prop="position"
label="职位" label="职位"
width="125"> width="125">
<template slot-scope="scope">
{{scope.row.position || '--'}}
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="phone" prop="phone"
label="联系方式" label="联系方式"
width="175"> width="175">
<template slot-scope="scope">
{{scope.row.phone || '--'}}
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="accendant" prop="accendant"
...@@ -86,18 +101,24 @@ ...@@ -86,18 +101,24 @@
<el-form-item label="联系人姓名:" class="row"> <el-form-item label="联系人姓名:" class="row">
<el-input type="text" v-model="queryParam.name" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.name" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系人性别:" class="row">
<el-radio-group v-model="queryParam.sex">
<el-radio label=1></el-radio>
<el-radio label=0></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="联系人角色:" class="row"> <el-form-item label="联系人角色:" class="row">
<el-input type="text" v-model="queryParam.role" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.role" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系人职位:" class="row"> <el-form-item label="关联企业:" class="row">
<el-input type="text" v-model="queryParam.position" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="联系人公司/机关:" class="row">
<el-input type="text" v-model="queryParam.office" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.office" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="内部维护人:" class="row"> <el-form-item label="联系人职位:" class="row">
<el-input type="text" v-model="queryParam.accendant" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.position" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<!--<el-form-item label="内部维护人:" class="row">-->
<!--<el-input type="text" v-model="queryParam.accendant" placeholder="请输入"></el-input>-->
<!--</el-form-item>-->
<el-form-item label="联系方式:" class="row"> <el-form-item label="联系方式:" class="row">
<el-input type="text" v-model="queryParam.phone" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.phone" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
...@@ -120,7 +141,8 @@ ...@@ -120,7 +141,8 @@
detailId: { //从企业详情跳转过来ID detailId: { //从企业详情跳转过来ID
type: Number, type: Number,
default: 0 default: 0
} },
isDisabled:false,
}, },
data(){ data(){
return{ return{
...@@ -140,6 +162,7 @@ ...@@ -140,6 +162,7 @@
total:0, total:0,
projectname:this.$route.query.projectname, projectname:this.$route.query.projectname,
queryParam:[], queryParam:[],
isDisabled:this.isDisabled,
} }
}, },
created(){ created(){
...@@ -148,6 +171,7 @@ ...@@ -148,6 +171,7 @@
methods:{ methods:{
getDetail(item){ getDetail(item){
this.dialogVisible = true this.dialogVisible = true
item.sex = item.sex.toString()
this.queryParam = item this.queryParam = item
this.isnew = false this.isnew = false
}, },
...@@ -158,8 +182,10 @@ ...@@ -158,8 +182,10 @@
}) })
}, },
save(){ save(){
let param = JSON.parse(JSON.stringify(this.queryParam))
param.sex = parseInt(param.sex)
if(this.isnew == false){ if(this.isnew == false){
editLXR(this.queryParam).then(result=>{ editLXR(param).then(result=>{
if(result.code == 200){ if(result.code == 200){
this.$message.success('保存成功!') this.$message.success('保存成功!')
this.getList() this.getList()
...@@ -168,7 +194,7 @@ ...@@ -168,7 +194,7 @@
}) })
} }
if(this.isnew == true){ if(this.isnew == true){
addLXR(this.queryParam).then(result=>{ addLXR(param).then(result=>{
if(result.code == 200){ if(result.code == 200){
this.$message.success('新增成功!') this.$message.success('新增成功!')
this.getList() this.getList()
...@@ -192,11 +218,12 @@ ...@@ -192,11 +218,12 @@
this.queryParam = { this.queryParam = {
businessId:this.id, businessId:this.id,
name:"", name:"",
sex:"1",
role:"", role:"",
office:"", office:"",
position:"", position:"",
phone:"", phone:"",
accendant:"", // accendant:"",
} }
}, },
} }
......
...@@ -4,14 +4,14 @@ ...@@ -4,14 +4,14 @@
<el-card class="box-card noborder"> <el-card class="box-card noborder">
<div class="cardtitles">相关企业</div> <div class="cardtitles">相关企业</div>
<div class="searchbtns"> <div class="searchbtns">
<el-select class="select" placeholder="企业类型" clearable="true" v-model="searchParam.companyType" @change="handleCurrentChange(1)"> <el-select class="select" placeholder="企业类型" clearable v-model="searchParam.companyType" @change="handleCurrentChange(1)">
<el-option v-for="(item,index) in companytype" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in companytype" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select> </el-select>
<div class="searchInput"> <div class="searchInput">
<el-input type="text" placeholder="输入关键词查询" v-model="searchParam.companyName"></el-input> <el-input type="text" placeholder="输入关键词查询" clearable v-model="searchParam.companyName"></el-input>
<div class="btn" @click="handleCurrentChange(1)">搜索</div> <div class="btn" @click="handleCurrentChange(1)">搜索</div>
</div> </div>
<div class="btn btn_primary h32 b3" @click="opennew"><div class="img img1"></div>添加相关企业</div> <div class="btn btn_primary h32 b3" @click="opennew" v-if="isDisabled == false"><div class="img img1"></div>添加相关企业</div>
</div> </div>
<div class="document tables"> <div class="document tables">
<el-table <el-table
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<img src="@/assets/images/project/empty.png"> <img src="@/assets/images/project/empty.png">
<div class="p1">抱歉,没找到相关数据</div> <div class="p1">抱歉,没找到相关数据</div>
<div class="p2">建议调整关键词或添加相关企业,重新搜索</div> <div class="p2">建议调整关键词或添加相关企业,重新搜索</div>
<!--<div class="btn btn_primary h36 w102" @click="opennew">新增相关企业</div>--> <div class="btn btn_primary h36 w102" @click="opennew" v-if="isDisabled==false">新增相关企业</div>
</div> </div>
</template> </template>
<el-table-column <el-table-column
...@@ -36,13 +36,13 @@ ...@@ -36,13 +36,13 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="depth" prop="depth"
sortable
label="对接深度/竞争力度" label="对接深度/竞争力度"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="companyRole" prop="companyRole"
label="企业角色" label="企业角色"
sortable
width=""> width="">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
label="负责人" label="负责人"
width=""> width="">
</el-table-column> </el-table-column>
<el-table-column <el-table-column v-if="isDisabled == false"
prop="name" prop="name"
label="" label=""
align="right" align="right"
...@@ -143,7 +143,8 @@ ...@@ -143,7 +143,8 @@
detailId: { //从企业详情跳转过来ID detailId: { //从企业详情跳转过来ID
type: Number, type: Number,
default: 0 default: 0
} },
isDisabled:false,
}, },
data(){ data(){
return{ return{
...@@ -179,6 +180,7 @@ ...@@ -179,6 +180,7 @@
companyName:'', companyName:'',
}, },
ondel:-1, ondel:-1,
isDisabled:this.isDisabled,
} }
}, },
created(){ created(){
...@@ -266,6 +268,9 @@ ...@@ -266,6 +268,9 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.searchInput .el-input{
width: 68%;
}
.w102{ .w102{
width: 102px; width: 102px;
} }
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<div class="con"> <div class="con">
<span>项目级别 :</span> <span>项目级别 :</span>
<div class="inputxt" id="inputxt1"> <div class="inputxt" id="inputxt1">
<div class="flex" v-if="nowedit == 1"> <div class="flex" v-if="nowedit == 1 && isDisabled == false" >
<el-input placeholder="待添加" v-model="xmsldata.projectLevel"></el-input> <el-input placeholder="待添加" v-model="xmsldata.projectLevel"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({projectLevel:xmsldata.projectLevel})">确定</div> <div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({projectLevel:xmsldata.projectLevel})">确定</div>
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
{{xmjd}} {{xmjd}}
<i class="el-icon-caret-bottom"></i> <i class="el-icon-caret-bottom"></i>
</span> </span>
<el-select v-model="xmjd" class="select-multiple" placeholder="请选择" @change="editXMSL({projectStage:xmjd})"> <el-select v-if="isDisabled==false" v-model="xmjd" class="select-multiple" placeholder="请选择" @change="editXMSL({projectStage:xmjd})">
<el-option v-for="(item,index) in projectStage" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in projectStage" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select> </el-select>
</div> </div>
...@@ -38,9 +38,9 @@ ...@@ -38,9 +38,9 @@
<div class="flex tipinput"> <div class="flex tipinput">
<div class="tips" v-for="(item,index) in tipslit">{{item}}<img @click="deltip(item)" src="@/assets/images/project/del.png"></div> <div class="tips" v-for="(item,index) in tipslit">{{item}}<img @click="deltip(item)" src="@/assets/images/project/del.png"></div>
<div style="position: relative"> <div style="position: relative">
<el-input placeholder="待添加" v-model="tipsvalue" @input="getValue" :style="spanWidth"></el-input><span class="spanText">{{ tipsvalue }}</span> <el-input placeholder="待添加" :disabled="isDisabled" v-model="tipsvalue" @input="getValue" :style="spanWidth"></el-input><span class="spanText">{{ tipsvalue }}</span>
</div> </div>
<div class="addbtn" @click="addtips"></div> <div class="addbtn" v-if="isDisabled == false" @click="addtips"></div>
</div> </div>
</div> </div>
</div> </div>
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
<div class="con"> <div class="con">
<span>主管单位 :</span> <span>主管单位 :</span>
<div class="inputxt" id="inputxt2"> <div class="inputxt" id="inputxt2">
<div class="flex" v-if="nowedit == 2"> <div class="flex" v-if="nowedit == 2 && isDisabled == false">
<el-input placeholder="待添加" v-model="xmsldata.supervisorUnit"></el-input> <el-input placeholder="待添加" v-model="xmsldata.supervisorUnit"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({supervisorUnit:xmsldata.supervisorUnit})">确定</div> <div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({supervisorUnit:xmsldata.supervisorUnit})">确定</div>
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
<div class="con i"> <div class="con i">
<span>建设单位 :</span> <span>建设单位 :</span>
<div class="inputxt" id="inputxt3" :style="{width:rig1}"> <div class="inputxt" id="inputxt3" :style="{width:rig1}">
<div class="flex" v-if="nowedit == 3"> <div class="flex" v-if="nowedit == 3 && isDisabled == false">
<el-input placeholder="待添加" v-model="xmsldata.constructionUnit"></el-input> <el-input placeholder="待添加" v-model="xmsldata.constructionUnit"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({constructionUnit:xmsldata.constructionUnit})">确定</div> <div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({constructionUnit:xmsldata.constructionUnit})">确定</div>
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
<div class="con"> <div class="con">
<span>主管单位负责人 :</span> <span>主管单位负责人 :</span>
<div class="inputxt" id="inputxt4"> <div class="inputxt" id="inputxt4">
<div class="flex" v-if="nowedit == 4"> <div class="flex" v-if="nowedit == 4 && isDisabled == false">
<el-input placeholder="待添加" v-model="xmsldata.supervisorPrincipal"></el-input> <el-input placeholder="待添加" v-model="xmsldata.supervisorPrincipal"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({supervisorPrincipal:xmsldata.supervisorPrincipal})">确定</div> <div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({supervisorPrincipal:xmsldata.supervisorPrincipal})">确定</div>
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
<div class="con i"> <div class="con i">
<span>建设单位负责人 :</span> <span>建设单位负责人 :</span>
<div class="inputxt" id="inputxt5"> <div class="inputxt" id="inputxt5">
<div class="flex" v-if="nowedit == 5"> <div class="flex" v-if="nowedit == 5 && isDisabled == false">
<el-input placeholder="待添加" v-model="xmsldata.constructionPrincipal"></el-input> <el-input placeholder="待添加" v-model="xmsldata.constructionPrincipal"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({constructionPrincipal:xmsldata.constructionPrincipal})">确定</div> <div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({constructionPrincipal:xmsldata.constructionPrincipal})">确定</div>
...@@ -110,7 +110,7 @@ ...@@ -110,7 +110,7 @@
<div class="con"> <div class="con">
<span>主管单位联系电话 :</span> <span>主管单位联系电话 :</span>
<div class="inputxt" id="inputxt6"> <div class="inputxt" id="inputxt6">
<div class="flex" v-if="nowedit == 6"> <div class="flex" v-if="nowedit == 6 && isDisabled == false">
<el-input placeholder="待添加" v-model="xmsldata.supervisorPhone"></el-input> <el-input placeholder="待添加" v-model="xmsldata.supervisorPhone"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" @click="isphone(1,xmsldata.supervisorPhone)" style="width: 56px">确定</div> <div class="btnsmall btn_primary h28" @click="isphone(1,xmsldata.supervisorPhone)" style="width: 56px">确定</div>
...@@ -123,7 +123,7 @@ ...@@ -123,7 +123,7 @@
<div class="con i"> <div class="con i">
<span>建设单位联系电话 :</span> <span>建设单位联系电话 :</span>
<div class="inputxt" id="inputxt7"> <div class="inputxt" id="inputxt7">
<div class="flex" v-if="nowedit == 7"> <div class="flex" v-if="nowedit == 7 && isDisabled == false">
<el-input placeholder="待添加" v-model="xmsldata.constructionPhone"></el-input> <el-input placeholder="待添加" v-model="xmsldata.constructionPhone"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" @click="isphone(2,xmsldata.constructionPhone)" style="width: 56px">确定</div> <div class="btnsmall btn_primary h28" @click="isphone(2,xmsldata.constructionPhone)" style="width: 56px">确定</div>
...@@ -177,7 +177,6 @@ ...@@ -177,7 +177,6 @@
export default { export default {
name: 'xmsl', name: 'xmsl',
props:{ props:{
datas:'',
detailId: { //从企业详情跳转过来ID detailId: { //从企业详情跳转过来ID
type: Number, type: Number,
default: 0 default: 0
...@@ -191,9 +190,10 @@ ...@@ -191,9 +190,10 @@
xmjd:'待添加', xmjd:'待添加',
projectStage:[],//项目阶段 projectStage:[],//项目阶段
id: this.detailId ? this.detailId : this.$route.query.id, id: this.detailId ? this.detailId : this.$route.query.id,
xmsldata:this.datas, xmsldata:[],
spanWidth:'width: 70px', spanWidth:'width: 70px',
rig1:'184px', rig1:'184px',
isDisabled:false,
} }
}, },
created(){ created(){
...@@ -205,6 +205,8 @@ ...@@ -205,6 +205,8 @@
}, },
mounted(){ mounted(){
document.addEventListener('mouseup',(e) => { document.addEventListener('mouseup',(e) => {
if(this.isDisabled == true)
return false
let j = 0 let j = 0
for(var i=1;i<=7;i++){ for(var i=1;i<=7;i++){
let isSelf = document.getElementById('inputxt'+i).contains(event.target) // 这个是自己的区域 let isSelf = document.getElementById('inputxt'+i).contains(event.target) // 这个是自己的区域
...@@ -215,6 +217,33 @@ ...@@ -215,6 +217,33 @@
} }
} }
if(j == 7){ if(j == 7){
if(this.nowedit != -1){
let param = {}
switch (this.nowedit) {
case 1:
param = {'projectLevel':this.xmsldata.projectLevel}
break;
case 2 :
param = {'supervisorUnit':this.xmsldata.supervisorUnit}
break;
case 3 :
param = {'constructionUnit':this.xmsldata.constructionUnit}
break;
case 4 :
param = {'supervisorPrincipal':this.xmsldata.supervisorPrincipal}
break;
case 5 :
param = {'constructionPrincipal':this.xmsldata.constructionPrincipal}
break;
case 6 :
param = {'supervisorPhone':this.xmsldata.supervisorPhone}
break;
case 7 :
param = {'constructionPhone':this.xmsldata.constructionPhone}
break;
}
this.editXMSL(param)
}
this.nowedit = -1 this.nowedit = -1
} }
}) })
...@@ -232,6 +261,9 @@ ...@@ -232,6 +261,9 @@
}); });
}, },
editXMSL(param){ editXMSL(param){
this.nowedit = -1
if(this.isDisabled == true)
return false
if(param.projectStage){//修改项目阶段 if(param.projectStage){//修改项目阶段
this.$emit('Refreshs',param) this.$emit('Refreshs',param)
this.xmjd = param.projectStage this.xmjd = param.projectStage
...@@ -240,13 +272,14 @@ ...@@ -240,13 +272,14 @@
params.id = this.id params.id = this.id
editXMNR(JSON.stringify(params)).then(res=>{ editXMNR(JSON.stringify(params)).then(res=>{
if (res.code == 200){ if (res.code == 200){
if(!param.projectStage){
this.$message.success('修改成功!') this.$message.success('修改成功!')
}
}else{ }else{
this.$message.error(res.msg) this.$message.error(res.msg)
this.getXMSL() this.getXMSL()
} }
}) })
this.nowedit = -1
} }
}, },
//验证电话号码 //验证电话号码
...@@ -307,8 +340,7 @@ ...@@ -307,8 +340,7 @@
this.xmjd = result.data.projectStage this.xmjd = result.data.projectStage
this.tipslit = result.data.labelList this.tipslit = result.data.labelList
this.xmsldata = result.data this.xmsldata = result.data
this.isDisabled = result.data.isFounder == 1 ? false:true
const spanStyle = document.querySelector(".rig1"); const spanStyle = document.querySelector(".rig1");
this.$nextTick(() => { // 如果不用$nextTick的话页面并不会更新,它是在下次dom更新后再渲染到页面上 this.$nextTick(() => { // 如果不用$nextTick的话页面并不会更新,它是在下次dom更新后再渲染到页面上
this.rig1 = this.rig1 =
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<div class="searchbtns"> <div class="searchbtns">
<!--<div class="searchbtns" v-if="fileDatas.rows != null && fileDatas.rows.length>0">--> <!--<div class="searchbtns" v-if="fileDatas.rows != null && fileDatas.rows.length>0">-->
<div class="searchInput"> <div class="searchInput">
<el-input type="text" v-model="param.keyword" placeholder="输入关键词查询"></el-input> <el-input type="text" v-model="param.keyword" clearable placeholder="输入关键词查询"></el-input>
<div class="btn" @click="handleCurrentChange(1)">搜索</div> <div class="btn" @click="handleCurrentChange(1)">搜索</div>
</div> </div>
<div class="btn btn_primary h32 b2" @click="getUP"><div class="img img2"></div>上传</div> <div class="btn btn_primary h32 b2" @click="getUP"><div class="img img2"></div>上传</div>
...@@ -51,9 +51,9 @@ ...@@ -51,9 +51,9 @@
<template slot="empty"> <template slot="empty">
<div class="empty"> <div class="empty">
<img src="@/assets/images/project/empty.png"> <img src="@/assets/images/project/empty.png">
<div class="p1">暂无数据展示</div> <div class="p1">抱歉,没找到相关数据</div>
<div class="p2">抱歉,你还未添加相关数据,快去上传吧</div> <div class="p2">建议调整关键词或筛选条件,重新搜索</div>
<div class="btn btn_primary h36 w102" @click="getUP">上传文档</div> <div v-if="isDisabled==false" class="btn btn_primary h36 w102" @click="getUP">上传文档</div>
</div> </div>
</template> </template>
<el-table-column <el-table-column
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="hoverbtn"> <div class="hoverbtn">
<div class="xz" @click="downnlod(scope.row)">下载</div> <div class="xz" @click="downnlod(scope.row)">下载</div>
<div class="sc" @click="del(scope.row.filePath)">删除</div> <div class="sc" v-if="isDisabled == false" @click="del(scope.row.filePath)">删除</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -128,7 +128,8 @@ ...@@ -128,7 +128,8 @@
detailId: { //从企业详情跳转过来ID detailId: { //从企业详情跳转过来ID
type: Number, type: Number,
default: 0 default: 0
} },
isDisabled:false,
}, },
data(){ data(){
return{ return{
...@@ -150,6 +151,7 @@ ...@@ -150,6 +151,7 @@
fileDatas:[], fileDatas:[],
filename:'', filename:'',
ondel:"", ondel:"",
isDisabled:this.isDisabled,
} }
}, },
created(){ created(){
...@@ -192,6 +194,8 @@ ...@@ -192,6 +194,8 @@
} }
}, },
getUP(){ getUP(){
if(this.isDisabled==true)
return false
this.isupload=true this.isupload=true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.uploadFile.$children[0].$refs.input.webkitdirectory = true this.$refs.uploadFile.$children[0].$refs.input.webkitdirectory = true
...@@ -345,4 +349,7 @@ ...@@ -345,4 +349,7 @@
} }
} }
} }
.searchInput .el-input{
width: 68%;
}
</style> </style>
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="contets row"> <div class="contets row" readonly>
<div class="det-con"> <div class="det-con">
<span>项目类型:</span> <span>项目类型:</span>
<div class="select-popper" > <div class="select-popper" >
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
{{xmlx}} {{xmlx}}
<i class="el-icon-caret-bottom"></i> <i class="el-icon-caret-bottom"></i>
</span> </span>
<el-select v-model="xmlx" class="select-multiple" placeholder="请选择" @change="editXMSL({projectType:xmlx})"> <el-select v-if="isDisabled == false" v-model="xmlx" class="select-multiple" placeholder="请选择" @change="editXMSL({projectType:xmlx})">
<el-option v-for="(item,index) in projectType" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in projectType" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select> </el-select>
</div> </div>
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
{{xmlb}} {{xmlb}}
<i class="el-icon-caret-bottom"></i> <i class="el-icon-caret-bottom"></i>
</span> </span>
<el-select v-model="xmlb" class="select-multiple" placeholder="请选择" @change="editXMSL({projectCategory:xmlb})"> <el-select v-if="isDisabled==false" v-model="xmlb" class="select-multiple" placeholder="请选择" @change="editXMSL({projectCategory:xmlb})">
<el-option v-for="(item,index) in projectCategory" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in projectCategory" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select> </el-select>
</div> </div>
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
<div class="det-con con" id="inputxt"> <div class="det-con con" id="inputxt">
<span>投资估算(万元):</span> <span>投资估算(万元):</span>
<div class="inputxt i" :class="{'nomar':nowedit != 3}"> <div class="inputxt i" :class="{'nomar':nowedit != 3}">
<div class="flex" v-if="nowedit == 3"> <div class="flex" v-if="nowedit == 3 && isDisabled == false">
<el-input v-model="ProjectData.investmentAmount" placeholder="待添加" @input="number"></el-input> <el-input v-model="ProjectData.investmentAmount" placeholder="待添加" @input="number"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({investmentAmount:ProjectData.investmentAmount})">确定</div> <div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({investmentAmount:ProjectData.investmentAmount})">确定</div>
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
{{addresstxt}} {{addresstxt}}
<i class="el-icon-caret-bottom"></i> <i class="el-icon-caret-bottom"></i>
</span> </span>
<el-cascader class="cascader-region select-location" v-model="ProjectData.address" <el-cascader :disabled="isDisabled" class="cascader-region select-location" v-model="ProjectData.address"
ref="myCascader" :props="props" ref="myCascader" :props="props"
:options="addressList" :options="addressList"
@change="handleChange"></el-cascader> @change="handleChange"></el-cascader>
...@@ -107,19 +107,19 @@ ...@@ -107,19 +107,19 @@
</div> </div>
</el-card> </el-card>
<!--项目速览--> <!--项目速览-->
<xmsl v-if="thistag == 'xmsl'" :key="keys" @Refreshs="getsl" :datas="ProjectData" :detailId="detailId"></xmsl> <xmsl v-if="thistag == 'xmsl'" :key="keys" @Refreshs="getsl" :detailId="detailId"></xmsl>
<!--建设内容--> <!--建设内容-->
<jsnr v-if="thistag == 'jsnr'" :detailId="detailId"></jsnr> <jsnr v-if="thistag == 'jsnr'" :isDisabled='isDisabled' :detailId="detailId"></jsnr>
<!--联系人--> <!--联系人-->
<lxr v-if="thistag == 'lxr'" :detailId="detailId"></lxr> <lxr v-if="thistag == 'lxr'" :isDisabled='isDisabled' :detailId="detailId"></lxr>
<!--跟进记录--> <!--跟进记录-->
<gjjl v-if="thistag == 'gjjl'" types="gjjl" :detailId="detailId"></gjjl> <gjjl v-if="thistag == 'gjjl'" :isDisabled='isDisabled' types="gjjl" :detailId="detailId"></gjjl>
<!--工作待办--> <!--工作待办-->
<gzdb v-if="thistag == 'gzdb'" :detailId="detailId"></gzdb> <gzdb v-if="thistag == 'gzdb'" :isDisabled='isDisabled' :detailId="detailId"></gzdb>
<!--资料文档--> <!--资料文档-->
<zlwd v-if="thistag == 'zlwd'" :detailId="detailId"></zlwd> <zlwd v-if="thistag == 'zlwd'" :isDisabled='isDisabled' :detailId="detailId"></zlwd>
<!--相关企业--> <!--相关企业-->
<xgqy v-if="thistag == 'xgqy'" :detailId="detailId"></xgqy> <xgqy v-if="thistag == 'xgqy'" :isDisabled='isDisabled' :detailId="detailId"></xgqy>
</div> </div>
</div> </div>
</template> </template>
...@@ -175,6 +175,7 @@ ...@@ -175,6 +175,7 @@
props:{ checkStrictly: true, expandTrigger: 'hover' }, props:{ checkStrictly: true, expandTrigger: 'hover' },
id:'', id:'',
ProjectData:{}, ProjectData:{},
isDisabled:false,
keys:1, keys:1,
} }
}, },
...@@ -202,9 +203,14 @@ ...@@ -202,9 +203,14 @@
this.choose(data.projectStage) this.choose(data.projectStage)
}, },
handleALL(event){ handleALL(event){
if(this.isDisabled == true)
return false
var one = document.getElementById("inputxt"); var one = document.getElementById("inputxt");
if(one){ if(one){
if(!one.contains(event.target)){ if(!one.contains(event.target)){
if(this.nowedit != -1){
this.editXMSL({investmentAmount:this.ProjectData.investmentAmount})
}
this.nowedit = -1 this.nowedit = -1
}else{ }else{
this.nowedit = 3 this.nowedit = 3
...@@ -215,6 +221,7 @@ ...@@ -215,6 +221,7 @@
getXMSL(this.id).then(result=>{ getXMSL(this.id).then(result=>{
this.ProjectData = result.code==200?result.data:{} this.ProjectData = result.code==200?result.data:{}
this.$route.query.projectname = result.data.projectName this.$route.query.projectname = result.data.projectName
this.isDisabled = result.data.isFounder == 1 ? false:true
this.xmlx = result.data.projectType==""||result.data.projectType==null?"请选择":result.data.projectType this.xmlx = result.data.projectType==""||result.data.projectType==null?"请选择":result.data.projectType
this.xmlb = result.data.projectCategory==""||result.data.projectCategory==null?"请选择":result.data.projectCategory this.xmlb = result.data.projectCategory==""||result.data.projectCategory==null?"请选择":result.data.projectCategory
this.thisindex = result.data.projectStage this.thisindex = result.data.projectStage
...@@ -249,6 +256,8 @@ ...@@ -249,6 +256,8 @@
this.ProjectData.isPrivate = isPrivate this.ProjectData.isPrivate = isPrivate
}, },
editXMSL(param){ editXMSL(param){
if(this.isDisabled == true)
return false
let params = param let params = param
params.id = this.id params.id = this.id
editXMNR(JSON.stringify(params)).then(res=>{ editXMNR(JSON.stringify(params)).then(res=>{
...@@ -294,6 +303,8 @@ ...@@ -294,6 +303,8 @@
this.lastindex = value this.lastindex = value
}, },
choose(value){ choose(value){
if(this.isDisabled == true)
return false
this.thisindex = value this.thisindex = value
this.editXMSL({projectStage:value}) this.editXMSL({projectStage:value})
let _this = this let _this = this
......
...@@ -99,7 +99,9 @@ ...@@ -99,7 +99,9 @@
<div class="titles">项目明细 <div class="titles">项目明细
<div class="dc"> <div class="dc">
<div class="total">{{total}}</div> <div class="total">{{total}}</div>
<el-tooltip class="item" effect="dark" content="功能正在开发中" placement="top">
<div class="btn-export"><img src="@/assets/images/EXCEL.png">导出EXCEL</div> <div class="btn-export"><img src="@/assets/images/EXCEL.png">导出EXCEL</div>
</el-tooltip>
</div> </div>
</div> </div>
<div class="tables" v-if="total == 0"> <div class="tables" v-if="total == 0">
...@@ -452,6 +454,9 @@ export default { ...@@ -452,6 +454,9 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.btn_primary{
margin-top: 16px;
}
.jabph_popper_box{ .jabph_popper_box{
left: 110px; left: 110px;
} }
......
...@@ -79,4 +79,13 @@ public interface EconomicService { ...@@ -79,4 +79,13 @@ public interface EconomicService {
*/ */
AjaxResult regionalCompare(OpRegionalEconomicDataStatisticsRegionalDto dto); AjaxResult regionalCompare(OpRegionalEconomicDataStatisticsRegionalDto dto);
/***
*@Description: 地区经济-对比
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult regionalMultipleCompare (OpRegionalEconomicRegionalCompareDto dto);
} }
package com.dsk.system.service.impl; package com.dsk.system.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.dsk.common.core.domain.entity.BusinessContacts; import com.dsk.common.core.domain.entity.BusinessContacts;
import com.dsk.common.core.domain.model.LoginUser;
import com.dsk.common.exception.base.BaseException; import com.dsk.common.exception.base.BaseException;
import com.dsk.common.utils.CheckUtils; import com.dsk.common.utils.CheckUtils;
import com.dsk.common.utils.DateUtils; import com.dsk.common.utils.DateUtils;
import com.dsk.common.utils.SecurityUtils;
import com.dsk.system.mapper.BusinessContactsMapper; import com.dsk.system.mapper.BusinessContactsMapper;
import com.dsk.system.service.IBusinessContactsService; import com.dsk.system.service.IBusinessContactsService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -59,6 +62,10 @@ public class BusinessContactsServiceImpl implements IBusinessContactsService ...@@ -59,6 +62,10 @@ public class BusinessContactsServiceImpl implements IBusinessContactsService
public int insertBusinessContacts(BusinessContacts businessContacts) public int insertBusinessContacts(BusinessContacts businessContacts)
{ {
if(!CheckUtils.isPhone(businessContacts.getPhone())) throw new BaseException("500","请输入正确的电话号码"); if(!CheckUtils.isPhone(businessContacts.getPhone())) throw new BaseException("500","请输入正确的电话号码");
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isEmpty(loginUser)) throw new BaseException("请登录");
//维护人员为当前登录用户
businessContacts.setAccendant(loginUser.getUsername());
return businessContactsMapper.insertBusinessContacts(businessContacts); return businessContactsMapper.insertBusinessContacts(businessContacts);
} }
......
...@@ -51,16 +51,17 @@ public class CustomerServiceImpl implements ICustomerService { ...@@ -51,16 +51,17 @@ public class CustomerServiceImpl implements ICustomerService {
@Override @Override
public List<CustomerListVo> selectList(CustomerSearchDto dto) { public List<CustomerListVo> selectList(CustomerSearchDto dto) {
dto.setUserId(SecurityUtils.getUserId()); dto.setUserId(SecurityUtils.getUserId());
List<CustomerListVo> vos = baseMapper.selectList(dto); // List<CustomerListVo> vos = baseMapper.selectList(dto);
vos.parallelStream().forEach(vo -> { // vos.parallelStream().forEach(vo -> {
//合作项目 // //合作项目
vo.setCooperationProject(businessInfoService.selectCountByStatusAndCustomerId(2, vo.getCustomerId())); // vo.setCooperationProject(businessInfoService.selectCountByStatusAndCustomerId(2, vo.getCustomerId()));
//跟进项目 // //跟进项目
vo.setFollowProject(businessInfoService.selectCountByStatusAndCustomerId(1, vo.getCustomerId())); // vo.setFollowProject(businessInfoService.selectCountByStatusAndCustomerId(1, vo.getCustomerId()));
//储备项目 // //储备项目
vo.setReserveProject(businessInfoService.selectCountByStatusAndCustomerId(0, vo.getCustomerId())); // vo.setReserveProject(businessInfoService.selectCountByStatusAndCustomerId(0, vo.getCustomerId()));
}); // });
return vos; // return vos;
return baseMapper.selectList(dto);
} }
@Override @Override
......
...@@ -70,4 +70,10 @@ public class EconomicServiceImpl implements EconomicService { ...@@ -70,4 +70,10 @@ public class EconomicServiceImpl implements EconomicService {
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
@Override
public AjaxResult regionalMultipleCompare(OpRegionalEconomicRegionalCompareDto dto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/economic/regional/multipleCompare", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
} }
...@@ -92,7 +92,7 @@ ...@@ -92,7 +92,7 @@
i.district_name districtName, i.district_name districtName,
i.investment_amount investmentAmount, i.investment_amount investmentAmount,
i.construction_unit ownerCompany, i.construction_unit ownerCompany,
MAX(f.create_time) followTime, MAX(f.creat_time) followTime,
u.nick_name nickName, u.nick_name nickName,
GROUP_CONCAT(DISTINCT l.label) label GROUP_CONCAT(DISTINCT l.label) label
FROM business_info i FROM business_info i
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
ct.performance_characteristic, ct.other_ms_characteistic, ct.create_id, ct.create_time, ct.update_id, ct.update_time ct.performance_characteristic, ct.other_ms_characteistic, ct.create_id, ct.create_time, ct.update_id, ct.update_time
</sql> </sql>
<select id="selectList" resultType="com.dsk.system.domain.customer.vo.CustomerListVo"> <select id="selectList1" resultType="com.dsk.system.domain.customer.vo.CustomerListVo">
select select
u.nick_name followUser, u.nick_name followUser,
<include refid="Base_Bean"></include> <include refid="Base_Bean"></include>
...@@ -21,6 +21,26 @@ ...@@ -21,6 +21,26 @@
<if test="dto.companyName != null and dto.companyName != '' "> and ct.company_name like concat('%',#{dto.companyName},'%')</if> <if test="dto.companyName != null and dto.companyName != '' "> and ct.company_name like concat('%',#{dto.companyName},'%')</if>
</select> </select>
<select id="selectList" resultType="com.dsk.system.domain.customer.vo.CustomerListVo">
select
u.nick_name followUser, bi1.num reserveProject, bi2.num followProject, bi3.num cooperationProject,
<include refid="Base_Bean"></include>
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
join sys_user u on ctu.user_id = u.user_id
left join (
select count(status) num,customer_id from business_info where `status` = 0 group by customer_id
) bi1 on bi1.customer_id = ct.customer_id
left join (
select count(status) num,customer_id from business_info where `status` = 1 group by customer_id
) bi2 on bi2.customer_id = ct.customer_id
left join (
select count(status) num,customer_id from business_info where `status` = 2 group by customer_id
) bi3 on bi3.customer_id = ct.customer_id
where ctu.user_id = #{dto.userId}
<if test="dto.companyName != null and dto.companyName != '' "> and ct.company_name like concat('%',#{dto.companyName},'%')</if>
</select>
<select id="selectUserList" resultType="com.dsk.system.domain.customer.Customer"> <select id="selectUserList" resultType="com.dsk.system.domain.customer.Customer">
select select
ct.customer_id, ct.company_name ct.customer_id, ct.company_name
......
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