@jeecg/online 1.0.1 → 3.4.3-beta

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 (91) hide show
  1. package/AuthButtonConfig.js +14 -7
  2. package/AuthButtonTree.js +3 -5
  3. package/AuthDataConfig.js +9 -6
  4. package/AuthDataTree.js +3 -5
  5. package/AuthFieldConfig.js +15 -12
  6. package/AuthFieldTree.js +24 -18
  7. package/AuthManagerDrawer.js +1 -1
  8. package/AuthSetterModal.js +1 -0
  9. package/CgformCopyList.js +34 -22
  10. package/CgformModal.js +57 -50
  11. package/CgreportModal.js +32 -39
  12. package/CheckDictTable.js +144 -24
  13. package/CodeFileListModal.js +175 -0
  14. package/CodeFileViewModal.js +325 -0
  15. package/CodeGeneratorModal.js +41 -38
  16. package/CustomButtonList.js +19 -22
  17. package/DBAttributeTable.js +248 -12
  18. package/DbToOnlineModal.js +27 -25
  19. package/DetailForm.js +605 -0
  20. package/EnhanceJavaModal.js +11 -17
  21. package/EnhanceJsHistory.js +6 -8
  22. package/EnhanceJsModal.js +9 -16
  23. package/EnhanceSqlModal.js +11 -17
  24. package/ExtendConfigModal.js +24 -15
  25. package/ForeignKeyTable.js +4 -3
  26. package/FormSchemaFactory.js +163 -30
  27. package/IndexTable.js +6 -5
  28. package/JModalTip.js +54 -0
  29. package/JOnlineSearchSelect.js +18 -10
  30. package/LeftDepart.js +1 -1
  31. package/LeftRole.js +7 -4
  32. package/LeftUser.js +7 -4
  33. package/LinkTableConfigModal.js +289 -0
  34. package/LinkTableFieldConfigModal.js +218 -0
  35. package/LinkTableListPiece.js +36 -0
  36. package/ModalFormDemo.js +3 -2
  37. package/OnlineAutoList.js +154 -55
  38. package/OnlineAutoModal.js +88 -131
  39. package/OnlineAutoTreeList.js +93 -53
  40. package/OnlineCustomModal.js +30 -14
  41. package/OnlineDetailModal.js +184 -0
  42. package/OnlineForm.js +259 -141
  43. package/OnlineFormDetail.js +326 -0
  44. package/OnlineQueryForm.js +72 -40
  45. package/OnlineSearchFormItem.js +26 -18
  46. package/OnlineSelectCascade.js +67 -53
  47. package/OnlineSubFormDetail.js +167 -0
  48. package/OnlineSuperQuery.js +69 -74
  49. package/OnlineSuperQueryValComponent.js +1 -0
  50. package/OnlineSuperQueryValComponent.vue_vue_type_script_lang.js +1 -17
  51. package/PageAttributeTable.js +233 -30
  52. package/ProcessOnlineForm.js +41 -16
  53. package/QueryTable.js +4 -3
  54. package/README.md +3 -8
  55. package/_arrayPush.js +5 -3
  56. package/{cloneDeep.js → _baseClone.js} +5 -9
  57. package/_baseSlice.js +18 -0
  58. package/_commonjsHelpers.js +5 -0
  59. package/_flatRest.js +174 -0
  60. package/auth.data.js +1 -3
  61. package/cgform.data.js +18 -9
  62. package/enhance.api.js +27 -18
  63. package/index.js +16 -6
  64. package/index2.js +48 -45
  65. package/index3.js +29 -26
  66. package/isArray.js +1 -1
  67. package/omit.js +60 -0
  68. package/package.json +1 -1
  69. package/pick.js +3 -173
  70. package/style.css +1 -1
  71. package/toString.js +2 -2
  72. package/useAutoForm.js +3437 -3791
  73. package/useCgformList.js +44 -31
  74. package/{useTableColumns.js → useListButton.js} +212 -407
  75. package/useOnlineTest.js +5 -26827
  76. package/useSchemas.js +364 -230
  77. package/useTableSync.js +19 -7
  78. package/ChartAutoRender.js +0 -69
  79. package/ChartDoubleRender.js +0 -154
  80. package/ChartSingleRender.js +0 -132
  81. package/ChartTabsRender.js +0 -218
  82. package/ErrorTip.js +0 -21
  83. package/FieldTable.js +0 -185
  84. package/GraphreportAutoChart.js +0 -352
  85. package/GraphreportList.js +0 -239
  86. package/GraphreportModal.js +0 -559
  87. package/OnlineSubForm.js +0 -200
  88. package/ParamsTable.js +0 -71
  89. package/graphreport.api.js +0 -23
  90. package/useChartRender.js +0 -405
  91. package/useMessageOnline.js +0 -71
@@ -35,7 +35,7 @@ var __async = (__this, __arguments, generator) => {
35
35
  });
