5642c675 by lihua

解决限定地域以及表格约束值显示中文问题

1 parent 607951f3
...@@ -376,7 +376,19 @@ const execTableInfo = ref({ ...@@ -376,7 +376,19 @@ const execTableInfo = ref({
376 { label: "约束条件", field: "constraintName", width: 120 }, 376 { label: "约束条件", field: "constraintName", width: 120 },
377 { label: "约束条件英文名称", field: "constraintEnName", width: 140 }, 377 { label: "约束条件英文名称", field: "constraintEnName", width: 140 },
378 { label: "约束条件运算符", field: "constraintOperatorName", width: 140 }, 378 { label: "约束条件运算符", field: "constraintOperatorName", width: 140 },
379 { label: "约束条件值", field: "constraintValue", width: 150 }, 379 { label: "约束条件值", field: "constraintValue", width: 150, getName: (scope) => {
380 let row = scope.row;
381 if (row.constraintEnName == 'dataField') {
382 return row.additionValue?.map(a => a.chName)?.join(',');
383 }
384 if (scope.row.constraintEnName == 'limitedDeliveryConnector' || scope.row.constraintEnName == 'limitedUseConnector') {
385 return scope.row.additionValue?.map(a => a.tenantName)?.join(',')
386 }
387 if (scope.row.constraintEnName == 'limitedState' || scope.row.constraintEnName == 'areaAddress') {
388 return scope.row.additionValue?.map(a => a.label)?.join(',');
389 }
390 return scope.row['constraintValue'] || '--';
391 } },
380 { label: "检验结果", field: "result", width: 130 }, 392 { label: "检验结果", field: "result", width: 130 },
381 // { label: "上报时间", field: "reportingTime", width: 170 }, 393 // { label: "上报时间", field: "reportingTime", width: 170 },
382 ], 394 ],
......
...@@ -212,7 +212,19 @@ const execContractTableInfo = ref({ ...@@ -212,7 +212,19 @@ const execContractTableInfo = ref({
212 { label: "约束条件", field: "constraintName", width: 120 }, 212 { label: "约束条件", field: "constraintName", width: 120 },
213 { label: "约束条件英文名称", field: "constraintEnName", width: 140 }, 213 { label: "约束条件英文名称", field: "constraintEnName", width: 140 },
214 { label: "约束条件运算符", field: "constraintOperatorName", width: 140 }, 214 { label: "约束条件运算符", field: "constraintOperatorName", width: 140 },
215 { label: "约束条件值", field: "constraintValue", width: 150 }, 215 { label: "约束条件值", field: "constraintValue", width: 150, getName: (scope) => {
216 let row = scope.row;
217 if (row.constraintEnName == 'dataField') {
218 return row.additionValue?.map(a => a.chName)?.join(',');
219 }
220 if (scope.row.constraintEnName == 'limitedDeliveryConnector' || scope.row.constraintEnName == 'limitedUseConnector') {
221 return scope.row.additionValue?.map(a => a.tenantName)?.join(',')
222 }
223 if (scope.row.constraintEnName == 'limitedState' || scope.row.constraintEnName == 'areaAddress') {
224 return scope.row.additionValue?.map(a => a.label)?.join(',');
225 }
226 return scope.row['constraintValue'] || '--';
227 } },
216 { label: "执行结果", field: "result", width: 130 }, 228 { label: "执行结果", field: "result", width: 130 },
217 // { label: "上报时间", field: "reportingTime", width: 170 }, 229 // { label: "上报时间", field: "reportingTime", width: 170 },
218 ], 230 ],
......
...@@ -1323,7 +1323,7 @@ const respParamsTableInfo = ref({ ...@@ -1323,7 +1323,7 @@ const respParamsTableInfo = ref({
1323 </div> 1323 </div>
1324 <div class="row-extra-desc"> 1324 <div class="row-extra-desc">
1325 <div class="per-extra-desc">{{ '是否缓存:' + (detailInfo.isCache == 'Y' ? '是' : '否') }}</div> 1325 <div class="per-extra-desc">{{ '是否缓存:' + (detailInfo.isCache == 'Y' ? '是' : '否') }}</div>
1326 <div>{{ '是否加密存储:' + (detailInfo.scenario == 'Y' ? '是' : '否') }}</div> 1326 <div>{{ '是否加密存储:' + (detailInfo.isEncrypField == 'Y' ? '是' : '否') }}</div>
1327 </div> 1327 </div>
1328 <!-- </template> --> 1328 <!-- </template> -->
1329 <div v-show="detailInfo.rightMainName" class="applicationScenarios">{{ '权利主体:' + detailInfo.rightMainName }} 1329 <div v-show="detailInfo.rightMainName" class="applicationScenarios">{{ '权利主体:' + detailInfo.rightMainName }}
......
...@@ -197,29 +197,6 @@ const handleProcessDialogBtnClick = (btn) => { ...@@ -197,29 +197,6 @@ const handleProcessDialogBtnClick = (btn) => {
197 } 197 }
198 } 198 }
199 199
200 const execContractTableInfo = ref({
201 id: "exec-contract-table",
202 height: '214px',
203 fields: <any[]>[
204 { label: "序号", type: "index", width: TableColumnWidth.INDEX, align: "center" },
205 { label: "策略id", field: "strategyId", width: 260 },
206 { label: "操作行为", field: "action", width: 120 },
207 { label: "操作行为英文名称", field: "actionEnName", width: 140 },
208 { label: "约束条件", field: "constraintName", width: 120 },
209 { label: "约束条件英文名称", field: "constraintEnName", width: 140 },
210 { label: "约束条件运算符", field: "constraintOperatorName", width: 140 },
211 { label: "约束条件值", field: "constraintValue", width: 150 },
212 { label: "执行结果", field: "result", width: 130 },
213 // { label: "上报时间", field: "reportingTime", width: 170 },
214 ],
215 data: [],
216 showPage: false,
217 actionInfo: {
218 show: false
219 },
220 loading: false
221 });
222
223 </script> 200 </script>
224 201
225 <template> 202 <template>
......
...@@ -110,7 +110,8 @@ ...@@ -110,7 +110,8 @@
110 v-model="scope.row['constraintAddressValue']" :props="addressProps" :show-all-levels="true" :clearable="true" 110 v-model="scope.row['constraintAddressValue']" :props="addressProps" :show-all-levels="true" :clearable="true"
111 show-checked-strategy="parent" :filterable="true" :collapse-tags="true" :collapse-tags-tooltip="true" 111 show-checked-strategy="parent" :filterable="true" :collapse-tags="true" :collapse-tags-tooltip="true"
112 :max-collapse-tags="1" :options="parentAreaData" :disabled="false" 112 :max-collapse-tags="1" :options="parentAreaData" :disabled="false"
113 @change="(val) => handleOperatorSelectChange(val, scope, 'constraintAddressValue')" /> 113 @change="(val) => handleOperatorSelectChange(val, scope, 'constraintAddressValue')">
114 </el-cascader>
114 <span v-else>{{((scope.row.constraintEnName == 'dataField') ? 115 <span v-else>{{((scope.row.constraintEnName == 'dataField') ?
115 scope.row.additionValue?.map(a => a.chName)?.join(',') : ((scope.row.constraintEnName == 116 scope.row.additionValue?.map(a => a.chName)?.join(',') : ((scope.row.constraintEnName ==
116 'limitedDeliveryConnector' || scope.row.constraintEnName == 'limitedUseConnector') ? 117 'limitedDeliveryConnector' || scope.row.constraintEnName == 'limitedUseConnector') ?
...@@ -359,8 +360,13 @@ const transferValueToNew = (val, isTemplate = false) => { ...@@ -359,8 +360,13 @@ const transferValueToNew = (val, isTemplate = false) => {
359 const init = ref(false); 360 const init = ref(false);
360 361
361 watch(() => props.value, (val) => { 362 watch(() => props.value, (val) => {
362 init.value = true; 363 //init.value = true;
363 strategyValueInfo.value = transferValueToNew(val); 364 strategyValueInfo.value = transferValueToNew(val);
365 if (strategyValueInfo.value.some(s => s.constraintEnName == 'areaAddress' && s.additionValue?.some(a => a.value.split('-')?.length > 2))) {
366 init.value= true;
367 } else {
368 init.value= false;
369 }
364 }, { 370 }, {
365 deep: true, 371 deep: true,
366 immediate: true 372 immediate: true
...@@ -440,6 +446,46 @@ const selectConditionChange = (val, scope) => { ...@@ -440,6 +446,46 @@ const selectConditionChange = (val, scope) => {
440 } 446 }
441 } 447 }
442 448
449 const removeChildrenWithParentsOptimized = (selectedValues) => {
450 if (!Array.isArray(selectedValues) || selectedValues.length === 0) {
451 return []
452 }
453
454 // 1. 按路径长度排序(从短到长)
455 const sortedValues = [...selectedValues].sort((a, b) => a.length - b.length)
456
457 // 2. 使用Map存储所有路径的前缀
458 const parentMap = new Map()
459 const result = []
460
461 // 3. 处理每个路径
462 for (const path of sortedValues) {
463 let isChild = false
464
465 // 4. 检查当前路径的每个前缀(不包括自身)是否已经在parentMap中
466 for (let i = 1; i < path.length; i++) { // 注意:i < path.length,不是 i <= path.length
467 const prefix = path.slice(0, i)
468 const prefixKey = prefix.join(',')
469
470 if (parentMap.has(prefixKey)) {
471 // 当前路径是某个已有路径的子节点
472 isChild = true
473 break
474 }
475 }
476
477 // 5. 如果不是任何已有路径的子节点
478 if (!isChild) {
479 result.push(path)
480 // 将当前路径添加到Map中(作为可能的父节点)
481 const pathKey = path.join(',')
482 parentMap.set(pathKey, true)
483 }
484 }
485
486 return result
487 }
488
443 const handleOperatorSelectChange = (val, scope, field) => { 489 const handleOperatorSelectChange = (val, scope, field) => {
444 init.value = false; 490 init.value = false;
445 let index = scope.row.index; 491 let index = scope.row.index;
...@@ -451,7 +497,8 @@ const handleOperatorSelectChange = (val, scope, field) => { ...@@ -451,7 +497,8 @@ const handleOperatorSelectChange = (val, scope, field) => {
451 return connectorList.value.find(c => c.guid == vv); 497 return connectorList.value.find(c => c.guid == vv);
452 }) 498 })
453 } else if (field == 'constraintAddressValue') { 499 } else if (field == 'constraintAddressValue') {
454 svChild.additionValue = val?.map(vv => { 500 let result: any[] = removeChildrenWithParentsOptimized(val);
501 svChild.additionValue = result?.map(vv => {
455 let label = '' 502 let label = ''
456 let node: any = {}; 503 let node: any = {};
457 vv.forEach((vc, index) => { 504 vv.forEach((vc, index) => {
...@@ -465,7 +512,8 @@ const handleOperatorSelectChange = (val, scope, field) => { ...@@ -465,7 +512,8 @@ const handleOperatorSelectChange = (val, scope, field) => {
465 }) 512 })
466 return { 513 return {
467 value: vv.join('-'), 514 value: vv.join('-'),
468 label: label 515 label: label,
516 targetValue: vv.at(-1)
469 }; 517 };
470 }) 518 })
471 } 519 }
......
...@@ -407,7 +407,19 @@ const execContractTableInfo = ref({ ...@@ -407,7 +407,19 @@ const execContractTableInfo = ref({
407 { label: "约束条件", field: "constraintName", width: 120 }, 407 { label: "约束条件", field: "constraintName", width: 120 },
408 { label: "约束条件英文名称", field: "constraintEnName", width: 140 }, 408 { label: "约束条件英文名称", field: "constraintEnName", width: 140 },
409 { label: "约束条件运算符", field: "constraintOperatorName", width: 140 }, 409 { label: "约束条件运算符", field: "constraintOperatorName", width: 140 },
410 { label: "约束条件值", field: "constraintValue", width: 150 }, 410 { label: "约束条件值", field: "constraintValue", width: 150, getName: (scope) => {
411 let row = scope.row;
412 if (row.constraintEnName == 'dataField') {
413 return row.additionValue?.map(a => a.chName)?.join(',');
414 }
415 if (scope.row.constraintEnName == 'limitedDeliveryConnector' || scope.row.constraintEnName == 'limitedUseConnector') {
416 return scope.row.additionValue?.map(a => a.tenantName)?.join(',')
417 }
418 if (scope.row.constraintEnName == 'limitedState' || scope.row.constraintEnName == 'areaAddress') {
419 return scope.row.additionValue?.map(a => a.label)?.join(',');
420 }
421 return scope.row['constraintValue'] || '--';
422 } },
411 { label: "执行结果", field: "result", width: 130 }, 423 { label: "执行结果", field: "result", width: 130 },
412 // { label: "上报时间", field: "reportingTime", width: 170 }, 424 // { label: "上报时间", field: "reportingTime", width: 170 },
413 ], 425 ],
......
...@@ -498,8 +498,8 @@ const getSubmitInfo = () => { ...@@ -498,8 +498,8 @@ const getSubmitInfo = () => {
498 v.constraintValue = d.constraintConnectorValue?.join(','); 498 v.constraintValue = d.constraintConnectorValue?.join(',');
499 v.additionValue = d.additionValue; 499 v.additionValue = d.additionValue;
500 } else if (d.constraintEnName == 'areaAddress' && d.constraintAddressValue?.length) { 500 } else if (d.constraintEnName == 'areaAddress' && d.constraintAddressValue?.length) {
501 v.constraintValue = d.constraintAddressValue?.map(dd => { 501 v.constraintValue = d.additionValue?.map(dd => {
502 return dd.at(-1); 502 return dd.targetValue;
503 })?.join(','); 503 })?.join(',');
504 v.additionValue = d.additionValue; 504 v.additionValue = d.additionValue;
505 } 505 }
......
...@@ -149,8 +149,8 @@ const btnHandles = ref({ ...@@ -149,8 +149,8 @@ const btnHandles = ref({
149 v.constraintValue = d.constraintConnectorValue?.join(','); 149 v.constraintValue = d.constraintConnectorValue?.join(',');
150 v.additionValue = d.additionValue; 150 v.additionValue = d.additionValue;
151 } else if (d.constraintEnName == 'areaAddress' && d.constraintAddressValue?.length) { 151 } else if (d.constraintEnName == 'areaAddress' && d.constraintAddressValue?.length) {
152 v.constraintValue = d.constraintAddressValue?.map(dd => { 152 v.constraintValue = d.additionValue?.map(dd => {
153 return dd.at(-1); 153 return dd.targetValue;
154 })?.join(','); 154 })?.join(',');
155 v.additionValue = d.additionValue; 155 v.additionValue = d.additionValue;
156 } 156 }
...@@ -793,7 +793,19 @@ const execContractTableInfo = ref({ ...@@ -793,7 +793,19 @@ const execContractTableInfo = ref({
793 { label: "约束条件", field: "constraintName", width: 120 }, 793 { label: "约束条件", field: "constraintName", width: 120 },
794 { label: "约束条件英文名称", field: "constraintEnName", width: 140 }, 794 { label: "约束条件英文名称", field: "constraintEnName", width: 140 },
795 { label: "约束条件运算符", field: "constraintOperatorCodeName", width: 140 }, 795 { label: "约束条件运算符", field: "constraintOperatorCodeName", width: 140 },
796 { label: "约束条件值", field: "constraintValue", width: 150 }, 796 { label: "约束条件值", field: "constraintValue", width: 150, getName: (scope) => {
797 let row = scope.row;
798 if (row.constraintEnName == 'dataField') {
799 return row.additionValue?.map(a => a.chName)?.join(',');
800 }
801 if (scope.row.constraintEnName == 'limitedDeliveryConnector' || scope.row.constraintEnName == 'limitedUseConnector') {
802 return scope.row.additionValue?.map(a => a.tenantName)?.join(',')
803 }
804 if (scope.row.constraintEnName == 'limitedState' || scope.row.constraintEnName == 'areaAddress') {
805 return scope.row.additionValue?.map(a => a.label)?.join(',');
806 }
807 return scope.row['constraintValue'] || '--';
808 } },
797 { label: "执行结果", field: "result", width: 130 }, 809 { label: "执行结果", field: "result", width: 130 },
798 { label: "上报时间", field: "reportingTime", width: 170 }, 810 { label: "上报时间", field: "reportingTime", width: 170 },
799 ], 811 ],
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!