@jeecg/online 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/AuthButtonConfig.js +140 -0
  2. package/AuthButtonTree.js +183 -0
  3. package/AuthDataConfig.js +243 -0
  4. package/AuthDataTree.js +160 -0
  5. package/AuthFieldConfig.js +167 -0
  6. package/AuthFieldTree.js +273 -0
  7. package/AuthManagerDrawer.js +125 -0
  8. package/AuthSetterModal.js +317 -0
  9. package/CgformCopyList.js +253 -0
  10. package/CgformModal.js +748 -0
  11. package/CgreportModal.js +673 -0
  12. package/ChartAutoRender.js +69 -0
  13. package/ChartDoubleRender.js +154 -0
  14. package/ChartSingleRender.js +132 -0
  15. package/ChartTabsRender.js +218 -0
  16. package/CheckDictTable.js +121 -0
  17. package/CodeGeneratorModal.js +293 -0
  18. package/CustomButtonList.js +413 -0
  19. package/DBAttributeTable.js +278 -0
  20. package/DbToOnlineModal.js +190 -0
  21. package/EnhanceJavaModal.js +304 -0
  22. package/EnhanceJsHistory.js +231 -0
  23. package/EnhanceJsModal.js +293 -0
  24. package/EnhanceSqlModal.js +305 -0
  25. package/ErrorTip.js +21 -0
  26. package/ExtendConfigModal.js +142 -0
  27. package/FieldTable.js +185 -0
  28. package/FileSelectModal.js +102 -0
  29. package/ForeignKeyTable.js +78 -0
  30. package/FormSchemaFactory.js +938 -0
  31. package/GraphreportAutoChart.js +352 -0
  32. package/GraphreportList.js +239 -0
  33. package/GraphreportModal.js +559 -0
  34. package/IndexTable.js +96 -0
  35. package/JOnlineSearchSelect.js +107 -0
  36. package/LICENSE +7 -0
  37. package/LeftDepart.js +96 -0
  38. package/LeftRole.js +95 -0
  39. package/LeftUser.js +114 -0
  40. package/ModalFormDemo.js +84 -0
  41. package/OnlineAutoList.js +410 -0
  42. package/OnlineAutoModal.js +265 -0
  43. package/OnlineAutoTreeList.js +513 -0
  44. package/OnlineCustomModal.js +269 -0
  45. package/OnlineForm.js +809 -0
  46. package/OnlineQueryForm.js +442 -0
  47. package/OnlineSearchFormItem.js +428 -0
  48. package/OnlineSelectCascade.js +217 -0
  49. package/OnlineSubForm.js +200 -0
  50. package/OnlineSuperQuery.js +912 -0
  51. package/OnlineSuperQueryValComponent.js +8 -0
  52. package/OnlineSuperQueryValComponent.vue_vue_type_script_lang.js +172 -0
  53. package/PageAttributeTable.js +242 -0
  54. package/ParamsTable.js +71 -0
  55. package/ProcessOnlineForm.js +183 -0
  56. package/QueryTable.js +128 -0
  57. package/README.md +23 -0
  58. package/_arrayPush.js +276 -0
  59. package/auth.api.js +43 -0
  60. package/auth.data.js +144 -0
  61. package/cgform.data.js +235 -0
  62. package/cloneDeep.js +475 -0
  63. package/enhance.api.js +120 -0
  64. package/enhance.data.js +196 -0
  65. package/graphreport.api.js +23 -0
  66. package/index.js +64 -0
  67. package/index2.js +336 -0
  68. package/index3.js +799 -0
  69. package/isArray.js +47 -0
  70. package/main.index.js +6 -0
  71. package/package.json +6 -0
  72. package/pick.js +238 -0
  73. package/style.css +1 -0
  74. package/toString.js +31 -0
  75. package/useAutoForm.js +4274 -0
  76. package/useCgformList.js +353 -0
  77. package/useChartRender.js +405 -0
  78. package/useMessageOnline.js +71 -0
  79. package/useOnlineTest.js +26866 -0
  80. package/useSchemas.js +505 -0
  81. package/useTableColumns.js +1154 -0
  82. package/useTableSync.js +105 -0