36
36
  };
37
37
  import { formatToDate } from "/@/utils/dateUtil";
38
- import { defineComponent, ref, nextTick, resolveComponent, openBlock, createBlock, withCtx, createVNode, normalizeClass, createElementVNode, toDisplayString, createTextVNode } from "vue";
38
+ import { defineComponent, ref, nextTick, resolveComponent, openBlock, createBlock, withCtx, createVNode, createTextVNode, normalizeClass, createElementVNode, toDisplayString } from "vue";
39
39
  import { BasicModal, useModalInner } from "/@/components/Modal";
40
40
  import { JCodeEditor } from "/@/components/Form";
41
41
  import "/@/store";
@@ -126,9 +126,7 @@ const _sfc_main = defineComponent({
126
126
  };
127
127
  }
128
128
  });
129
- const _hoisted_1 = /* @__PURE__ */ createTextVNode("\u4FDD\u5B58\u65F6\u95F4");
130
- const _hoisted_2 = ["onClick"];
131
- const _hoisted_3 = /* @__PURE__ */ createTextVNode("\u5173\u95ED");
129
+ const _hoisted_1 = ["onClick"];
132
130
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
133
131
  const _component_a_divider = resolveComponent("a-divider");
134
132
  const _component_a_list_item = resolveComponent("a-list-item");
@@ -152,7 +150,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
152
150
  footer: withCtx(() => [
153
151
  createVNode(_component_a_button, { onClick: _ctx.onCancel }, {
154
152
  default: withCtx(() => [
155
- _hoisted_3
153
+ createTextVNode("\u5173\u95ED")
156
154
  ]),
157
155
  _: 1
158
156
  }, 8, ["onClick"])
@@ -173,7 +171,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
173
171
  createElementVNode("div", null, [
174
172
  createVNode(_component_a_divider, { style: { "margin": "0" } }, {
175
173
  default: withCtx(() => [
176
- _hoisted_1
174
+ createTextVNode("\u4FDD\u5B58\u65F6\u95F4")
177
175
  ]),
178
176
  _: 1
179
177
  })
@@ -186,7 +184,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
186
184
  default: withCtx(() => [
187
185
  createElementVNode("a", {
188
186
  onClick: ($event) => _ctx.fullCode(item)
189
- }, toDisplayString(_ctx.getFormatDate(item.date)), 9, _hoisted_2)
187
+ }, toDisplayString(_ctx.getFormatDate(item.date)), 9, _hoisted_1)
190
188
  ]),
191
189
  _: 2
192
190
  }, 1032, ["class"])
@@ -223,7 +221,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
223
221
  _: 1
224
222
  }, 8, ["onRegister", "confirmLoading", "onCancel"]);
225
223
  }
226
- var EnhanceJsHistory = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-3b0bad10"]]);
224
+ var EnhanceJsHistory = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-3e3ee46a"]]);
227
225
  var EnhanceJsHistory$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
228
226
  __proto__: null,
229
227
  "default": EnhanceJsHistory
package/EnhanceJsModal.js CHANGED
@@ -18,7 +18,7 @@ var __async = (__this, __arguments, generator) => {
18
18
  step((generator = generator.apply(__this, __arguments)).next());
19
19
  });
20
20
  };
21
- import { defineComponent, ref, reactive, resolveComponent, openBlock, createBlock, withCtx, createVNode, createCommentVNode, createTextVNode } from "vue";
21
+ import { defineComponent, ref, reactive, resolveComponent, openBlock, createBlock, withCtx, createVNode, createTextVNode, createCommentVNode } from "vue";
22
22
  import { BasicModal, useModalInner, useModal } from "/@/components/Modal";
23
23
  import { JCodeEditor } from "/@/components/Form";
24
24
  import { u as useOnlineTest } from "./useOnlineTest.js";
@@ -26,11 +26,11 @@ import { E as EnhanceJsHistory, u as useEnhanceStore } from "./EnhanceJsHistory.
26
26
  import { g as getEnhanceJsByCode, s as saveEnhanceJs } from "./enhance.api.js";
27
27
  import { useMessage } from "/@/hooks/web/useMessage";
28
28
  import { _ as _export_sfc } from "./index.js";
29
- import "/@/utils/http/axios";
30
- import "/@/utils/cache";
31
29
  import "/@/utils/dateUtil";
32
30
  import "/@/store";
33
31
  import "pinia";
32
+ import "/@/utils/cache";
33
+ import "/@/utils/http/axios";
34
34
  import "/@/utils/is";
35
35
  import "/@/components/jeecg/OnLine/JPopupOnlReport.vue";
36
36
  import "vue-router";
@@ -56,7 +56,7 @@ const _sfc_main = defineComponent({
56
56
  show(data.row);
57
57
  }));
58
58
  const [registerEnhanceJsHistory, enhanceJsHistory] = useModal();
