{"version":3,"file":"config.mjs","sources":["../../../../src/pagesDefault/gen/config.vue"],"sourcesContent":["<template>\r\n\t<a-card :bordered=\"false\">\r\n\t\t<s-table ref=\"table\" :columns=\"columns\" :data=\"loadDate\" :expand-row-by-click=\"true\" :showPagination=\"false\" bordered :operator-config=\"operatorConfig\">\r\n\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'fieldRemark'\">\r\n\t\t\t\t\t<a-input v-model:value=\"record.fieldRemark\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'fieldJavaType'\">\r\n\t\t\t\t\t<a-select style=\"width: 100%\" v-model:value=\"record.fieldJavaType\" :options=\"fieldJavaTypeOptions\" placeholder=\"请选择\" :disabled=\"toCommonFieldEstimate(record)\" @change=\"fieldJavaTypeChange(record)\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'effectType'\">\r\n\t\t\t\t\t<a-select style=\"width: 100%\" v-model:value=\"record.effectType\" :options=\"effectTypeOptions\" placeholder=\"请选择\" :disabled=\"toCommonFieldEstimate(record) || toFieldSelectEstimate(record)\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'dictTypeCode'\">\r\n\t\t\t\t\t<a-select\r\n\t\t\t\t\t\tv-if=\"record.effectType === 'radio' || record.effectType === 'select' || record.effectType === 'checkbox'\"\r\n\t\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t\t\tv-model:value=\"record.dictTypeCode\"\r\n\t\t\t\t\t\t:options=\"dictTypeCodeOptions\"\r\n\t\t\t\t\t\tplaceholder=\"请选择字典\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<span v-else>无</span>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'whetherTable'\">\r\n\t\t\t\t\t<a-checkbox v-model:checked=\"record.whetherTable\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'whetherRetract'\">\r\n\t\t\t\t\t<a-checkbox v-model:checked=\"record.whetherRetract\" :disabled=\"!record.whetherTable\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'whetherAddUpdate'\">\r\n\t\t\t\t\t<a-checkbox v-model:checked=\"record.whetherAddUpdate\" :disabled=\"toFieldEstimate(record)\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'whetherRequired'\">\r\n\t\t\t\t\t<a-checkbox v-model:checked=\"record.whetherRequired\" :disabled=\"toFieldEstimate(record) || !record.whetherAddUpdate\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'queryWhether'\">\r\n\t\t\t\t\t<a-switch v-model:checked=\"record.queryWhether\" :disabled=\"!record.whetherTable\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'queryType'\">\r\n\t\t\t\t\t<a-select v-if=\"record.queryWhether === true && record.effectType !== 'datepicker'\" style=\"width: 100%\" v-model:value=\"record.queryType\" :options=\"queryTypeOptions\" placeholder=\"请选择\" />\r\n\t\t\t\t\t<span v-else-if=\"record.effectType === 'datepicker' && record.queryWhether === true\">时间段</span>\r\n\t\t\t\t\t<span v-else>无</span>\r\n\t\t\t\t</template>\r\n\t\t\t</template>\r\n\t\t</s-table>\r\n\t</a-card>\r\n</template>\r\n<script setup name=\"genConfig\">\r\n\timport { tool } from 'elead-ui-tool-v3'\r\n\timport genConfigApi from '@/api/gen/genConfigApi'\r\n\timport { cloneDeep } from 'lodash-es'\r\n\r\n\tconst table = ref()\r\n\tconst recordData = ref()\r\n\r\n\t// 操作按钮配置\r\n\tconst operatorConfig = computed(() => {\r\n\t\treturn []\r\n\t})\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '字段',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'fieldName',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '注释',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'fieldRemark',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '类型',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'fieldType',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '实体类型',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'fieldJavaType',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '作用类型',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'effectType',\r\n\t\t\tellipsis: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '字典',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'dictTypeCode',\r\n\t\t\twidth: 140\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '列表显示',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'whetherTable',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '列省略',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'whetherRetract',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '增改',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'whetherAddUpdate',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '必填',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'whetherRequired',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '查询',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'queryWhether',\r\n\t\t\twidth: 80\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '查询方式',\r\n\t\t\talign: 'center',\r\n\t\t\tdataIndex: 'queryType'\r\n\t\t}\r\n\t]\r\n\tconst onOpen = (record) => {\r\n\t\trecordData.value = record\r\n\t\tnextTick(() => {\r\n\t\t\ttable.value.refresh()\r\n\t\t})\r\n\t}\r\n\t// 表格查询 返回 Promise 对象\r\n\tconst loadDate = (parameter) => {\r\n\t\tif (recordData.value) {\r\n\t\t\tparameter.basicId = recordData.value.id\r\n\t\t\treturn genConfigApi.configList(parameter).then((data) => {\r\n\t\t\t\trecordData.value = JSON.parse(JSON.stringify(data))\r\n\t\t\t\tlet deleteIndex = []\r\n\t\t\t\trecordData.value.forEach((item, index) => {\r\n\t\t\t\t\tfor (const key in item) {\r\n\t\t\t\t\t\tif (item[key] === 'Y') {\r\n\t\t\t\t\t\t\titem[key] = true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (item[key] === 'N') {\r\n\t\t\t\t\t\t\titem[key] = false\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 如果是主键，我们不提供主键的配置，也用不到\r\n\t\t\t\t\tif (item.isTableKey) {\r\n\t\t\t\t\t\tdeleteIndex.push(index)\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 去掉删除标识\r\n\t\t\t\t\tif (item.fieldName.toLowerCase().indexOf('delete_flag') > -1) {\r\n\t\t\t\t\t\tdeleteIndex.push(index)\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 让默认的变成设置的\r\n\t\t\t\t\tfieldJavaTypeChange(item)\r\n\t\t\t\t})\r\n\t\t\t\tif (deleteIndex) {\r\n\t\t\t\t\tdeleteIndex.forEach((item, index) => {\r\n\t\t\t\t\t\tif (index > 0) {\r\n\t\t\t\t\t\t\titem = item - 1\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tdelete recordData.value.splice(item, 1)\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t\treturn recordData.value\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\tresolve([])\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\t// 实体类型\r\n\tconst fieldJavaTypeOptions = ref([\r\n\t\t{\r\n\t\t\tlabel: 'Integer',\r\n\t\t\tvalue: 'Integer'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'Long',\r\n\t\t\tvalue: 'Long'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'String',\r\n\t\t\tvalue: 'String'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'Boolean',\r\n\t\t\tvalue: 'Boolean'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'Float',\r\n\t\t\tvalue: 'Float'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'Double',\r\n\t\t\tvalue: 'Double'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'Date',\r\n\t\t\tvalue: 'Date'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'BigDecimal',\r\n\t\t\tvalue: 'BigDecimal'\r\n\t\t}\r\n\t])\r\n\t// 类型\r\n\tconst effectTypeOptions = ref([\r\n\t\t{\r\n\t\t\tlabel: '输入框',\r\n\t\t\tvalue: 'input'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '文本框',\r\n\t\t\tvalue: 'textarea'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '下拉框',\r\n\t\t\tvalue: 'select'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '单选框',\r\n\t\t\tvalue: 'radio'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '复选框',\r\n\t\t\tvalue: 'checkbox'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '日期选择器',\r\n\t\t\tvalue: 'datepicker'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '时间选择器',\r\n\t\t\tvalue: 'timepicker'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '数字输入框',\r\n\t\t\tvalue: 'inputNumber'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '滑动数字条',\r\n\t\t\tvalue: 'slider'\r\n\t\t}\r\n\t])\r\n\t// 字典数据\r\n\tconst dictTypeCodeOptions = tool.dictDataAll().map((item) => {\r\n\t\treturn {\r\n\t\t\tlabel: item.name,\r\n\t\t\tvalue: item.dictValue\r\n\t\t}\r\n\t})\r\n\t// 查询方式\r\n\tconst queryTypeOptions = ref([\r\n\t\t{\r\n\t\t\tlabel: '模糊包含',\r\n\t\t\tvalue: 'like'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '模糊不包含',\r\n\t\t\tvalue: 'notLike'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '等于',\r\n\t\t\tvalue: 'eq'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '不等于',\r\n\t\t\tvalue: 'ne'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '大于',\r\n\t\t\tvalue: 'gt'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '大于等于',\r\n\t\t\tvalue: 'ge'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '小于',\r\n\t\t\tvalue: 'lt'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '小于等于',\r\n\t\t\tvalue: 'le'\r\n\t\t}\r\n\t])\r\n\tconst emit = defineEmits({ successful: null }, { close: null })\r\n\tconst toFieldEstimate = (data) => {\r\n\t\tif (\r\n\t\t\tdata.fieldName.toLowerCase().indexOf('create_user') > -1 ||\r\n\t\t\tdata.fieldName.toLowerCase().indexOf('create_time') > -1 ||\r\n\t\t\tdata.fieldName.toLowerCase().indexOf('update_user') > -1 ||\r\n\t\t\tdata.fieldName.toLowerCase().indexOf('update_time') > -1 ||\r\n\t\t\tdata.fieldName.toLowerCase().indexOf('delete_flag') > -1 ||\r\n\t\t\tdata.isTableKey === true\r\n\t\t) {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\treturn false\r\n\t}\r\n\t// 通用字段是否可选\r\n\tconst toCommonFieldEstimate = (record) => {\r\n\t\tif (record.fieldName.toLowerCase().indexOf('create_user') > -1 || record.fieldName.toLowerCase().indexOf('update_user') > -1) {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\treturn false\r\n\t}\r\n\t// 设置该下拉框是否能选\r\n\tconst toFieldSelectEstimate = (record) => {\r\n\t\tif (record.fieldJavaType === 'Date' && record.effectType === 'datepicker') {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\treturn false\r\n\t}\r\n\t// 实体类型选择触发\r\n\tconst fieldJavaTypeChange = (record) => {\r\n\t\tif (record.fieldJavaType === 'Date') {\r\n\t\t\trecord.effectType = 'datepicker'\r\n\t\t}\r\n\t}\r\n\t// 提交\r\n\tconst onSubmit = (tableData) => {\r\n\t\t// 使用表格中的字段配置数据，而不是基本表信息\r\n\t\t// recordData.value在loadDate后包含的是字段配置数组\r\n\t\tlet submitParam = cloneDeep(recordData.value)\r\n\t\t\r\n\t\t// 确保submitParam是数组且包含字段配置\r\n\t\tif (!Array.isArray(submitParam)) {\r\n\t\t\tconsole.error('提交数据格式错误：应该是字段配置数组', submitParam)\r\n\t\t\treturn Promise.reject('数据格式错误：请先加载表格配置数据')\r\n\t\t}\r\n\t\t\r\n\t\t// 检查是否包含字段配置信息\r\n\t\tif (submitParam.length === 0) {\r\n\t\t\tconsole.error('没有字段配置数据可提交')\r\n\t\t\treturn Promise.reject('没有字段配置数据，请先加载表格数据')\r\n\t\t}\r\n\t\t\r\n\t\tconsole.log('准备提交的字段配置数据：', submitParam)\r\n\t\tlet errStatus = 100\r\n\t\tsubmitParam.forEach((item) => {\r\n\t\t\t// 必填那一项转换\r\n\t\t\tfor (const key in item) {\r\n\t\t\t\tif (item[key] === true) {\r\n\t\t\t\t\titem[key] = 'Y'\r\n\t\t\t\t}\r\n\t\t\t\tif (item[key] === false) {\r\n\t\t\t\t\titem[key] = 'N'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (item.queryWhether === 'Y' && !item.queryType) {\r\n\t\t\t\t// 排除掉时间选择\r\n\t\t\t\tif (item.fieldJavaType !== 'Date' && item.effectType !== 'checkbox') {\r\n\t\t\t\t\terrStatus++\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif ((item.effectType === 'select' || item.effectType === 'radio' || item.effectType === 'checkbox') && !item.dictTypeCode) {\r\n\t\t\t\terrStatus++\r\n\t\t\t}\r\n\t\t})\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tif (errStatus > 100) {\r\n\t\t\t\treject('校验失败，请选择对应的下拉框选项')\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tgenConfigApi\r\n\t\t\t\t.configEditBatch(submitParam)\r\n\t\t\t\t.then((data) => {\r\n\t\t\t\t\tresolve(data)\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\treject(err)\r\n\t\t\t\t})\r\n\t\t})\r\n\t}\r\n\t// 抛出钩子\r\n\tdefineExpose({\r\n\t\tonOpen,\r\n\t\tonSubmit\r\n\t})\r\n</script>\r\n<style scoped>\r\n\t.table-wrapper {\r\n\t\tmargin-top: -16px !important;\r\n\t}\r\n</style>\r\n"],"names":["_createBlock","_createVNode","_unref","_withCtx","_createElementBlock","_Fragment","_openBlock"],"mappings":"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"}