Commit e0d1a86b authored by yht15023815643's avatar yht15023815643

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys...

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys into V20231129-中建一局二公司
parents 8650227a 64ef994c
...@@ -52,10 +52,6 @@ public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer ...@@ -52,10 +52,6 @@ public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer
//项目合作数量 //项目合作数量
item.setProjectCooperationCount(vo.getProjectCooperationCount()); item.setProjectCooperationCount(vo.getProjectCooperationCount());
showCustomerClass(item); showCustomerClass(item);
//关键字标红
if (!ObjectUtils.isEmpty(bo.getCustomerName())) {
item.setCustomerName(StringUtils.markInRed(item.getCustomerName(), bo.getCustomerName()));
}
try { try {
Map<String, Object> map = opportunityRadarService.enterpriseByName(item.getCustomerName()); Map<String, Object> map = opportunityRadarService.enterpriseByName(item.getCustomerName());
if (!ObjectUtils.isEmpty(map.get("data"))) { if (!ObjectUtils.isEmpty(map.get("data"))) {
...@@ -66,6 +62,10 @@ public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer ...@@ -66,6 +62,10 @@ public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer
} catch (Exception e) { } catch (Exception e) {
// //
} }
//关键字标红
if (!ObjectUtils.isEmpty(bo.getCustomerName())) {
item.setCustomerName(StringUtils.markInRed(item.getCustomerName(), bo.getCustomerName()));
}
}); });
} }
return TableDataInfo.build(page); return TableDataInfo.build(page);
......
...@@ -83,6 +83,7 @@ public class ExportService { ...@@ -83,6 +83,7 @@ public class ExportService {
//生成中 //生成中
fileRecord.setStatus(2); fileRecord.setStatus(2);
fileRecord.setRemark("集团成员列表导出"); fileRecord.setRemark("集团成员列表导出");
fileRecord.setCreateTime(new DateTime());
Long fileId = sysUserFileRecordService.exportAdd(fileRecord); Long fileId = sysUserFileRecordService.exportAdd(fileRecord);
dto.setExportUniqueCode(fileId.toString()); dto.setExportUniqueCode(fileId.toString());
//回调函数 //回调函数
...@@ -99,6 +100,7 @@ public class ExportService { ...@@ -99,6 +100,7 @@ public class ExportService {
//生成中 //生成中
fileRecord.setStatus(2); fileRecord.setStatus(2);
fileRecord.setRemark("集团中标业绩导出"); fileRecord.setRemark("集团中标业绩导出");
fileRecord.setCreateTime(new DateTime());
Long fileId = sysUserFileRecordService.exportAdd(fileRecord); Long fileId = sysUserFileRecordService.exportAdd(fileRecord);
dto.setExportUniqueCode(fileId.toString()); dto.setExportUniqueCode(fileId.toString());
//回调函数 //回调函数
...@@ -115,6 +117,7 @@ public class ExportService { ...@@ -115,6 +117,7 @@ public class ExportService {
//生成中 //生成中
fileRecord.setStatus(2); fileRecord.setStatus(2);
fileRecord.setRemark("集团招标业绩导出"); fileRecord.setRemark("集团招标业绩导出");
fileRecord.setCreateTime(new DateTime());
Long fileId = sysUserFileRecordService.exportAdd(fileRecord); Long fileId = sysUserFileRecordService.exportAdd(fileRecord);
dto.setExportUniqueCode(fileId.toString()); dto.setExportUniqueCode(fileId.toString());
//回调函数 //回调函数
......
...@@ -7,8 +7,9 @@ export const subfieldModuleTemplate = { ...@@ -7,8 +7,9 @@ export const subfieldModuleTemplate = {
defaultSubfieldModuleName: "分栏名称", defaultSubfieldModuleName: "分栏名称",
subfieldModuleName: "", subfieldModuleName: "",
subfieldModuleNameRules: { subfieldModuleNameRules: {
required: true,
message: "请输入分栏名称", message: "请输入分栏名称",
trigger: ["blur", "change"] trigger: "change"
}, },
subfieldModulePlaceholder: "请输入分栏标题", subfieldModulePlaceholder: "请输入分栏标题",
edit: false, edit: false,
...@@ -22,6 +23,11 @@ export const defaultComOptions = [ ...@@ -22,6 +23,11 @@ export const defaultComOptions = [
comType: "el-input", comType: "el-input",
// 组件展示图标 // 组件展示图标
comShowIcon: require("@/assets/images/consultingAgencyManagement/customForm/icon_single_line_text@2x.png"), comShowIcon: require("@/assets/images/consultingAgencyManagement/customForm/icon_single_line_text@2x.png"),
// 验证规则
rules: {},
// 绑定的值
value: "",
// 输入值为空提示
placeholder: "请输入"
} }
]; ];
\ No newline at end of file
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<div class="design-main fields-main"> <div class="design-main fields-main">
<vuedraggable :list="defaultComOptions" :group="{name: 'customComGroup', pull: 'clone', put: false}" class="design-draggable-fields" <vuedraggable :list="defaultComOptions" :group="{name: 'customComGroup', pull: 'clone', put: false}" class="design-draggable-fields"
draggable=".draggable-fields-item" ghostClass="dragClass" :clone="targetComClone" :sort="false" :disabled="!subfieldModuleList.length" draggable=".draggable-fields-item" ghostClass="dragClass" :clone="targetComClone" :sort="false" :disabled="!subfieldModuleList.length"
@choose="chooseFieldItem" @end="fieldsOnEnd"> @end="fieldsOnEnd">
<transition-group name="fade" tag="div" class="draggable-fields-list"> <transition-group name="fade" tag="div" class="draggable-fields-list">
<div class="draggable-fields-item" :class="{'has-no-subfield-module' : !subfieldModuleList.length}" <div class="draggable-fields-item" :class="{'has-no-subfield-module' : !subfieldModuleList.length}"
v-for="(item,index) of defaultComOptions" :key="index" @click="fieldsItemClick"> v-for="(item,index) of defaultComOptions" :key="index" @click="fieldsItemClick">
...@@ -22,18 +22,18 @@ ...@@ -22,18 +22,18 @@
<div class="custom-form-design-options"> <div class="custom-form-design-options">
<div class="design-header options-header">表单配置</div> <div class="design-header options-header">表单配置</div>
<div class="design-main options-main"> <div class="design-main options-main">
<el-form class="custom-design-el-form" ref="customDesignFormRef" :rules="{}"> <el-form class="custom-design-el-form" ref="customDesignFormRef" :rules="{}" @submit.native.prevent>
<!-- 最外层dragg容器 拖动模块module . --> <!-- 最外层dragg容器 拖动模块module .subfield-module-dragg-target-icon -->
<vuedraggable :list="subfieldModuleList" group="customSubfieldmodule" class="subfield-module-container" <vuedraggable :list="subfieldModuleList" group="customSubfieldmodule" class="subfield-module-container"
draggable=".subfield-module-dragg-target-icon"> draggable=".subfield-module-item-container" handle=".subfield-module-dragg-target-icon" :animation="340">
<!-- 添加的分栏模块以及chidren模块 --> <!-- 添加的分栏模块以及chidren模块 -->
<transition-group name="fade" tag="div" class="subfield-module-list"> <transition-group name="fade" tag="div" class="subfield-module-list">
<vuedraggable v-for="(item,index) of subfieldModuleList" tag="subfield-module" :list="item.children" group="customSubfieldmoduleItem" <vuedraggable v-for="(item,index) of subfieldModuleList" draggable=".subfield-item-container"
:component-data="createComponentData(item)" :key="item.uid" draggable=".subfield-module-item-dragg-target-icon"> handle=".subfield-module-item-dragg-target-icon" tag="subfield-module" :list="item.children" group="customComGroup"
<transition-group name="fade" tag="div" class="subfield-module-item-list"> :component-data="createComponentData(item)" :key="item.uid" :animation="340">
<subfield-item v-for="(child,index) of item.children" :key="child.uid"></subfield-item> <subfield-item v-for="(child,index) of item.children" :key="child.uid" :parentUid="item.uid" :childModuleInfo="child"
</transition-group> @removeModuleItem="removeModuleItem"></subfield-item>
</vuedraggable> </vuedraggable>
</transition-group> </transition-group>
</vuedraggable> </vuedraggable>
...@@ -113,10 +113,7 @@ export default { ...@@ -113,10 +113,7 @@ export default {
// 字段组件结束拖动 // 字段组件结束拖动
fieldsOnEnd(e) { fieldsOnEnd(e) {
console.log(e); console.log(e);
}, console.log(this.subfieldModuleList);
// 选中要移动的表单组件时
chooseFieldItem(e) {
console.log(e);
}, },
// 字段组件点击事件 // 字段组件点击事件
fieldsItemClick() { fieldsItemClick() {
...@@ -143,11 +140,21 @@ export default { ...@@ -143,11 +140,21 @@ export default {
}, },
editOK(module) { editOK(module) {
},
removeModuleItem(itemModule, parentUid) {
const parentModule = this.subfieldModuleList.find(item => item.uid == parentUid);
if (parentModule) {
// 更新源数据标题
const index = parentModule?.children?.findIndex(item => item.uid == itemModule.uid);
if (index > -1) {
parentModule?.children?.splice(index, 1);
}
}
}, },
removeModule(module) { removeModule(module) {
this.removeSubfieldModule = module; this.removeSubfieldModule = module;
this.removeSubFiledModuleDialog = true; this.removeSubFiledModuleDialog = true;
const findModule = this.subfieldModuleList.findIndex(item => item.uid == module.uid); const findModule = this.subfieldModuleList.find(item => item.uid == module.uid);
if (findModule) { if (findModule) {
// 更新源数据标题 // 更新源数据标题
findModule.subfieldModuleName = module.subfieldModuleName; findModule.subfieldModuleName = module.subfieldModuleName;
......
<template> <template>
<div class="subfield-item-container"> <div class="subfield-item-container">
<img src="@/assets/images/consultingAgencyManagement/customForm/icon_drag@2x.png" alt="" class="subfield-module-item-dragg-target-icon">
<el-form-item class="subfield-module-form-item" :label="comChildModuleInfo.comLabel">
<el-input v-model="comChildModuleInfo.value" :placeholder="comChildModuleInfo.placeholder" clearable></el-input>
</el-form-item>
<img src="@/assets/images/consultingAgencyManagement/customForm/icon_delete@2x.png" alt="" class="remove-subfield-item-icon"
@click.stop="removeModuleItem">
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: "subfieldItem", name: "subfieldItem",
props: {
childModuleInfo: Object,
parentUid: String
},
watch: {
childModuleInfo: {
handler(newValue) {
this.comChildModuleInfo = newValue;
},
deep: true
}
},
data() { data() {
return { return {
comChildModuleInfo: this.childModuleInfo
}; };
}, },
//可访问data属性 //可访问data属性
...@@ -21,12 +38,47 @@ export default { ...@@ -21,12 +38,47 @@ export default {
}, },
//方法集 //方法集
methods: { methods: {
removeModuleItem() {
this.$emit("removeModuleItem", this.comChildModuleInfo, this.parentUid);
},
}, },
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.subfield-item-container { .subfield-item-container {
width: 100%;
min-height: 56px;
padding: 0px 16px 0px 32px;
box-sizing: border-box;
display: flex;
align-items: center;
background: #dcebff;
.subfield-module-item-dragg-target-icon {
width: 14px;
height: 14px;
cursor: pointer;
}
::v-deep .subfield-module-form-item {
display: flex;
.el-form-item__label {
line-height: 32px;
font-size: 14px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
}
.el-form-item__content {
flex: 1;
}
}
.remove-subfield-item-icon {
width: 16px;
height: 16px;
margin-left: 12px;
cursor: pointer;
}
} }
</style> </style>
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<div class="subfield-module-header"> <div class="subfield-module-header">
<div class="subfield-module-title"> <div class="subfield-module-title">
<img src="@/assets/images/consultingAgencyManagement/customForm/icon_drag@2x.png" alt="" class="subfield-module-dragg-target-icon"> <img src="@/assets/images/consultingAgencyManagement/customForm/icon_drag@2x.png" alt="" class="subfield-module-dragg-target-icon">
<el-form-item v-if="comModuleInfo.edit" class="subfield-module-form-item" :rules="comModuleInfo.subfieldModuleNameRules"> <el-form-item v-if="comModuleInfo.edit" class="subfield-module-form-item" :rules="comModuleInfo.subfieldModuleNameRules" prop="">
<el-input v-model="comModuleInfo.subfieldModuleName" :placeholder="comModuleInfo.subfieldModulePlaceholder" clearable></el-input> <el-input v-model="comModuleInfo.subfieldModuleName" :placeholder="comModuleInfo.subfieldModulePlaceholder" clearable @keyup.enter.native.stop="editOK"></el-input>
</el-form-item> </el-form-item>
<span v-else>{{comModuleInfo.defaultSubfieldModuleName}}</span> <span v-else>{{comModuleInfo.defaultSubfieldModuleName}}</span>
</div> </div>
......
...@@ -49,8 +49,8 @@ ...@@ -49,8 +49,8 @@
<span class="color1 span">高风险 {{scope.row.highRiskCount}}</span> <span class="color1 span">高风险 {{scope.row.highRiskCount}}</span>
<span class="color2 span">中风险 {{scope.row.middleRiskCount}}</span> <span class="color2 span">中风险 {{scope.row.middleRiskCount}}</span>
<span class="color3 span">低风险 {{scope.row.lowRiskCount}}</span> <span class="color3 span">低风险 {{scope.row.lowRiskCount}}</span>
<span class="color4 span">提示 {{scope.row.promptCount}}</span> <!--<span class="color4 span">提示 {{scope.row.promptCount}}</span>-->
<span class="color5 span">正向 {{scope.row.positiveCount}}</span> <!--<span class="color5 span">正向 {{scope.row.positiveCount}}</span>-->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="监控时间" width="200" align="left" prop="createTime"></el-table-column> <el-table-column label="监控时间" width="200" align="left" prop="createTime"></el-table-column>
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
</el-input> </el-input>
</div> </div>
<div class="companyList"> <div class="companyList">
<div class="list"> <div class="list" v-loading="loading">
<div class="item" v-for="item in dataList"> <div class="item" v-for="item in dataList">
<div class="item-left"> <div class="item-left">
<img v-if="item.logoUrl" :src="item.logoUrl" :alt="item.companyName.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" /> <img v-if="item.logoUrl" :src="item.logoUrl" :alt="item.companyName.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />
...@@ -209,6 +209,8 @@ ...@@ -209,6 +209,8 @@
}, },
companyId:'', companyId:'',
downloadhref: '',//样例地址 downloadhref: '',//样例地址
// 加载状态
loading: false,
} }
}, },
created() { created() {
...@@ -226,6 +228,7 @@ ...@@ -226,6 +228,7 @@
}) })
}, },
handleKeyword(){ handleKeyword(){
this.dataList=[]
this.addEnterprise() this.addEnterprise()
}, },
changeCheckbox(item){ changeCheckbox(item){
...@@ -334,6 +337,7 @@ ...@@ -334,6 +337,7 @@
}, },
addEnterprise(){ addEnterprise(){
this.qyVisible=true; this.qyVisible=true;
this.loading = true
let data={ let data={
pageNum:1, pageNum:1,
pageSize:10 pageSize:10
...@@ -342,6 +346,7 @@ ...@@ -342,6 +346,7 @@
data.companyName=this.companyName; data.companyName=this.companyName;
} }
queryMonitorCompany(data).then(res => { queryMonitorCompany(data).then(res => {
this.loading = false
this.dataList=res.rows; this.dataList=res.rows;
}) })
}, },
......
...@@ -202,14 +202,6 @@ ...@@ -202,14 +202,6 @@
}, },
], ],
fxjb:[ fxjb:[
{
value:'提示',
label:'提示'
},
{
value:'正向',
label:'正向'
},
{ {
value:'低风险', value:'低风险',
label:'低风险' label:'低风险'
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<img src="@/assets/images/enterprise.png"/> <img src="@/assets/images/enterprise.png"/>
<span>{{object.companyName}}</span> <span>{{object.companyName}}</span>
</div> </div>
<p> <p style="margin: 12px 0;">
<span class="label">法定代表人:</span> <span class="label">法定代表人:</span>
<span class="val">{{object.corporatePerson}}</span> <span class="val">{{object.corporatePerson}}</span>
<span class="label">注册资本:</span> <span class="label">注册资本:</span>
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
<div class="label">时间筛选</div> <div class="label">时间筛选</div>
<div class="checkbox"> <div class="checkbox">
<el-radio-group v-model="radio"> <el-radio-group v-model="radio">
<el-radio v-for="item in radioList" :label="item.type">{{item.label}}</el-radio> <el-radio v-for="item in radioList" @change="radioBtn" :label="item.type">{{item.label}}</el-radio>
</el-radio-group> </el-radio-group>
<el-date-picker <el-date-picker
v-if="radio==4" v-if="radio==4"
...@@ -63,6 +63,7 @@ ...@@ -63,6 +63,7 @@
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
unlink-panels unlink-panels
size="small" size="small"
@change="changePicker"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期"> end-placeholder="结束日期">
...@@ -189,23 +190,15 @@ ...@@ -189,23 +190,15 @@
], ],
fxjb:[ fxjb:[
{ {
value:'1', value:'低风险',
label:'提示'
},
{
value:'2',
label:'正向'
},
{
value:'3',
label:'低风险' label:'低风险'
}, },
{ {
value:'4', value:'中风险',
label:'中风险' label:'中风险'
}, },
{ {
value:'5', value:'高风险',
label:'高风险' label:'高风险'
}, },
], ],
...@@ -443,6 +436,46 @@ ...@@ -443,6 +436,46 @@
break; break;
} }
}, },
radioBtn(val){
let endTime = new Date()
this.queryParams.pageNum=1
this.queryParams.pageSize=10
switch (val) {
case 1:
this.queryParams.condition.beginTime=this.formatDate(endTime)
this.queryParams.condition.endTime=this.formatDate(endTime)
this.querySubmit()
break;
case 2:
this.queryParams.condition.beginTime = this.formatDate(new Date(endTime.getTime() - 3600 * 1000 * 24 * 3))
this.queryParams.condition.endTime = this.formatDate(endTime)
this.querySubmit()
break;
case 3:
this.queryParams.condition.beginTime = this.formatDate(new Date(endTime.getTime() - 3600 * 1000 * 24 * 7))
this.queryParams.condition.endTime = this.formatDate(endTime)
this.querySubmit()
break;
case 4:
this.queryParams.condition.beginTime = this.formatDate(new Date(endTime.getTime() - 3600 * 1000 * 24 * 15))
this.queryParams.condition.endTime = this.formatDate(endTime)
this.querySubmit()
break;
case 5:
this.queryParams.condition.beginTime = this.formatDate(new Date(endTime.getTime() - 3600 * 1000 * 24 * 30))
this.queryParams.condition.endTime = this.formatDate(endTime)
this.querySubmit()
break;
case 6:
this.date=[]
break;
default:
this.queryParams.condition.beginTime=''
this.queryParams.condition.endTime=''
this.querySubmit()
break;
}
},
// 重置页数 // 重置页数
handleSizeChange(val) { handleSizeChange(val) {
this.queryParams.pageNum = 1 this.queryParams.pageNum = 1
...@@ -455,6 +488,16 @@ ...@@ -455,6 +488,16 @@
this.querySubmit() this.querySubmit()
window.scrollTo(0, 0); window.scrollTo(0, 0);
}, },
// 时间选择改变后的回调
changePicker(value) {
if(value && value.length) {
this.queryParams.condition.beginTime = value[0]
this.queryParams.condition.endTime = value[1]
}
this.queryParams.pageNum=1
this.queryParams.pageSize=10
this.querySubmit()
},
// 时间格式化 // 时间格式化
formatDate(timeStr) { formatDate(timeStr) {
let date = new Date(Number(timeStr)); let date = new Date(Number(timeStr));
......
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