ae104e1a by xukangle

fix: 分类分级相关问题

1 parent 2d429e72
...@@ -59,6 +59,7 @@ VITE_API_MESSAGE = ms-swzl-message-notification-service ...@@ -59,6 +59,7 @@ VITE_API_MESSAGE = ms-swzl-message-notification-service
59 VITE_API_NEW_PORTAL = ms-daop-zcgl-asset-dam-service 59 VITE_API_NEW_PORTAL = ms-daop-zcgl-asset-dam-service
60 60
61 61
62
62 # 是否在打包时生成 sourcemap 63 # 是否在打包时生成 sourcemap
63 VITE_BUILD_SOURCEMAP = false 64 VITE_BUILD_SOURCEMAP = false
64 # 是否在打包时开启压缩,支持 gzip 和 brotli 65 # 是否在打包时开启压缩,支持 gzip 和 brotli
......
...@@ -788,7 +788,7 @@ export const exportDbDirTable = (params) => request({ ...@@ -788,7 +788,7 @@ export const exportDbDirTable = (params) => request({
788 * 788 *
789 */ 789 */
790 export const getDbDirDetail = (params) => request({ 790 export const getDbDirDetail = (params) => request({
791 url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/db-dir/detail?tableGuid=${params.tableGuid}`, 791 url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/db-dir/detail?tableGuid=${params.tableGuid}&execGuid=${params.execGuid}`,
792 method: 'get', 792 method: 'get',
793 }) 793 })
794 794
......
...@@ -575,9 +575,8 @@ onBeforeMount(() => { ...@@ -575,9 +575,8 @@ onBeforeMount(() => {
575 }).then((res: any) => { 575 }).then((res: any) => {
576 if (res.code == proxy.$passCode) { 576 if (res.code == proxy.$passCode) {
577 damTypes.value = res.data || []; 577 damTypes.value = res.data || [];
578 baseInfoFormItems.value[1].options = damTypes.value; 578 let item = baseInfoFormItems.value.find(item => item.field == 'damType');
579 // let item = baseInfoFormItems.value.find(item => item.field == 'damType'); 579 item && (item.options = damTypes.value);
580 // item && (item.options = damTypes.value);
581 } else { 580 } else {
582 proxy.$ElMessage.error(res.msg); 581 proxy.$ElMessage.error(res.msg);
583 } 582 }
...@@ -586,11 +585,9 @@ onBeforeMount(() => { ...@@ -586,11 +585,9 @@ onBeforeMount(() => {
586 dictType: "数据资产目录主题名称", 585 dictType: "数据资产目录主题名称",
587 }).then((res: any) => { 586 }).then((res: any) => {
588 if (res.code == proxy.$passCode) { 587 if (res.code == proxy.$passCode) {
589 subjectDomainListData.value = res.data || []; 588 subjectDomainListData.value = replaceChildDictListKey(res.data) || [];
590 replaceChildDictListKey(subjectDomainListData.value); 589 let item = baseInfoFormItems.value.find(item => item.field == 'subjectDomain');
591 baseInfoFormItems.value[3].options = replaceChildDictListKey(subjectDomainListData.value); 590 item && (item.options = subjectDomainListData.value);
592 // let item = baseInfoFormItems.value.find(item => item.field == 'subjectDomain');
593 // item && (item.options = subjectDomainListData.value);
594 } else { 591 } else {
595 proxy.$ElMessage.error(res.msg); 592 proxy.$ElMessage.error(res.msg);
596 } 593 }
......
...@@ -222,9 +222,8 @@ onBeforeMount(() => { ...@@ -222,9 +222,8 @@ onBeforeMount(() => {
222 }).then((res: any) => { 222 }).then((res: any) => {
223 if (res.code == proxy.$passCode) { 223 if (res.code == proxy.$passCode) {
224 damTypes.value = res.data || []; 224 damTypes.value = res.data || [];
225 searchItemList.value[1].options = damTypes.value; 225 let item = searchItemList.value.find(item => item.field == 'damType');
226 // let item = searchItemList.value.find(item => item.field == 'damType'); 226 item && (item.options = damTypes.value);
227 // item && (item.options = damTypes.value);
228 } else { 227 } else {
229 proxy.$ElMessage.error(res.msg); 228 proxy.$ElMessage.error(res.msg);
230 } 229 }
...@@ -233,11 +232,9 @@ onBeforeMount(() => { ...@@ -233,11 +232,9 @@ onBeforeMount(() => {
233 dictType: "数据资产目录主题名称", 232 dictType: "数据资产目录主题名称",
234 }).then((res: any) => { 233 }).then((res: any) => {
235 if (res.code == proxy.$passCode) { 234 if (res.code == proxy.$passCode) {
236 subjectDomainListData.value = res.data || []; 235 subjectDomainListData.value = replaceChildDictListKey(res.data) || [];
237 replaceChildDictListKey(subjectDomainListData.value); 236 let item = searchItemList.value.find(item => item.field == 'subjectDomain');
238 searchItemList.value[2].options = replaceChildDictListKey(subjectDomainListData.value); 237 item && (item.options = subjectDomainListData.value);
239 // let item = searchItemList.value.find(item => item.field == 'subjectDomain');
240 // item && (item.options = subjectDomainListData.value);
241 } else { 238 } else {
242 proxy.$ElMessage.error(res.msg); 239 proxy.$ElMessage.error(res.msg);
243 } 240 }
......
...@@ -59,7 +59,7 @@ const parentAreaData: any = ref([]); ...@@ -59,7 +59,7 @@ const parentAreaData: any = ref([]);
59 const getArea1 = (node, resolve) => { 59 const getArea1 = (node, resolve) => {
60 const { level } = node 60 const { level } = node
61 let params = { 61 let params = {
62 parentId: node.value 62 parentGuid: node.value
63 } 63 }
64 if (!node.value) { 64 if (!node.value) {
65 if (getParentAreaPromise.value) { 65 if (getParentAreaPromise.value) {
...@@ -108,7 +108,7 @@ const getArea1 = (node, resolve) => { ...@@ -108,7 +108,7 @@ const getArea1 = (node, resolve) => {
108 const getArea = (node, resolve) => { 108 const getArea = (node, resolve) => {
109 const { level } = node 109 const { level } = node
110 let params = { 110 let params = {
111 parentId: node.value 111 parentGuid: node.value
112 } 112 }
113 if (!node.value) { 113 if (!node.value) {
114 if (getParentAreaPromise.value) { 114 if (getParentAreaPromise.value) {
...@@ -324,18 +324,18 @@ const getRegisterCatalogListData = () => { ...@@ -324,18 +324,18 @@ const getRegisterCatalogListData = () => {
324 if (res.code == proxy.$passCode) { 324 if (res.code == proxy.$passCode) {
325 baseFormItems.value[0].options = registerCatalogList.value = res.data || [] 325 baseFormItems.value[0].options = registerCatalogList.value = res.data || []
326 let dataScaleItem = baseFormItems.value.find(item => item.field == 'dataScale'); 326 let dataScaleItem = baseFormItems.value.find(item => item.field == 'dataScale');
327 if (draftDetailInfo.value.damGuid) { 327 if (draftDetailInfo.value.damGuid) {
328 let da = registerCatalogList.value.find(r => r.guid == draftDetailInfo.value.damGuid); 328 let da = registerCatalogList.value.find(r => r.guid == draftDetailInfo.value.damGuid);
329 if (da && da.dataCount != null) { 329 if (da && da.dataCount != null) {
330 dataScaleItem.disabled = true; 330 dataScaleItem.disabled = true;
331 if ( draftDetailInfo.value.dataScale == null) { 331 if (draftDetailInfo.value.dataScale == null) {
332 draftDetailInfo.value.dataScale = da.dataCount; 332 draftDetailInfo.value.dataScale = da.dataCount;
333 setBaseFormItemsValue(draftDetailInfo.value); 333 setBaseFormItemsValue(draftDetailInfo.value);
334 }
335 } else {
336 dataScaleItem.disabled = false;
337 } 334 }
335 } else {
336 dataScaleItem.disabled = false;
338 } 337 }
338 }
339 } else { 339 } else {
340 ElMessage.error(res.msg); 340 ElMessage.error(res.msg);
341 } 341 }
...@@ -525,7 +525,9 @@ onBeforeMount(() => { ...@@ -525,7 +525,9 @@ onBeforeMount(() => {
525 ElMessage.error(res.msg); 525 ElMessage.error(res.msg);
526 } 526 }
527 }) 527 })
528 getDamTypesList().then((res: any) => { 528 getDamTypesList({
529 dictType: "资产类型",
530 }).then((res: any) => {
529 if (res.code == proxy.$passCode) { 531 if (res.code == proxy.$passCode) {
530 damTypes.value = res.data || []; 532 damTypes.value = res.data || [];
531 let item = baseFormItems.value.find(item => item.field == 'damType'); 533 let item = baseFormItems.value.find(item => item.field == 'damType');
...@@ -542,9 +544,11 @@ onBeforeMount(() => { ...@@ -542,9 +544,11 @@ onBeforeMount(() => {
542 proxy.$ElMessage.error(res.msg); 544 proxy.$ElMessage.error(res.msg);
543 } 545 }
544 }) 546 })
545 getSubjectDoaminList().then((res: any) => { 547 getSubjectDoaminList({
548 dictType: "数据资产目录主题名称",
549 }).then((res: any) => {
546 if (res.code == proxy.$passCode) { 550 if (res.code == proxy.$passCode) {
547 subjectDomainListData.value = res.data || []; 551 subjectDomainListData.value = replaceChildDictListKey(res.data) || [];
548 let item = baseFormItems.value.find(item => item.field == 'subjectDomain'); 552 let item = baseFormItems.value.find(item => item.field == 'subjectDomain');
549 item && (item.options = subjectDomainListData.value); 553 item && (item.options = subjectDomainListData.value);
550 } else { 554 } else {
...@@ -553,6 +557,18 @@ onBeforeMount(() => { ...@@ -553,6 +557,18 @@ onBeforeMount(() => {
553 }) 557 })
554 }); 558 });
555 559
560 function replaceChildDictListKey(data) {
561 if (Array.isArray(data)) {
562 return data.map(item => replaceChildDictListKey(item));
563 } else if (data && typeof data === 'object') {
564 const { childDictList, ...rest } = data;
565 return {
566 ...rest,
567 children: childDictList ? replaceChildDictListKey(childDictList) : undefined,
568 };
569 }
570 return data;
571 }
556 const tabsInfo = ref({ 572 const tabsInfo = ref({
557 visible: false, 573 visible: false,
558 activeName: "baseInfo", 574 activeName: "baseInfo",
...@@ -618,8 +634,8 @@ const baseFormItems: any = ref([ ...@@ -618,8 +634,8 @@ const baseFormItems: any = ref([
618 default: '', 634 default: '',
619 options: damTypes.value, 635 options: damTypes.value,
620 props: { 636 props: {
621 value: 'paramValue', 637 label: "label",
622 label: 'paramName' 638 value: "value",
623 }, 639 },
624 required: true, 640 required: true,
625 visible: true 641 visible: true
...@@ -633,8 +649,8 @@ const baseFormItems: any = ref([ ...@@ -633,8 +649,8 @@ const baseFormItems: any = ref([
633 checkStrictly: false,//只能选择叶子节点。 649 checkStrictly: false,//只能选择叶子节点。
634 lazy: false, 650 lazy: false,
635 props: { 651 props: {
636 label: "paramName", 652 label: "label",
637 value: "paramValue", 653 value: "value",
638 }, 654 },
639 filterable: true, 655 filterable: true,
640 clearable: true, 656 clearable: true,
...@@ -649,14 +665,14 @@ const baseFormItems: any = ref([ ...@@ -649,14 +665,14 @@ const baseFormItems: any = ref([
649 regexp: /\D/g, 665 regexp: /\D/g,
650 default: '', 666 default: '',
651 required: true 667 required: true
652 }, { 668 }, {
653 label: "数据时间范围", 669 label: "数据时间范围",
654 type: "date-picker", 670 type: "date-picker",
655 field: "dateRange", 671 field: "dateRange",
656 default: null, 672 default: null,
657 placeholder: "开始时间~结束时间", 673 placeholder: "开始时间~结束时间",
658 clearable: true, 674 clearable: true,
659 required: true, 675 required: true,
660 }, { 676 }, {
661 label: '病例总数(例)', 677 label: '病例总数(例)',
662 type: 'input', 678 type: 'input',
...@@ -666,7 +682,7 @@ const baseFormItems: any = ref([ ...@@ -666,7 +682,7 @@ const baseFormItems: any = ref([
666 regexp: /\D/g, 682 regexp: /\D/g,
667 default: '', 683 default: '',
668 required: false 684 required: false
669 }, { 685 }, {
670 label: '数据覆盖地域', 686 label: '数据覆盖地域',
671 type: 'checkbox-select', 687 type: 'checkbox-select',
672 placeholder: '全国', 688 placeholder: '全国',
...@@ -709,7 +725,7 @@ const baseFormItems: any = ref([ ...@@ -709,7 +725,7 @@ const baseFormItems: any = ref([
709 placeholder: '请选择', 725 placeholder: '请选择',
710 field: 'exchangeGuid', 726 field: 'exchangeGuid',
711 default: '', 727 default: '',
712 // col: 'mr8', 728 // col: 'mr8',
713 options: currTenantChanged.value, 729 options: currTenantChanged.value,
714 props: { 730 props: {
715 value: 'serviceTenantGuid', 731 value: 'serviceTenantGuid',
...@@ -803,7 +819,7 @@ const baseFormItems: any = ref([ ...@@ -803,7 +819,7 @@ const baseFormItems: any = ref([
803 } 819 }
804 ], 820 ],
805 required: true, 821 required: true,
806 }, { 822 }, {
807 label: "数据分类", 823 label: "数据分类",
808 type: "radio-group", 824 type: "radio-group",
809 placeholder: "", 825 placeholder: "",
......
...@@ -220,9 +220,19 @@ const toSearch = (val: any, clear: boolean = false) => { ...@@ -220,9 +220,19 @@ const toSearch = (val: any, clear: boolean = false) => {
220 selectedB.value = null; 220 selectedB.value = null;
221 selectedC.value = null; 221 selectedC.value = null;
222 searchItemList.value.map(item => item.default = '') 222 searchItemList.value.map(item => item.default = '')
223 console.log('clear', CgDirTreeList.value);
224 treeInfo.value.expandedKey = [];
225 currentPath.value = [CgDirTreeList.value[0].classifyName];
226 treeInfo.value.expandedKey.push(CgDirTreeList.value[0].classifyDetailGuid);
227 treeInfo.value.currentNodeKey = CgDirTreeList.value[0].classifyDetailGuid;
228 console.log('clear', treeInfo.value.expandedKey, clear);
229 getCgDirFieldPage({
230 execGuid: execGuidInfo.value.execGuid,
231 classifyDetail: CgDirTreeList.value[0].classifyDetailGuid,
232 });
223 } 233 }
224 console.log('toSearch', val, classifyDetailGuidInfo.value); 234 console.log('toSearch', val, classifyDetailGuidInfo.value);
225 if (activeName.value === 'first') { 235 if (activeName.value === 'first' && !clear) {
226 getCgDirFieldPage({ 236 getCgDirFieldPage({
227 pageIndex: 1, 237 pageIndex: 1,
228 pageSize: 50, 238 pageSize: 50,
...@@ -277,6 +287,7 @@ const nodeClick = async (data: any) => { ...@@ -277,6 +287,7 @@ const nodeClick = async (data: any) => {
277 await getCgDirFieldPage({ 287 await getCgDirFieldPage({
278 execGuid: execGuidInfo.value.execGuid, 288 execGuid: execGuidInfo.value.execGuid,
279 classifyDetail: classifyDetailGuid, 289 classifyDetail: classifyDetailGuid,
290 gradeDetailGuid: levelGuidInfo.value,
280 }); 291 });
281 // 递归tempData找到所有祖先元素的standardName,存入currentPath中 292 // 递归tempData找到所有祖先元素的standardName,存入currentPath中
282 const path = findPath(CgDirTreeList.value, guid); 293 const path = findPath(CgDirTreeList.value, guid);
...@@ -831,7 +842,7 @@ const handleTreeItemMenuClick = (data: any, type) => { ...@@ -831,7 +842,7 @@ const handleTreeItemMenuClick = (data: any, type) => {
831 842
832 // tab切换 843 // tab切换
833 const activeName = ref('first'); 844 const activeName = ref('first');
834 const handleClick = (tab: any) => { 845 const handleClick = async (tab: any) => {
835 // 切换时选中的配置业务规则清空 846 // 切换时选中的配置业务规则清空
836 selectedRulesData.value = {}; 847 selectedRulesData.value = {};
837 console.log(tab.props.name); 848 console.log(tab.props.name);
...@@ -850,9 +861,9 @@ const handleClick = (tab: any) => { ...@@ -850,9 +861,9 @@ const handleClick = (tab: any) => {
850 optionsA.value = []; 861 optionsA.value = [];
851 optionsB.value = []; 862 optionsB.value = [];
852 optionsC.value = []; 863 optionsC.value = [];
853 getDataBaseTreeData(); 864 await getDataBaseTreeData();
854 getDataBaseTableData(); 865 await getDataBaseTableData();
855 getDataBaseFieldData(); 866 await getDataBaseFieldData();
856 getDbDirTableSelectData(1, {}); 867 getDbDirTableSelectData(1, {});
857 } else { 868 } else {
858 searchItemList.value[0].visible = true; 869 searchItemList.value[0].visible = true;
...@@ -1019,7 +1030,7 @@ const tableFieldsDataInfo = ref({ ...@@ -1019,7 +1030,7 @@ const tableFieldsDataInfo = ref({
1019 { label: "表中文名", field: "tableChName", width: 140, }, 1030 { label: "表中文名", field: "tableChName", width: 140, },
1020 { label: "数据库名称", field: "database", width: 120 }, 1031 { label: "数据库名称", field: "database", width: 120 },
1021 { label: "数据库中文名", field: "databaseChName", width: TableColumnWidth.DATETIME }, 1032 { label: "数据库中文名", field: "databaseChName", width: TableColumnWidth.DATETIME },
1022 { label: "分类", field: "classifyDetailName", width: 120, align: 'left' }, 1033 { label: "分类", field: "classifyDetailNameRoutes", width: 120, align: 'left', getName: (scope) => { return scope.row.classifyDetailNameRoutes.join('/') } },
1023 { label: "分级", field: "gradeDetailName", width: 120, align: 'left' }, 1034 { label: "分级", field: "gradeDetailName", width: 120, align: 'left' },
1024 // { label: "标签", field: "label", width: 120, align: 'center' }, 1035 // { label: "标签", field: "label", width: 120, align: 'center' },
1025 ], 1036 ],
...@@ -1359,10 +1370,7 @@ const labelGuidInfo = ref(''); ...@@ -1359,10 +1370,7 @@ const labelGuidInfo = ref('');
1359 const levelGuidInfo = ref(''); 1370 const levelGuidInfo = ref('');
1360 // 标签选择 1371 // 标签选择
1361 const selectChange = (val, row, info) => { 1372 const selectChange = (val, row, info) => {
1362 console.log('selectChange', val, row, info); 1373
1363 if (info.classifyName == undefined) {
1364 classifyDetailGuidInfo.value = '';
1365 }
1366 if (info) { 1374 if (info) {
1367 labelGuidInfo.value = info.labelName; 1375 labelGuidInfo.value = info.labelName;
1368 levelGuidInfo.value = info.levelName; 1376 levelGuidInfo.value = info.levelName;
...@@ -1388,6 +1396,7 @@ onActivated(async () => { ...@@ -1388,6 +1396,7 @@ onActivated(async () => {
1388 }); 1396 });
1389 1397
1390 const treeSelectNodeClick = (node, item) => { 1398 const treeSelectNodeClick = (node, item) => {
1399 classifyDetailGuidInfo.value = node.classifyDetailGuid;
1391 treeInfo.value.expandedKey = []; 1400 treeInfo.value.expandedKey = [];
1392 treeInfo.value.expandedKey.push(node.classifyDetailGuid); 1401 treeInfo.value.expandedKey.push(node.classifyDetailGuid);
1393 treeInfo.value.currentNodeKey = node.classifyDetailGuid; 1402 treeInfo.value.currentNodeKey = node.classifyDetailGuid;
......
...@@ -369,9 +369,10 @@ const cancelEdit = (row) => { ...@@ -369,9 +369,10 @@ const cancelEdit = (row) => {
369 </template> 369 </template>
370 </el-table-column> 370 </el-table-column>
371 <!-- 分类(不可编辑)classifyName --> 371 <!-- 分类(不可编辑)classifyName -->
372 <el-table-column prop="classifyDetailName" label="分类" width="120" show-overflow-tooltip> 372 <el-table-column prop="classifyDetailNameRoutes" label="分类" width="120" show-overflow-tooltip>
373 <template #default="scope"> 373 <template #default="scope">
374 {{ scope.row.classifyDetailName ? scope.row.classifyDetailName : '--' }} 374 {{ Array.isArray(scope.row.classifyDetailNameRoutes) ? scope.row.classifyDetailNameRoutes.join('/') : '--'
375 }}
375 </template> 376 </template>
376 </el-table-column> 377 </el-table-column>
377 <!-- 分级(不可编辑) --> 378 <!-- 分级(不可编辑) -->
...@@ -397,7 +398,8 @@ const cancelEdit = (row) => { ...@@ -397,7 +398,8 @@ const cancelEdit = (row) => {
397 <span v-if="!scope.row.isEdit">{{ scope.row.fieldLengthCondition 398 <span v-if="!scope.row.isEdit">{{ scope.row.fieldLengthCondition
398 ? scope.row.fieldLengthCondition.replace('#', '') : '--' }}</span> 399 ? scope.row.fieldLengthCondition.replace('#', '') : '--' }}</span>
399 <div v-else> 400 <div v-else>
400 <el-select v-model="scope.row.lengthSymbol" placeholder="请选择" style="width: 50%;margin-right: 8px;"> 401 <el-select v-model="scope.row.lengthSymbol" placeholder="请选择" style="width: 50%;margin-right: 8px;"
402 clearable>
401 <el-option label="大于" value=">"></el-option> 403 <el-option label="大于" value=">"></el-option>
402 <el-option label="等于" value="="></el-option> 404 <el-option label="等于" value="="></el-option>
403 <el-option label="小于" value="<"></el-option> 405 <el-option label="小于" value="<"></el-option>
...@@ -412,7 +414,7 @@ const cancelEdit = (row) => { ...@@ -412,7 +414,7 @@ const cancelEdit = (row) => {
412 <template #default="scope"> 414 <template #default="scope">
413 <span v-if="!scope.row.isEdit || !editableFields.fieldPrecision">{{ 415 <span v-if="!scope.row.isEdit || !editableFields.fieldPrecision">{{
414 scope.row.fieldPrecision ? scope.row.fieldPrecision : '--' }}</span> 416 scope.row.fieldPrecision ? scope.row.fieldPrecision : '--' }}</span>
415 <el-input v-else v-model="scope.row.fieldPrecision" placeholder="请输入精度" /> 417 <el-input v-else v-model="scope.row.fieldPrecision" placeholder="请输入精度" clearable />
416 </template> 418 </template>
417 </el-table-column> 419 </el-table-column>
418 420
...@@ -421,7 +423,7 @@ const cancelEdit = (row) => { ...@@ -421,7 +423,7 @@ const cancelEdit = (row) => {
421 <template #default="scope"> 423 <template #default="scope">
422 <span v-if="!scope.row.isEdit">{{ scope.row.dictionaryGuid 424 <span v-if="!scope.row.isEdit">{{ scope.row.dictionaryGuid
423 ? dictionaryList.find((item: any) => item.guid === scope.row.dictionaryGuid)?.chName : '--' }}</span> 425 ? dictionaryList.find((item: any) => item.guid === scope.row.dictionaryGuid)?.chName : '--' }}</span>
424 <el-select v-else v-model="scope.row.dictionaryGuid" placeholder="请选择"> 426 <el-select v-else v-model="scope.row.dictionaryGuid" placeholder="请选择" clearable>
425 <el-option v-for="item in dictionaryList" :key="item?.guid" :label="item.chName" :value="item.guid" /> 427 <el-option v-for="item in dictionaryList" :key="item?.guid" :label="item.chName" :value="item.guid" />
426 </el-select> 428 </el-select>
427 </template> 429 </template>
...@@ -434,7 +436,7 @@ const cancelEdit = (row) => { ...@@ -434,7 +436,7 @@ const cancelEdit = (row) => {
434 <span v-if="!scope.row.isEdit || !editableFields.isUnique">{{ scope.row.isUnique ? (scope.row.isUnique === 436 <span v-if="!scope.row.isEdit || !editableFields.isUnique">{{ scope.row.isUnique ? (scope.row.isUnique ===
435 'Y' ? '是' : '否') : '--' 437 'Y' ? '是' : '否') : '--'
436 }}</span> 438 }}</span>
437 <el-select v-else v-model="scope.row.isUnique" placeholder="请选择"> 439 <el-select v-else v-model="scope.row.isUnique" placeholder="请选择" clearable>
438 <el-option label="是" value="Y" /> 440 <el-option label="是" value="Y" />
439 <el-option label="否" value="N" /> 441 <el-option label="否" value="N" />
440 </el-select> 442 </el-select>
...@@ -445,7 +447,7 @@ const cancelEdit = (row) => { ...@@ -445,7 +447,7 @@ const cancelEdit = (row) => {
445 <template #default="scope"> 447 <template #default="scope">
446 <span v-if="!scope.row.isEdit">{{ scope.row.notNull ? (scope.row.notNull === 'Y' ? '是' : '否') : '--' 448 <span v-if="!scope.row.isEdit">{{ scope.row.notNull ? (scope.row.notNull === 'Y' ? '是' : '否') : '--'
447 }}</span> 449 }}</span>
448 <el-select v-else v-model="scope.row.notNull" placeholder="请选择"> 450 <el-select v-else v-model="scope.row.notNull" placeholder="请选择" clearable>
449 <el-option label="是" value="Y" /> 451 <el-option label="是" value="Y" />
450 <el-option label="否" value="N" /> 452 <el-option label="否" value="N" />
451 </el-select> 453 </el-select>
...@@ -462,9 +464,9 @@ const cancelEdit = (row) => { ...@@ -462,9 +464,9 @@ const cancelEdit = (row) => {
462 </span> 464 </span>
463 <!-- 编辑模式,显示两个输入框 --> 465 <!-- 编辑模式,显示两个输入框 -->
464 <div v-else style="display: flex; gap: 5px; align-items: center;"> 466 <div v-else style="display: flex; gap: 5px; align-items: center;">
465 <el-input v-model="scope.row.rangeStart" placeholder="最小值" style="width: 45%;" type="number" /> 467 <el-input v-model="scope.row.rangeStart" placeholder="最小值" style="width: 45%;" type="number" clearable />
466 <span>-</span> 468 <span>-</span>
467 <el-input v-model="scope.row.rangeEnd" placeholder="最大值" style="width: 45%;" type="number" /> 469 <el-input v-model="scope.row.rangeEnd" placeholder="最大值" style="width: 45%;" type="number" clearable />
468 </div> 470 </div>
469 </template> 471 </template>
470 </el-table-column> 472 </el-table-column>
...@@ -484,8 +486,8 @@ const cancelEdit = (row) => { ...@@ -484,8 +486,8 @@ const cancelEdit = (row) => {
484 </el-table> 486 </el-table>
485 </div> 487 </div>
486 <div class="botton_btn"> 488 <div class="botton_btn">
487 <el-button type="primary" @click="saveData" :loading="loading">保存</el-button>
488 <el-button @click="cancel">取消</el-button> 489 <el-button @click="cancel">取消</el-button>
490 <el-button type="primary" @click="saveData" :loading="loading">保存</el-button>
489 </div> 491 </div>
490 </div> 492 </div>
491 493
...@@ -518,5 +520,11 @@ const cancelEdit = (row) => { ...@@ -518,5 +520,11 @@ const cancelEdit = (row) => {
518 height: 36px; 520 height: 36px;
519 } 521 }
520 } 522 }
523
524 .botton_btn {
525 display: flex;
526 justify-content: center;
527 align-items: center;
528 }
521 } 529 }
522 </style> 530 </style>
......
...@@ -187,7 +187,8 @@ onMounted(async () => { ...@@ -187,7 +187,8 @@ onMounted(async () => {
187 tableFieldsLoading.value = true; 187 tableFieldsLoading.value = true;
188 stepsInfo.value.step = 1; 188 stepsInfo.value.step = 1;
189 getDbDirDetail({ 189 getDbDirDetail({
190 tableGuid: route.query.tableGuid 190 tableGuid: route.query.tableGuid,
191 execGuid: route.query.execGuid,
191 }).then((res: any) => { 192 }).then((res: any) => {
192 if (res.code == proxy.$passCode) { 193 if (res.code == proxy.$passCode) {
193 editInfoData.value = res.data; 194 editInfoData.value = res.data;
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!