59
- const { aiTestMode, genEnhanceJsData } = useOnlineTest({}, {}, null);
59
+ const { aiTestMode, genEnhanceJsData } = useOnlineTest();
60
60
  function show(row) {
61
61
  code.value = row.id;
62
62
  codeChange.value = false;
@@ -80,10 +80,7 @@ const _sfc_main = defineComponent({
80
80
  }
81
81
  function onSubmit() {
82
82
  return __async(this, null, function* () {
83
- yield Promise.all([
84
- saveEnhanceJsByType("form"),
85
- saveEnhanceJsByType("list")
86
- ]);
83
+ yield Promise.all([saveEnhanceJsByType("form"), saveEnhanceJsByType("list")]);
87
84
  closeModal();
88
85
  $message.success("\u4FDD\u5B58\u6210\u529F");
89
86
  });
@@ -169,10 +166,6 @@ const _sfc_main = defineComponent({
169
166
  };
170
167
  }
171
168
  });
172
- const _hoisted_1 = /* @__PURE__ */ createTextVNode("\u5173\u95ED");
173
- const _hoisted_2 = /* @__PURE__ */ createTextVNode("\u786E\u5B9A");
174
- const _hoisted_3 = /* @__PURE__ */ createTextVNode("\u67E5\u770B\u5386\u53F2\u7248\u672C");
175
- const _hoisted_4 = /* @__PURE__ */ createTextVNode("\u751F\u6210\u6D4B\u8BD5\u6570\u636E");
176
169
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
177
170
  const _component_JCodeEditor = resolveComponent("JCodeEditor");
178
171
  const _component_a_tab_pane = resolveComponent("a-tab-pane");
@@ -192,7 +185,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
192
185
  default: withCtx(() => [
193
186
  createVNode(_component_a_button, { onClick: _ctx.onCancel }, {
194
187
  default: withCtx(() => [
195
- _hoisted_1
188
+ createTextVNode("\u5173\u95ED")
196
189
  ]),
197
190
  _: 1
198
191
  }, 8, ["onClick"]),
@@ -201,7 +194,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
201
194
  onClick: _ctx.onSubmit
202
195
  }, {
203
196
  default: withCtx(() => [
204
- _hoisted_2
197
+ createTextVNode("\u786E\u5B9A")
205
198
  ]),
206
199
  _: 1
207
200
  }, 8, ["onClick"])
@@ -215,7 +208,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
215
208
  onClick: _ctx.onShowHistory
216
209
  }, {
217
210
  default: withCtx(() => [
218
- _hoisted_3
211
+ createTextVNode("\u67E5\u770B\u5386\u53F2\u7248\u672C")
219
212
  ]),
220
213
  _: 1
221
214
  }, 8, ["onClick"])) : createCommentVNode("", true),
@@ -224,7 +217,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
224
217
  onClick: _ctx.onGenTestData
225
218
  }, {
226
219
  default: withCtx(() => [
227
- _hoisted_4
220
+ createTextVNode("\u751F\u6210\u6D4B\u8BD5\u6570\u636E")
228
221
  ]),
229
222
  _: 1
230
223
  }, 8, ["onClick"])) : createCommentVNode("", true)
@@ -34,7 +34,7 @@ var __async = (__this, __arguments, generator) => {
34
34
  step((generator = generator.apply(__this, __arguments)).next());
35
35
  });
36
36
  };
37
- import { defineComponent, ref, reactive, computed, resolveComponent, openBlock, createBlock, withCtx, createVNode, createElementBlock, createCommentVNode, normalizeProps, guardReactiveProps, createTextVNode, nextTick } from "vue";
37
+ import { defineComponent, ref, reactive, computed, resolveComponent, openBlock, createBlock, withCtx, createVNode, createTextVNode, createElementBlock, createCommentVNode, normalizeProps, guardReactiveProps, nextTick } from "vue";
38
38
  import { BasicModal, useModalInner, useModal } from "/@/components/Modal";
39
39
  import { BasicForm, useForm } from "/@/components/Form";
40
40
  import { BasicTable, TableAction } from "/@/components/Table";
@@ -43,15 +43,14 @@ import { u as useOnlineTest } from "./useOnlineTest.js";
43
43
  import { b as useSqlFormSchemas, c as useSqlColumns } from "./enhance.data.js";
44
44
  import { c as getEnhanceSqlByCode, e as saveEnhanceSql, f as doEnhanceSqlBatchDelete } from "./enhance.api.js";
45
45
  import { _ as _export_sfc } from "./index.js";
46
- import "/@/utils/http/axios";
47
- import "/@/hooks/web/useMessage";
48
- import "/@/utils/cache";
49
46
  import "./cgform.data.js";
50
47
  import "/@/utils/dict";
51
48
  import "/@/utils/dict/JDictSelectUtil";
52
49
  import "/@/utils/uuid";
50
+ import "/@/utils/http/axios";
53
51
  import "/@/utils/is";
