@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
@@ -0,0 +1,121 @@
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
+ import { defineComponent, ref, resolveComponent, openBlock, createBlock } from "vue";
21
+ import { JVxeTypes } from "/@/components/jeecg/JVxeTable/types";
22
+ import { u as useTableSync } from "./useTableSync.js";
23
+ import { _ as _export_sfc } from "./index.js";
24
+ import "./cgform.data.js";
25
+ import "/@/utils/dict";
26
+ import "/@/utils/dict/JDictSelectUtil";
27
+ import "/@/utils/uuid";
28
+ import "./pick.js";
29
+ import "./isArray.js";
30
+ import "./toString.js";
31
+ import "./_arrayPush.js";
32
+ import "/@/components/jeecg/OnLine/JPopupOnlReport.vue";
33
+ import "/@/hooks/web/useMessage";
34
+ import "vue-router";
35
+ const _sfc_main = defineComponent({
36
+ name: "CheckDictTable",
37
+ setup() {
38
+ const columns = ref([
39
+ { title: "\u5B57\u6BB5\u540D\u79F0", key: "dbFieldName", width: 100 },
40
+ { title: "\u5B57\u6BB5\u5907\u6CE8", key: "dbFieldTxt", width: 100 },
41
+ {
42
+ title: "\u5B57\u6BB5Href",
43
+ key: "fieldHref",
44
+ width: 130,
45
+ type: JVxeTypes.input,
46
+ defaultValue: ""
47
+ },
48
+ {
49
+ title: "\u9A8C\u8BC1\u89C4\u5219",
50
+ key: "fieldValidType",
51
+ width: 170,
52
+ type: JVxeTypes.select,
53
+ allowInput: true,
54
+ options: [
55
+ { title: "\u7A7A", value: "" },
56
+ { title: "\u552F\u4E00\u6821\u9A8C", value: "only" },
57
+ { title: "6\u523016\u4F4D\u6570\u5B57", value: "n6-16" },
58
+ { title: "6\u523018\u4F4D\u5B57\u6BCD", value: "s6-18" },
59
+ { title: "6\u523016\u4F4D\u4EFB\u610F\u5B57\u7B26", value: "*6-16" },
60
+ { title: "\u7F51\u5740", value: "url" },
61
+ { title: "\u7535\u5B50\u90AE\u4EF6", value: "e" },
62
+ { title: "\u624B\u673A\u53F7\u7801", value: "m" },
63
+ { title: "\u90AE\u653F\u7F16\u7801", value: "p" },
64
+ { title: "\u5B57\u6BCD", value: "s" },
65
+ { title: "\u6570\u5B57", value: "n" },
66
+ { title: "\u6574\u6570", value: "z" },
67
+ { title: "\u975E\u7A7A", value: "*" },
68
+ { title: "\u91D1\u989D", value: "money" }
69
+ ],
70
+ defaultValue: ""
71
+ },
72
+ {
73
+ title: "\u6821\u9A8C\u5FC5\u586B",
74
+ key: "fieldMustInput",
75
+ width: 80,
76
+ type: JVxeTypes.checkbox,
77
+ align: "center",
78
+ customValue: ["1", "0"],
79
+ defaultChecked: false
80
+ },
81
+ {
82
+ title: "\u5B57\u5178Table",
83
+ key: "dictTable",
84
+ width: 280,
85
+ type: JVxeTypes.textarea,
86
+ defaultValue: ""
87
+ },
88
+ {
89
+ title: "\u5B57\u5178Code",
90
+ key: "dictField",
91
+ width: 280,
92
+ type: JVxeTypes.input,
93
+ defaultValue: ""
94
+ },
95
+ {
96
+ title: "\u5B57\u5178Text",
97
+ key: "dictText",
98
+ width: 280,
99
+ type: JVxeTypes.input,
100
+ defaultValue: ""
101
+ }
102
+ ]);
103
+ const setup = useTableSync(columns);
104
+ return __spreadProps(__spreadValues({}, setup), { columns });
105
+ }
106
+ });
107
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
108
+ const _component_JVxeTable = resolveComponent("JVxeTable");
109
+ return openBlock(), createBlock(_component_JVxeTable, {
110
+ ref: "tableRef",
111
+ rowNumber: "",
112
+ keyboardEdit: "",
113
+ maxHeight: _ctx.tableHeight.noToolbar,
114
+ loading: _ctx.loading,
115
+ columns: _ctx.columns,
116
+ dataSource: _ctx.dataSource,
117
+ disabledRows: { dbFieldName: ["id", "has_child"] }
118
+ }, null, 8, ["maxHeight", "loading", "columns", "dataSource"]);
119
+ }
120
+ var CheckDictTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
121
+ export { CheckDictTable as default };
@@ -0,0 +1,293 @@
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+ import { defineComponent, ref, computed, reactive, nextTick, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, withCtx, createBlock, mergeProps, createCommentVNode } from "vue";
22
+ import { defHttp } from "/@/utils/http/axios";
23
+ import { BasicForm, useForm } from "/@/components/Form";
24
+ import { BasicModal, useModalInner, useModal } from "/@/components/Modal";
25
+ import { JVxeTypes } from "/@/components/jeecg/JVxeTable/types";
26
+ import { b as useCodeGeneratorFormSchemas } from "./useSchemas.js";
27
+ import { underLine2CamelCase } from "/@/utils/common/compUtils";
28
+ import { useMessage } from "/@/hooks/web/useMessage";
29
+ import { downloadByData } from "/@/utils/file/download";
30
+ import FileSelectModal from "./FileSelectModal.js";
31
+ import { useMessageOnline } from "./useMessageOnline.js";
32
+ import { _ as _export_sfc } from "./index.js";
33
+ import "ant-design-vue";
34
+ import "@ant-design/icons-vue";
35
+ import "/@/utils/is";
36
+ import "/@/components/jeecg/OnLine/JPopupOnlReport.vue";
37
+ import "vue-router";
38
+ const _sfc_main = defineComponent({
39
+ name: "CodeGenerator",
40
+ components: { BasicForm, BasicModal, FileSelectModal },
41
+ emits: ["register"],
42
+ setup(props) {
43
+ const JEECG_ONL_PROJECT_PATH = "JEECG_ONL_PROJECT_PATH";
44
+ const { createMessage: $message } = useMessage();
45
+ const { createConfirm: $confirm } = useMessageOnline();
46
+ const single = ref(true);
47
+ const subTableRef = ref();
48
+ const modalWidth = computed(() => single.value ? 800 : 1200);
49
+ const title = ref("\u4EE3\u7801\u751F\u6210");
50
+ const confirmLoading = ref(false);
51
+ const code = ref("");
52
+ const metaModel = reactive({
53
+ projectPath: "",
54
+ packageStyle: "service",
55
+ jspMode: "",
56
+ jformType: "1",
57
+ tableName_tmp: "",
58
+ ftlDescription: "",
59
+ entityName: "",
60
+ codeTypes: "controller,service,dao,mapper,entity,vue"
61
+ });
62
+ const model = reactive({});
63
+ const jspModeOptions = ref([]);
64
+ const subTable = reactive({
65
+ dataSource: [],
66
+ columns: [
67
+ {
68
+ title: "\u5B50\u8868\u540D",
69
+ key: "tableName",
70
+ type: JVxeTypes.input,
71
+ disabled: true,
72
+ validateRules: [{ required: true, message: "\u8BF7\u8F93\u5165${title}" }]
73
+ },
74
+ {
75
+ title: "\u5B50\u8868\u5B9E\u4F53",
76
+ key: "entityName",
77
+ type: JVxeTypes.input,
78
+ validateRules: [{ required: true, message: "\u8BF7\u8F93\u5165${title}" }]
79
+ },
80
+ {
81
+ title: "\u529F\u80FD\u8BF4\u660E",
82
+ key: "ftlDescription",
83
+ type: JVxeTypes.input,
84
+ validateRules: [{ required: true, message: "\u8BF7\u8F93\u5165${title}" }]
85
+ }
86
+ ]
87
+ });
88
+ const showSubTable = computed(() => subTable.dataSource.length > 0);
89
+ const { formSchemas } = useCodeGeneratorFormSchemas(props, {
90
+ onProjectPathChange,
91
+ onProjectPathSearch,
92
+ jspModeOptions
93
+ }, single);
94
+ const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
95
+ schemas: formSchemas,
96
+ showActionButtonGroup: false,
97
+ labelAlign: "right"
98
+ });
99
+ const [registerModal, { closeModal }] = useModalInner((data) => __async(this, null, function* () {
100
+ yield resetFields();
101
+ code.value = data.code;
102
+ confirmLoading.value = false;
103
+ subTable.dataSource = [];
104
+ jspModeOptions.value = [];
105
+ getStoreProjectPath();
106
+ Object.assign(model, metaModel);
107
+ loadData();
108
+ }));
109
+ function loadData() {
110
+ return __async(this, null, function* () {
111
+ let { main, sub, jspModeList, projectPath } = yield defHttp.get({
112
+ url: "/online/cgform/head/tableInfo",
113
+ params: { code: code.value }
114
+ });
115
+ let jspModeListForVue3 = [];
116
+ for (let mode of jspModeList) {
117
+ const { code: code2, note } = mode;
118
+ if (code2 == "many")
119
+ ;
120
+ else {
121
+ jspModeListForVue3.push({
122
+ label: note,
123
+ value: code2
124
+ });
125
+ }
126
+ }
127
+ jspModeOptions.value = jspModeListForVue3;
128
+ if (main.isTree == "Y") {
129
+ model.jspMode = "tree";
130
+ } else {
131
+ model.jspMode = jspModeListForVue3[0].value;
132
+ }
133
+ single.value = main.tableType == 1;
134
+ title.value = "\u4EE3\u7801\u751F\u6210\u3010" + main.tableName + "\u3011";
135
+ if (!model.projectPath) {
136
+ model.projectPath = projectPath;
137
+ window.localStorage.setItem(JEECG_ONL_PROJECT_PATH, projectPath);
138
+ }
139
+ model.jformType = main.tableType + "";
140
+ model.tableName_tmp = main.tableName;
141
+ model.ftlDescription = main.tableTxt;
142
+ let entityNameTemp = underLine2CamelCase(main.tableName);
143
+ model.entityName = entityNameTemp.substring(0, 1).toUpperCase() + entityNameTemp.substring(1);
144
+ yield nextTick();
145
+ setFieldsValue(model);
146
+ if (sub && sub.length > 0) {
147
+ subTable.dataSource = sub.map((item) => ({
148
+ tableName: item.tableName,
149
+ entityName: getCamelCase(item.tableName),
150
+ ftlDescription: item.tableTxt
151
+ }));
152
+ }
153
+ });
154
+ }
155
+ function onSubmit() {
156
+ return __async(this, null, function* () {
157
+ try {
158
+ const values = yield validate();
159
+ let params = Object.assign({}, values, { code: code.value, tableName: values.tableName_tmp });
160
+ if (showSubTable.value) {
161
+ let errMap = yield subTableRef.value.validateTable();
162
+ if (errMap) {
163
+ return;
164
+ }
165
+ params.subList = subTableRef.value.getTableData();
166
+ }
167
+ confirmLoading.value = true;
168
+ let codeList = yield defHttp.post({ url: "/online/cgform/api/codeGenerate", params });
169
+ $confirm({
170
+ iconType: "info",
171
+ title: "\u4EE3\u7801\u751F\u6210\u7ED3\u679C",
172
+ width: 1200,
173
+ closable: true,
174
+ okText: "\u4E0B\u8F7D\u5230\u672C\u5730",
175
+ cancelText: "\u786E\u5B9A\u5E76\u5173\u95ED",
176
+ content: `<p>${codeList.map((item) => item + "<br>").join("")}</p>`,
177
+ onOk: () => onDownloadGenerateCode(codeList, values.tableName_tmp)
178
+ });
179
+ closeModal();
180
+ } catch (e) {
181
+ console.error(e);
182
+ } finally {
183
+ confirmLoading.value = false;
184
+ }
185
+ });
186
+ }
187
+ function onDownloadGenerateCode(codeList, tableName) {
188
+ return defHttp.get({
189
+ url: "/online/cgform/api/downGenerateCode",
190
+ params: {
191
+ fileList: encodeURI(codeList)
192
+ },
193
+ responseType: "blob"
194
+ }, { isTransformResponse: false }).then((data) => {
195
+ if (!data || data.size == 0) {
196
+ $message.warning("\u5BFC\u51FA\u4EE3\u7801\u5931\u8D25\uFF01");
197
+ return;
198
+ }
199
+ let fileName = "\u5BFC\u5230\u751F\u6210\u4EE3\u7801_" + tableName + "_" + new Date().getTime() + ".zip";
200
+ downloadByData(data, fileName, "application/zip");
201
+ });
202
+ }
203
+ function onCancel() {
204
+ closeModal();
205
+ }
206
+ const [registerFileSelectModal, fileSelectModal] = useModal();
207
+ function onProjectPathSearch() {
208
+ fileSelectModal.openModal(true, {});
209
+ }
210
+ function onFileSelect(url) {
211
+ window.localStorage.setItem(JEECG_ONL_PROJECT_PATH, url);
212
+ setFieldsValue({ projectPath: url });
213
+ }
214
+ function getCamelCase(val) {
215
+ let temp = underLine2CamelCase(val);
216
+ return temp.substring(0, 1).toUpperCase() + temp.substring(1);
217
+ }
218
+ function getStoreProjectPath() {
219
+ let path = window.localStorage.getItem(JEECG_ONL_PROJECT_PATH);
220
+ if (path) {
221
+ metaModel.projectPath = path;
222
+ }
223
+ }
224
+ function onProjectPathChange(e) {
225
+ if (e.target.value)
226
+ window.localStorage.setItem(JEECG_ONL_PROJECT_PATH, e.target.value);
227
+ }
228
+ return {
229
+ title,
230
+ modalWidth,
231
+ confirmLoading,
232
+ subTable,
233
+ showSubTable,
234
+ onSubmit,
235
+ onCancel,
236
+ onFileSelect,
237
+ registerFileSelectModal,
238
+ subTableRef,
239
+ registerForm,
240
+ registerModal
241
+ };
242
+ }
243
+ });
244
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
245
+ const _component_BasicForm = resolveComponent("BasicForm");
246
+ const _component_JVxeTable = resolveComponent("JVxeTable");
247
+ const _component_a_card = resolveComponent("a-card");
248
+ const _component_a_spin = resolveComponent("a-spin");
249
+ const _component_BasicModal = resolveComponent("BasicModal");
250
+ const _component_FileSelectModal = resolveComponent("FileSelectModal");
251
+ return openBlock(), createElementBlock(Fragment, null, [
252
+ createVNode(_component_BasicModal, {
253
+ onRegister: _ctx.registerModal,
254
+ title: _ctx.title,
255
+ width: _ctx.modalWidth,
256
+ confirmLoading: _ctx.confirmLoading,
257
+ okText: "\u5F00\u59CB\u751F\u6210",
258
+ cancelText: "\u53D6\u6D88",
259
+ onOk: _ctx.onSubmit,
260
+ onCancel: _ctx.onCancel
261
+ }, {
262
+ default: withCtx(() => [
263
+ createVNode(_component_a_spin, { spinning: _ctx.confirmLoading }, {
264
+ default: withCtx(() => [
265
+ createVNode(_component_BasicForm, { onRegister: _ctx.registerForm }, null, 8, ["onRegister"]),
266
+ _ctx.showSubTable ? (openBlock(), createBlock(_component_a_card, {
267
+ key: 0,
268
+ title: "\u5B50\u8868\u4FE1\u606F",
269
+ size: "small"
270
+ }, {
271
+ default: withCtx(() => [
272
+ createVNode(_component_JVxeTable, mergeProps({
273
+ ref: "subTableRef",
274
+ rowNumber: "",
275
+ maxHeight: 580
276
+ }, _ctx.subTable), null, 16)
277
+ ]),
278
+ _: 1
279
+ })) : createCommentVNode("", true)
280
+ ]),
281
+ _: 1
282
+ }, 8, ["spinning"])
283
+ ]),
284
+ _: 1
285
+ }, 8, ["onRegister", "title", "width", "confirmLoading", "onOk", "onCancel"]),
286
+ createVNode(_component_FileSelectModal, {
287
+ onRegister: _ctx.registerFileSelectModal,
288
+ onSelect: _ctx.onFileSelect
289
+ }, null, 8, ["onRegister", "onSelect"])
290
+ ], 64);
291
+ }
292
+ var CodeGeneratorModal = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
293
+ export { CodeGeneratorModal as default };