-
+
-
+
+ 是
+ 否
@@ -78,6 +80,13 @@
+
+
+ 规则{{ scope.row.ruleCount }}
+
+
+
@@ -99,6 +109,7 @@ import { Edit } from '@element-plus/icons-vue';
import fkDialog from '/@/views/system/codeGen/component/fkDialog.vue';
import treeDialog from '/@/views/system/codeGen/component/treeDialog.vue';
+import verifyDialog from '/@/views/system/codeGen/component/verifyDialog.vue';
import { getAPI } from '/@/utils/axios-utils';
import { SysCodeGenConfigApi, SysConstApi, SysDictDataApi, SysDictTypeApi, SysEnumApi } from '/@/api-services/api';
@@ -107,6 +118,7 @@ import { CodeGenConfig } from '/@/api-services/models/code-gen-config';
const emits = defineEmits(['handleQuery']);
const fkDialogRef = ref();
const treeDialogRef = ref();
+const verifyDialogRef = ref();
const state = reactive({
isShowDialog: false,
loading: false,
@@ -186,7 +198,13 @@ const handleQuery = async (row: any) => {
if (item[key] === 'N' || (lstWhetherColumn.includes(key) && item[key] === null)) {
item[key] = false;
}
+ };
+ //验证规则相关
+ let rules = new Array();
+ if (item.rules != '' && item.rules !== null) {
+ rules = JSON.parse(item.rules);
}
+ item.ruleCount = rules.length > 0 ? `(${rules.length})` : '';
});
state.tableData = data;
state.loading = false;
@@ -219,6 +237,36 @@ const openTreeDialog = (addRow: any, index: number) => {
treeDialogRef.value.openDialog(addRow);
};
+// 打开校验弹窗
+const openVerifyDialog = (row: any) => {
+ // handleQuery(addRow);
+ // state.isShowDialog = true;
+ verifyDialogRef.value.openDialog(row);
+};
+
+//验证提交回调
+const submitVerifyOk = (data: any) => {
+ console.log('submitVerifyOk', data);
+ for (let i = 0; i < state.tableData.length; i++) {
+ if (state.tableData[i].id == data.id) {
+ state.tableData[i].rules = data.rules;
+ state.tableData[i].ruleCount = data.ruleCount;
+ //更新必填项
+ let rules = new Array();
+ if (data.rules != '' && data.rules !== null) {
+ rules = JSON.parse(data.rules);
+ let requiredRule = rules.find(t => t.type === 'required');
+ if (requiredRule) {
+ state.tableData[i].whetherRequired = true;
+ } else {
+ state.tableData[i].whetherRequired = false;
+ }
+ };
+ break;
+ }
+ }
+};
+
// 关闭弹窗
const closeDialog = () => {
emits('handleQuery');
@@ -234,13 +282,15 @@ const cancel = () => {
const submit = async () => {
state.loading = true;
var lst = state.tableData;
+ console.log(lst);
+ let ignoreFields=['remoteVerify','anyRule','columnKey'];
lst.forEach((item: CodeGenConfig) => {
// 必填那一项转换
for (var key in item) {
- if (item[key] === true) {
+ if (item[key] === true&&!ignoreFields.includes(key)) {
item[key] = 'Y';
}
- if (item[key] === false) {
+ if (item[key] === false&&!ignoreFields.includes(key)) {
item[key] = 'N';
}
}
diff --git a/Web/src/views/system/codeGen/component/patternDialog.vue b/Web/src/views/system/codeGen/component/patternDialog.vue
new file mode 100644
index 00000000..672874cb
--- /dev/null
+++ b/Web/src/views/system/codeGen/component/patternDialog.vue
@@ -0,0 +1,343 @@
+