不显示KB单位;编辑切换限定地域时清除值;添加合约复制功能
Showing
4 changed files
with
43 additions
and
18 deletions
| ... | @@ -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 { | 526 | value: item.value, |
| 524 | value: item.value, | 527 | label: item.label |
| 525 | label: item.label | 528 | }]; |
| 526 | } | ||
| 527 | }) | ||
| 528 | } | 529 | } |
| 529 | } | 530 | } |
| 530 | 531 | ... | ... |
| ... | @@ -516,7 +516,7 @@ const saveDraft = () => { | ... | @@ -516,7 +516,7 @@ const saveDraft = () => { |
| 516 | let params: any = getSubmitInfo(); | 516 | let params: any = getSubmitInfo(); |
| 517 | params.isResubmit = false; | 517 | params.isResubmit = false; |
| 518 | fullscreenLoading.value = true; | 518 | fullscreenLoading.value = true; |
| 519 | if (!route.query.guid) { | 519 | if (route.query.type == 'copy' || !route.query.guid) { |
| 520 | saveContract(params).then((res: any) => { | 520 | saveContract(params).then((res: any) => { |
| 521 | fullscreenLoading.value = false; | 521 | fullscreenLoading.value = false; |
| 522 | if (res?.code == proxy.$passCode) { | 522 | if (res?.code == proxy.$passCode) { |
| ... | @@ -619,7 +619,7 @@ const submit = () => { | ... | @@ -619,7 +619,7 @@ const submit = () => { |
| 619 | params.isResubmit = detailInfo.value?.contractStatus == '00'; | 619 | params.isResubmit = detailInfo.value?.contractStatus == '00'; |
| 620 | params.contractStatus = '02'; | 620 | params.contractStatus = '02'; |
| 621 | fullscreenLoading.value = true; | 621 | fullscreenLoading.value = true; |
| 622 | if (!route.query.guid) { | 622 | if (route.query.type == 'copy' || !route.query.guid) { |
| 623 | saveContract(params).then((res: any) => { | 623 | saveContract(params).then((res: any) => { |
| 624 | fullscreenLoading.value = false; | 624 | fullscreenLoading.value = false; |
| 625 | if (res?.code == proxy.$passCode) { | 625 | if (res?.code == proxy.$passCode) { |
| ... | @@ -707,6 +707,9 @@ onBeforeMount(() => { | ... | @@ -707,6 +707,9 @@ onBeforeMount(() => { |
| 707 | detailInfo.value = res.data || {}; | 707 | detailInfo.value = res.data || {}; |
| 708 | baseInfoFormItems.value.forEach(item => { | 708 | baseInfoFormItems.value.forEach(item => { |
| 709 | item.default = detailInfo.value[item.field]; | 709 | item.default = detailInfo.value[item.field]; |
| 710 | if (item.default && route.query.type == 'copy' && item.field == 'contractName') { | ||
| 711 | item.default = item.default + '_copy'; | ||
| 712 | } | ||
| 710 | }); | 713 | }); |
| 711 | // if (baseInfoFormItems.value[1].default == '01') { | 714 | // if (baseInfoFormItems.value[1].default == '01') { |
| 712 | // // 默认点对点,数据使用方可以选择 | 715 | // // 默认点对点,数据使用方可以选择 |
| ... | @@ -884,8 +887,8 @@ onActivated(() => { | ... | @@ -884,8 +887,8 @@ onActivated(() => { |
| 884 | if (route.query.guid) { | 887 | if (route.query.guid) { |
| 885 | let tab: any = userStore.tabbar.find((tab: any) => tab.fullPath === fullPath); | 888 | let tab: any = userStore.tabbar.find((tab: any) => tab.fullPath === fullPath); |
| 886 | if (tab) { | 889 | if (tab) { |
| 887 | document.title = `编辑合约-${route.query.name}`; | 890 | document.title = route.query.type == 'copy' ? `复制合约-${route.query.name}` : `编辑合约-${route.query.name}`; |
| 888 | tab.meta.title = `编辑合约-${route.query.name}`; | 891 | tab.meta.title = route.query.type == 'copy' ? `复制合约-${route.query.name}` : `编辑合约-${route.query.name}`; |
| 889 | } | 892 | } |
| 890 | } | 893 | } |
| 891 | }) | 894 | }) |
| ... | @@ -924,7 +927,7 @@ onActivated(() => { | ... | @@ -924,7 +927,7 @@ onActivated(() => { |
| 924 | <div class="tool_btns"> | 927 | <div class="tool_btns"> |
| 925 | <div class="btns"> | 928 | <div class="btns"> |
| 926 | <el-button @click="cancel">取消</el-button> | 929 | <el-button @click="cancel">取消</el-button> |
| 927 | <el-button @click="saveDraft" v-show="detailInfo?.contractStatus != '00'">保存</el-button> | 930 | <el-button @click="saveDraft" v-show="route.query.type == 'copy' || (detailInfo?.contractStatus != '00')">保存</el-button> |
| 928 | <el-button type="primary" @click="submit">合约协商</el-button> | 931 | <el-button type="primary" @click="submit">合约协商</el-button> |
| 929 | </div> | 932 | </div> |
| 930 | </div> | 933 | </div> | ... | ... |
| ... | @@ -480,6 +480,8 @@ const disableConfirmBtn = computed(() => { | ... | @@ -480,6 +480,8 @@ const disableConfirmBtn = computed(() => { |
| 480 | if (newItem.action != oldItem.action || newItem.constraintEnName != oldItem.constraintEnName || | 480 | if (newItem.action != oldItem.action || newItem.constraintEnName != oldItem.constraintEnName || |
| 481 | newItem.constraintOperatorCode != oldItem.constraintOperatorCode || newItem.constraintValue != oldItem.constraintValue || | 481 | newItem.constraintOperatorCode != oldItem.constraintOperatorCode || newItem.constraintValue != oldItem.constraintValue || |
| 482 | (newItem.constraintEnName == 'dataField' && !isEqual(newItem.constraintFieldValue, oldItem.additionValue?.map(a => a.enName))) || | 482 | (newItem.constraintEnName == 'dataField' && !isEqual(newItem.constraintFieldValue, oldItem.additionValue?.map(a => a.enName))) || |
| 483 | (newItem.constraintEnName == 'limitedState' && !isEqual(newItem.constraintStateValue, oldItem.additionValue?.[0]?.value)) || | ||
| 484 | (newItem.constraintEnName == 'areaAddress' && !isEqual(newItem.constraintAddressValue, oldItem.additionValue.map(a => a.value?.split('-')))) || | ||
| 483 | ((newItem.constraintEnName == 'limitedDeliveryConnector' || newItem.constraintEnName == 'limitedUseConnector') && !isEqual(newItem.constraintConnectorValue, oldItem.additionValue?.map(a => a.guid)))) { | 485 | ((newItem.constraintEnName == 'limitedDeliveryConnector' || newItem.constraintEnName == 'limitedUseConnector') && !isEqual(newItem.constraintConnectorValue, oldItem.additionValue?.map(a => a.guid)))) { |
| 484 | return true; | 486 | return true; |
| 485 | } | 487 | } | ... | ... |
| ... | @@ -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) => { | ... | ... |
-
Please register or sign in to post a comment