54
52
  import "/@/components/jeecg/OnLine/JPopupOnlReport.vue";
53
+ import "/@/hooks/web/useMessage";
55
54
  import "vue-router";
56
55
  const _sfc_main = defineComponent({
57
56
  name: "EnhanceSqlModal",
@@ -83,7 +82,7 @@ const _sfc_main = defineComponent({
83
82
  tableName.value = data.row.tableName;
84
83
  reload();
85
84
  }));
86
- const { aiTestMode, genEnhanceSqlData } = useOnlineTest({}, { reload }, null);
85
+ const { aiTestMode, genEnhanceSqlData } = useOnlineTest();
87
86
  const [registerFormModal, formModal] = useModal();
88
87
  const isUpdate = ref(false);
89
88
  const formModalProps = reactive({
@@ -187,15 +186,10 @@ const _sfc_main = defineComponent({
187
186
  }
188
187
  }
189
188
  });
190
- const _hoisted_1 = /* @__PURE__ */ createTextVNode("\u65B0\u589E");
191
- const _hoisted_2 = /* @__PURE__ */ createTextVNode(" \u5220\u9664 ");
192
- const _hoisted_3 = /* @__PURE__ */ createTextVNode(" \u6279\u91CF\u64CD\u4F5C ");
193
- const _hoisted_4 = /* @__PURE__ */ createTextVNode("\u5173\u95ED");
194
- const _hoisted_5 = {
189
+ const _hoisted_1 = {
195
190
  key: 0,
196
191
  style: { "float": "left" }
197
192
  };
198
- const _hoisted_6 = /* @__PURE__ */ createTextVNode("\u751F\u6210\u6D4B\u8BD5\u6570\u636E");
199
193
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
200
194
  const _component_a_button = resolveComponent("a-button");
201
195
  const _component_a_icon = resolveComponent("a-icon");
@@ -217,14 +211,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
217
211
  footer: withCtx(() => [
218
212
  createVNode(_component_a_button, { onClick: _ctx.onCancel }, {
219
213
  default: withCtx(() => [
220
- _hoisted_4
214
+ createTextVNode("\u5173\u95ED")
221
215
  ]),
222
216
  _: 1
223
217
  }, 8, ["onClick"]),
224
- _ctx.aiTestMode ? (openBlock(), createElementBlock("div", _hoisted_5, [
218
+ _ctx.aiTestMode ? (openBlock(), createElementBlock("div", _hoisted_1, [
225
219
  createVNode(_component_a_button, { onClick: _ctx.onGenEnhanceSqlData }, {
226
220
  default: withCtx(() => [
227
- _hoisted_6
221
+ createTextVNode("\u751F\u6210\u6D4B\u8BD5\u6570\u636E")
228
222
  ]),
229
223
  _: 1
230
224
  }, 8, ["onClick"])
@@ -242,7 +236,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
242
236
  preIcon: "ant-design:plus"
243
237
  }, {
244
238
  default: withCtx(() => [
245
- _hoisted_1
239
+ createTextVNode("\u65B0\u589E")
246
240
  ]),
247
241
  _: 1
248
242
  }, 8, ["onClick"]),
@@ -256,7 +250,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
256
250
  }, {
257
251
  default: withCtx(() => [
258
252
  createVNode(_component_a_icon, { type: "delete" }),
259
- _hoisted_2
253
+ createTextVNode(" \u5220\u9664 ")
260
254
  ]),
261
255
  _: 1
262
256
  }, 8, ["onClick"])
@@ -267,7 +261,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
267
261
  default: withCtx(() => [
268
262
  createVNode(_component_a_button, { style: { "margin-left": "8px" } }, {
269
263
  default: withCtx(() => [
270
- _hoisted_3,
264
+ createTextVNode(" \u6279\u91CF\u64CD\u4F5C "),
271
265
  createVNode(_component_a_icon, { type: "down" })
272
266
  ]),
273
267
  _: 1
@@ -27,6 +27,8 @@ import { _ as _export_sfc } from "./index.js";
27
27
  import "ant-design-vue";
28
28
  import "@ant-design/icons-vue";
29
29
  import "/@/utils/common/compUtils";
30
+ import "/@/hooks/web/usePermission";
31
+ import "/@/utils/helper/validator";
30
32
  import "/@/components/jeecg/OnLine/JPopupOnlReport.vue";
31
33
  import "vue-router";
32
34
  var ExtendConfigModal_vue_vue_type_style_index_0_scoped_true_lang = "";
@@ -47,7 +49,7 @@ const _sfc_main = defineComponent({
47
49
  onJoinQueryChange,
48
50
  onReportPrintShowChange
49
51
  });
50
- const [registerForm, { resetFields, setFieldsValue, clearValidate, validate }] = useForm({
52
+ const [registerForm, { resetFields, setFieldsValue, getFieldsValue, clearValidate, validate }] = useForm({
51
53
  schemas: formSchemas,
52
54
  showActionButtonGroup: false,
53
55
  labelAlign: "right"
@@ -74,7 +76,7 @@ const _sfc_main = defineComponent({
74
76
  function onIsDesformChange(value) {
75
77
  if (value === "Y") {
76
78
  let { themeTemplate } = props.parentForm.getFieldsValue(["themeTemplate"]);
77
- if (themeTemplate === "erp") {
79
+ if ("erp" === themeTemplate) {
78
80
  props.parentForm.setFieldsValue({ themeTemplate: "normal" });
79
81
  $message.warning("\u8BF7\u6CE8\u610F\uFF1Aerp\u98CE\u683C\u4E0D\u652F\u6301\u5BF9\u63A5\u8868\u5355\u8BBE\u8BA1\uFF0C\u5DF2\u81EA\u52A8\u6539\u4E3A\u9ED8\u8BA4\u98CE\u683C\uFF01");
80
82
  }
@@ -82,33 +84,40 @@ const _sfc_main = defineComponent({
82
84
  clearValidate("desFormCode");
83
85
  }
84
86
  }
87
+ const defaultReportPrintUrl = `{{ window._CONFIG['domianURL'] }}/jmreport/view/{\u79EF\u6728\u62A5\u8868ID}`;
85
88
  function onReportPrintShowChange(value) {
86
- if (value === 0) {
89
+ return __async(this, null, function* () {
90
+ let reportPrintUrl = getFieldsValue()["reportPrintUrl"];
91
+ if (value === 0) {
92
+ if (reportPrintUrl === defaultReportPrintUrl) {
93
+ yield setFieldsValue({ reportPrintUrl: "" });
94
+ }
95
+ } else if (value === 1) {
96
+ if (reportPrintUrl === "") {
97
+ yield setFieldsValue({ reportPrintUrl: defaultReportPrintUrl });
98
+ }
99
+ }
87
100
  clearValidate("reportPrintUrl");
88
- }
101
+ });
89
102
  }
90
103
  function onJoinQueryChange(value) {
91
104
  if (value === 1) {
92
- let {
93
- themeTemplate,
94
- isTree,
95
- tableType
96
- } = props.parentForm.getFieldsValue(["themeTemplate", "isTree", "tableType"]);
97
- if (themeTemplate === "erp") {
105
+ let { themeTemplate, isTree, tableType } = props.parentForm.getFieldsValue(["themeTemplate", "isTree", "tableType"]);
106
+ if ("erp" === themeTemplate) {
98
107
  $message.warning("\u8BF7\u6CE8\u610F\uFF1Aerp\u98CE\u683C\u4E0D\u652F\u6301\u8054\u5408\u67E5\u8BE2\uFF0C\u914D\u7F6E\u65E0\u6548!");
99
108
  setFieldsValue({ joinQuery: 0 });
100
109
  }
101
- if (themeTemplate === "innerTable") {
110
+ if ("innerTable" === themeTemplate) {
102
111
  $message.warning("\u8BF7\u6CE8\u610F\uFF1A\u5185\u5D4C\u98CE\u683C\u4E0D\u652F\u6301\u8054\u5408\u67E5\u8BE2\uFF0C\u914D\u7F6E\u65E0\u6548!");
103
112
  setFieldsValue({ joinQuery: 0 });
104
113
  }
105
- if (tableType === 1) {
114
+ if (1 === tableType) {
106
115
  $message.warning("\u8BF7\u6CE8\u610F\uFF1A\u5355\u8868\u4E0D\u652F\u6301\u8054\u5408\u67E5\u8BE2\uFF0C\u914D\u7F6E\u65E0\u6548!");
107
116
  setFieldsValue({ joinQuery: 0 });
108
- } else if (tableType === 3) {
117
+ } else if (3 === tableType) {
109
118
  $message.warning("\u8BF7\u6CE8\u610F\uFF1A\u5F53\u524D\u8868\u4E3A\u9644\u8868\uFF0C\u8BF7\u5728\u5BF9\u5E94\u4E3B\u8868\u914D\u7F6E!");
110
119
  setFieldsValue({ joinQuery: 0 });
111
- } else if (isTree === "Y") {
120
+ } else if ("Y" === isTree) {
112
121
  $message.warning("\u8BF7\u6CE8\u610F\uFF1A\u6811\u5F62\u5217\u8868\u4E0D\u652F\u6301\u8054\u5408\u67E5\u8BE2\uFF0C\u914D\u7F6E\u65E0\u6548!");
113
122
  setFieldsValue({ joinQuery: 0 });
114
123
  }
@@ -138,5 +147,5 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
138
147
  _: 1
139
148
  }, 8, ["onRegister", "onOk", "onCancel"]);
140
149
  }
141
- var ExtendConfigModal = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-5fbb254e"]]);
150
+ var ExtendConfigModal = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-63fff65e"]]);
142
151
  export { ExtendConfigModal as default };
@@ -17,7 +17,7 @@ var __spreadValues = (a, b) => {
17
17
  return a;
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { defineComponent, ref, resolveComponent, openBlock, createBlock } from "vue";
20
+ import { defineComponent, ref, resolveComponent, openBlock, createBlock, mergeProps } from "vue";
21
21
  import { JVxeTypes } from "/@/components/jeecg/JVxeTable/types";
22
22
  import { u as useTableSync } from "./useTableSync.js";
23
23
  import { _ as _export_sfc } from "./index.js";
@@ -26,6 +26,7 @@ import "/@/utils/dict";
26
26
  import "/@/utils/dict/JDictSelectUtil";
27
27
  import "/@/utils/uuid";
28
28
  import "./pick.js";
29
+ import "./_flatRest.js";
29
30
  import "./isArray.js";
30
31
  import "./toString.js";
31
32
  import "./_arrayPush.js";
@@ -62,7 +63,7 @@ const _sfc_main = defineComponent({
62
63
  });
63
64
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
64
65
  const _component_JVxeTable = resolveComponent("JVxeTable");
65
- return openBlock(), createBlock(_component_JVxeTable, {
66
+ return openBlock(), createBlock(_component_JVxeTable, mergeProps({
66
67
  ref: "tableRef",
67
68
  rowNumber: "",
68
69
  keyboardEdit: "",
@@ -72,7 +73,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
72
73
  dataSource: _ctx.dataSource,
73
74
  disabled: !_ctx.actionButton,
74
75
  disabledRows: { dbFieldName: ["id", "has_child"] }
75
- }, null, 8, ["maxHeight", "loading", "columns", "dataSource", "disabled"]);
76
+ }, _ctx.tableProps), null, 16, ["maxHeight", "loading", "columns", "dataSource", "disabled"]);
76
77
  }
77
78
  var ForeignKeyTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
78
79
  export { ForeignKeyTable as default };
@@ -37,20 +37,22 @@ var __async = (__this, __arguments, generator) => {
37
37
  import { UploadTypeEnum } from "/@/components/Form/src/jeecg/components/JUpload";
38
38
  const SUBMIT_FLOW_KEY = "jeecg_submit_form_and_flow";
39
39
  const SUBMIT_FLOW_ID = "flow_submit_id";
40
+ const ONL_FORM_TABLE_NAME = "online_form_table_name";
40
41
  const VALIDATE_FAILED = "validate-failed";
41
42
  const SETUP = "setup";
42
43
  const ENHANCEJS = "EnhanceJS";
43
44
  const FORM_VIEW_TO_QUERY_VIEW = {
44
- "password": "text",
45
- "file": "text",
46
- "image": "text",
47
- "textarea": "text",
48
- "umeditor": "text",
49
- "markdown": "text",
50
- "checkbox": "list_multi",
51
- "radio": "list"
45
+ password: "text",
46
+ file: "text",
47
+ image: "text",
48
+ textarea: "text",
49
+ umeditor: "text",
50
+ markdown: "text",
51
+ checkbox: "list_multi",
52
+ radio: "list"
52
53
  };
53
54
  const POP_CONTAINER = ".jeecg-online-modal .ant-modal-content";
55
+ const ONL_AUTH_PRE = "online_";
54
56
  class IFormSchema {
55
57
  constructor(key, data) {
56
58
  this._data = data;
@@ -70,6 +72,7 @@ class IFormSchema {
70
72
  this.schemaProp = {};
71
73
  this.searchForm = false;
72
74
  this.disabled = false;
75
+ this.popContainer = "";
73
76
  this.handleWidgetAttr(data);
74
77
  }
75
78
  getFormItemSchema() {
@@ -81,7 +84,13 @@ class IFormSchema {
81
84
  let fs = {
82
85
  field: this.field,
83
86
  label: this.label,
84
- component: "Input"
87
+ labelLength: 4,
88
+ component: "Input",
89
+ itemProps: {
90
+ labelCol: {
91
+ class: "online-form-label"
92
+ }
93
+ }
85
94
  };
86
95
  let rules = this.getRule();
87
96
  if (rules.length > 0 && this.onlyValidator) {
@@ -154,12 +163,12 @@ class IFormSchema {
154
163
  rules.push({ required: true, message: msg });
155
164
  }
156
165
  }
157
- if (view == "sel_user") {
166
+ if ("sel_user" == view) {
158
167
  if (pattern === "only" && this.onlyValidator) {
159
168
  rules.push({ validator: this.onlyValidator });
160
169
  }
161
170
  }
162
- if (view === "list" || view === "radio" || view === "markdown" || view === "pca" || view.indexOf("sel") >= 0 || view === "time") {
171
+ if ("list" === view || "radio" === view || "markdown" === view || "pca" === view || view.indexOf("sel") >= 0 || "time" === view) {
163
172
  return rules;
164
173
  }
165
174
  if (view.indexOf("upload") >= 0 || view.indexOf("file") >= 0 || view.indexOf("image") >= 0) {
@@ -192,17 +201,17 @@ class IFormSchema {
192
201
  schema.componentProps.disabled = true;
193
202
  }
194
203
  if (!schema.componentProps.hasOwnProperty("onChange")) {
195
- schema.componentProps["onChange"] = (value) => {
204
+ schema.componentProps["onChange"] = (value, formData) => {
196
205
  if (value instanceof Event) {
197
206
  value = value.target.value;
198
207
  }
199
208
  if (value instanceof Array) {
200
209
  value = value.join(",");
201
210
  }
202
- if (!this.formRef.value.$formValueChange) {
211
+ if (!this.formRef || !this.formRef.value || !this.formRef.value.$formValueChange) {
203
212
  console.log("\u5F53\u524D\u8868\u5355\u65E0\u6CD5\u89E6\u53D1change\u4E8B\u4EF6,field\uFF1A" + this.field);
204
213
  } else {
205
- this.formRef.value.$formValueChange(this.field, value);
214
+ this.formRef.value.$formValueChange(this.field, value, formData);
206
215
  }
207
216
  };
208
217
  }
@@ -232,6 +241,8 @@ class IFormSchema {
232
241
  getPopContainer() {
233
242
  if (this.searchForm === true) {
234
243
  return "body";
244
+ } else if (this.popContainer) {
245
+ return `.${this.popContainer} .ant-modal-content`;
235
246
  } else {
236
247
  return POP_CONTAINER;
237
248
  }
@@ -245,6 +256,14 @@ class IFormSchema {
245
256
  }
246
257
  }
247
258
  }
259
+ setCustomPopContainer(modalClass) {
260
+ this.popContainer = modalClass;
261
+ }
262
+ getLinkFieldInfo() {
263
+ return "";
264
+ }
265
+ setOtherInfo(_arg) {
266
+ }
248
267
  }
249
268
  class InputWidget extends IFormSchema {
250
269
  getItem() {
@@ -276,6 +295,9 @@ class DateWidget extends IFormSchema {
276
295
  valueFormat: this.format,
277
296
  style: {
278
297
  width: "100%"
298
+ },
299
+ getPopupContainer: (_node) => {
300
+ return this.getModalAsContainer();
279
301
  }
280
302
  }
281
303
  });
@@ -285,23 +307,48 @@ class SelectWidget extends IFormSchema {
285
307
  constructor(key, data) {
286
308
  super(key, data);
287
309
  this.options = this.getOptions(data["enum"]);
310
+ this.dictTable = data["dictTable"];
311
+ this.dictText = data["dictText"];
312
+ this.dictCode = data["dictCode"];
288
313
  }
289
314
  getItem() {
290
315
  let item = super.getItem();
316
+ let component = this.getFormComponent();
317
+ let componentProps = this.getComponentProps();
291
318
  return Object.assign({}, item, {
292
- component: "Select",
293
- componentProps: {
294
- options: this.options,
295
- allowClear: true,
296
- style: {
297
- width: "100%"
298
- },
299
- getPopupContainer: (_node) => {
300
- return this.getModalAsContainer();
301
- }
302
- }
319
+ component,
320
+ componentProps
303
321
  });
304
322
  }
323
+ getFormComponent() {
324
+ if (this.options.length > 0) {
325
+ return "Select";
326
+ } else {
327
+ return "JDictSelectTag";
328
+ }
329
+ }
330
+ getComponentProps() {
331
+ let props = {
332
+ allowClear: true,
333
+ style: {
334
+ width: "100%"
335
+ },
336
+ getPopupContainer: (_node) => {
337
+ return this.getModalAsContainer();
338
+ }
339
+ };
340
+ if (this.options.length > 0) {
341
+ props["options"] = this.options;
342
+ } else {
343
+ if (!this.dictTable) {
344
+ props["dictCode"] = this.dictCode;
345
+ } else {
346
+ let temp = `${this.dictTable},${this.dictText},${this.dictCode}`;
347
+ props["dictCode"] = encodeURI(temp);
348
+ }
349
+ }
350
+ return props;
351
+ }
305
352
  getOptions(array) {
306
353
  if (!array || array.length == 0) {
307
354
  return [];
@@ -496,9 +543,10 @@ class TreeCategoryWidget extends IFormSchema {
496
543
  multiple: this.multi,
497
544
  pid: pidValue,
498
545
  back: this.textField,
499
- onChange: (_val, backVal) => {
546
+ onChange: (val, backVal) => {
500
547
  if (this.formRef) {
501
548
  this.formRef.value.setFieldsValue(backVal);
549
+ this.formRef.value.$formValueChange(this.field, val);
502
550
  }
503
551
  }
504
552
  };
@@ -572,7 +620,11 @@ class EditorWidget extends IFormSchema {
572
620
  let item = super.getItem();
573
621
  return Object.assign({}, item, {
574
622
  component: "JEditor",
575
- componentProps: {}
623
+ componentProps: {
624
+ options: {
625
+ auto_focus: false
626
+ }
627
+ }
576
628
  });
577
629
  }
578
630
  }
@@ -852,6 +904,83 @@ class NumberWidget extends IFormSchema {
852
904
  return props;
853
905
  }
854
906
  }
907
+ class LinkTableWidget extends IFormSchema {
908
+ constructor(key, data) {
909
+ super(key, data);
910
+ this.dictTable = data.dictTable;
911
+ this.dictText = data.dictText;
912
+ this.dictCode = data.dictCode;
913
+ this.view = data.view;
914
+ this.componentString = "";
915
+ this.linkFields = [];
916
+ }
917
+ getItem() {
918
+ let item = super.getItem();
919
+ const componentProps = this.getComponentProps();
920
+ return Object.assign({}, item, {
921
+ component: this.componentString,
922
+ componentProps
923
+ });
924
+ }
925
+ getComponentProps() {
926
+ let props = {
927
+ textField: this.dictText,
928
+ tableName: this.dictTable,
929
+ valueField: this.dictCode
930
+ };
931
+ let extend = this.getExtendData();
932
+ if (extend.multiSelect) {
933
+ props["multi"] = true;
934
+ } else {
935
+ props["multi"] = false;
936
+ }
937
+ if (extend.imageField) {
938
+ props["imageField"] = extend.imageField;
939
+ } else {
940
+ props["imageField"] = "";
941
+ }
942
+ if (extend.showType == "select") {
943
+ this.componentString = "LinkTableSelect";
944
+ let popContainer = this.getPopContainer();
945
+ props["popContainer"] = popContainer;
946
+ } else {
947
+ this.componentString = "LinkTableCard";
948
+ }
949
+ if (this.linkFields.length > 0) {
950
+ props["linkFields"] = this.linkFields;
951
+ }
952
+ return props;
953
+ }
954
+ setOtherInfo(arr) {
955
+ this.linkFields = arr;
956
+ }
957
+ }
958
+ class LinkTableFieldWidget extends IFormSchema {
959
+ constructor(key, data) {
960
+ super(key, data);
961
+ this.dictTable = data["dictTable"];
962
+ this.dictText = data["dictText"];
963
+ }
964
+ getItem() {
965
+ let item = super.getItem();
966
+ return Object.assign({}, item, {
967
+ componentProps: {
968
+ readOnly: true,
969
+ allowClear: false,
970
+ disabled: true,
971
+ style: {
972
+ background: "none",
973
+ color: "rgba(0, 0, 0, 0.85)",
974
+ border: "none"
975
+ }
976
+ }
977
+ });
978
+ }
979
+ getLinkFieldInfo() {
980
+ let arr = [this.dictTable, `${this.field},${this.dictText}`];
981
+ return arr;
982
+ }
983
+ }
855
984
  class FormSchemaFactory {
856
985
  static createFormSchema(key, data) {
857
986
  let view = data.view;
@@ -899,6 +1028,10 @@ class FormSchemaFactory {
899
1028
  return new TreeSelectWidget(key, data);
900
1029
  case "switch":
901
1030
  return new SwitchWidget(key, data);
1031
+ case "link_table":
1032
+ return new LinkTableWidget(key, data);
1033
+ case "link_table_field":
1034
+ return new LinkTableFieldWidget(key, data);
902
1035
  case "slot":
903
1036
  return new SlotWidget(key, data);
904
1037
  case "hidden":
@@ -914,9 +1047,9 @@ class FormSchemaFactory {
914
1047
  static createSlotFormSchema(key, data) {
915
1048
  let slotFs = new SlotWidget(key, data);
916
1049
  let view = data.view;
917
- if (view == "date") {
1050
+ if ("date" == view) {
918
1051
  slotFs.groupDate();
919
- } else if (view == "datetime") {
1052
+ } else if ("datetime" == view) {
920
1053
  slotFs.groupDatetime();
921
1054
  } else {
922
1055
  let type = data.type;
@@ -935,4 +1068,4 @@ class FormSchemaFactory {
935
1068
  };
936
1069
  }
937
1070
  }
938
- export { ENHANCEJS as E, FormSchemaFactory as F, SUBMIT_FLOW_KEY as S, VALIDATE_FAILED as V, SUBMIT_FLOW_ID as a, FORM_VIEW_TO_QUERY_VIEW as b, SETUP as c };
1071
+ export { ENHANCEJS as E, FormSchemaFactory as F, ONL_FORM_TABLE_NAME as O, SUBMIT_FLOW_KEY as S, VALIDATE_FAILED as V, ONL_AUTH_PRE as a, SUBMIT_FLOW_ID as b, FORM_VIEW_TO_QUERY_VIEW as c, SETUP as d };