@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/OnlineForm.js ADDED
@@ -0,0 +1,809 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ var __async = (__this, __arguments, generator) => {
18
+ return new Promise((resolve, reject) => {
19
+ var fulfilled = (value) => {
20
+ try {
21
+ step(generator.next(value));
22
+ } catch (e) {
23
+ reject(e);
24
+ }
25
+ };
26
+ var rejected = (value) => {
27
+ try {
28
+ step(generator.throw(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ };
33
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
34
+ step((generator = generator.apply(__this, __arguments)).next());
35
+ });
36
+ };
37
+ import { useMessage } from "/@/hooks/web/useMessage";
38
+ import { reactive, ref, computed, resolveComponent, openBlock, createElementBlock, createVNode, createBlock, withCtx, Fragment, renderList, normalizeStyle, createCommentVNode, renderSlot, unref, nextTick, toRaw } from "vue";
39
+ import { BasicForm, useForm } from "/@/components/Form/index";
40
+ import { V as VALIDATE_FAILED, S as SUBMIT_FLOW_KEY, a as SUBMIT_FLOW_ID } from "./FormSchemaFactory.js";
41
+ import { defHttp } from "/@/utils/http/axios";
42
+ import { u as useOnlineFormContext, a as useFormItems, l as loadFormFieldsDefVal, g as getRefPromise } from "./useAutoForm.js";
43
+ import { Loading } from "/@/components/Loading";
44
+ import OnlineSubForm from "./OnlineSubForm.js";
45
+ import { _ as _export_sfc } from "./index.js";
46
+ import { p as pick } from "./pick.js";
47
+ function useEnhance(onlineTableContext, isList = true) {
48
+ let EnhanceJS = reactive({});
49
+ const getAction = (url, params) => {
50
+ return defHttp.get({ url, params }, { isTransformResponse: false });
51
+ };
52
+ const postAction = (url, params) => {
53
+ return defHttp.post({ url, params }, { isTransformResponse: false });
54
+ };
55
+ const putAction = (url, params) => {
56
+ return defHttp.put({ url, params }, { isTransformResponse: false });
57
+ };
58
+ const deleteAction = (url, params) => {
59
+ return defHttp.delete({ url, params }, { isTransformResponse: false });
60
+ };
61
+ if (isList === true) {
62
+ onlineTableContext["_getAction"] = getAction;
63
+ onlineTableContext["_postAction"] = postAction;
64
+ onlineTableContext["_putAction"] = putAction;
65
+ onlineTableContext["_deleteAction"] = deleteAction;
66
+ } else {
67
+ onlineTableContext.addObject2Context("_getAction", getAction);
68
+ onlineTableContext.addObject2Context("_postAction", postAction);
69
+ onlineTableContext.addObject2Context("_putAction", putAction);
70
+ onlineTableContext.addObject2Context("_deleteAction", deleteAction);
71
+ }
72
+ function initCgEnhanceJs(str) {
73
+ if (str) {
74
+ let Obj = eval("(" + str + ")");
75
+ return new Obj(getAction, postAction, deleteAction);
76
+ } else {
77
+ return {};
78
+ }
79
+ }
80
+ function triggerJsFun(that, buttonCode) {
81
+ if (EnhanceJS && EnhanceJS[buttonCode]) {
82
+ EnhanceJS[buttonCode](that);
83
+ }
84
+ }
85
+ function customBeforeSubmit(that, formData) {
86
+ if (EnhanceJS && EnhanceJS["beforeSubmit"]) {
87
+ return EnhanceJS["beforeSubmit"](that, formData);
88
+ } else {
89
+ return Promise.resolve();
90
+ }
91
+ }
92
+ function beforeDelete(that, record) {
93
+ if (EnhanceJS && EnhanceJS["beforeDelete"]) {
94
+ return EnhanceJS["beforeDelete"](that, record);
95
+ } else {
96
+ return Promise.resolve();
97
+ }
98
+ }
99
+ if (isList === true) {
100
+ if (onlineTableContext) {
101
+ onlineTableContext["beforeDelete"] = (record) => {
102
+ const onlEnhanceJS = onlineTableContext["EnhanceJS"];
103
+ if (onlEnhanceJS && onlEnhanceJS["beforeDelete"]) {
104
+ return onlEnhanceJS["beforeDelete"](onlineTableContext, record);
105
+ } else {
106
+ return Promise.resolve();
107
+ }
108
+ };
109
+ onlineTableContext["beforeEdit"] = (record) => {
110
+ const onlEnhanceJS = onlineTableContext["EnhanceJS"];
111
+ if (onlEnhanceJS && onlEnhanceJS["beforeEdit"]) {
112
+ return onlEnhanceJS["beforeEdit"](onlineTableContext, record);
113
+ } else {
114
+ return Promise.resolve();
115
+ }
116
+ };
117
+ }
118
+ }
119
+ return {
120
+ EnhanceJS,
121
+ initCgEnhanceJs,
122
+ customBeforeSubmit,
123
+ beforeDelete,
124
+ triggerJsFun
125
+ };
126
+ }
127
+ const urlObject = {
128
+ optPre: "/online/cgform/api/form/",
129
+ urlButtonAction: "/online/cgform/api/doButton"
130
+ };
131
+ const _sfc_main = {
132
+ name: "OnlineForm",
133
+ components: {
134
+ BasicForm,
135
+ Loading,
136
+ OnlineSubForm
137
+ },
138
+ props: {
139
+ id: {
140
+ type: String,
141
+ default: ""
142
+ },
143
+ formTemplate: {
144
+ type: Number,
145
+ default: 1
146
+ },
147
+ disabled: {
148
+ type: Boolean,
149
+ default: false
150
+ },
151
+ isTree: {
152
+ type: Boolean,
153
+ default: false
154
+ },
155
+ pidField: {
156
+ type: String,
157
+ default: ""
158
+ }
159
+ },
160
+ emits: ["success", "rendered"],
161
+ setup(props, { emit }) {
162
+ console.log("onlineForm-setup\u300B\u300B");
163
+ const { createMessage: $message } = useMessage();
164
+ const onlineFormRef = ref(null);
165
+ const single = ref(true);
166
+ const loading = ref(false);
167
+ const tableType = ref(1);
168
+ const customEditSubmitUrl = ref("");
169
+ const submitFlowFlag = ref(false);
170
+ const isUpdate = ref(false);
171
+ const onlineExtConfigJson = reactive({
172
+ reportPrintShow: 0,
173
+ reportPrintUrl: "",
174
+ joinQuery: 0,
175
+ modelFullscreen: 0,
176
+ modalMinWidth: ""
177
+ });
178
+ const { onlineFormContext, resetContext } = useOnlineFormContext();
179
+ const {
180
+ formSchemas,
181
+ defaultValueFields,
182
+ changeDataIfArray2String,
183
+ tableName,
184
+ dbData,
185
+ checkOnlyFieldValue,
186
+ hasSubTable,
187
+ subTabInfo,
188
+ refMap,
189
+ subDataSource,
190
+ baseColProps,
191
+ createFormSchemas,
192
+ linkDownList,
193
+ fieldDisplayStatus
194
+ } = useFormItems(props, onlineFormRef);
195
+ let { EnhanceJS: EnhanceJS2, initCgEnhanceJs: initCgEnhanceJs2 } = useEnhance(onlineFormContext, false);
196
+ const [registerForm, { setProps, validate, resetFields, setFieldsValue, updateSchema, getFieldsValue, scrollToField }] = useForm({
197
+ schemas: formSchemas,
198
+ showActionButtonGroup: false,
199
+ baseColProps
200
+ });
201
+ const onlineFormDisabled = ref(false);
202
+ function handleFormDisabled() {
203
+ let flag = props.disabled;
204
+ onlineFormDisabled.value = flag;
205
+ setProps({ disabled: flag });
206
+ }
207
+ function show(status, record, param) {
208
+ return __async(this, null, function* () {
209
+ console.log("\u65B0\u589E\u7F16\u8F91\u8FDB\u5165\u8868\u5355\u300B\u300Bform", record);
210
+ yield updatePidFieldDict();
211
+ customEditSubmitUrl.value = "";
212
+ yield resetFields();
213
+ dbData.value = "";
214
+ let flag = unref(status);
215
+ isUpdate.value = flag;
216
+ if (flag) {
217
+ yield edit(record);
218
+ } else {
219
+ editSubVxeTableData();
220
+ }
221
+ nextTick(() => {
222
+ if (!flag && param) {
223
+ setFieldsValue(param);
224
+ }
225
+ handleDefaultValue();
226
+ handleCgButtonClick("js", "loaded");
227
+ handleFormDisabled();
228
+ });
229
+ });
230
+ }
231
+ function updatePidFieldDict() {
232
+ return __async(this, null, function* () {
233
+ if (props.isTree === true) {
234
+ let pidFieldName = props.pidField;
235
+ let arr = formSchemas.value;
236
+ if (arr && arr.length > 0) {
237
+ let temp = arr.filter((item) => item.field === pidFieldName);
238
+ if (temp.length > 0) {
239
+ yield updateSchema({
240
+ field: pidFieldName,
241
+ componentProps: {
242
+ reload: new Date().getTime()
243
+ }
244
+ });
245
+ }
246
+ } else {
247
+ console.log("\u6CA1\u6709\u62FF\u5230\u8868\u5355\u914D\u7F6E\u4FE1\u606F\uFF0C\u53EF\u80FD\u662F\u7B2C\u4E00\u6B21\u6253\u5F00\u65B0\u589E\u9875\u9762");
248
+ }
249
+ }
250
+ });
251
+ }
252
+ function handleDefaultValue() {
253
+ if (unref(isUpdate) === false) {
254
+ let fieldProperties = toRaw(defaultValueFields[tableName.value]);
255
+ loadFormFieldsDefVal(fieldProperties, (values) => {
256
+ setFieldsValue(values);
257
+ });
258
+ }
259
+ }
260
+ function handleSubTableDefaultValue(sub, $event) {
261
+ let subFieldProperties = toRaw(defaultValueFields[sub.key]);
262
+ loadFormFieldsDefVal(subFieldProperties, (values) => {
263
+ const { row, target } = $event;
264
+ let v = [{ rowKey: row.id, values: __spreadValues({}, values) }];
265
+ target.ctx.setValues(v);
266
+ });
267
+ }
268
+ function edit(record) {
269
+ return __async(this, null, function* () {
270
+ let formData = yield getFormData(record.id);
271
+ dbData.value = Object.assign({}, record);
272
+ let arr = realFormFieldNames.value;
273
+ yield setFieldsValue(pick(formData, ...arr));
274
+ editSubVxeTableData(formData);
275
+ });
276
+ }
277
+ function editSubVxeTableData(record) {
278
+ if (!record) {
279
+ record = {};
280
+ }
281
+ let keys = Object.keys(subDataSource.value);
282
+ if (keys && keys.length > 0) {
283
+ let obj = {};
284
+ for (let key of keys) {
285
+ obj[key] = record[key] || [];
286
+ }
287
+ subDataSource.value = obj;
288
+ }
289
+ }
290
+ let realFormFieldNames = computed(() => {
291
+ let arr = formSchemas.value;
292
+ let names = [];
293
+ for (let a of arr) {
294
+ names.push(a.field);
295
+ }
296
+ return names;
297
+ });
298
+ function getFormData(dataId) {
299
+ let url = `${urlObject.optPre}${props.id}/${dataId}`;
300
+ return new Promise((resolve, reject) => {
301
+ defHttp.get({ url }, { isTransformResponse: false }).then((res) => {
302
+ if (res.success) {
303
+ resolve(res.result);
304
+ } else {
305
+ reject();
306
+ $message.warning(res.message);
307
+ }
308
+ }).catch(() => {
309
+ reject();
310
+ });
311
+ });
312
+ }
313
+ function createRootProperties(data) {
314
+ return __async(this, null, function* () {
315
+ tableType.value = data.head.tableType;
316
+ tableName.value = data.head.tableName;
317
+ single.value = data.head.tableType == 1;
318
+ handleExtConfigJson(data.head.extConfigJson);
319
+ createFormSchemas(data.schema.properties, data.schema.required, checkOnlyFieldValue);
320
+ EnhanceJS2 = initCgEnhanceJs2(data.enhanceJs);
321
+ emit("rendered", onlineExtConfigJson);
322
+ let formRefObject = yield getRefPromise(onlineFormRef);
323
+ formRefObject.$formValueChange = (field, value) => {
324
+ onValuesChange(field, value);
325
+ };
326
+ });
327
+ }
328
+ function handleExtConfigJson(jsonStr) {
329
+ let extConfigJson = { "reportPrintShow": 0, "reportPrintUrl": "", "joinQuery": 0, "modelFullscreen": 1, "modalMinWidth": "" };
330
+ if (jsonStr) {
331
+ extConfigJson = JSON.parse(jsonStr);
332
+ }
333
+ Object.keys(extConfigJson).map((k) => {
334
+ onlineExtConfigJson[k] = extConfigJson[k];
335
+ });
336
+ }
337
+ function handleSubmit() {
338
+ if (single.value === true) {
339
+ handleSingleSubmit();
340
+ } else {
341
+ handleOne2ManySubmit();
342
+ }
343
+ }
344
+ function handleOne2ManySubmit() {
345
+ validateAll().then((formData) => {
346
+ handleApplyRequest(formData);
347
+ });
348
+ }
349
+ function validateAll() {
350
+ let temp = {};
351
+ return new Promise((resolve, reject) => {
352
+ validate().then((values) => resolve(values), ({ errorFields }) => {
353
+ if (errorFields && errorFields.length > 0) {
354
+ scrollToField(errorFields[0][0]);
355
+ }
356
+ reject(VALIDATE_FAILED);
357
+ });
358
+ }).then((result) => {
359
+ Object.assign(temp, changeDataIfArray2String(result));
360
+ return validateSubTableFields();
361
+ }).then((allTableData) => {
362
+ Object.assign(temp, allTableData);
363
+ return Promise.resolve(temp);
364
+ }).catch((e) => {
365
+ if (e === VALIDATE_FAILED || (e == null ? void 0 : e.code) === VALIDATE_FAILED) {
366
+ $message.warning("\u6821\u9A8C\u672A\u901A\u8FC7");
367
+ if (e.key) {
368
+ changeTab(e.key);
369
+ }
370
+ } else {
371
+ console.error(e);
372
+ }
373
+ return Promise.reject(null);
374
+ });
375
+ }
376
+ function changeTab(key) {
377
+ let arr = subTabInfo.value;
378
+ for (let i = 0; i < arr.length; i++) {
379
+ if (key == arr[i].key) {
380
+ subActiveKey.value = i + "";
381
+ break;
382
+ }
383
+ }
384
+ }
385
+ function validateSubTableFields() {
386
+ return new Promise((resolve, reject) => __async(this, null, function* () {
387
+ let subData = {};
388
+ try {
389
+ let arr = subTabInfo.value;
390
+ for (let i = 0; i < arr.length; i++) {
391
+ let key = arr[i].key;
392
+ let instance = refMap[key].value;
393
+ if (instance instanceof Array) {
394
+ instance = instance[0];
395
+ }
396
+ if (arr[i].relationType == 1) {
397
+ try {
398
+ let subFormData = yield instance.getAll();
399
+ subData[key] = [];
400
+ subData[key].push(subFormData);
401
+ } catch (e) {
402
+ throw { code: VALIDATE_FAILED, key };
403
+ }
404
+ } else {
405
+ let errMap = yield instance.fullValidateTable();
406
+ if (errMap) {
407
+ throw { code: VALIDATE_FAILED, key };
408
+ }
409
+ subData[key] = instance.getTableData();
410
+ }
411
+ }
412
+ } catch (e) {
413
+ reject(e);
414
+ }
415
+ resolve(subData);
416
+ }));
417
+ }
418
+ function handleSingleSubmit() {
419
+ return __async(this, null, function* () {
420
+ try {
421
+ let values = yield validate();
422
+ values = Object.assign({}, dbData.value, values);
423
+ values = changeDataIfArray2String(values);
424
+ loading.value = true;
425
+ handleApplyRequest(values);
426
+ } finally {
427
+ loading.value = false;
428
+ }
429
+ });
430
+ }
431
+ function handleApplyRequest(formData) {
432
+ customBeforeSubmit2(context, formData).then(() => {
433
+ doApplyRequest(formData);
434
+ }).catch((msg) => {
435
+ $message.warning(msg);
436
+ });
437
+ }
438
+ function doApplyRequest(formData) {
439
+ Object.keys(formData).map((key) => {
440
+ if (Array.isArray(formData[key])) {
441
+ if (formData[key].length == 0) {
442
+ formData[key] = "";
443
+ }
444
+ }
445
+ });
446
+ console.log("\u63D0\u4EA4\u8868\u5355\u6570\u636E\u300B\u300B\u300Bform:", formData);
447
+ let customUrl = customEditSubmitUrl.value;
448
+ let url = `${urlObject.optPre}${props.id}?tabletype=${tableType.value}`;
449
+ if (customUrl) {
450
+ url = `${customUrl}?tabletype=${tableType.value}`;
451
+ }
452
+ if (submitFlowFlag.value === true) {
453
+ formData[SUBMIT_FLOW_KEY] = 1;
454
+ }
455
+ let method = isUpdate.value === true ? "put" : "post";
456
+ defHttp.request({ url, method, params: formData }, { isTransformResponse: false }).then((res) => {
457
+ if (res.success) {
458
+ if (res.result) {
459
+ formData[SUBMIT_FLOW_ID] = res.result;
460
+ }
461
+ emit("success", formData);
462
+ $message.success(res.message);
463
+ } else {
464
+ $message.warning(res.message);
465
+ }
466
+ }).finally(() => {
467
+ loading.value = false;
468
+ });
469
+ }
470
+ function triggleChangeValues(values, id, target) {
471
+ if (id && target) {
472
+ if (target.setValues) {
473
+ target.setValues(values);
474
+ } else {
475
+ target.ctx.setValues([{
476
+ rowKey: id,
477
+ values
478
+ }]);
479
+ }
480
+ } else {
481
+ setFieldsValue(values);
482
+ }
483
+ }
484
+ function triggleChangeValue(field, value) {
485
+ let obj = {};
486
+ obj[field] = value;
487
+ setFieldsValue(obj);
488
+ }
489
+ const subActiveKey = ref("0");
490
+ const subFormHeight = ref(300);
491
+ const subTableHeight = ref(340);
492
+ function getSubTableForeignKeyValue(key) {
493
+ if (isUpdate.value === true) {
494
+ let formData = dbData.value;
495
+ return getValueIgnoreCase(formData, key);
496
+ }
497
+ return "";
498
+ }
499
+ function getValueIgnoreCase(data, key) {
500
+ if (data) {
501
+ let temp = data[key];
502
+ if (!temp && temp !== 0) {
503
+ temp = data[key.toLowerCase()];
504
+ if (!temp && temp !== 0) {
505
+ temp = data[key.toUpperCase()];
506
+ }
507
+ }
508
+ return temp;
509
+ }
510
+ return "";
511
+ }
512
+ function handleSubFormChange(valueObj, tableKey) {
513
+ if (EnhanceJS2 && EnhanceJS2[tableKey + "_onlChange"]) {
514
+ let tableChangeObj = EnhanceJS2[tableKey + "_onlChange"]();
515
+ let columnKey = Object.keys(valueObj)[0];
516
+ if (tableChangeObj[columnKey]) {
517
+ let subRef = refMap[tableKey].value;
518
+ if (subRef instanceof Array) {
519
+ subRef = subRef[0];
520
+ }
521
+ let formEvent = subRef.getFormEvent();
522
+ let event = __spreadValues({
523
+ column: { key: columnKey },
524
+ value: valueObj[columnKey]
525
+ }, formEvent);
526
+ tableChangeObj[columnKey].call(onlineFormContext, onlineFormContext, event);
527
+ }
528
+ }
529
+ }
530
+ function handleValueChange(event, tableKey) {
531
+ if (EnhanceJS2 && EnhanceJS2[tableKey + "_onlChange"]) {
532
+ let tableChangeObj = EnhanceJS2[tableKey + "_onlChange"](onlineFormContext);
533
+ if (tableChangeObj[event.column.key]) {
534
+ tableChangeObj[event.column.key].call(onlineFormContext, onlineFormContext, event);
535
+ }
536
+ }
537
+ }
538
+ function handleAdded(event) {
539
+ event.target.emit("executeFillRule", event);
540
+ }
541
+ function getSubTableAuthPre(table) {
542
+ return "online_" + table + ":";
543
+ }
544
+ function onValuesChange(columnKey, value) {
545
+ return __async(this, null, function* () {
546
+ if (!EnhanceJS2 || !EnhanceJS2["onlChange"]) {
547
+ return false;
548
+ }
549
+ if (!columnKey) {
550
+ return false;
551
+ }
552
+ let tableChangeObj = EnhanceJS2["onlChange"]();
553
+ if (tableChangeObj[columnKey]) {
554
+ let formData = yield getFieldsValue();
555
+ let event = {
556
+ row: formData,
557
+ column: { key: columnKey },
558
+ value
559
+ };
560
+ tableChangeObj[columnKey].call(onlineFormContext, onlineFormContext, event);
561
+ }
562
+ });
563
+ }
564
+ function handleCgButtonClick(optType, buttonCode) {
565
+ if (optType == "js") {
566
+ if (EnhanceJS2 && EnhanceJS2[buttonCode]) {
567
+ EnhanceJS2[buttonCode].call(onlineFormContext, onlineFormContext);
568
+ }
569
+ } else if (optType == "action") {
570
+ let formData = dbData.value;
571
+ let params = {
572
+ formId: props.id,
573
+ buttonCode,
574
+ dataId: formData.id,
575
+ uiFormData: Object.assign({}, formData)
576
+ };
577
+ defHttp.post({
578
+ url: `${urlObject.urlButtonAction}`,
579
+ params
580
+ }, { isTransformResponse: false }).then((res) => {
581
+ if (res.success) {
582
+ $message.success("\u5904\u7406\u5B8C\u6210!");
583
+ } else {
584
+ $message.warning("\u5904\u7406\u5931\u8D25!");
585
+ }
586
+ });
587
+ }
588
+ }
589
+ function clearSubRows(tbname) {
590
+ let instance = refMap[tbname].value;
591
+ let rows = [...instance.getNewDataWithId(), ...subDataSource.value[tbname]];
592
+ if (!rows || rows.length == 0) {
593
+ return false;
594
+ }
595
+ let ids = [];
596
+ for (let i of rows) {
597
+ ids.push(i.id);
598
+ }
599
+ instance.removeRowsById(ids);
600
+ }
601
+ function addSubRows(tbname, rows) {
602
+ if (!rows) {
603
+ return false;
604
+ }
605
+ let instance = refMap[tbname].value;
606
+ if (typeof rows == "object") {
607
+ instance.addRows(rows, true);
608
+ } else {
609
+ this.$message.error("\u6DFB\u52A0\u5B50\u8868\u6570\u636E,\u53C2\u6570\u4E0D\u8BC6\u522B!");
610
+ }
611
+ }
612
+ function clearThenAddRows(tbname, rows) {
613
+ clearSubRows(tbname);
614
+ addSubRows(tbname, rows);
615
+ }
616
+ function changeOptions(field, options) {
617
+ if (!options && options.length <= 0) {
618
+ options = [];
619
+ }
620
+ options.map((item) => {
621
+ if (!item.hasOwnProperty("label")) {
622
+ item["label"] = item.text;
623
+ }
624
+ });
625
+ updateSchema({
626
+ field,
627
+ componentProps: {
628
+ options
629
+ }
630
+ });
631
+ }
632
+ function customBeforeSubmit2(that, formData) {
633
+ if (EnhanceJS2 && EnhanceJS2["beforeSubmit"]) {
634
+ return EnhanceJS2["beforeSubmit"](that, formData);
635
+ } else {
636
+ return Promise.resolve();
637
+ }
638
+ }
639
+ function handleCustomFormSh(show2, hide) {
640
+ let plain = toRaw(fieldDisplayStatus);
641
+ if (show2 && show2.length > 0) {
642
+ Object.keys(plain).map((k) => {
643
+ if (!k.endsWith("_load") && show2.indexOf(k) < 0) {
644
+ fieldDisplayStatus[k] = false;
645
+ }
646
+ });
647
+ } else if (hide && hide.length > 0) {
648
+ Object.keys(plain).map((k) => {
649
+ if (hide.indexOf(k) >= 0) {
650
+ fieldDisplayStatus[k] = false;
651
+ }
652
+ });
653
+ }
654
+ }
655
+ function handleCustomFormEdit(record, editSubmitUrl) {
656
+ return __async(this, null, function* () {
657
+ console.log("\u81EA\u5B9A\u4E49\u5F39\u7A97\u6253\u5F00online\u8868\u5355\u300B\u300Bform", record);
658
+ customEditSubmitUrl.value = editSubmitUrl;
659
+ yield resetFields();
660
+ dbData.value = "";
661
+ isUpdate.value = true;
662
+ yield edit(record);
663
+ yield nextTick(() => {
664
+ handleCgButtonClick("js", "loaded");
665
+ });
666
+ });
667
+ }
668
+ function getSubTableInstance(tableName2) {
669
+ let instance = refMap[tableName2].value;
670
+ if (instance instanceof Array) {
671
+ instance = instance[0];
672
+ }
673
+ return instance;
674
+ }
675
+ let context = {
676
+ tableName,
677
+ loading,
678
+ subActiveKey,
679
+ onlineFormRef,
680
+ getFieldsValue,
681
+ setFieldsValue,
682
+ submitFlowFlag,
683
+ subFormHeight,
684
+ subTableHeight,
685
+ refMap,
686
+ triggleChangeValues,
687
+ triggleChangeValue,
688
+ sh: fieldDisplayStatus,
689
+ clearSubRows,
690
+ addSubRows,
691
+ clearThenAddRows,
692
+ changeOptions,
693
+ isUpdate,
694
+ getSubTableInstance
695
+ };
696
+ resetContext(context);
697
+ return {
698
+ tableName,
699
+ onlineFormRef,
700
+ registerForm,
701
+ loading,
702
+ subActiveKey,
703
+ hasSubTable,
704
+ subTabInfo,
705
+ refMap,
706
+ subFormHeight,
707
+ getSubTableForeignKeyValue,
708
+ isUpdate,
709
+ handleSubFormChange,
710
+ subTableHeight,
711
+ onlineFormDisabled,
712
+ subDataSource,
713
+ getSubTableAuthPre,
714
+ handleAdded,
715
+ handleSubTableDefaultValue,
716
+ handleValueChange,
717
+ show,
718
+ createRootProperties,
719
+ handleSubmit,
720
+ sh: fieldDisplayStatus,
721
+ handleCgButtonClick,
722
+ handleCustomFormSh,
723
+ handleCustomFormEdit
724
+ };
725
+ }
726
+ };
727
+ const _hoisted_1 = ["id"];
728
+ const _hoisted_2 = { key: 1 };
729
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
730
+ const _component_BasicForm = resolveComponent("BasicForm");
731
+ const _component_online_sub_form = resolveComponent("online-sub-form");
732
+ const _component_JVxeTable = resolveComponent("JVxeTable");
733
+ const _component_a_tab_pane = resolveComponent("a-tab-pane");
734
+ const _component_a_tabs = resolveComponent("a-tabs");
735
+ const _component_Loading = resolveComponent("Loading");
736
+ return openBlock(), createElementBlock("div", {
737
+ id: $setup.tableName + "_form"
738
+ }, [
739
+ createVNode(_component_BasicForm, {
740
+ ref: "onlineFormRef",
741
+ onRegister: $setup.registerForm
742
+ }, null, 8, ["onRegister"]),
743
+ $setup.hasSubTable ? (openBlock(), createBlock(_component_a_tabs, {
744
+ key: 0,
745
+ activeKey: $setup.subActiveKey,
746
+ "onUpdate:activeKey": _cache[0] || (_cache[0] = ($event) => $setup.subActiveKey = $event)
747
+ }, {
748
+ default: withCtx(() => [
749
+ (openBlock(true), createElementBlock(Fragment, null, renderList($setup.subTabInfo, (sub, index) => {
750
+ return openBlock(), createBlock(_component_a_tab_pane, {
751
+ tab: sub.describe,
752
+ key: index + "",
753
+ forceRender: true
754
+ }, {
755
+ default: withCtx(() => [
756
+ sub.relationType == 1 ? (openBlock(), createElementBlock("div", {
757
+ key: 0,
758
+ style: normalizeStyle({ "overflow-y": "auto", "overflow-x": "hidden", "max-height": $setup.subFormHeight + "px" })
759
+ }, [
760
+ createVNode(_component_online_sub_form, {
761
+ ref_for: true,
762
+ ref: $setup.refMap[sub.key],
763
+ table: sub.key,
764
+ disabled: $setup.onlineFormDisabled,
765
+ "form-template": $props.formTemplate,
766
+ "main-id": $setup.getSubTableForeignKeyValue(sub.foreignKey),
767
+ properties: sub.properties,
768
+ "required-fields": sub.requiredFields,
769
+ "is-update": $setup.isUpdate,
770
+ onFormChange: (arg) => $setup.handleSubFormChange(arg, sub.key)
771
+ }, null, 8, ["table", "disabled", "form-template", "main-id", "properties", "required-fields", "is-update", "onFormChange"])
772
+ ], 4)) : (openBlock(), createElementBlock("div", _hoisted_2, [
773
+ createVNode(_component_JVxeTable, {
774
+ ref_for: true,
775
+ ref: $setup.refMap[sub.key],
776
+ toolbar: "",
777
+ "keep-source": "",
778
+ "row-number": "",
779
+ "row-selection": "",
780
+ height: $setup.subTableHeight,
781
+ disabled: $setup.onlineFormDisabled,
782
+ columns: sub.columns,
783
+ dataSource: $setup.subDataSource[sub.key],
784
+ onValueChange: (event) => $setup.handleValueChange(event, sub.key),
785
+ authPre: $setup.getSubTableAuthPre(sub.key),
786
+ onAdded: $setup.handleAdded,
787
+ onExecuteFillRule: ($event) => $setup.handleSubTableDefaultValue(sub, $event)
788
+ }, null, 8, ["height", "disabled", "columns", "dataSource", "onValueChange", "authPre", "onAdded", "onExecuteFillRule"])
789
+ ]))
790
+ ]),
791
+ _: 2
792
+ }, 1032, ["tab"]);
793
+ }), 128))
794
+ ]),
795
+ _: 1
796
+ }, 8, ["activeKey"])) : createCommentVNode("", true),
797
+ createVNode(_component_Loading, {
798
+ loading: $setup.loading,
799
+ absolute: false
800
+ }, null, 8, ["loading"]),
801
+ renderSlot(_ctx.$slots, "bottom")
802
+ ], 8, _hoisted_1);
803
+ }
804
+ var OnlineForm = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
805
+ var OnlineForm$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
806
+ __proto__: null,
807
+ "default": OnlineForm
808
+ }, Symbol.toStringTag, { value: "Module" }));
809
+ export { OnlineForm as O, OnlineForm$1 as a, useEnhance as u };