Commit c929e68f authored by tyn's avatar tyn

fix bug and merge

parent 7bed730c
...@@ -51,7 +51,8 @@ ...@@ -51,7 +51,8 @@
<div class="design-header field-options-header">字段设置</div> <div class="design-header field-options-header">字段设置</div>
<div class="design-main field-options-main"> <div class="design-main field-options-main">
<set-field-option v-if="showSetOption" :activeFieldData="activeItemData" :activeUid="activeUid" :parentUid="activeModuleId" <set-field-option v-if="showSetOption" :activeFieldData="activeItemData" :activeUid="activeUid" :parentUid="activeModuleId"
ref="setFieldOptionRef" @cancelSetOptions="cancelSetOptions" @setOptionsFinish="setOptionsFinish"></set-field-option> ref="setFieldOptionRef" @cancelSetOptions="cancelSetOptions" @setOptionsFinish="setOptionsFinish"
@backfileData="backfileData"></set-field-option>
</div> </div>
</div> </div>
</div> </div>
...@@ -194,16 +195,17 @@ export default { ...@@ -194,16 +195,17 @@ export default {
} }
}, },
resetCurrent() { resetCurrent() {
this.activeUid = ""; // 重置顺序不能变 (触发监听的顺序)
this.activeModuleId = "";
this.activeItemData = {}; this.activeItemData = {};
this.activeItemDataOrigin = {}; this.activeItemDataOrigin = {};
this.activeUid = "";
this.activeModuleId = "";
}, },
// 克隆目标组件 // 克隆目标组件
targetComClone(v) { targetComClone(v) {
console.log("clone", v);
const cloneTarget = cloneDeep(v); const cloneTarget = cloneDeep(v);
cloneTarget.uid = v4(); cloneTarget.uid = v4();
console.log(cloneTarget);
cloneTarget.formAttribute.fieldName = this.generateRandomLowerCaseLetter() + cloneTarget.uid.split("-").join(""); cloneTarget.formAttribute.fieldName = this.generateRandomLowerCaseLetter() + cloneTarget.uid.split("-").join("");
return cloneTarget; return cloneTarget;
}, },
...@@ -239,6 +241,17 @@ export default { ...@@ -239,6 +241,17 @@ export default {
} }
} }
}, },
// 回档数据
backfileData(current, parentUid) {
const _temp = cloneDeep(current);
const index = this.subfieldModuleForm.subfieldModuleList.findIndex(item => item.uid == parentUid);
if (index > -1) {
const childIndex = this.subfieldModuleForm.subfieldModuleList[index].children.findIndex(child => child.uid == current.uid);
if (childIndex > -1) {
this.subfieldModuleForm.subfieldModuleList[index].children.splice(childIndex, 1, _temp);
}
}
},
// 命中变化的表单元素 // 命中变化的表单元素
currentActiveByItemId(current) { currentActiveByItemId(current) {
const _temp = cloneDeep(current); const _temp = cloneDeep(current);
......
<template> <template>
<div class="set-field-option-container"> <div class="set-field-option-container">
<el-form class="set-field-option-form" ref="customDesignFormRef" :model="comActiveFieldData"> <el-form class="set-field-option-form" ref="customDesignFormRef" :model="comActiveFieldData">
<!-- 字段名称 --> <!-- 字段名称 -->
<el-form-item label="字段名称" class="set-field-option-item" prop="formAttribute.fieldName" v-if="comActiveFieldData.formAttribute" <el-form-item label="字段名称" class="set-field-option-item" prop="formAttribute.fieldName" v-if="comActiveFieldData.formAttribute"
:rules="setFieldOptionRules.fieldName"> :rules="setFieldOptionRules.fieldName">
<el-input v-model="comActiveFieldData.formAttribute.fieldName" placeholder="请输入字段名称" clearable></el-input> <el-input v-model="comActiveFieldData.formAttribute.fieldName" placeholder="请输入字段名称" clearable></el-input>
</el-form-item> </el-form-item>
<!-- label展示名称 --> <!-- label展示名称 -->
<el-form-item label="字段label" class="set-field-option-item" prop="formAttribute.label" v-if="comActiveFieldData.formAttribute"> <el-form-item label="字段label" class="set-field-option-item" prop="formAttribute.label" v-if="comActiveFieldData.formAttribute">
<el-input v-model="comActiveFieldData.formAttribute.label" placeholder="请输入字段label" clearable></el-input> <el-input v-model="comActiveFieldData.formAttribute.label" placeholder="请输入字段label" clearable></el-input>
</el-form-item> </el-form-item>
<!-- placeholder文字 --> <!-- placeholder文字 -->
<el-form-item label="提示文字" class="set-field-option-item" prop="componentAttribute.placeholder" v-if="comActiveFieldData.componentAttribute"> <el-form-item label="提示文字" class="set-field-option-item" prop="componentAttribute.placeholder" v-if="comActiveFieldData.componentAttribute">
<el-input v-model="comActiveFieldData.componentAttribute.placeholder" placeholder="请输入提示文字" clearable></el-input> <el-input v-model="comActiveFieldData.componentAttribute.placeholder" placeholder="请输入提示文字" clearable></el-input>
</el-form-item> </el-form-item>
<!-- 默认值 --> <!-- 默认值 -->
<template v-if="defaultValueContain.includes(comActiveFieldData.comType)"> <template v-if="defaultValueContain.includes(comActiveFieldData.comType)">
<el-form-item label="默认值" class="set-field-option-item" prop="componentAttribute.value" v-if="comActiveFieldData.componentAttribute"> <el-form-item label="默认值" class="set-field-option-item" prop="componentAttribute.value" v-if="comActiveFieldData.componentAttribute">
<el-input v-model="comActiveFieldData.componentAttribute.value" placeholder="请输入默认值" clearable></el-input> <el-input v-model="comActiveFieldData.componentAttribute.value" placeholder="请输入默认值" clearable></el-input>
</el-form-item> </el-form-item>
</template> </template>
<!-- 下拉框配置 -->
<!-- 下拉框配置 是否多选 -->
<template v-if="comActiveFieldData.comType == 'select'"> <template v-if="comActiveFieldData.comType == 'select'">
<el-form-item label="类型" class="set-field-option-item set-field-option-select" prop="formAttribute.isMultiple" <el-form-item label="类型" class="set-field-option-item set-field-option-radio" prop="formAttribute.isMultiple"
v-if="comActiveFieldData.formAttribute"> v-if="comActiveFieldData.formAttribute">
<el-radio-group v-model="comActiveFieldData.formAttribute.isMultiple"> <el-radio-group v-model="comActiveFieldData.formAttribute.isMultiple">
<el-radio :label="false">单选</el-radio> <el-radio :label="false">单选</el-radio>
...@@ -32,27 +37,27 @@ ...@@ -32,27 +37,27 @@
</template> </template>
<!-- 表单样式 --> <!-- 表单样式 -->
<div class="set-field-option-styles-item" v-if="comActiveFieldData.formAttribute"> <el-form-item label="字段宽度" class="set-field-option-item set-field-option-radio has-top-line" prop="formAttribute.width"
<span class="set-field-option-label">字段宽度</span> v-if="comActiveFieldData.formAttribute">
<div class="set-field-option-block"> <el-radio-group v-model="comActiveFieldData.formAttribute.width">
<el-radio-group v-model="comActiveFieldData.formAttribute.width"> <el-radio-button :label="100">100%</el-radio-button>
<el-radio-button :label="100">100%</el-radio-button> <el-radio-button :label="50">50%</el-radio-button>
<el-radio-button :label="50">50%</el-radio-button> <el-radio-button :label="33">33%</el-radio-button>
<el-radio-button :label="33">33%</el-radio-button> <el-radio-button :label="25">25%</el-radio-button>
<el-radio-button :label="25">25%</el-radio-button> </el-radio-group>
</el-radio-group> </el-form-item>
</div>
</div> <!-- 是否必填 -->
<div class="set-field-option-styles-item" v-if="comActiveFieldData.formAttribute"> <el-form-item label="字段控制" class="set-field-option-item set-field-option-radio has-top-line" prop="formAttribute.required"
<span class="set-field-option-label">字段控制</span> v-if="comActiveFieldData.formAttribute">
<div class="set-field-option-block"> <el-radio-group v-model="comActiveFieldData.formAttribute.required">
<el-radio-group v-model="comActiveFieldData.formAttribute.required"> <el-radio :label="false">选填</el-radio>
<el-radio :label="false">选填</el-radio> <el-radio :label="true">必填</el-radio>
<el-radio :label="true">必填</el-radio> </el-radio-group>
</el-radio-group> </el-form-item>
</div>
</div>
</el-form> </el-form>
<!-- 确定编辑 --> <!-- 确定编辑 -->
<div class="set-field-option-footer"> <div class="set-field-option-footer">
<div class="set-field-option-inner" v-if="this.comActiveFieldData && this.comActiveFieldData.uid"> <div class="set-field-option-inner" v-if="this.comActiveFieldData && this.comActiveFieldData.uid">
...@@ -60,6 +65,7 @@ ...@@ -60,6 +65,7 @@
<el-button type="primary" @click="formCheck">确定</el-button> <el-button type="primary" @click="formCheck">确定</el-button>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
...@@ -138,6 +144,12 @@ export default { ...@@ -138,6 +144,12 @@ export default {
//方法集 //方法集
methods: { methods: {
setOptions(value) { setOptions(value) {
// 不是当前命中的id 不进行修改 (避免极端情况,正常不会触发 一次仅能修改一个元素)
console.log(this.activeUid, value.uid);
// 不是更改的当前命中元素
if (this.activeUid !== value.uid) {
return;
};
this.comActiveFieldData = value; this.comActiveFieldData = value;
}, },
cancelSet() { cancelSet() {
...@@ -204,6 +216,7 @@ export default { ...@@ -204,6 +216,7 @@ export default {
float: unset; float: unset;
text-align: left; text-align: left;
margin-bottom: 8px; margin-bottom: 8px;
padding: 0px;
} }
.el-form-item__content { .el-form-item__content {
...@@ -217,8 +230,14 @@ export default { ...@@ -217,8 +230,14 @@ export default {
} }
} }
&.has-top-line {
padding-top: 20px;
border-top: 1px solid #eeeeee;
box-sizing: border-box;
}
/* 下拉框样式重置 */ /* 下拉框样式重置 */
&.set-field-option-select { &.set-field-option-radio {
.el-form-item__content { .el-form-item__content {
line-height: 22px; line-height: 22px;
...@@ -253,79 +272,9 @@ export default { ...@@ -253,79 +272,9 @@ export default {
padding-right: 0px; padding-right: 0px;
} }
} }
}
}
}
}
::v-deep .set-field-option-styles-item {
display: flex;
flex-direction: column;
border-top: 1px solid #eeeeee;
padding-top: 20px;
box-sizing: border-box;
.set-field-option-label {
font-size: 14px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
line-height: 22px;
margin-bottom: 8px;
}
.set-field-option-block {
display: flex;
align-items: center;
.el-radio-group {
display: flex;
align-items: center;
.el-radio {
display: flex;
align-items: center;
.el-radio__input {
width: 14px;
height: 14px;
.el-radio__inner {
&::after {
width: 6px;
height: 6px;
}
&:hover {
border-color: #0081ff;
}
}
}
.el-radio__input.is-checked .el-radio__inner {
background: #0081ff;
border-color: #0081ff;
}
.el-radio__label {
padding-left: 8px;
color: #232323;
}
}
.el-radio-button__orig-radio:checked + .el-radio-button__inner {
background-color: #0081ff;
border-color: #0081ff;
&:hover {
color: #fff;
}
}
.el-radio-button__inner {
width: 70px;
height: 38px;
line-height: 38px;
padding: 0px;
display: flex;
justify-content: center;
box-sizing: border-box;
&:hover { .el-radio-button {
color: #0081ff; width: 70px;
} }
} }
} }
......
...@@ -5,14 +5,14 @@ ...@@ -5,14 +5,14 @@
:label="comChildModuleInfo.formAttribute.label"> :label="comChildModuleInfo.formAttribute.label">
<!-- 单行文本类型 --> <!-- 单行文本类型 -->
<el-input v-model="comChildModuleInfo.componentAttribute.value" :placeholder="comChildModuleInfo.componentAttribute.placeholder" clearable <el-input v-model="comChildModuleInfo.componentAttribute.value" :placeholder="comChildModuleInfo.componentAttribute.placeholder" clearable
v-if="comChildModuleInfo.comType == 'text'"></el-input> v-if="comChildModuleInfo.comType == 'text'" :disabled="isDisabled"></el-input>
<!-- 多行文本类型 --> <!-- 多行文本类型 -->
<el-input type="textarea" v-model="comChildModuleInfo.componentAttribute.value" :placeholder="comChildModuleInfo.componentAttribute.placeholder" <el-input type="textarea" v-model="comChildModuleInfo.componentAttribute.value" :placeholder="comChildModuleInfo.componentAttribute.placeholder"
:show-word-limit="false" clearable v-if="comChildModuleInfo.comType == 'textarea'"></el-input> :show-word-limit="false" clearable v-if="comChildModuleInfo.comType == 'textarea'" :disabled="isDisabled"></el-input>
<!-- 下拉框类型 --> <!-- 下拉框类型 -->
<el-select v-model="comChildModuleInfo.componentAttribute.value" :multiple="comChildModuleInfo.formAttribute.isMultiple" <el-select v-model="comChildModuleInfo.componentAttribute.value" :multiple="comChildModuleInfo.formAttribute.isMultiple"
:collapse-tags="comChildModuleInfo.formAttribute.isMultiple" :placeholder="comChildModuleInfo.componentAttribute.placeholder" :collapse-tags="comChildModuleInfo.formAttribute.isMultiple" :placeholder="comChildModuleInfo.componentAttribute.placeholder"
v-if="comChildModuleInfo.comType == 'select'"> v-if="comChildModuleInfo.comType == 'select'" :disabled="isDisabled">
<el-option v-for="(item,index) in comChildModuleInfo.formAttribute.selectOptions" :key="item.value" :label="item.value" :value="index"> <el-option v-for="(item,index) in comChildModuleInfo.formAttribute.selectOptions" :key="item.value" :label="item.value" :value="index">
</el-option> </el-option>
</el-select> </el-select>
...@@ -34,24 +34,40 @@ export default { ...@@ -34,24 +34,40 @@ export default {
childModuleInfo: { childModuleInfo: {
handler(newValue) { handler(newValue) {
this.comChildModuleInfo = cloneDeep(newValue); this.comChildModuleInfo = cloneDeep(newValue);
this.comChildModuleInfoOriginData = cloneDeep(newValue);
}, },
deep: true deep: true
}, },
comChildModuleInfo: { comChildModuleInfo: {
handler(newValue) { handler(newValue) {
console.log(this.comActiveUid !== this.comChildModuleInfo?.uid, "是否不是更改的当前元素");
if (this.comActiveUid !== this.comChildModuleInfo?.uid) return;
this.$mitt.emit("subfieldItemChange", newValue); this.$mitt.emit("subfieldItemChange", newValue);
}, },
deep: true deep: true
},
activeUid: {
handler(newValue, oldValue) {
// 当前命中高亮的元素id 不跟当前元素uid相同 移除事件订阅 否者 添加订阅
this.addSubscription(newValue);
this.comActiveUid = newValue;
this.comOldActiveUid = oldValue;
},
// 保证首次触发 判断是否订阅
immediate: true
} }
}, },
data() { data() {
return { return {
comChildModuleInfo: cloneDeep(this.childModuleInfo), comChildModuleInfo: cloneDeep(this.childModuleInfo),
comChildModuleInfoOriginData: cloneDeep(this.childModuleInfo),
comActiveUid: this.activeUid,
comOldActiveUid: this.activeUid
}; };
}, },
//可访问data属性 //可访问data属性
created() { created() {
this.$mitt.on("fieldOptionChange", this.setFieldOption);
}, },
beforeDestroy() { beforeDestroy() {
this.$mitt.off("fieldOptionChange"); this.$mitt.off("fieldOptionChange");
...@@ -62,25 +78,38 @@ export default { ...@@ -62,25 +78,38 @@ export default {
return { return {
width: this.comChildModuleInfo.formAttribute ? `${this.comChildModuleInfo.formAttribute.width}%` : "100%" width: this.comChildModuleInfo.formAttribute ? `${this.comChildModuleInfo.formAttribute.width}%` : "100%"
}; };
},
isDisabled() {
return !(this.comActiveUid === this.comChildModuleInfo?.uid);
} }
}, },
//方法集 //方法集
methods: { methods: {
// 根据命中的id 来添加发布订阅
addSubscription(newValue) {
if (newValue === this.comChildModuleInfo.uid) return this.$mitt.on("fieldOptionChange", this.setFieldOption);
this.$mitt.off("fieldOptionChange");
},
classCreate(comType) { classCreate(comType) {
const classParams = { const classParams = {
'is-active-subfield-item': this.activeUid == this.comChildModuleInfo.uid, 'is-active-subfield-item': this.comActiveUid == this.comChildModuleInfo.uid,
[`custom-subfielditem-${comType}`]: true [`custom-subfielditem-${comType}`]: true
}; };
return classParams; return classParams;
}, },
setFieldOption(value) { setFieldOption(value) {
// value.uid 等同于 comActiveUid (原因 : 能修改的元素一定是当前comActiveUid命中的元素,取value.uid 为了修改数据的严谨)
// 要修改的uid元素不是当前元素的id 不进行修改
// console.log(`${this.comChildModuleInfo?.uid} 当前组件元素uid`, `${value.uid} 当前需要触发修改数据的uid`);
if (value.uid !== this.comChildModuleInfo?.uid) return;
this.comChildModuleInfo = value; this.comChildModuleInfo = value;
}, },
removeModuleItem() { removeModuleItem() {
this.$emit("removeModuleItem", this.comChildModuleInfo, this.parentUid); this.$emit("removeModuleItem", this.comChildModuleInfo, this.parentUid);
}, },
activeSubfieldItem() { activeSubfieldItem() {
if (this.activeUid == this.comChildModuleInfo?.uid) return; if (this.comActiveUid == this.comChildModuleInfo?.uid) return;
this.$emit("activeSubfieldItem", this.comChildModuleInfo, this.parentUid); this.$emit("activeSubfieldItem", this.comChildModuleInfo, this.parentUid);
} }
}, },
...@@ -148,6 +177,12 @@ export default { ...@@ -148,6 +177,12 @@ export default {
.el-textarea__inner { .el-textarea__inner {
resize: unset; resize: unset;
min-height: 76px !important; min-height: 76px !important;
font-size: 14px;
font-family: Arial;
&::placeholder {
color: #c0c4cc !important;
font-size: 14px !important;
}
} }
} }
} }
......
...@@ -34,7 +34,7 @@ export default { ...@@ -34,7 +34,7 @@ export default {
watch: { watch: {
moduleInfo: { moduleInfo: {
handler(newValue, oldValue) { handler(newValue, oldValue) {
console.log(this.comModuleInfo); console.log(this.comModuleInfo,"subfieldModule");
// 深克隆 避免未保存修改源数据 通过 订阅 editFinish事件处理更改源数据 // 深克隆 避免未保存修改源数据 通过 订阅 editFinish事件处理更改源数据
this.comModuleInfo = cloneDeep(newValue); this.comModuleInfo = cloneDeep(newValue);
}, },
...@@ -150,7 +150,7 @@ export default { ...@@ -150,7 +150,7 @@ export default {
.el-form-item__content { .el-form-item__content {
line-height: 32px; line-height: 32px;
} }
.el-input { .el-input {
width: 100%; width: 100%;
.el-input__inner { .el-input__inner {
......
...@@ -108,27 +108,27 @@ export default { ...@@ -108,27 +108,27 @@ export default {
] ]
}, },
{ title: '财务简析', pathName: 'financial' }, { title: '财务简析', pathName: 'financial' },
{ // {
title: '项目商机', pathName: '', children: [ // title: '项目商机', pathName: '', children: [
{ title: '重点项目', pathName: 'majorProject' }, // { title: '重点项目', pathName: 'majorProject' },
{ title: '土地交易', pathName: 'landtransaction' }, // { title: '土地交易', pathName: 'landtransaction' },
{ title: '拟建项目', pathName: 'proposed' }, // { title: '拟建项目', pathName: 'proposed' },
{ title: '专项债项目', pathName: 'bond' }, // { title: '专项债项目', pathName: 'bond' },
{ title: '招标计划', pathName: 'biddingplan' }, // { title: '招标计划', pathName: 'biddingplan' },
{ title: '招标公告', pathName: 'announcement' }, // { title: '招标公告', pathName: 'announcement' },
{ title: '标讯Pro', pathName: 'tencent' }, // { title: '标讯Pro', pathName: 'tencent' },
{ title: '行政许可', pathName: 'administrative' } // { title: '行政许可', pathName: 'administrative' }
] // ]
}, // },
{ // {
title: '业务往来', pathName: '', children: [ // title: '业务往来', pathName: '', children: [
{ title: '客户', pathName: 'custom' }, // { title: '客户', pathName: 'custom' },
{ title: '供应商', pathName: 'supplier' }, // { title: '供应商', pathName: 'supplier' },
{ title: '招标代理', pathName: 'bidagency' }, // { title: '招标代理', pathName: 'bidagency' },
{ title: '历史发包', pathName: 'hiscontract' }, // { title: '历史发包', pathName: 'hiscontract' },
{ title: '开标记录', pathName: 'bidrecords' } // { title: '开标记录', pathName: 'bidrecords' }
] // ]
}, // },
{ {
title: '咨询业务往来', pathName: '', children: [ title: '咨询业务往来', pathName: '', children: [
{ title: '常合作业主单位', pathName: 'cooperativeOwnerUnits' }, { title: '常合作业主单位', pathName: 'cooperativeOwnerUnits' },
...@@ -136,13 +136,13 @@ export default { ...@@ -136,13 +136,13 @@ export default {
{ title: '常合作集团', pathName: 'cooperativeGroup' }, { title: '常合作集团', pathName: 'cooperativeGroup' },
] ]
}, },
{ // {
title: '城投分析', pathName: '', children: [ // title: '城投分析', pathName: '', children: [
{ title: '区域经济', pathName: 'regionalEconomies' }, // { title: '区域经济', pathName: 'regionalEconomies' },
{ title: '城投拿地', pathName: 'landAcquisition' }, // { title: '城投拿地', pathName: 'landAcquisition' },
{ title: '同地区城投', pathName: 'sameRegion' } // { title: '同地区城投', pathName: 'sameRegion' }
] // ]
}, // },
{ {
title: '风险信息', pathName: '', children: [ title: '风险信息', pathName: '', children: [
{ title: '行政处罚', pathName: 'punish' }, { title: '行政处罚', pathName: 'punish' },
...@@ -192,27 +192,27 @@ export default { ...@@ -192,27 +192,27 @@ export default {
] ]
}, },
{ title: '财务简析', pathName: 'financial' }, { title: '财务简析', pathName: 'financial' },
{ // {
title: '项目商机', pathName: '', children: [ // title: '项目商机', pathName: '', children: [
{ title: '重点项目', pathName: 'majorProject' }, // { title: '重点项目', pathName: 'majorProject' },
{ title: '土地交易', pathName: 'landtransaction' }, // { title: '土地交易', pathName: 'landtransaction' },
{ title: '拟建项目', pathName: 'proposed' }, // { title: '拟建项目', pathName: 'proposed' },
{ title: '专项债项目', pathName: 'bond' }, // { title: '专项债项目', pathName: 'bond' },
{ title: '招标计划', pathName: 'biddingplan' }, // { title: '招标计划', pathName: 'biddingplan' },
{ title: '招标公告', pathName: 'announcement' }, // { title: '招标公告', pathName: 'announcement' },
{ title: '标讯Pro', pathName: 'tencent' }, // { title: '标讯Pro', pathName: 'tencent' },
{ title: '行政许可', pathName: 'administrative' } // { title: '行政许可', pathName: 'administrative' }
] // ]
}, // },
{ // {
title: '业务往来', pathName: '', children: [ // title: '业务往来', pathName: '', children: [
{ title: '客户', pathName: 'custom' }, // { title: '客户', pathName: 'custom' },
{ title: '供应商', pathName: 'supplier' }, // { title: '供应商', pathName: 'supplier' },
{ title: '招标代理', pathName: 'bidagency' }, // { title: '招标代理', pathName: 'bidagency' },
{ title: '历史发包', pathName: 'hiscontract' }, // { title: '历史发包', pathName: 'hiscontract' },
{ title: '开标记录', pathName: 'bidrecords' } // { title: '开标记录', pathName: 'bidrecords' }
] // ]
}, // },
{ {
title: '咨询业务往来', pathName: '', children: [ title: '咨询业务往来', pathName: '', children: [
{ title: '常合作业主单位', pathName: 'cooperativeOwnerUnits' }, { title: '常合作业主单位', pathName: 'cooperativeOwnerUnits' },
...@@ -220,13 +220,13 @@ export default { ...@@ -220,13 +220,13 @@ export default {
{ title: '常合作集团', pathName: 'cooperativeGroup' }, { title: '常合作集团', pathName: 'cooperativeGroup' },
] ]
}, },
{ // {
title: '城投分析', pathName: '', children: [ // title: '城投分析', pathName: '', children: [
{ title: '区域经济', pathName: 'regionalEconomies' }, // { title: '区域经济', pathName: 'regionalEconomies' },
{ title: '城投拿地', pathName: 'landAcquisition' }, // { title: '城投拿地', pathName: 'landAcquisition' },
{ title: '同地区城投', pathName: 'sameRegion' } // { title: '同地区城投', pathName: 'sameRegion' }
] // ]
}, // },
{ {
title: '风险信息', pathName: '', children: [ title: '风险信息', pathName: '', children: [
{ title: '行政处罚', pathName: 'punish' }, { title: '行政处罚', pathName: 'punish' },
......
...@@ -93,7 +93,7 @@ export default { ...@@ -93,7 +93,7 @@ export default {
cooperationRecordDialog: false, cooperationRecordDialog: false,
dialogQueryParams: { dialogQueryParams: {
companyId: this.companyId, companyId: this.companyId,
combineId: "", combineName: "",
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
companyType: 2, companyType: 2,
...@@ -264,7 +264,7 @@ export default { ...@@ -264,7 +264,7 @@ export default {
} }
}, },
viewProject(row) { viewProject(row) {
this.dialogQueryParams.combineId = row.counterpartCompanyId; this.dialogQueryParams.combineName = row.counterpartCompanyName;
this.cooperationRecordDialog = true; this.cooperationRecordDialog = true;
}, },
async dialogHandleQurey(params) { async dialogHandleQurey(params) {
......
...@@ -133,11 +133,11 @@ export default { ...@@ -133,11 +133,11 @@ export default {
// { label: '合作总金额(万元)', prop: 'amount', minWidth: '226', align: "right", sortable: "custom" }, // { label: '合作总金额(万元)', prop: 'amount', minWidth: '226', align: "right", sortable: "custom" },
], ],
formData: [ formData: [
{ type: 4, fieldName: 'businessTypes', value: '', placeholder: '咨询机构业务', options: [], uid: this.getUid() }, // { type: 4, fieldName: 'businessTypes', value: '', placeholder: '咨询机构业务', options: [], uid: this.getUid() },
{ type: 4, fieldName: 'counterpartCompanyRoles', value: '', placeholder: '合作项目类型', options: [], uid: this.getUid() }, // { type: 4, fieldName: 'counterpartCompanyRoles', value: '', placeholder: '合作项目类型', options: [], uid: this.getUid() },
{ type: 4, fieldName: 'projectTypes', value: '', placeholder: '合作工程类型', options: [], uid: this.getUid() }, // { type: 4, fieldName: 'projectTypes', value: '', placeholder: '合作工程类型', options: [], uid: this.getUid() },
{ type: 5, fieldName: 'time', value: '', placeholder: '合作频率', startTime: 'beginTime', endTime: 'endTime', uid: this.getUid() }, // { type: 5, fieldName: 'time', value: '', placeholder: '合作频率', startTime: 'beginTime', endTime: 'endTime', uid: this.getUid() },
{ type: 6, fieldName: 'money', value: '', placeholder: '合作金额', uid: this.getUid() }, // { type: 6, fieldName: 'money', value: '', placeholder: '合作金额', uid: this.getUid() },
{ type: 3, fieldName: 'keyword', value: '', placeholder: '请输入', uid: this.getUid() }, { type: 3, fieldName: 'keyword', value: '', placeholder: '请输入', uid: this.getUid() },
], ],
//列表 //列表
...@@ -149,8 +149,8 @@ export default { ...@@ -149,8 +149,8 @@ export default {
cooperationRecordDialog: false, cooperationRecordDialog: false,
dialogQueryParams: { dialogQueryParams: {
companyId: this.companyId, companyId: this.companyId,
memberId: "", memberName: "",
combineId: "", combineName: "",
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
companyType: 3, companyType: 3,
...@@ -329,21 +329,21 @@ export default { ...@@ -329,21 +329,21 @@ export default {
} }
}, },
viewProject(row) { viewProject(row) {
this.dialogQueryParams.memberId = row.combineId; this.dialogQueryParams.memberName = row.combineName;
this.dialogQueryParams.combineId = row.combineId; this.dialogQueryParams.combineName = row.combineName;
this.cooperationRecordDialog = true; this.cooperationRecordDialog = true;
}, },
async dialogHandleQurey(params) { async dialogHandleQurey(params) {
try { try {
let data = params ? params : this.dialogQueryParams; let data = params ? params : this.dialogQueryParams;
const _tempData = JSON.parse(JSON.stringify(data)); const _tempData = JSON.parse(JSON.stringify(data));
this.currentList == "cooperativeMember" ? delete _tempData.memberId : delete _tempData.memberId; this.currentList == "cooperativeMember" ? delete _tempData.memberName : delete _tempData.memberName;
this.dialogIsSkeleton = true; this.dialogIsSkeleton = true;
const res = this.currentList == "cooperativeMember" ? await getCooperativeGroupMemberApi(_tempData) : await getCooperativeOwnerUnitsDetailApi(_tempData); const res = this.currentList == "cooperativeMember" ? await getCooperativeGroupMemberApi(_tempData) : await getCooperativeOwnerUnitsDetailApi(_tempData);
this.dialogTableData = res.rows ? res.rows : []; this.dialogTableData = res.rows ? res.rows : [];
this.dialogtableDataTotal = res.total ? res.total : 0; this.dialogtableDataTotal = res.total ? res.total : 0;
const dialogData = JSON.parse(JSON.stringify(data)); const dialogData = JSON.parse(JSON.stringify(data));
delete dialogData.memberId; delete dialogData.memberName;
const count = await getCooperativeOwnerUnitsCountAmountApi(dialogData); const count = await getCooperativeOwnerUnitsCountAmountApi(dialogData);
if (count.code == 200 && count.data) { if (count.code == 200 && count.data) {
this.statisticsData = count.data; this.statisticsData = count.data;
...@@ -380,12 +380,12 @@ export default { ...@@ -380,12 +380,12 @@ export default {
try { try {
const params = this.createQueryCondition(this.dialogFormData); const params = this.createQueryCondition(this.dialogFormData);
const searchParams = JSON.parse(JSON.stringify({ ...params, ...this.dialogQueryParams })); const searchParams = JSON.parse(JSON.stringify({ ...params, ...this.dialogQueryParams }));
this.currentList == "cooperativeMember" ? delete searchParams.memberId : delete searchParams.memberId; this.currentList == "cooperativeMember" ? delete searchParams.memberName : delete searchParams.memberName;
const res = this.currentList == "cooperativeMember" ? await getCooperativeGroupMemberApi(searchParams) : await getCooperativeOwnerUnitsDetailApi(searchParams); const res = this.currentList == "cooperativeMember" ? await getCooperativeGroupMemberApi(searchParams) : await getCooperativeOwnerUnitsDetailApi(searchParams);
this.dialogTableData = res.rows ? res.rows : []; this.dialogTableData = res.rows ? res.rows : [];
this.dialogtableDataTotal = res.total ? res.total : 0; this.dialogtableDataTotal = res.total ? res.total : 0;
const dialogData = JSON.parse(JSON.stringify(this.dialogQueryParams)); const dialogData = JSON.parse(JSON.stringify(this.dialogQueryParams));
delete dialogData.memberId; delete dialogData.memberName;
const count = await getCooperativeOwnerUnitsCountAmountApi(dialogData); const count = await getCooperativeOwnerUnitsCountAmountApi(dialogData);
if (count.code == 200 && count.data) { if (count.code == 200 && count.data) {
this.statisticsData = count.data; this.statisticsData = count.data;
......
...@@ -93,7 +93,7 @@ export default { ...@@ -93,7 +93,7 @@ export default {
cooperationRecordDialog: false, cooperationRecordDialog: false,
dialogQueryParams: { dialogQueryParams: {
companyId: this.companyId, companyId: this.companyId,
combineId: "", combineName: "",
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
companyType: 1, companyType: 1,
...@@ -264,7 +264,7 @@ export default { ...@@ -264,7 +264,7 @@ export default {
} }
}, },
viewProject(row) { viewProject(row) {
this.dialogQueryParams.combineId = row.companyId; this.dialogQueryParams.combineName = row.companyName;
this.cooperationRecordDialog = true; this.cooperationRecordDialog = true;
}, },
async dialogHandleQurey(params) { async dialogHandleQurey(params) {
......
...@@ -183,9 +183,9 @@ export default { ...@@ -183,9 +183,9 @@ export default {
showMore: false, showMore: false,
showState: false, showState: false,
graphList: [ graphList: [
{ id: 1, name: '业务往来', isShow: true, intro: [{ id: 101, name: '客户', val: 0, category: 'global', field: 'customerV1' }, { id: 102, name: '供应商', val: 0, category: 'global', field: 'supplierV1' }], ico: require('@/assets/images/detail/overview/company_ywwl.png') }, // { id: 1, name: '业务往来', isShow: true, intro: [{ id: 101, name: '客户', val: 0, category: 'global', field: 'customerV1' }, { id: 102, name: '供应商', val: 0, category: 'global', field: 'supplierV1' }], ico: require('@/assets/images/detail/overview/company_ywwl.png') },
{ id: 2, name: '商机线索', isShow: true, intro: [{ id: 201, name: '专项债项目', val: 0, category: 'performance', field: 'specialDebt' }, { id: 202, name: '招标计划', val: 0, category: 'performance', field: 'bidPlan' }], ico: require('@/assets/images/detail/overview/company_sjxs.png') }, { id: 2, name: '商机线索', isShow: true, intro: [{ id: 201, name: '专项债项目', val: 0, category: 'performance', field: 'specialDebt' }, { id: 202, name: '招标计划', val: 0, category: 'performance', field: 'bidPlan' }], ico: require('@/assets/images/detail/overview/company_sjxs.png') },
{ id: 3, name: '城投拿地', isShow: true, intro: [{ id: 301, name: '土地交易', val: 0, category: 'global', field: 'landInfo' }, { id: 302, name: '行政许可', val: 0, category: 'business', field: 'adminLicensing' }], ico: require('@/assets/images/detail/overview/company_ctnd.png') }, // { id: 3, name: '城投拿地', isShow: true, intro: [{ id: 301, name: '土地交易', val: 0, category: 'global', field: 'landInfo' }, { id: 302, name: '行政许可', val: 0, category: 'business', field: 'adminLicensing' }], ico: require('@/assets/images/detail/overview/company_ctnd.png') },
{ id: 4, name: '对外投资', isShow: true, intro: [{ id: 401, name: '企业经营实力展现' }], ico: require('@/assets/images/detail/overview/company_dwtz.png') }, { id: 4, name: '对外投资', isShow: true, intro: [{ id: 401, name: '企业经营实力展现' }], ico: require('@/assets/images/detail/overview/company_dwtz.png') },
{ id: 5, name: '股权穿透', isShow: true, intro: [{ id: 501, name: '瞬息掌握企业关系' }], ico: require('@/assets/images/detail/overview/company_gqct.png') }, { id: 5, name: '股权穿透', isShow: true, intro: [{ id: 501, name: '瞬息掌握企业关系' }], ico: require('@/assets/images/detail/overview/company_gqct.png') },
{ id: 6, name: '企业架构', isShow: true, intro: [{ id: 601, name: '企业架构关联图' }], ico: require('@/assets/images/detail/overview/company_qyjg.png') }, { id: 6, name: '企业架构', isShow: true, intro: [{ id: 601, name: '企业架构关联图' }], ico: require('@/assets/images/detail/overview/company_qyjg.png') },
......
<template> <template>
<div class="app-container part-container"> <div class="app-container part-container">
<div class="view-content"><skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton><Infoheader v-else :companyId="companyId" :companyInfo="companyInfo" :statistic="statistic" /></div><!-- 企业信息 --> <div class="view-content"><skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton><Infoheader v-else :companyId="companyId" :companyInfo="companyInfo" :statistic="statistic" /></div><!-- 企业信息 -->
<div class="view-content"><Operations :companyId="companyId" :financial="financial" /></div><!-- 公司经营 --> <!-- <div class="view-content"><Operations :companyId="companyId" :financial="financial" /></div>公司经营 -->
<div class="view-content"><Bidding :companyId="companyId" /></div><!--招标偏好、业务往来--> <!-- <div class="view-content"><Bidding :companyId="companyId" /></div>招标偏好、业务往来 -->
<div class="view-content"><Busclue :companyId="companyId" :statistic="statistic" /></div><!--商机线索--> <!-- <div class="view-content"><Busclue :companyId="companyId" :statistic="statistic" /></div>商机线索 -->
<div class="view-content"><Finance :companyId="companyId" /></div><!--财务数据--> <!-- <div class="view-content"><Finance :companyId="companyId" /></div>财务数据 -->
<div class="view-content"><Relationship :companyId="companyId" :financial="financial" /></div><!--关系企业--> <div class="view-content"><Relationship :companyId="companyId" :financial="financial" /></div><!--关系企业-->
<div class="view-content"><Senior :companyId="companyId" /></div><!--高管--> <div class="view-content"><Senior :companyId="companyId" /></div><!--高管-->
<div class="view-content"><Risk :companyId="companyId" :statistic="statistic" /></div><!--风险概览--> <div class="view-content"><Risk :companyId="companyId" :statistic="statistic" /></div><!--风险概览-->
......
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