package/CgformModal.js ADDED
@@ -0,0 +1,748 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __async = (__this, __arguments, generator) => {
21
+ return new Promise((resolve, reject) => {
22
+ var fulfilled = (value) => {
23
+ try {
24
+ step(generator.next(value));
25
+ } catch (e) {
26
+ reject(e);
27
+ }
28
+ };
29
+ var rejected = (value) => {
30
+ try {
31
+ step(generator.throw(value));
32
+ } catch (e) {
33
+ reject(e);
34
+ }
35
+ };
36
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
37
+ step((generator = generator.apply(__this, __arguments)).next());
38
+ });
39
+ };
40
+ import { defineComponent, ref, computed, provide, reactive, nextTick, resolveComponent, openBlock, createBlock, mergeProps, withCtx, createVNode, createElementBlock, Fragment, renderList, createTextVNode, toDisplayString, createCommentVNode, createElementVNode } from "vue";
41
+ import { BasicModal, useModalInner, useModal } from "/@/components/Modal";
42
+ import { BasicForm, useForm } from "/@/components/Form/index";
43
+ import { useMessage } from "/@/hooks/web/useMessage";
44
+ import { u as useFormSchemas } from "./useSchemas.js";
45
+ import DBAttributeTable from "./DBAttributeTable.js";
46
+ import PageAttributeTable from "./PageAttributeTable.js";
47
+ import CheckDictTable from "./CheckDictTable.js";
48
+ import ForeignKeyTable from "./ForeignKeyTable.js";
49
+ import IndexTable from "./IndexTable.js";
50
+ import QueryTable from "./QueryTable.js";
51
+ import ExtendConfigModal from "./ExtendConfigModal.js";
52
+ import { u as useInitialData, E as ExtConfigDefaultJson, V as VALIDATE_FAILED, a as useTreeNeedFields } from "./cgform.data.js";
53
+ import { defHttp } from "/@/utils/http/axios";
54
+ import { simpleDebounce } from "/@/utils/common/compUtils";
55
+ import { u as useOnlineTest } from "./useOnlineTest.js";
56
+ import { buildUUID } from "/@/utils/uuid";
57
+ import { sleep } from "/@/utils";
58
+ import { g as getRefPromise } from "./useAutoForm.js";
59
+ import { _ as _export_sfc } from "./index.js";
60
+ const list = (params) => defHttp.get({ url: "/online/cgform/head/list", params });
61
+ const doBatchRemove = (idList) => doRemove(idList, 0);
62
+ const doBatchDelete = (idList) => doRemove(idList, 1);
63
+ function doRemove(idList, flag) {
64
+ return defHttp.delete({
65
+ url: "/online/cgform/head/deleteBatch",
66
+ params: {
67
+ ids: idList.join(","),
68
+ flag
69
+ }
70
+ }, { joinParamsToUrl: true });
71
+ }
72
+ const doDatabaseSync = (id, method) => defHttp.post({ url: `${"/online/cgform/api/doDbSynch"}/${id}/${method}`, timeout: 12e3, timeoutErrorMessage: "\u540C\u6B65\u6570\u636E\u5E93\u8D85\u65F6\uFF0C\u5DF2\u81EA\u52A8\u5237\u65B0" });
73
+ const doCopyOnlineView = (id) => defHttp.post({ url: `${"/online/cgform/head/copyOnline"}?code=${id}` });
74
+ const doCopyTable = (id, tableName, params) => defHttp.get({ url: `${"/online/cgform/head/copyOnlineTable"}/${id}`, params: __spreadValues({ tableName }, params) });
75
+ const formApi = {
76
+ doQueryField: (headId, params) => defHttp.get({ url: "/online/cgform/field/listByHeadId", params: __spreadValues({ headId }, params) }),
77
+ doQueryIndexes: (headId, params) => defHttp.get({ url: "/online/cgform/index/listByHeadId", params: __spreadValues({ headId }, params) }),
78
+ doSaveOrUpdate: (params, isUpdate) => {
79
+ if (isUpdate) {
80
+ return defHttp.put({ url: "/online/cgform/api/editAll", params });
81
+ } else {
82
+ return defHttp.post({ url: "/online/cgform/api/addAll", params });
83
+ }
84
+ }
85
+ };
86
+ const _sfc_main = defineComponent({
87
+ name: "CgformModal",
88
+ components: {
89
+ BasicModal,
90
+ BasicForm,
91
+ DBAttributeTable,
92
+ PageAttributeTable,
93
+ CheckDictTable,
94
+ ForeignKeyTable,
95
+ IndexTable,
96
+ QueryTable,
97
+ ExtendConfigModal
98
+ },
99
+ emits: ["success", "register"],
100
+ props: {
101
+ actionButton: {
102
+ type: Boolean,
103
+ default: true,
104
+ required: false
105
+ }
106
+ },
107
+ setup(props, { emit }) {
108
+ const { createMessage: $message } = useMessage();
109
+ const modalRef = ref();
110
+ const isUpdate = ref(false);
111
+ let model = {};
112
+ const title = computed(() => isUpdate.value ? "\u7F16\u8F91" : "\u65B0\u589E");
113
+ const confirmLoading = ref(true);
114
+ const tableLoading = ref(false);
115
+ const activeKey = ref("dbTable");
116
+ const hideTabs = ref(true);
117
+ const tables = {
118
+ dbTable: ref(),
119
+ pageTable: ref(),
120
+ checkTable: ref(),
121
+ fkTable: ref(),
122
+ idxTable: ref(),
123
+ queryTable: ref()
124
+ };
125
+ const fullScreenRef = computed(() => {
126
+ var _a, _b;
127
+ return (_b = (_a = modalRef.value) == null ? void 0 : _a.fullScreenRef) != null ? _b : false;
128
+ });
129
+ provide("tables", tables);
130
+ provide("fullScreenRef", fullScreenRef);
131
+ const { formSchemas } = useFormSchemas(props, {
132
+ onTableTypeChange,
133
+ onIsTreeChange,
134
+ ifShowOfSubTableStr: () => showSubTableStr
135
+ });
136
+ const [registerForm, formAction] = useForm({
137
+ schemas: formSchemas,
138
+ showActionButtonGroup: false,
139
+ labelAlign: "right"
140
+ });
141
+ const { resetFields, setFieldsValue, validate } = formAction;
142
+ const [registerModal, { closeModal }] = useModalInner((data) => {
143
+ var _a;
144
+ isUpdate.value = (_a = data == null ? void 0 : data.isUpdate) != null ? _a : false;
145
+ if (isUpdate.value) {
146
+ edit(data == null ? void 0 : data.record);
147
+ } else {
148
+ add();
149
+ }
150
+ });
151
+ const oldTableName = ref("");
152
+ let extConfigJson = reactive({});
153
+ const syncAllTableNowDebounce = simpleDebounce(() => syncAllTableNowPromise(), 150);
154
+ let fieldTempIds = [];
155
+ let showSubTableStr = false;
156
+ let treeFieldAdded = false;
157
+ let treeFieldIds = [];
158
+ const {
159
+ aiTestMode,
160
+ aiTestTable,
161
+ aiTableList,
162
+ initVirtualData,
163
+ tableJsonGetHelper,
164
+ refreshCacheTableName
165
+ } = useOnlineTest({
166
+ oldTableName,
167
+ tables
168
+ }, {
169
+ initialAllShowItem,
170
+ setAllTableData
171
+ }, formAction);
172
+ function add() {
173
+ edit({});
174
+ }
175
+ function edit(record) {
176
+ return __async(this, null, function* () {
177
+ var _a;
178
+ confirmLoading.value = false;
179
+ activeKey.value = "dbTable";
180
+ yield resetFields();
181
+ model = Object.assign({}, record);
182
+ initialAllShowItem(model);
183
+ tableJsonGetHelper(model);
184
+ initialExtConfigJson(model);
185
+ setFieldsValue(model);
186
+ oldTableName.value = model.tableName;
187
+ sleep(1, () => hideTabs.value = false);
188
+ if (isUpdate.value) {
189
+ (_a = tables.dbTable.value) == null ? void 0 : _a.setDataSource([]);
190
+ yield loadFields(model.id);
191
+ yield loadIndexes(model.id);
192
+ getRefPromise(tables.pageTable).then(() => {
193
+ tables.pageTable.value.changePageType(model.tableType == 3);
194
+ });
195
+ } else {
196
+ let { initialData, tempIds } = useInitialData();
197
+ yield setAllTableData(initialData, true);
198
+ fieldTempIds = tempIds;
199
+ }
200
+ });
201
+ }
202
+ function loadFields(headId) {
203
+ return __async(this, null, function* () {
204
+ tableLoading.value = true;
205
+ try {
206
+ let fields = yield formApi.doQueryField(headId);
207
+ tableLoading.value = false;
208
+ yield setAllTableData(fields);
209
+ } finally {
210
+ tableLoading.value = false;
211
+ }
212
+ });
213
+ }
214
+ function loadIndexes(headId) {
215
+ return __async(this, null, function* () {
216
+ let indexes = yield formApi.doQueryIndexes(headId);
217
+ tables.idxTable.value.setDataSource(indexes);
218
+ });
219
+ }
220
+ function initialExtConfigJson(record) {
221
+ let parseJSON = {};
222
+ if (record.extConfigJson) {
223
+ try {
224
+ parseJSON = JSON.parse(record.extConfigJson);
225
+ } catch (e) {
226
+ console.error("online\u6269\u5C55JSON\u8F6C\u6362\u5931\u8D25\uFF1A", e);
227
+ }
228
+ }
229
+ extConfigJson = Object.assign({}, ExtConfigDefaultJson, parseJSON, {
230
+ isDesForm: record.isDesForm || "N",
231
+ desFormCode: record.desFormCode || ""
232
+ });
233
+ }
234
+ function initialAllShowItem(model2) {
235
+ treeFieldAdded = model2.isTree == "Y";
236
+ showSubTableStr = model2.tableType === 2;
237
+ }
238
+ function setAllTableData(data, insert) {
239
+ return __async(this, null, function* () {
240
+ const { dbTable, pageTable, checkTable, fkTable, queryTable } = tables;
241
+ if (!dbTable.value) {
242
+ yield nextTick();
243
+ yield sleep(1);
244
+ }
245
+ dbTable.value.setDataSource(data, insert);
246
+ setTimeout(() => {
247
+ pageTable.value.setDataSource(data, insert);
248
+ checkTable.value.setDataSource(data, insert);
249
+ fkTable.value.setDataSource(data, insert);
250
+ queryTable.value.setDataSource(data, insert);
251
+ }, 10);
252
+ });
253
+ }
254
+ function onTabsChange(activeKey2) {
255
+ if (["pageTable", "checkTable", "fkTable", "idxTable", "queryTable"].indexOf(activeKey2) !== -1) {
256
+ const dbTable = tables.dbTable;
257
+ const table = tables[activeKey2];
258
+ dbTable.value.tableRef.resetScrollTop();
259
+ table.value.syncTable(dbTable);
260
+ }
261
+ }
262
+ function onTableTypeChange(value) {
263
+ if (value === 1) {
264
+ setFieldsValue({ themeTemplate: "normal" });
265
+ }
266
+ tables.pageTable.value.changePageType(value == 3);
267
+ }
268
+ function onIsTreeChange(value) {
269
+ value === "Y" ? addTreeNeedField() : deleteTreeNeedField();
270
+ }
271
+ function syncAllTableNow() {
272
+ syncAllTableNowDebounce();
273
+ }
274
+ function syncAllTableNowPromise() {
275
+ return __async(this, null, function* () {
276
+ let { dbTable, pageTable, checkTable, fkTable, queryTable } = tables;
277
+ yield pageTable.value.syncTable(dbTable);
278
+ yield checkTable.value.syncTable(dbTable);
279
+ yield fkTable.value.syncTable(dbTable);
280
+ yield queryTable.value.syncTable(dbTable);
281
+ });
282
+ }
283
+ function onTableAdded() {
284
+ syncAllTableNow();
285
+ }
286
+ function onTableRemoved() {
287
+ syncAllTableNow();
288
+ }
289
+ function onTableDragged(event) {
290
+ let { oldIndex, newIndex } = event;
291
+ syncAllOrderNumNow(oldIndex, newIndex);
292
+ }
293
+ function onTableInserted(event) {
294
+ return __async(this, null, function* () {
295
+ let { insertIndex, row } = event;
296
+ let { pageTable, checkTable, fkTable, queryTable } = tables;
297
+ pageTable.value.tableRef.insertRows(row, insertIndex);
298
+ checkTable.value.tableRef.insertRows(row, insertIndex);
299
+ fkTable.value.tableRef.insertRows(row, insertIndex);
300
+ queryTable.value.tableRef.insertRows(row, insertIndex);
301
+ });
302
+ }
303
+ function syncAllOrderNumNow(oldIndex, newIndex) {
304
+ let { pageTable, checkTable, fkTable, queryTable } = tables;
305
+ pageTable.value.tableRef.rowResort(oldIndex, newIndex);
306
+ checkTable.value.tableRef.rowResort(oldIndex, newIndex);
307
+ fkTable.value.tableRef.rowResort(oldIndex, newIndex);
308
+ queryTable.value.tableRef.rowResort(oldIndex, newIndex);
309
+ }
310
+ function onTableSyncDbType(event) {
311
+ tables.pageTable.value.syncFieldShowType(event.row);
312
+ }
313
+ function onTableQuery(id) {
314
+ tables.pageTable.value.enableQuery(id);
315
+ }
316
+ function addTreeNeedField() {
317
+ if (!treeFieldAdded) {
318
+ let { dbTable, pageTable, checkTable } = tables;
319
+ let treeFields = useTreeNeedFields();
320
+ treeFields = treeFields.filter((item) => {
321
+ let nameList = dbTable.value.tableRef.getTableData().map((o) => o.dbFieldName);
322
+ return !nameList.includes(item.dbFieldName);
323
+ });
324
+ treeFieldIds = [];
325
+ treeFields.forEach((newData) => {
326
+ let uuidTemp = buildUUID() + "__tempId";
327
+ treeFieldIds.push(uuidTemp);
328
+ newData.id = uuidTemp;
329
+ });
330
+ dbTable.value.tableRef.addRows(treeFields, { setActive: false });
331
+ pageTable.value.tableRef.addRows(treeFields, { setActive: false });
332
+ checkTable.value.tableRef.addRows(treeFields, { setActive: false });
333
+ nextTick(() => syncAllTableNow());
334
+ treeFieldAdded = true;
335
+ }
336
+ nextTick(() => {
337
+ formAction.setFieldsValue({
338
+ treeIdField: "has_child",
339
+ treeParentIdField: "pid"
340
+ });
341
+ });
342
+ }
343
+ function deleteTreeNeedField() {
344
+ if (treeFieldIds && treeFieldIds.length > 0) {
345
+ let { dbTable } = tables;
346
+ dbTable.value.tableDeleteLines(treeFieldIds);
347
+ treeFieldIds = [];
348
+ treeFieldAdded = false;
349
+ }
350
+ }
351
+ function validateAll() {
352
+ let options = {};
353
+ return new Promise((resolve, reject) => {
354
+ validate().then((values) => resolve({ values }), () => reject(VALIDATE_FAILED));
355
+ }).then((result) => {
356
+ Object.assign(options, result);
357
+ return validateTableFields();
358
+ }).then((allTableData) => {
359
+ Object.assign(options, allTableData);
360
+ let formData = classifyIntoFormData(options);
361
+ return validateForeignKey(formData);
362
+ }).catch((e) => {
363
+ if (e === VALIDATE_FAILED || (e == null ? void 0 : e.code) === VALIDATE_FAILED) {
364
+ $message.warning("\u6821\u9A8C\u672A\u901A\u8FC7");
365
+ } else {
366
+ console.error(e);
367
+ }
368
+ return Promise.reject(null);
369
+ });
370
+ }
371
+ function validateTableFields() {
372
+ return new Promise((resolve, reject) => __async(this, null, function* () {
373
+ let tableKeys = Object.keys(tables);
374
+ let allTableData = {};
375
+ for (let i = 0; i < tableKeys.length; i++) {
376
+ let key = tableKeys[i];
377
+ let table = tables[key];
378
+ try {
379
+ allTableData[key] = yield table.value.validateData(key);
380
+ } catch (e) {
381
+ if (e.code === VALIDATE_FAILED) {
382
+ activeKey.value = e.activeKey;
383
+ } else {
384
+ console.error(e);
385
+ }
386
+ reject(e);
387
+ return;
388
+ }
389
+ }
390
+ resolve(allTableData);
391
+ }));
392
+ }
393
+ function classifyIntoFormData(options) {
394
+ let formData = {
395
+ head: {},
396
+ fields: [],
397
+ indexs: [],
398
+ deleteFieldIds: [],
399
+ deleteIndexIds: []
400
+ };
401
+ formData.head = Object.assign(model, options.values);
402
+ formData.head.isDesForm = extConfigJson.isDesForm;
403
+ formData.head.desFormCode = extConfigJson.desFormCode;
404
+ delete extConfigJson.isDesForm;
405
+ delete extConfigJson.desFormCode;
406
+ formData.head.extConfigJson = JSON.stringify(extConfigJson);
407
+ options.dbTable.tableData.forEach((item, index) => {
408
+ let rowId = item.id;
409
+ let fields = Object.assign({}, item);
410
+ let pageTable = options.pageTable.tableData[index];
411
+ fields = Object.assign(pageTable, fields);
412
+ let checkTable = options.checkTable.tableData[index];
413
+ fields = Object.assign(checkTable, fields);
414
+ let fkTable = options.fkTable.tableData[index];
415
+ fields = Object.assign(fkTable, fields);
416
+ let queryTable = options.queryTable.tableData[index];
417
+ fields = Object.assign(queryTable, fields);
418
+ if (rowId == null || rowId === "") {
419
+ delete fields.id;
420
+ } else {
421
+ fields.id = rowId;
422
+ }
423
+ let tempIds = [].concat(fieldTempIds, treeFieldIds);
424
+ if (tempIds.includes(fields.id)) {
425
+ delete fields.id;
426
+ }
427
+ formData.fields.push(fields);
428
+ });
429
+ formData.deleteFieldIds = options.dbTable.deleteIds;
430
+ formData.indexs = options.idxTable.tableData;
431
+ formData.deleteIndexIds = options.idxTable.deleteIds;
432
+ return formData;
433
+ }
434
+ function validateForeignKey(formData) {
435
+ return new Promise((resolve, reject) => {
436
+ let fields = formData.fields;
437
+ let saved = true;
438
+ if (fields && fields.length > 0) {
439
+ let hasForeignKey = 0;
440
+ for (let i = 0; i < fields.length; i++) {
441
+ if (fields[i].mainField || fields[i].mainTable) {
442
+ hasForeignKey += 1;
443
+ }
444
+ if (hasForeignKey > 1) {
445
+ saved = false;
446
+ break;
447
+ }
448
+ }
449
+ }
450
+ if (saved) {
451
+ resolve(formData);
452
+ } else {
453
+ reject({
454
+ code: -1,
455
+ msg: "\u5916\u952E\u53EA\u5141\u8BB8\u914D\u7F6E\u4E00\u4E2A!",
456
+ error: VALIDATE_FAILED
457
+ });
458
+ }
459
+ });
460
+ }
461
+ function onSubmit() {
462
+ confirmLoading.value = true;
463
+ validateAll().then((formData) => __async(this, null, function* () {
464
+ var _a;
465
+ if (formData.fields && formData.fields.length > 0) {
466
+ for (let field of formData.fields) {
467
+ field.dbFieldName = field.dbFieldName.toLowerCase().trim();
468
+ }
469
+ }
470
+ if ((_a = formData.head) == null ? void 0 : _a.tableName) {
471
+ formData.head.tableName = formData.head.tableName.toLowerCase().trim();
472
+ }
473
+ yield formApi.doSaveOrUpdate(formData, isUpdate.value);
474
+ refreshCacheTableName(oldTableName.value, formData.head["tableName"]);
475
+ emit("success");
476
+ sleep(1, () => onCancel());
477
+ }), (e) => {
478
+ console.error(e);
479
+ }).finally(() => {
480
+ confirmLoading.value = false;
481
+ });
482
+ }
483
+ const [registerExtendConfigModal, extendConfigModal] = useModal();
484
+ function onExtConfigOk(values) {
485
+ extConfigJson = values;
486
+ }
487
+ function onOpenExtConfig() {
488
+ extendConfigModal.openModal(true, {
489
+ extConfigJson
490
+ });
491
+ }
492
+ function onCancel() {
493
+ hideTabs.value = true;
494
+ sleep(1, () => closeModal());
495
+ }
496
+ return __spreadProps(__spreadValues({}, tables), {
497
+ modalRef,
498
+ title,
499
+ confirmLoading,
500
+ tableLoading,
501
+ activeKey,
502
+ onCancel,
503
+ extConfigJson,
504
+ formAction,
505
+ hideTabs,
506
+ onSubmit,
507
+ onTabsChange,
508
+ onTableAdded,
509
+ onTableRemoved,
510
+ onTableDragged,
511
+ onTableInserted,
512
+ onTableSyncDbType,
513
+ onTableQuery,
514
+ onOpenExtConfig,
515
+ onExtConfigOk,
516
+ registerForm,
517
+ registerModal,
518
+ registerExtendConfigModal,
519
+ aiTestMode,
520
+ aiTestTable,
521
+ aiTableList,
522
+ initVirtualData
523
+ });
524
+ }
525
+ });
526
+ const _hoisted_1 = { style: { "flex": "1", "text-align": "right" } };
527
+ const _hoisted_2 = /* @__PURE__ */ createTextVNode("\u6269\u5C55\u914D\u7F6E");
528
+ const _hoisted_3 = /* @__PURE__ */ createTextVNode("\u5173\u95ED");
529
+ const _hoisted_4 = /* @__PURE__ */ createTextVNode("\u4FDD\u5B58");
530
+ const _hoisted_5 = {
531
+ key: 0,
532
+ style: { "display": "inline-block", "text-align": "left", "position": "absolute", "left": "0" }
533
+ };
534
+ const _hoisted_6 = /* @__PURE__ */ createTextVNode("\u751F\u6210\u6570\u636E>>");
535
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
536
+ const _component_a_button = resolveComponent("a-button");
537
+ const _component_BasicForm = resolveComponent("BasicForm");
538
+ const _component_DBAttributeTable = resolveComponent("DBAttributeTable");
539
+ const _component_a_tab_pane = resolveComponent("a-tab-pane");
540
+ const _component_PageAttributeTable = resolveComponent("PageAttributeTable");
541
+ const _component_CheckDictTable = resolveComponent("CheckDictTable");
542
+ const _component_ForeignKeyTable = resolveComponent("ForeignKeyTable");
543
+ const _component_IndexTable = resolveComponent("IndexTable");
544
+ const _component_QueryTable = resolveComponent("QueryTable");
545
+ const _component_a_tabs = resolveComponent("a-tabs");
546
+ const _component_a_spin = resolveComponent("a-spin");
547
+ const _component_a_select_option = resolveComponent("a-select-option");
548
+ const _component_a_select = resolveComponent("a-select");
549
+ const _component_ExtendConfigModal = resolveComponent("ExtendConfigModal");
550
+ const _component_BasicModal = resolveComponent("BasicModal");
551
+ return openBlock(), createBlock(_component_BasicModal, mergeProps({
552
+ ref: "modalRef",
553
+ title: _ctx.title,
554
+ width: 1200,
555
+ maskClosable: false,
556
+ defaultFullscreen: true,
557
+ confirmLoading: _ctx.confirmLoading
558
+ }, _ctx.$attrs, {
559
+ onCancel: _ctx.onCancel,
560
+ onRegister: _ctx.registerModal
561
+ }), {
562
+ footer: withCtx(() => [
563
+ createVNode(_component_a_button, { onClick: _ctx.onCancel }, {
564
+ default: withCtx(() => [
565
+ _hoisted_3
566
+ ]),
567
+ _: 1
568
+ }, 8, ["onClick"]),
569
+ createVNode(_component_a_button, {
570
+ type: "primary",
571
+ loading: _ctx.confirmLoading,
572
+ preIcon: "ant-design:save",
573
+ onClick: _ctx.onSubmit
574
+ }, {
575
+ default: withCtx(() => [
576
+ _hoisted_4
577
+ ]),
578
+ _: 1
579
+ }, 8, ["loading", "onClick"]),
580
+ _ctx.aiTestMode ? (openBlock(), createElementBlock("div", _hoisted_5, [
581
+ createVNode(_component_a_select, {
582
+ value: _ctx.aiTestTable,
583
+ "onUpdate:value": _cache[1] || (_cache[1] = ($event) => _ctx.aiTestTable = $event),
584
+ placeholder: "\u8BF7\u9009\u62E9\u6D4B\u8BD5\u7684\u8868\u7C7B\u578B",
585
+ getPopupContainer: (n) => n.parentElement,
586
+ style: { "width": "250px", "margin": "0 10px 0 20px" }
587
+ }, {
588
+ default: withCtx(() => [
589
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.aiTableList, (item, index) => {
590
+ return openBlock(), createBlock(_component_a_select_option, {
591
+ key: index,
592
+ value: item.name
593
+ }, {
594
+ default: withCtx(() => [
595
+ createTextVNode(toDisplayString(item.title + "\uFF08" + item.name + "\uFF09"), 1)
596
+ ]),
597
+ _: 2
598
+ }, 1032, ["value"]);
599
+ }), 128))
600
+ ]),
601
+ _: 1
602
+ }, 8, ["value", "getPopupContainer"]),
603
+ createVNode(_component_a_button, {
604
+ type: "primary",
605
+ ghost: "",
606
+ onClick: _ctx.initVirtualData
607
+ }, {
608
+ default: withCtx(() => [
609
+ _hoisted_6
610
+ ]),
611
+ _: 1
612
+ }, 8, ["onClick"])
613
+ ])) : createCommentVNode("", true)
614
+ ]),
615
+ default: withCtx(() => [
616
+ createVNode(_component_a_spin, {
617
+ wrapperClassName: "p-2",
618
+ spinning: _ctx.confirmLoading
619
+ }, {
620
+ default: withCtx(() => [
621
+ createVNode(_component_BasicForm, { onRegister: _ctx.registerForm }, {
622
+ extConfigButton: withCtx(() => [
623
+ createElementVNode("div", _hoisted_1, [
624
+ createVNode(_component_a_button, {
625
+ preIcon: "ant-design:setting",
626
+ onClick: _ctx.onOpenExtConfig
627
+ }, {
628
+ default: withCtx(() => [
629
+ _hoisted_2
630
+ ]),
631
+ _: 1
632
+ }, 8, ["onClick"])
633
+ ])
634
+ ]),
635
+ _: 1
636
+ }, 8, ["onRegister"]),
637
+ createVNode(_component_a_spin, {
638
+ spinning: _ctx.tableLoading || _ctx.hideTabs
639
+ }, {
640
+ default: withCtx(() => [
641
+ !_ctx.hideTabs ? (openBlock(), createBlock(_component_a_tabs, {
642
+ key: 0,
643
+ activeKey: _ctx.activeKey,
644
+ "onUpdate:activeKey": _cache[0] || (_cache[0] = ($event) => _ctx.activeKey = $event),
645
+ onChange: _ctx.onTabsChange
646
+ }, {
647
+ default: withCtx(() => [
648
+ createVNode(_component_a_tab_pane, {
649
+ tab: "\u6570\u636E\u5E93\u5C5E\u6027",
650
+ key: "dbTable",
651
+ forceRender: ""
652
+ }, {
653
+ default: withCtx(() => [
654
+ createVNode(_component_DBAttributeTable, {
655
+ ref: "dbTable",
656
+ actionButton: _ctx.actionButton,
657
+ onAdded: _ctx.onTableAdded,
658
+ onRemoved: _ctx.onTableRemoved,
659
+ onDragged: _ctx.onTableDragged,
660
+ onInserted: _ctx.onTableInserted,
661
+ onSyncDbType: _ctx.onTableSyncDbType
662
+ }, null, 8, ["actionButton", "onAdded", "onRemoved", "onDragged", "onInserted", "onSyncDbType"])
663
+ ]),
664
+ _: 1
665
+ }),
666
+ createVNode(_component_a_tab_pane, {
667
+ tab: "\u9875\u9762\u5C5E\u6027",
668
+ key: "pageTable",
669
+ forceRender: ""
670
+ }, {
671
+ default: withCtx(() => [
672
+ createVNode(_component_PageAttributeTable, { ref: "pageTable" }, null, 512)
673
+ ]),
674
+ _: 1
675
+ }),
676
+ createVNode(_component_a_tab_pane, {
677
+ tab: "\u6821\u9A8C\u5B57\u6BB5",
678
+ key: "checkTable",
679
+ forceRender: ""
680
+ }, {
681
+ default: withCtx(() => [
682
+ createVNode(_component_CheckDictTable, { ref: "checkTable" }, null, 512)
683
+ ]),
684
+ _: 1
685
+ }),
686
+ createVNode(_component_a_tab_pane, {
687
+ tab: "\u5916\u952E",
688
+ key: "fkTable",
689
+ forceRender: ""
690
+ }, {
691
+ default: withCtx(() => [
692
+ createVNode(_component_ForeignKeyTable, {
693
+ ref: "fkTable",
694
+ actionButton: _ctx.actionButton
695
+ }, null, 8, ["actionButton"])
696
+ ]),
697
+ _: 1
698
+ }),
699
+ createVNode(_component_a_tab_pane, {
700
+ tab: "\u7D22\u5F15",
701
+ key: "idxTable",
702
+ forceRender: ""
703
+ }, {
704
+ default: withCtx(() => [
705
+ createVNode(_component_IndexTable, {
706
+ ref: "idxTable",
707
+ actionButton: _ctx.actionButton
708
+ }, null, 8, ["actionButton"])
709
+ ]),
710
+ _: 1
711
+ }),
712
+ createVNode(_component_a_tab_pane, {
713
+ tab: "\u67E5\u8BE2\u914D\u7F6E",
714
+ key: "queryTable",
715
+ forceRender: ""
716
+ }, {
717
+ default: withCtx(() => [
718
+ createVNode(_component_QueryTable, {
719
+ ref: "queryTable",
720
+ onQuery: _ctx.onTableQuery
721
+ }, null, 8, ["onQuery"])
722
+ ]),
723
+ _: 1
724
+ })
725
+ ]),
726
+ _: 1
727
+ }, 8, ["activeKey", "onChange"])) : createCommentVNode("", true)
728
+ ]),
729
+ _: 1
730
+ }, 8, ["spinning"])
731
+ ]),
732
+ _: 1
733
+ }, 8, ["spinning"]),
734
+ createVNode(_component_ExtendConfigModal, {
735
+ onRegister: _ctx.registerExtendConfigModal,
736
+ parentForm: _ctx.formAction,
737
+ onOk: _ctx.onExtConfigOk
738
+ }, null, 8, ["onRegister", "parentForm", "onOk"])
739
+ ]),
740
+ _: 1
741
+ }, 16, ["title", "confirmLoading", "onCancel", "onRegister"]);
742
+ }
743
+ var CgformModal = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
744
+ var CgformModal$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
745
+ __proto__: null,
746
+ "default": CgformModal
747
+ }, Symbol.toStringTag, { value: "Module" }));
748
+ export { CgformModal as C, doBatchRemove as a, doBatchDelete as b, doDatabaseSync as c, doCopyOnlineView as d, doCopyTable as e, CgformModal$1 as f, list as l };