46ac2553 by lihua

不显示KB单位;编辑切换限定地域时清除值;添加合约复制功能

1 parent 75b0ee9b
...@@ -78,10 +78,8 @@ ...@@ -78,10 +78,8 @@
78 <template 78 <template
79 v-if="!isLook && !(productFieldList != null && (scope.row.constraintEnName == 'limitedDeliveryConnector' || scope.row.constraintEnName == 'limitedUseConnector' || scope.row.constraintEnName == 'dataField' || scope.row.constraintEnName == 'limitedState' || scope.row.constraintEnName == 'areaAddress'))"> 79 v-if="!isLook && !(productFieldList != null && (scope.row.constraintEnName == 'limitedDeliveryConnector' || scope.row.constraintEnName == 'limitedUseConnector' || scope.row.constraintEnName == 'dataField' || scope.row.constraintEnName == 'limitedState' || scope.row.constraintEnName == 'areaAddress'))">
80 <el-input v-model="scope.row['constraintValue']" placeholder="请输入" :maxlength="200" 80 <el-input v-model="scope.row['constraintValue']" placeholder="请输入" :maxlength="200"
81 :class="scope.row.constraintEnName == 'limitedDistributeVolume' || scope.row.constraintEnName == 'limitedUsage' ? 'wid-left-input' : ''"
82 @change="(val) => handleOperatorSelectChange(val, scope, 'constraintValue')" clearable></el-input> 81 @change="(val) => handleOperatorSelectChange(val, scope, 'constraintValue')" clearable></el-input>
83 <span 82 <!-- <span v-if="scope.row.constraintEnName == 'limitedDistributeVolume' || scope.row.constraintEnName == 'limitedUsage'">KB</span> -->
84 v-if="scope.row.constraintEnName == 'limitedDistributeVolume' || scope.row.constraintEnName == 'limitedUsage'">KB</span>
85 </template> 83 </template>
86 <!-- 限定连接器 --> 84 <!-- 限定连接器 -->
87 <el-select 85 <el-select
...@@ -116,12 +114,12 @@ ...@@ -116,12 +114,12 @@
116 :max-collapse-tags="1" :options="parentAreaData" :disabled="false" 114 :max-collapse-tags="1" :options="parentAreaData" :disabled="false"
117 @change="(val) => handleOperatorSelectChange(val, scope, 'constraintAddressValue')"> 115 @change="(val) => handleOperatorSelectChange(val, scope, 'constraintAddressValue')">
118 </el-cascader> 116 </el-cascader>
119 <span v-else>{{ scope.row.constraintEnName == 'limitedDistributeVolume' || scope.row.constraintEnName == 'limitedUsage' ? (scope.row['constraintValue'] ? (scope.row['constraintValue'] + 'KB') : '--') : (((scope.row.constraintEnName == 'dataField') ? 117 <span v-else>{{ ((scope.row.constraintEnName == 'dataField') ?
120 scope.row.additionValue?.map(a => a.chName)?.join(',') : ((scope.row.constraintEnName == 118 scope.row.additionValue?.map(a => a.chName)?.join(',') : ((scope.row.constraintEnName ==
121 'limitedDeliveryConnector' || scope.row.constraintEnName == 'limitedUseConnector') ? 119 'limitedDeliveryConnector' || scope.row.constraintEnName == 'limitedUseConnector') ?
122 scope.row.additionValue?.map(a => a.tenantName)?.join(',') : (scope.row.constraintEnName == 'limitedState' || 120 scope.row.additionValue?.map(a => a.tenantName)?.join(',') : (scope.row.constraintEnName == 'limitedState' ||
123 scope.row.constraintEnName == 'areaAddress' ? scope.row.additionValue?.map(a => a.label)?.join(',') : 121 scope.row.constraintEnName == 'areaAddress' ? scope.row.additionValue?.map(a => a.label)?.join(',') :
124 scope.row['constraintValue']))) || '--')}}</span> 122 scope.row['constraintValue']))) || '--' }}</span>
125 </template> 123 </template>
126 </el-table-column> 124 </el-table-column>
127 <el-table-column v-if="!isLook" label="操作" width="140px" align="left" fixed="right" show-overflow-tooltip> 125 <el-table-column v-if="!isLook" label="操作" width="140px" align="left" fixed="right" show-overflow-tooltip>
...@@ -434,11 +432,16 @@ const selectOperationChange = (val, scope) => { ...@@ -434,11 +432,16 @@ const selectOperationChange = (val, scope) => {
434 /** 约束条件下拉框改变,带出英文名称 */ 432 /** 约束条件下拉框改变,带出英文名称 */
435 const selectConditionChange = (val, scope) => { 433 const selectConditionChange = (val, scope) => {
436 init.value = false; 434 init.value = false;
435 let constraintEnName = scope.row.constraintEnName;
437 let index = scope.row.index; 436 let index = scope.row.index;
438 let sv = strategyValueInfo.value.find(s => s.index == index); 437 let sv = strategyValueInfo.value.find(s => s.index == index);
439 let svChild = sv.children?.find(c => c.childIndex == scope.row.childIndex); 438 let svChild = sv.children?.find(c => c.childIndex == scope.row.childIndex);
440 svChild && (svChild.constraintEnName = props.constraintOptionsList.find(o => o.policyName == val)?.policyEnName); 439 svChild && (svChild.constraintEnName = props.constraintOptionsList.find(o => o.policyName == val)?.policyEnName);
441 svChild && (svChild.constraintName = val); 440 svChild && (svChild.constraintName = val);
441 if (svChild && (!val || val != constraintEnName) && (constraintEnName == 'areaAddress' || constraintEnName == 'dataField' || constraintEnName == 'limitedState' || constraintEnName == 'limitedDeliveryConnector' || constraintEnName == 'limitedUseConnector')) {
442 //可能是清除操作,需要同步清除部分值
443 svChild.constraintValue = '';
444 }
442 if (svChild && svChild.constraintOperatorCode) { 445 if (svChild && svChild.constraintOperatorCode) {
443 let opList = getActualOperationList(scope); 446 let opList = getActualOperationList(scope);
444 if (!opList.some(o => o.value == svChild.constraintOperatorCode)) { 447 if (!opList.some(o => o.value == svChild.constraintOperatorCode)) {
...@@ -518,13 +521,11 @@ const handleOperatorSelectChange = (val, scope, field) => { ...@@ -518,13 +521,11 @@ const handleOperatorSelectChange = (val, scope, field) => {
518 }; 521 };
519 }) 522 })
520 } else if (field == 'constraintStateValue') { 523 } else if (field == 'constraintStateValue') {
521 svChild.additionValue = val?.map(vv => { 524 let item = val && props.limitStateOptionList?.find(c => c.guid == val);
522 let item = props.limitStateOptionList?.find(c => c.guid == vv); 525 svChild.additionValue = !item ? [] : [{
523 return {
524 value: item.value, 526 value: item.value,
525 label: item.label 527 label: item.label
526 } 528 }];
527 })
528 } 529 }
529 } 530 }
530 531
......
...@@ -513,7 +513,7 @@ const saveDraft = () => { ...@@ -513,7 +513,7 @@ const saveDraft = () => {
513 let params: any = getSubmitInfo(); 513 let params: any = getSubmitInfo();
514 params.isResubmit = false; 514 params.isResubmit = false;
515 fullscreenLoading.value = true; 515 fullscreenLoading.value = true;
516 if (!route.query.guid) { 516 if (route.query.type == 'copy' || !route.query.guid) {
517 saveContract(params).then((res: any) => { 517 saveContract(params).then((res: any) => {
518 fullscreenLoading.value = false; 518 fullscreenLoading.value = false;
519 if (res?.code == proxy.$passCode) { 519 if (res?.code == proxy.$passCode) {
...@@ -616,7 +616,7 @@ const submit = () => { ...@@ -616,7 +616,7 @@ const submit = () => {
616 params.isResubmit = detailInfo.value?.contractStatus == '00'; 616 params.isResubmit = detailInfo.value?.contractStatus == '00';
617 params.contractStatus = '02'; 617 params.contractStatus = '02';
618 fullscreenLoading.value = true; 618 fullscreenLoading.value = true;
619 if (!route.query.guid) { 619 if (route.query.type == 'copy' || !route.query.guid) {
620 saveContract(params).then((res: any) => { 620 saveContract(params).then((res: any) => {
621 fullscreenLoading.value = false; 621 fullscreenLoading.value = false;
622 if (res?.code == proxy.$passCode) { 622 if (res?.code == proxy.$passCode) {
...@@ -705,6 +705,9 @@ onBeforeMount(() => { ...@@ -705,6 +705,9 @@ onBeforeMount(() => {
705 detailInfo.value = res.data || {}; 705 detailInfo.value = res.data || {};
706 baseInfoFormItems.value.forEach(item => { 706 baseInfoFormItems.value.forEach(item => {
707 item.default = detailInfo.value[item.field]; 707 item.default = detailInfo.value[item.field];
708 if (item.default && route.query.type == 'copy' && item.field == 'contractName') {
709 item.default = item.default + '_copy';
710 }
708 }); 711 });
709 // if (baseInfoFormItems.value[1].default == '01') { 712 // if (baseInfoFormItems.value[1].default == '01') {
710 // // 默认点对点,数据使用方可以选择 713 // // 默认点对点,数据使用方可以选择
...@@ -875,8 +878,8 @@ onActivated(() => { ...@@ -875,8 +878,8 @@ onActivated(() => {
875 if (route.query.guid) { 878 if (route.query.guid) {
876 let tab: any = userStore.tabbar.find((tab: any) => tab.fullPath === fullPath); 879 let tab: any = userStore.tabbar.find((tab: any) => tab.fullPath === fullPath);
877 if (tab) { 880 if (tab) {
878 document.title = `编辑合约-${route.query.name}`; 881 document.title = route.query.type == 'copy' ? `复制合约-${route.query.name}` : `编辑合约-${route.query.name}`;
879 tab.meta.title = `编辑合约-${route.query.name}`; 882 tab.meta.title = route.query.type == 'copy' ? `复制合约-${route.query.name}` : `编辑合约-${route.query.name}`;
880 } 883 }
881 } 884 }
882 }) 885 })
...@@ -915,7 +918,7 @@ onActivated(() => { ...@@ -915,7 +918,7 @@ onActivated(() => {
915 <div class="tool_btns"> 918 <div class="tool_btns">
916 <div class="btns"> 919 <div class="btns">
917 <el-button @click="cancel">取消</el-button> 920 <el-button @click="cancel">取消</el-button>
918 <el-button @click="saveDraft" v-show="detailInfo?.contractStatus != '00'">保存</el-button> 921 <el-button @click="saveDraft" v-show="route.query.type == 'copy' || (detailInfo?.contractStatus != '00')">保存</el-button>
919 <el-button type="primary" @click="submit">合约协商</el-button> 922 <el-button type="primary" @click="submit">合约协商</el-button>
920 </div> 923 </div>
921 </div> 924 </div>
......
...@@ -484,6 +484,8 @@ const disableConfirmBtn = computed(() => { ...@@ -484,6 +484,8 @@ const disableConfirmBtn = computed(() => {
484 if (newItem.action != oldItem.action || newItem.constraintEnName != oldItem.constraintEnName || 484 if (newItem.action != oldItem.action || newItem.constraintEnName != oldItem.constraintEnName ||
485 newItem.constraintOperatorCode != oldItem.constraintOperatorCode || newItem.constraintValue != oldItem.constraintValue || 485 newItem.constraintOperatorCode != oldItem.constraintOperatorCode || newItem.constraintValue != oldItem.constraintValue ||
486 (newItem.constraintEnName == 'dataField' && !isEqual(newItem.constraintFieldValue, oldItem.additionValue?.map(a => a.enName))) || 486 (newItem.constraintEnName == 'dataField' && !isEqual(newItem.constraintFieldValue, oldItem.additionValue?.map(a => a.enName))) ||
487 (newItem.constraintEnName == 'limitedState' && !isEqual(newItem.constraintStateValue, oldItem.additionValue?.[0]?.value)) ||
488 (newItem.constraintEnName == 'areaAddress' && !isEqual(newItem.constraintAddressValue, oldItem.additionValue.map(a => a.value?.split('-')))) ||
487 ((newItem.constraintEnName == 'limitedDeliveryConnector' || newItem.constraintEnName == 'limitedUseConnector') && !isEqual(newItem.constraintConnectorValue, oldItem.additionValue?.map(a => a.guid)))) { 489 ((newItem.constraintEnName == 'limitedDeliveryConnector' || newItem.constraintEnName == 'limitedUseConnector') && !isEqual(newItem.constraintConnectorValue, oldItem.additionValue?.map(a => a.guid)))) {
488 return true; 490 return true;
489 } 491 }
......
...@@ -82,7 +82,7 @@ const tableInfo = ref({ ...@@ -82,7 +82,7 @@ const tableInfo = ref({
82 actionInfo: { 82 actionInfo: {
83 label: "操作", 83 label: "操作",
84 type: "btn", 84 type: "btn",
85 width: 160, 85 width: !isDataUse.value ? 170 : 130,
86 btns: (scope) => { 86 btns: (scope) => {
87 let row = scope.row; 87 let row = scope.row;
88 let btns: any = []; 88 let btns: any = [];
...@@ -90,6 +90,7 @@ const tableInfo = ref({ ...@@ -90,6 +90,7 @@ const tableInfo = ref({
90 if (contractStatus == '00') { //撤回状态,如果是合约发起方有重新提交按钮,否则只能查看 90 if (contractStatus == '00') { //撤回状态,如果是合约发起方有重新提交按钮,否则只能查看
91 if (userData.tenantGuid == row.tenantGuid) { //是本人发起的。 91 if (userData.tenantGuid == row.tenantGuid) { //是本人发起的。
92 btns.push({ value: 'view', label: '查看', click: () => btnHandles['view'](scope) }); 92 btns.push({ value: 'view', label: '查看', click: () => btnHandles['view'](scope) });
93 //重新提交就先不要有复制了。
93 row.isDisable != 'Y' && btns.push({ value: 'edit', label: '重新提交', click: () => btnHandles['edit'](scope) }); 94 row.isDisable != 'Y' && btns.push({ value: 'edit', label: '重新提交', click: () => btnHandles['edit'](scope) });
94 btns.push({ value: 'delete', label: '删除', click: () => btnHandles['delete'](scope) }) 95 btns.push({ value: 'delete', label: '删除', click: () => btnHandles['delete'](scope) })
95 } else { 96 } else {
...@@ -97,6 +98,8 @@ const tableInfo = ref({ ...@@ -97,6 +98,8 @@ const tableInfo = ref({
97 } 98 }
98 } else if (contractStatus == '01') { //发起状态 99 } else if (contractStatus == '01') { //发起状态
99 btns.push({ value: 'edit', label: '编辑', click: () => btnHandles['edit'](scope) }); 100 btns.push({ value: 'edit', label: '编辑', click: () => btnHandles['edit'](scope) });
101 // 合约发起方才有撤回按钮
102 !isDataUse.value && btns.push({ value: 'copy', label: '复制', click: () => btnHandles['copy'](scope) });
100 btns.push({ value: 'delete', label: '删除', click: () => btnHandles['delete'](scope) }) 103 btns.push({ value: 'delete', label: '删除', click: () => btnHandles['delete'](scope) })
101 } else if (contractStatus == '02') { // 协商 104 } else if (contractStatus == '02') { // 协商
102 btns.push({ value: 'view', label: '查看', click: () => btnHandles['view'](scope) }); 105 btns.push({ value: 'view', label: '查看', click: () => btnHandles['view'](scope) });
...@@ -124,6 +127,7 @@ const tableInfo = ref({ ...@@ -124,6 +127,7 @@ const tableInfo = ref({
124 } 127 }
125 // 合约发起方才有撤回按钮 128 // 合约发起方才有撤回按钮
126 if (userData.tenantGuid == row.tenantGuid) { 129 if (userData.tenantGuid == row.tenantGuid) {
130 !isDataUse.value && btns.push({ value: 'copy', label: '复制', click: () => btnHandles['copy'](scope) });
127 btns.push({ value: 'revoke', label: '撤回', click: () => btnHandles['revoke'](scope) }); 131 btns.push({ value: 'revoke', label: '撤回', click: () => btnHandles['revoke'](scope) });
128 } 132 }
129 } else if (contractStatus == '03') { //签署,签署过的一方不需要显示签署。 133 } else if (contractStatus == '03') { //签署,签署过的一方不需要显示签署。
...@@ -139,16 +143,21 @@ const tableInfo = ref({ ...@@ -139,16 +143,21 @@ const tableInfo = ref({
139 } 143 }
140 // 合约发起方才有撤回按钮 144 // 合约发起方才有撤回按钮
141 if (userData.tenantGuid == row.tenantGuid) { 145 if (userData.tenantGuid == row.tenantGuid) {
146 !isDataUse.value && btns.push({ value: 'copy', label: '复制', click: () => btnHandles['copy'](scope) });
142 btns.push({ value: 'revoke', label: '撤回', click: () => btnHandles['revoke'](scope) }); 147 btns.push({ value: 'revoke', label: '撤回', click: () => btnHandles['revoke'](scope) });
143 } 148 }
144 } else if (contractStatus == '05') { //合约履行中 149 } else if (contractStatus == '05') { //合约履行中
145 btns.push({ value: 'view', label: '查看', click: () => btnHandles['view'](scope) }); 150 btns.push({ value: 'view', label: '查看', click: () => btnHandles['view'](scope) });
146 //合约发起方才有合约解除 151 //合约发起方才有合约解除
147 if (userData.tenantGuid == row.tenantGuid) { 152 if (userData.tenantGuid == row.tenantGuid) {
153 !isDataUse.value && btns.push({ value: 'copy', label: '复制', click: () => btnHandles['copy'](scope) });
148 btns.push({ value: 'termination', label: '解除', click: () => btnHandles['termination'](scope) }); 154 btns.push({ value: 'termination', label: '解除', click: () => btnHandles['termination'](scope) });
149 } 155 }
150 } else if (contractStatus == '06' || contractStatus == '0302') { 156 } else if (contractStatus == '06' || contractStatus == '0302') {
151 btns.push({ value: 'view', label: '查看', click: () => btnHandles['view'](scope) }); 157 btns.push({ value: 'view', label: '查看', click: () => btnHandles['view'](scope) });
158 if (userData.tenantGuid == row.tenantGuid) {
159 !isDataUse.value && btns.push({ value: 'copy', label: '复制', click: () => btnHandles['copy'](scope) });
160 }
152 } 161 }
153 return btns; 162 return btns;
154 } 163 }
...@@ -165,6 +174,16 @@ const btnHandles = { ...@@ -165,6 +174,16 @@ const btnHandles = {
165 } 174 }
166 }); 175 });
167 }, 176 },
177 copy: (scope) => {
178 router.push({
179 name: 'smartContractCreate',
180 query: {
181 guid: scope.row.guid,
182 name: scope.row.contractName,
183 type: 'copy'
184 }
185 });
186 },
168 delete: (scope) => { 187 delete: (scope) => {
169 proxy.$openMessageBox("此操作将永久删除, 是否继续?", () => { 188 proxy.$openMessageBox("此操作将永久删除, 是否继续?", () => {
170 deleteContract([scope.row.guid]).then((res: any) => { 189 deleteContract([scope.row.guid]).then((res: any) => {
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!