@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.
- package/AuthButtonConfig.js +14 -7
- package/AuthButtonTree.js +3 -5
- package/AuthDataConfig.js +9 -6
- package/AuthDataTree.js +3 -5
- package/AuthFieldConfig.js +15 -12
- package/AuthFieldTree.js +24 -18
- package/AuthManagerDrawer.js +1 -1
- package/AuthSetterModal.js +1 -0
- package/CgformCopyList.js +34 -22
- package/CgformModal.js +57 -50
- package/CgreportModal.js +32 -39
- package/CheckDictTable.js +144 -24
- package/CodeFileListModal.js +175 -0
- package/CodeFileViewModal.js +325 -0
- package/CodeGeneratorModal.js +41 -38
- package/CustomButtonList.js +19 -22
- package/DBAttributeTable.js +248 -12
- package/DbToOnlineModal.js +27 -25
- package/DetailForm.js +605 -0
- package/EnhanceJavaModal.js +11 -17
- package/EnhanceJsHistory.js +6 -8
- package/EnhanceJsModal.js +9 -16
- package/EnhanceSqlModal.js +11 -17
- package/ExtendConfigModal.js +24 -15
- package/ForeignKeyTable.js +4 -3
- package/FormSchemaFactory.js +163 -30
- package/IndexTable.js +6 -5
- package/JModalTip.js +54 -0
- package/JOnlineSearchSelect.js +18 -10
- package/LeftDepart.js +1 -1
- package/LeftRole.js +7 -4
- package/LeftUser.js +7 -4
- package/LinkTableConfigModal.js +289 -0
- package/LinkTableFieldConfigModal.js +218 -0
- package/LinkTableListPiece.js +36 -0
- package/ModalFormDemo.js +3 -2
- package/OnlineAutoList.js +154 -55
- package/OnlineAutoModal.js +88 -131
- package/OnlineAutoTreeList.js +93 -53
- package/OnlineCustomModal.js +30 -14
- package/OnlineDetailModal.js +184 -0
- package/OnlineForm.js +259 -141
- package/OnlineFormDetail.js +326 -0
- package/OnlineQueryForm.js +72 -40
- package/OnlineSearchFormItem.js +26 -18
- package/OnlineSelectCascade.js +67 -53
- package/OnlineSubFormDetail.js +167 -0
- package/OnlineSuperQuery.js +69 -74
- package/OnlineSuperQueryValComponent.js +1 -0
- package/OnlineSuperQueryValComponent.vue_vue_type_script_lang.js +1 -17
- package/PageAttributeTable.js +233 -30
- package/ProcessOnlineForm.js +41 -16
- package/QueryTable.js +4 -3
- package/README.md +3 -8
- package/_arrayPush.js +5 -3
- package/{cloneDeep.js → _baseClone.js} +5 -9
- package/_baseSlice.js +18 -0
- package/_commonjsHelpers.js +5 -0
- package/_flatRest.js +174 -0
- package/auth.data.js +1 -3
- package/cgform.data.js +18 -9
- package/enhance.api.js +27 -18
- package/index.js +16 -6
- package/index2.js +48 -45
- package/index3.js +29 -26
- package/isArray.js +1 -1
- package/omit.js +60 -0
- package/package.json +1 -1
- package/pick.js +3 -173
- package/style.css +1 -1
- package/toString.js +2 -2
- package/useAutoForm.js +3437 -3791
- package/useCgformList.js +44 -31
- package/{useTableColumns.js → useListButton.js} +212 -407
- package/useOnlineTest.js +5 -26827
- package/useSchemas.js +364 -230
- package/useTableSync.js +19 -7
- package/ChartAutoRender.js +0 -69
- package/ChartDoubleRender.js +0 -154
- package/ChartSingleRender.js +0 -132
- package/ChartTabsRender.js +0 -218
- package/ErrorTip.js +0 -21
- package/FieldTable.js +0 -185
- package/GraphreportAutoChart.js +0 -352
- package/GraphreportList.js +0 -239
- package/GraphreportModal.js +0 -559
- package/OnlineSubForm.js +0 -200
- package/ParamsTable.js +0 -71
- package/graphreport.api.js +0 -23
- package/useChartRender.js +0 -405
- package/useMessageOnline.js +0 -71
package/DetailForm.js
ADDED
|
@@ -0,0 +1,605 @@
|
|
|
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 { ref, computed, watch, defineComponent, resolveComponent, openBlock, createElementBlock, normalizeClass, createVNode, withCtx, Fragment, renderList, createBlock, createElementVNode, toDisplayString } from "vue";
|
|
38
|
+
import { propTypes } from "/@/utils/propTypes";
|
|
39
|
+
import { getDictItemsByCode } from "/@/utils/dict";
|
|
40
|
+
import { filterMultiDictText, filterDictText } from "/@/utils/dict/JDictSelectUtil";
|
|
41
|
+
import { initDictOptions } from "/@/utils/dict/index";
|
|
42
|
+
import { loadDictItem, queryDepartTreeSync, getUserList } from "/@/api/common/api";
|
|
43
|
+
import { defHttp } from "/@/utils/http/axios";
|
|
44
|
+
import { getAreaTextByCode } from "/@/components/Form/src/utils/Area";
|
|
45
|
+
import { getFileAccessHttpUrl } from "/@/utils/common/compUtils";
|
|
46
|
+
import { createImgPreview } from "/@/components/Preview/index";
|
|
47
|
+
import { useMessage } from "/@/hooks/web/useMessage";
|
|
48
|
+
import { DownloadOutlined, EyeOutlined, PaperClipOutlined } from "@ant-design/icons-vue";
|
|
49
|
+
import { L as LinkTableCard } from "./useAutoForm.js";
|
|
50
|
+
import { _ as _export_sfc } from "./index.js";
|
|
51
|
+
import "./FormSchemaFactory.js";
|
|
52
|
+
import "/@/components/Form/src/jeecg/components/JUpload";
|
|
53
|
+
import "/@/views/system/user/user.api";
|
|
54
|
+
import "./_commonjsHelpers.js";
|
|
55
|
+
import "/@/store/modules/user";
|
|
56
|
+
import "/@/utils";
|
|
57
|
+
import "/@/utils/desform/customExpression";
|
|
58
|
+
import "/@/components/Form/src/componentMap";
|
|
59
|
+
import "./OnlineSelectCascade.js";
|
|
60
|
+
import "/@/components/jeecg/OnLine/JPopupOnlReport.vue";
|
|
61
|
+
import "vue-router";
|
|
62
|
+
import "/@/store/modules/permission";
|
|
63
|
+
import "/@/components/Modal";
|
|
64
|
+
import "/@/components/Form/index";
|
|
65
|
+
import "./pick.js";
|
|
66
|
+
import "./_flatRest.js";
|
|
67
|
+
import "./isArray.js";
|
|
68
|
+
import "./toString.js";
|
|
69
|
+
import "./_arrayPush.js";
|
|
70
|
+
import "/@/components/Table";
|
|
71
|
+
import "/@/hooks/system/useListPage";
|
|
72
|
+
import "./LinkTableListPiece.js";
|
|
73
|
+
import "/@/components/Loading";
|
|
74
|
+
import "/@/utils/auth";
|
|
75
|
+
import "./JModalTip.js";
|
|
76
|
+
import "ant-design-vue";
|
|
77
|
+
import "@vueuse/core";
|
|
78
|
+
function useDetailForm(props) {
|
|
79
|
+
console.log(props);
|
|
80
|
+
const dictOptionsMap = {};
|
|
81
|
+
const currentLinkFields = [];
|
|
82
|
+
const detailFormData = ref({});
|
|
83
|
+
const { createMessage } = useMessage();
|
|
84
|
+
const formContainerClass = computed(() => {
|
|
85
|
+
if (props.containerClass) {
|
|
86
|
+
return `jeecg-detail-form ${props.containerClass}`;
|
|
87
|
+
} else {
|
|
88
|
+
return "jeecg-detail-form";
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
watch(
|
|
92
|
+
() => props.data,
|
|
93
|
+
(formData) => __async(this, null, function* () {
|
|
94
|
+
if (formData) {
|
|
95
|
+
let arr = props.schemas;
|
|
96
|
+
let temp = {};
|
|
97
|
+
if (arr && arr.length > 0) {
|
|
98
|
+
for (let item of arr) {
|
|
99
|
+
let field = item.field;
|
|
100
|
+
try {
|
|
101
|
+
temp[field] = yield getItemContent(item);
|
|
102
|
+
} catch (e) {
|
|
103
|
+
console.error("\u5B57\u6BB5\u3010" + field + "\u3011\u6587\u672C\u83B7\u53D6\u5931\u8D25", e);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
detailFormData.value = temp;
|
|
108
|
+
}
|
|
109
|
+
}),
|
|
110
|
+
{ deep: true, immediate: true }
|
|
111
|
+
);
|
|
112
|
+
function getItemContent(item) {
|
|
113
|
+
return __async(this, null, function* () {
|
|
114
|
+
let formData = props.data;
|
|
115
|
+
if (formData) {
|
|
116
|
+
let value = formData[item.field];
|
|
117
|
+
if (!value && value !== "0" && value !== 0) {
|
|
118
|
+
return "";
|
|
119
|
+
}
|
|
120
|
+
let str = value;
|
|
121
|
+
let view = item.view;
|
|
122
|
+
if (view == "list" || view == "radio" || view == "checkbox" || view == "list_multi") {
|
|
123
|
+
str = yield getSelectText(item, formData);
|
|
124
|
+
} else if (view == "sel_search") {
|
|
125
|
+
str = yield getTableDataText(item, formData);
|
|
126
|
+
} else if (view == "cat_tree") {
|
|
127
|
+
str = yield getCategoryDataText(item, formData);
|
|
128
|
+
} else if (view == "link_table") {
|
|
129
|
+
str = yield getLinkTableData(item, formData);
|
|
130
|
+
} else if (view == "sel_depart") {
|
|
131
|
+
str = yield getDepartDataText(item, formData);
|
|
132
|
+
} else if (view == "sel_user") {
|
|
133
|
+
str = yield getUserDataText(item, formData);
|
|
134
|
+
} else if (view == "pca") {
|
|
135
|
+
str = getAreaTextByCode(value);
|
|
136
|
+
} else if (view == "link_down") {
|
|
137
|
+
str = yield getLinkDownDataText(item, formData);
|
|
138
|
+
} else if (view == "sel_tree") {
|
|
139
|
+
str = yield getTreeDataText(item, formData);
|
|
140
|
+
} else if (view == "switch") {
|
|
141
|
+
str = yield getSwitchDataText(item, formData);
|
|
142
|
+
} else if (view == "image" || view == "file") {
|
|
143
|
+
str = getFileList(item, formData);
|
|
144
|
+
} else {
|
|
145
|
+
if (currentLinkFields.indexOf(item.field) >= 0) {
|
|
146
|
+
let arr = dictOptionsMap[item.field];
|
|
147
|
+
if (arr && arr.length > 0) {
|
|
148
|
+
str = filterMultiDictText(arr, value);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return str;
|
|
153
|
+
}
|
|
154
|
+
return "";
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
function getSelectText(item, formData) {
|
|
158
|
+
return __async(this, null, function* () {
|
|
159
|
+
let dictCode = getRequestDictCode(item);
|
|
160
|
+
let value = formData[item.field];
|
|
161
|
+
if (!dictCode) {
|
|
162
|
+
return value;
|
|
163
|
+
}
|
|
164
|
+
let options = getDictItemsByCode(dictCode);
|
|
165
|
+
if (options && options.length > 0) {
|
|
166
|
+
return filterMultiDictText(options, value);
|
|
167
|
+
} else {
|
|
168
|
+
let dictRes = [];
|
|
169
|
+
if (dictOptionsMap[dictCode]) {
|
|
170
|
+
dictRes = dictOptionsMap[dictCode];
|
|
171
|
+
} else {
|
|
172
|
+
dictRes = (yield initDictOptions(dictCode)) || [];
|
|
173
|
+
}
|
|
174
|
+
if (dictRes && dictRes.length > 0) {
|
|
175
|
+
dictOptionsMap[dictCode] = dictRes;
|
|
176
|
+
return filterMultiDictText(dictRes, value);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return "";
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
function getRequestDictCode(item) {
|
|
183
|
+
let temp = "";
|
|
184
|
+
let { dictCode, dictTable, dictText } = item;
|
|
185
|
+
if (!dictTable) {
|
|
186
|
+
temp = dictCode;
|
|
187
|
+
} else {
|
|
188
|
+
temp = encodeURI(`${dictTable},${dictText},${dictCode}`);
|
|
189
|
+
}
|
|
190
|
+
return temp;
|
|
191
|
+
}
|
|
192
|
+
function getTableDataText(item, formData) {
|
|
193
|
+
return __async(this, null, function* () {
|
|
194
|
+
let dictCode = getRequestDictCode(item);
|
|
195
|
+
let value = formData[item.field];
|
|
196
|
+
if (!value) {
|
|
197
|
+
return "";
|
|
198
|
+
}
|
|
199
|
+
let arr = [];
|
|
200
|
+
if (dictOptionsMap[dictCode + value]) {
|
|
201
|
+
arr = dictOptionsMap[dictCode + value];
|
|
202
|
+
} else {
|
|
203
|
+
arr = (yield defHttp.get({ url: `/sys/dict/loadDictItem/${dictCode}`, params: { key: value } })) || [];
|
|
204
|
+
}
|
|
205
|
+
if (arr && arr.length > 0) {
|
|
206
|
+
dictOptionsMap[dictCode + value] = arr;
|
|
207
|
+
return arr.join(",");
|
|
208
|
+
}
|
|
209
|
+
return "";
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
function getCategoryDataText(item, formData) {
|
|
213
|
+
return __async(this, null, function* () {
|
|
214
|
+
let value = formData[item.field];
|
|
215
|
+
if (!value) {
|
|
216
|
+
return "";
|
|
217
|
+
}
|
|
218
|
+
let arr = (yield loadDictItem({ ids: value })) || [];
|
|
219
|
+
if (arr && arr.length > 0) {
|
|
220
|
+
return arr.join(",");
|
|
221
|
+
}
|
|
222
|
+
return "";
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
function getDepartDataText(item, formData) {
|
|
226
|
+
return __async(this, null, function* () {
|
|
227
|
+
let value = formData[item.field];
|
|
228
|
+
if (!value) {
|
|
229
|
+
return "";
|
|
230
|
+
}
|
|
231
|
+
let extend = getExtendConfig(item);
|
|
232
|
+
let storeField = extend.store || "id";
|
|
233
|
+
let arr = (yield queryDepartTreeSync({ ids: value, primaryKey: storeField })) || [];
|
|
234
|
+
if (arr && arr.length > 0) {
|
|
235
|
+
let temp = [];
|
|
236
|
+
for (let item2 of arr) {
|
|
237
|
+
temp.push(item2.title);
|
|
238
|
+
}
|
|
239
|
+
return temp.join(",");
|
|
240
|
+
}
|
|
241
|
+
return "";
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
function getUserDataText(item, formData) {
|
|
245
|
+
return __async(this, null, function* () {
|
|
246
|
+
let value = formData[item.field];
|
|
247
|
+
if (!value) {
|
|
248
|
+
return "";
|
|
249
|
+
}
|
|
250
|
+
let extend = getExtendConfig(item);
|
|
251
|
+
let storeField = extend.store || "username";
|
|
252
|
+
let params = {
|
|
253
|
+
[storeField]: value
|
|
254
|
+
};
|
|
255
|
+
let res = (yield getUserList(params)) || {};
|
|
256
|
+
let arr = res.records || [];
|
|
257
|
+
if (arr && arr.length > 0) {
|
|
258
|
+
let temp = [];
|
|
259
|
+
console.log("getUserDataText", arr);
|
|
260
|
+
let textField = extend.text || "realname";
|
|
261
|
+
for (let item2 of arr) {
|
|
262
|
+
temp.push(item2[textField]);
|
|
263
|
+
}
|
|
264
|
+
return temp.join(",");
|
|
265
|
+
}
|
|
266
|
+
return "";
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
function getExtendConfig(item) {
|
|
270
|
+
let extend = {};
|
|
271
|
+
let { fieldExtendJson } = item;
|
|
272
|
+
if (fieldExtendJson) {
|
|
273
|
+
if (typeof fieldExtendJson == "string") {
|
|
274
|
+
try {
|
|
275
|
+
let json = JSON.parse(fieldExtendJson);
|
|
276
|
+
extend = __spreadValues({}, json);
|
|
277
|
+
} catch (e) {
|
|
278
|
+
console.error(e);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
return extend;
|
|
283
|
+
}
|
|
284
|
+
function getLinkDownDataText(item, formData) {
|
|
285
|
+
return __async(this, null, function* () {
|
|
286
|
+
let { dictTable, field } = item;
|
|
287
|
+
let arr = [];
|
|
288
|
+
if (dictOptionsMap[field]) {
|
|
289
|
+
arr = dictOptionsMap[field];
|
|
290
|
+
} else {
|
|
291
|
+
if (dictTable) {
|
|
292
|
+
let json = JSON.parse(dictTable);
|
|
293
|
+
if (json) {
|
|
294
|
+
let { table, txt, key, linkField } = json;
|
|
295
|
+
let dictCode = `${table},${txt},${key}`;
|
|
296
|
+
let temp = (yield initDictOptions(dictCode)) || [];
|
|
297
|
+
arr = [...temp];
|
|
298
|
+
if (arr && arr.length > 0) {
|
|
299
|
+
dictOptionsMap[field] = arr;
|
|
300
|
+
if (linkField) {
|
|
301
|
+
let fieldArray = linkField.split(",");
|
|
302
|
+
for (let item2 of fieldArray) {
|
|
303
|
+
dictOptionsMap[item2] = arr;
|
|
304
|
+
currentLinkFields.push(item2);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
if (arr && arr.length > 0) {
|
|
312
|
+
let value = formData[field];
|
|
313
|
+
return filterMultiDictText(arr, value);
|
|
314
|
+
}
|
|
315
|
+
return "";
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
function getTreeDataText(item, formData) {
|
|
319
|
+
return __async(this, null, function* () {
|
|
320
|
+
let { dict, field } = item;
|
|
321
|
+
let arr = [];
|
|
322
|
+
if (dictOptionsMap[field]) {
|
|
323
|
+
arr = dictOptionsMap[field];
|
|
324
|
+
} else {
|
|
325
|
+
if (dict) {
|
|
326
|
+
arr = yield initDictOptions(dict);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
if (arr && arr.length > 0) {
|
|
330
|
+
let value = formData[field];
|
|
331
|
+
return filterMultiDictText(arr, value);
|
|
332
|
+
}
|
|
333
|
+
return "";
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
function getSwitchDataText(item, formData) {
|
|
337
|
+
return __async(this, null, function* () {
|
|
338
|
+
let { fieldExtendJson, field } = item;
|
|
339
|
+
let options = ["Y", "N"];
|
|
340
|
+
if (fieldExtendJson) {
|
|
341
|
+
options = JSON.parse(fieldExtendJson);
|
|
342
|
+
}
|
|
343
|
+
let arr = [
|
|
344
|
+
{ value: options[0], text: "\u662F" },
|
|
345
|
+
{ value: options[1], text: "\u5426" },
|
|
346
|
+
{ value: options[0] + "", text: "\u662F" },
|
|
347
|
+
{ value: options[1] + "", text: "\u5426" }
|
|
348
|
+
];
|
|
349
|
+
let value = formData[field];
|
|
350
|
+
return filterDictText(arr, value);
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
function getItemSpan(item) {
|
|
354
|
+
if (item.span) {
|
|
355
|
+
return item.span;
|
|
356
|
+
}
|
|
357
|
+
return props.span;
|
|
358
|
+
}
|
|
359
|
+
function getFileList(item, formData) {
|
|
360
|
+
let str = formData[item.field];
|
|
361
|
+
if (!str) {
|
|
362
|
+
return [];
|
|
363
|
+
}
|
|
364
|
+
let arr = str.split(",");
|
|
365
|
+
let result = [];
|
|
366
|
+
for (let item2 of arr) {
|
|
367
|
+
let src = getFileAccessHttpUrl(item2) || "";
|
|
368
|
+
if (src) {
|
|
369
|
+
result.push(src);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
return result;
|
|
373
|
+
}
|
|
374
|
+
function handleDownloadFile(url) {
|
|
375
|
+
if (url) {
|
|
376
|
+
window.open(url);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
function handleViewImage(field) {
|
|
380
|
+
let values = detailFormData.value[field];
|
|
381
|
+
if (!values || values.length == 0) {
|
|
382
|
+
createMessage.warning("\u65E0\u56FE\u7247!");
|
|
383
|
+
return;
|
|
384
|
+
}
|
|
385
|
+
createImgPreview({ imageList: values });
|
|
386
|
+
}
|
|
387
|
+
function getFilename(url) {
|
|
388
|
+
if (!url) {
|
|
389
|
+
return "";
|
|
390
|
+
}
|
|
391
|
+
return url.substring(url.lastIndexOf("/") + 1);
|
|
392
|
+
}
|
|
393
|
+
const span24ViewArray = ["file", "image", "markdown", "umeditor"];
|
|
394
|
+
function getLabelWidthClass(item) {
|
|
395
|
+
if (span24ViewArray.indexOf(item.view) >= 0) {
|
|
396
|
+
if (props.span == 12) {
|
|
397
|
+
return "span12";
|
|
398
|
+
} else if (props.span == 8) {
|
|
399
|
+
return "span8";
|
|
400
|
+
} else if (props.span == 6) {
|
|
401
|
+
return "span6";
|
|
402
|
+
} else {
|
|
403
|
+
return "span24";
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
return "";
|
|
407
|
+
}
|
|
408
|
+
function getLinkTableData(item, formData) {
|
|
409
|
+
return __async(this, null, function* () {
|
|
410
|
+
let value = formData[item.field];
|
|
411
|
+
let extend = getExtendConfig(item);
|
|
412
|
+
if (extend.showType == "select") {
|
|
413
|
+
if (!value) {
|
|
414
|
+
return "";
|
|
415
|
+
}
|
|
416
|
+
return formData[item.field + "_dictText"];
|
|
417
|
+
} else {
|
|
418
|
+
if (!value) {
|
|
419
|
+
return "";
|
|
420
|
+
}
|
|
421
|
+
return formData[item.field];
|
|
422
|
+
}
|
|
423
|
+
});
|
|
424
|
+
}
|
|
425
|
+
return {
|
|
426
|
+
formContainerClass,
|
|
427
|
+
detailFormData,
|
|
428
|
+
getItemSpan,
|
|
429
|
+
handleDownloadFile,
|
|
430
|
+
handleViewImage,
|
|
431
|
+
getFilename,
|
|
432
|
+
getLabelWidthClass
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
var DetailForm_vue_vue_type_style_index_0_scoped_true_lang = "";
|
|
436
|
+
const _sfc_main = defineComponent({
|
|
437
|
+
name: "DetailForm",
|
|
438
|
+
components: {
|
|
439
|
+
DownloadOutlined,
|
|
440
|
+
EyeOutlined,
|
|
441
|
+
PaperClipOutlined,
|
|
442
|
+
LinkTableCard
|
|
443
|
+
},
|
|
444
|
+
props: {
|
|
445
|
+
span: propTypes.number.def(24),
|
|
446
|
+
schemas: propTypes.array.def([]),
|
|
447
|
+
data: propTypes.object.def({}),
|
|
448
|
+
containerClass: propTypes.string.def("")
|
|
449
|
+
},
|
|
450
|
+
setup(props) {
|
|
451
|
+
const { formContainerClass, detailFormData, getItemSpan, handleDownloadFile, handleViewImage, getFilename, getLabelWidthClass } = useDetailForm(props);
|
|
452
|
+
return {
|
|
453
|
+
formContainerClass,
|
|
454
|
+
detailFormData,
|
|
455
|
+
getItemSpan,
|
|
456
|
+
handleDownloadFile,
|
|
457
|
+
handleViewImage,
|
|
458
|
+
getFilename,
|
|
459
|
+
getLabelWidthClass
|
|
460
|
+
};
|
|
461
|
+
}
|
|
462
|
+
});
|
|
463
|
+
const _hoisted_1 = { class: "detail-item" };
|
|
464
|
+
const _hoisted_2 = ["title"];
|
|
465
|
+
const _hoisted_3 = ["innerHTML"];
|
|
466
|
+
const _hoisted_4 = {
|
|
467
|
+
key: 1,
|
|
468
|
+
class: "item-content",
|
|
469
|
+
style: { "display": "block", "padding-top": "10px" }
|
|
470
|
+
};
|
|
471
|
+
const _hoisted_5 = { key: 0 };
|
|
472
|
+
const _hoisted_6 = {
|
|
473
|
+
key: 2,
|
|
474
|
+
class: "item-content"
|
|
475
|
+
};
|
|
476
|
+
const _hoisted_7 = { class: "ant-upload-list ant-upload-list-picture-card" };
|
|
477
|
+
const _hoisted_8 = {
|
|
478
|
+
class: "ant-upload-list-picture-card-container",
|
|
479
|
+
style: { "margin-top": "8px" }
|
|
480
|
+
};
|
|
481
|
+
const _hoisted_9 = {
|
|
482
|
+
class: "ant-upload-list-item ant-upload-list-item-done ant-upload-list-item-list-type-picture-card",
|
|
483
|
+
"data-has-actions": "true"
|
|
484
|
+
};
|
|
485
|
+
const _hoisted_10 = { class: "ant-upload-list-item-info" };
|
|
486
|
+
const _hoisted_11 = ["src"];
|
|
487
|
+
const _hoisted_12 = { class: "ant-upload-list-item-actions" };
|
|
488
|
+
const _hoisted_13 = {
|
|
489
|
+
key: 3,
|
|
490
|
+
class: "item-content"
|
|
491
|
+
};
|
|
492
|
+
const _hoisted_14 = { class: "ant-upload-list ant-upload-list-text" };
|
|
493
|
+
const _hoisted_15 = { class: "" };
|
|
494
|
+
const _hoisted_16 = { class: "ant-upload-list-item ant-upload-list-item-done ant-upload-list-item-list-type-text" };
|
|
495
|
+
const _hoisted_17 = { class: "ant-upload-list-item-info" };
|
|
496
|
+
const _hoisted_18 = ["href"];
|
|
497
|
+
const _hoisted_19 = { class: "ant-upload-list-item-card-actions" };
|
|
498
|
+
const _hoisted_20 = {
|
|
499
|
+
key: 4,
|
|
500
|
+
class: "item-content"
|
|
501
|
+
};
|
|
502
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
503
|
+
const _component_link_table_card = resolveComponent("link-table-card");
|
|
504
|
+
const _component_download_outlined = resolveComponent("download-outlined");
|
|
505
|
+
const _component_eye_outlined = resolveComponent("eye-outlined");
|
|
506
|
+
const _component_paper_clip_outlined = resolveComponent("paper-clip-outlined");
|
|
507
|
+
const _component_a_col = resolveComponent("a-col");
|
|
508
|
+
const _component_a_row = resolveComponent("a-row");
|
|
509
|
+
return openBlock(), createElementBlock("div", {
|
|
510
|
+
class: normalizeClass(_ctx.formContainerClass)
|
|
511
|
+
}, [
|
|
512
|
+
createVNode(_component_a_row, null, {
|
|
513
|
+
default: withCtx(() => [
|
|
514
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.schemas, (item, index) => {
|
|
515
|
+
return openBlock(), createBlock(_component_a_col, {
|
|
516
|
+
key: index,
|
|
517
|
+
span: _ctx.getItemSpan(item)
|
|
518
|
+
}, {
|
|
519
|
+
default: withCtx(() => [
|
|
520
|
+
createElementVNode("div", _hoisted_1, [
|
|
521
|
+
createElementVNode("div", {
|
|
522
|
+
class: normalizeClass(["item-title", _ctx.getLabelWidthClass(item)]),
|
|
523
|
+
title: item.label
|
|
524
|
+
}, toDisplayString(item.label) + "\uFF1A ", 11, _hoisted_2),
|
|
525
|
+
item.isHtml ? (openBlock(), createElementBlock("div", {
|
|
526
|
+
key: 0,
|
|
527
|
+
class: "item-content",
|
|
528
|
+
innerHTML: _ctx.detailFormData[item.field]
|
|
529
|
+
}, null, 8, _hoisted_3)) : item.isCard ? (openBlock(), createElementBlock("div", _hoisted_4, [
|
|
530
|
+
!_ctx.detailFormData[item.field] ? (openBlock(), createElementBlock("span", _hoisted_5)) : (openBlock(), createBlock(_component_link_table_card, {
|
|
531
|
+
key: 1,
|
|
532
|
+
disabled: "",
|
|
533
|
+
detail: "",
|
|
534
|
+
value: _ctx.detailFormData[item.field],
|
|
535
|
+
valueField: item.dictCode,
|
|
536
|
+
textField: item.dictText,
|
|
537
|
+
tableName: item.dictTable,
|
|
538
|
+
multi: item.multi
|
|
539
|
+
}, null, 8, ["value", "valueField", "textField", "tableName", "multi"]))
|
|
540
|
+
])) : item.isImage ? (openBlock(), createElementBlock("div", _hoisted_6, [
|
|
541
|
+
createElementVNode("div", _hoisted_7, [
|
|
542
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.detailFormData[item.field], (url) => {
|
|
543
|
+
return openBlock(), createElementBlock("div", _hoisted_8, [
|
|
544
|
+
createElementVNode("span", null, [
|
|
545
|
+
createElementVNode("div", _hoisted_9, [
|
|
546
|
+
createElementVNode("div", _hoisted_10, [
|
|
547
|
+
createElementVNode("img", {
|
|
548
|
+
src: url,
|
|
549
|
+
alt: "\u56FE\u7247\u4E0D\u5B58\u5728",
|
|
550
|
+
class: "ant-upload-list-item-image"
|
|
551
|
+
}, null, 8, _hoisted_11)
|
|
552
|
+
]),
|
|
553
|
+
createElementVNode("span", _hoisted_12, [
|
|
554
|
+
createVNode(_component_download_outlined, {
|
|
555
|
+
onClick: ($event) => _ctx.handleDownloadFile(url)
|
|
556
|
+
}, null, 8, ["onClick"]),
|
|
557
|
+
createVNode(_component_eye_outlined, {
|
|
558
|
+
onClick: ($event) => _ctx.handleViewImage(item.field)
|
|
559
|
+
}, null, 8, ["onClick"])
|
|
560
|
+
])
|
|
561
|
+
])
|
|
562
|
+
])
|
|
563
|
+
]);
|
|
564
|
+
}), 256))
|
|
565
|
+
])
|
|
566
|
+
])) : item.isFile ? (openBlock(), createElementBlock("div", _hoisted_13, [
|
|
567
|
+
createElementVNode("div", _hoisted_14, [
|
|
568
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.detailFormData[item.field], (url) => {
|
|
569
|
+
return openBlock(), createElementBlock("div", _hoisted_15, [
|
|
570
|
+
createElementVNode("span", null, [
|
|
571
|
+
createElementVNode("div", _hoisted_16, [
|
|
572
|
+
createElementVNode("div", _hoisted_17, [
|
|
573
|
+
createElementVNode("span", null, [
|
|
574
|
+
createVNode(_component_paper_clip_outlined),
|
|
575
|
+
createElementVNode("a", {
|
|
576
|
+
href: url,
|
|
577
|
+
target: "_blank",
|
|
578
|
+
rel: "noopener noreferrer",
|
|
579
|
+
class: "ant-upload-list-item-name ant-upload-list-item-name-icon-count-1"
|
|
580
|
+
}, toDisplayString(_ctx.getFilename(url)), 9, _hoisted_18),
|
|
581
|
+
createElementVNode("span", _hoisted_19, [
|
|
582
|
+
createVNode(_component_download_outlined, {
|
|
583
|
+
onClick: ($event) => _ctx.handleDownloadFile(url)
|
|
584
|
+
}, null, 8, ["onClick"])
|
|
585
|
+
])
|
|
586
|
+
])
|
|
587
|
+
])
|
|
588
|
+
])
|
|
589
|
+
])
|
|
590
|
+
]);
|
|
591
|
+
}), 256))
|
|
592
|
+
])
|
|
593
|
+
])) : (openBlock(), createElementBlock("div", _hoisted_20, toDisplayString(_ctx.detailFormData[item.field]), 1))
|
|
594
|
+
])
|
|
595
|
+
]),
|
|
596
|
+
_: 2
|
|
597
|
+
}, 1032, ["span"]);
|
|
598
|
+
}), 128))
|
|
599
|
+
]),
|
|
600
|
+
_: 1
|
|
601
|
+
})
|
|
602
|
+
], 2);
|
|
603
|
+
}
|
|
604
|
+
var DetailForm = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-3491a563"]]);
|
|
605
|
+
export { DetailForm as default };
|
package/EnhanceJavaModal.js
CHANGED
|
@@ -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,
|
|
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 { u as useJavaFormSchemas, a as useJavaColumns } from "./enhance.data.js";
|
|
44
44
|
import { a as getEnhanceJavaByCode, b as saveEnhanceJava, d as doEnhanceJavaBatchDelete } 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: "EnhanceJavaModal",
|
|
@@ -81,7 +80,7 @@ const _sfc_main = defineComponent({
|
|
|
81
80
|
code.value = data.row.id;
|
|
82
81
|
reload();
|
|
83
82
|
}));
|
|
84
|
-
const { aiTestMode, genEnhanceJavaData } = useOnlineTest(
|
|
83
|
+
const { aiTestMode, genEnhanceJavaData } = useOnlineTest();
|
|
85
84
|
const [registerFormModal, formModal] = useModal();
|
|
86
85
|
const isUpdate = ref(false);
|
|
87
86
|
const formModalProps = reactive({
|
|
@@ -186,15 +185,10 @@ const _sfc_main = defineComponent({
|
|
|
186
185
|
}
|
|
187
186
|
}
|
|
188
187
|
});
|
|
189
|
-
const _hoisted_1 =
|
|
190
|
-
const _hoisted_2 = /* @__PURE__ */ createTextVNode(" \u5220\u9664 ");
|
|
191
|
-
const _hoisted_3 = /* @__PURE__ */ createTextVNode(" \u6279\u91CF\u64CD\u4F5C ");
|
|
192
|
-
const _hoisted_4 = /* @__PURE__ */ createTextVNode("\u5173\u95ED");
|
|
193
|
-
const _hoisted_5 = {
|
|
188
|
+
const _hoisted_1 = {
|
|
194
189
|
key: 0,
|
|
195
190
|
style: { "float": "left" }
|
|
196
191
|
};
|
|
197
|
-
const _hoisted_6 = /* @__PURE__ */ createTextVNode("\u751F\u6210\u6D4B\u8BD5\u6570\u636E");
|
|
198
192
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
199
193
|
const _component_a_button = resolveComponent("a-button");
|
|
200
194
|
const _component_a_icon = resolveComponent("a-icon");
|
|
@@ -216,14 +210,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
216
210
|
footer: withCtx(() => [
|
|
217
211
|
createVNode(_component_a_button, { onClick: _ctx.onCancel }, {
|
|
218
212
|
default: withCtx(() => [
|
|
219
|
-
|
|
213
|
+
createTextVNode("\u5173\u95ED")
|
|
220
214
|
]),
|
|
221
215
|
_: 1
|
|
222
216
|
}, 8, ["onClick"]),
|
|
223
|
-
_ctx.aiTestMode ? (openBlock(), createElementBlock("div",
|
|
217
|
+
_ctx.aiTestMode ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
224
218
|
createVNode(_component_a_button, { onClick: _ctx.onGenEnhanceJavaData }, {
|
|
225
219
|
default: withCtx(() => [
|
|
226
|
-
|
|
220
|
+
createTextVNode("\u751F\u6210\u6D4B\u8BD5\u6570\u636E")
|
|
227
221
|
]),
|
|
228
222
|
_: 1
|
|
229
223
|
}, 8, ["onClick"])
|
|
@@ -241,7 +235,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
241
235
|
preIcon: "ant-design:plus"
|
|
242
236
|
}, {
|
|
243
237
|
default: withCtx(() => [
|
|
244
|
-
|
|
238
|
+
createTextVNode("\u65B0\u589E")
|
|
245
239
|
]),
|
|
246
240
|
_: 1
|
|
247
241
|
}, 8, ["onClick"]),
|
|
@@ -255,7 +249,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
255
249
|
}, {
|
|
256
250
|
default: withCtx(() => [
|
|
257
251
|
createVNode(_component_a_icon, { type: "delete" }),
|
|
258
|
-
|
|
252
|
+
createTextVNode(" \u5220\u9664 ")
|
|
259
253
|
]),
|
|
260
254
|
_: 1
|
|
261
255
|
}, 8, ["onClick"])
|
|
@@ -266,7 +260,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
266
260
|
default: withCtx(() => [
|
|
267
261
|
createVNode(_component_a_button, { style: { "margin-left": "8px" } }, {
|
|
268
262
|
default: withCtx(() => [
|
|
269
|
-
|
|
263
|
+
createTextVNode(" \u6279\u91CF\u64CD\u4F5C "),
|
|
270
264
|
createVNode(_component_a_icon, { type: "down" })
|
|
271
265
|
]),
|
|
272
266
|
_: 1
|