@jeecg/online 1.0.1 → 3.4.3
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 +15 -9
- package/AuthButtonTree.js +4 -7
- package/AuthDataConfig.js +10 -8
- package/AuthDataTree.js +4 -7
- package/AuthFieldConfig.js +16 -14
- package/AuthFieldTree.js +25 -20
- package/AuthManagerDrawer.js +2 -3
- package/AuthSetterModal.js +2 -2
- package/CgformCopyList.js +34 -24
- package/CgformModal.js +57 -50
- package/CgreportModal.js +32 -39
- package/CheckDictTable.js +146 -26
- package/CodeFileListModal.js +174 -0
- package/CodeFileViewModal.js +324 -0
- package/CodeGeneratorModal.js +42 -40
- package/CustomButtonList.js +19 -23
- package/DBAttributeTable.js +250 -14
- package/DbToOnlineModal.js +28 -27
- package/DetailForm.js +607 -0
- package/EnhanceJavaModal.js +12 -19
- package/EnhanceJsHistory.js +6 -8
- package/EnhanceJsModal.js +17 -18
- package/EnhanceSqlModal.js +12 -19
- package/ExtendConfigModal.js +26 -17
- package/FileSelectModal.js +1 -2
- package/ForeignKeyTable.js +6 -5
- package/FormSchemaFactory.js +163 -30
- package/IndexTable.js +8 -7
- package/JModalTip.js +54 -0
- package/LeftDepart.js +3 -3
- package/LeftRole.js +8 -6
- package/LeftUser.js +8 -6
- package/LinkTableConfigModal.js +288 -0
- package/LinkTableFieldConfigModal.js +217 -0
- package/LinkTableListPiece.js +36 -0
- package/ModalFormDemo.js +4 -4
- package/OnlCgReportList.js +34 -0
- package/OnlineAutoList.js +155 -58
- package/OnlineAutoModal.js +91 -132
- package/OnlineAutoTreeList.js +92 -54
- package/OnlineCustomModal.js +31 -17
- package/OnlineDetailModal.js +182 -0
- package/OnlineForm.js +272 -141
- package/OnlineFormDetail.js +324 -0
- package/OnlineQueryForm.js +72 -42
- package/OnlineSearchFormItem.js +28 -23
- package/OnlineSubFormDetail.js +165 -0
- package/OnlineSuperQuery.js +72 -76
- package/OnlineSuperQueryValComponent.js +1 -0
- package/OnlineSuperQueryValComponent.vue_vue_type_script_lang.js +1 -17
- package/PageAttributeTable.js +233 -31
- package/ProcessOnlineForm.js +41 -18
- package/QueryTable.js +6 -5
- 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 +358 -34
- package/index2.js +49 -48
- package/index3.js +29 -26
- package/isArray.js +1 -1
- package/main.index.js +3 -3
- 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 +3457 -3792
- package/useCgformList.js +44 -31
- package/{useTableColumns.js → useListButton.js} +218 -409
- package/useOnlineTest.js +5 -26827
- package/useSchemas.js +382 -234
- 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/JOnlineSearchSelect.js +0 -107
- package/LICENSE +0 -7
- package/OnlineSelectCascade.js +0 -217
- 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,607 @@
|
|
|
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 "/@/store/modules/permission";
|
|
60
|
+
import "/@/components/Modal";
|
|
61
|
+
import "/@/components/Form/index";
|
|
62
|
+
import "./pick.js";
|
|
63
|
+
import "./_flatRest.js";
|
|
64
|
+
import "./isArray.js";
|
|
65
|
+
import "./toString.js";
|
|
66
|
+
import "./_arrayPush.js";
|
|
67
|
+
import "/@/components/Table";
|
|
68
|
+
import "/@/hooks/system/useListPage";
|
|
69
|
+
import "vue-router";
|
|
70
|
+
import "./LinkTableListPiece.js";
|
|
71
|
+
import "@vueuse/core";
|
|
72
|
+
import "/@/components/Loading";
|
|
73
|
+
import "/@/utils/auth";
|
|
74
|
+
import "./JModalTip.js";
|
|
75
|
+
import "ant-design-vue";
|
|
76
|
+
function useDetailForm(props) {
|
|
77
|
+
console.log(props);
|
|
78
|
+
const dictOptionsMap = {};
|
|
79
|
+
const currentLinkFields = [];
|
|
80
|
+
const detailFormData = ref({});
|
|
81
|
+
const { createMessage } = useMessage();
|
|
82
|
+
const formContainerClass = computed(() => {
|
|
83
|
+
if (props.containerClass) {
|
|
84
|
+
return `jeecg-detail-form ${props.containerClass}`;
|
|
85
|
+
} else {
|
|
86
|
+
return "jeecg-detail-form";
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
watch(
|
|
90
|
+
() => props.data,
|
|
91
|
+
(formData) => __async(this, null, function* () {
|
|
92
|
+
if (formData) {
|
|
93
|
+
let arr = props.schemas;
|
|
94
|
+
let temp = {};
|
|
95
|
+
if (arr && arr.length > 0) {
|
|
96
|
+
for (let item of arr) {
|
|
97
|
+
let field = item.field;
|
|
98
|
+
try {
|
|
99
|
+
temp[field] = yield getItemContent(item);
|
|
100
|
+
} catch (e) {
|
|
101
|
+
console.error("\u5B57\u6BB5\u3010" + field + "\u3011\u6587\u672C\u83B7\u53D6\u5931\u8D25", e);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
detailFormData.value = temp;
|
|
106
|
+
}
|
|
107
|
+
}),
|
|
108
|
+
{ deep: true, immediate: true }
|
|
109
|
+
);
|
|
110
|
+
function getItemContent(item) {
|
|
111
|
+
return __async(this, null, function* () {
|
|
112
|
+
let formData = props.data;
|
|
113
|
+
if (formData) {
|
|
114
|
+
let value = formData[item.field];
|
|
115
|
+
if (!value && value !== "0" && value !== 0) {
|
|
116
|
+
return "";
|
|
117
|
+
}
|
|
118
|
+
let str = value;
|
|
119
|
+
let view = item.view;
|
|
120
|
+
if (view == "list" || view == "radio" || view == "checkbox" || view == "list_multi") {
|
|
121
|
+
str = yield getSelectText(item, formData);
|
|
122
|
+
} else if (view == "sel_search") {
|
|
123
|
+
str = yield getTableDataText(item, formData);
|
|
124
|
+
} else if (view == "cat_tree") {
|
|
125
|
+
str = yield getCategoryDataText(item, formData);
|
|
126
|
+
} else if (view == "link_table") {
|
|
127
|
+
str = yield getLinkTableData(item, formData);
|
|
128
|
+
} else if (view == "sel_depart") {
|
|
129
|
+
str = yield getDepartDataText(item, formData);
|
|
130
|
+
} else if (view == "sel_user") {
|
|
131
|
+
str = yield getUserDataText(item, formData);
|
|
132
|
+
} else if (view == "pca") {
|
|
133
|
+
str = getAreaTextByCode(value);
|
|
134
|
+
} else if (view == "link_down") {
|
|
135
|
+
str = yield getLinkDownDataText(item, formData);
|
|
136
|
+
} else if (view == "sel_tree") {
|
|
137
|
+
str = yield getTreeDataText(item, formData);
|
|
138
|
+
} else if (view == "switch") {
|
|
139
|
+
str = yield getSwitchDataText(item, formData);
|
|
140
|
+
} else if (view == "image" || view == "file") {
|
|
141
|
+
str = getFileList(item, formData);
|
|
142
|
+
} else {
|
|
143
|
+
if (currentLinkFields.indexOf(item.field) >= 0) {
|
|
144
|
+
let arr = dictOptionsMap[item.field];
|
|
145
|
+
if (arr && arr.length > 0) {
|
|
146
|
+
str = filterMultiDictText(arr, value);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return str;
|
|
151
|
+
}
|
|
152
|
+
return "";
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
function getSelectText(item, formData) {
|
|
156
|
+
return __async(this, null, function* () {
|
|
157
|
+
let dictCode = getRequestDictCode(item);
|
|
158
|
+
let value = formData[item.field];
|
|
159
|
+
if (!dictCode) {
|
|
160
|
+
return value;
|
|
161
|
+
}
|
|
162
|
+
let options = getDictItemsByCode(dictCode);
|
|
163
|
+
if (options && options.length > 0) {
|
|
164
|
+
return filterMultiDictText(options, value);
|
|
165
|
+
} else {
|
|
166
|
+
let dictRes = [];
|
|
167
|
+
if (dictOptionsMap[dictCode]) {
|
|
168
|
+
dictRes = dictOptionsMap[dictCode];
|
|
169
|
+
} else {
|
|
170
|
+
dictRes = (yield initDictOptions(dictCode)) || [];
|
|
171
|
+
}
|
|
172
|
+
if (dictRes && dictRes.length > 0) {
|
|
173
|
+
dictOptionsMap[dictCode] = dictRes;
|
|
174
|
+
return filterMultiDictText(dictRes, value);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return "";
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
function getRequestDictCode(item) {
|
|
181
|
+
let temp = "";
|
|
182
|
+
let { dictCode, dictTable, dictText } = item;
|
|
183
|
+
if (!dictTable) {
|
|
184
|
+
temp = dictCode;
|
|
185
|
+
} else {
|
|
186
|
+
temp = encodeURI(`${dictTable},${dictText},${dictCode}`);
|
|
187
|
+
}
|
|
188
|
+
return temp;
|
|
189
|
+
}
|
|
190
|
+
function getTableDataText(item, formData) {
|
|
191
|
+
return __async(this, null, function* () {
|
|
192
|
+
let dictCode = getRequestDictCode(item);
|
|
193
|
+
let value = formData[item.field];
|
|
194
|
+
if (!value) {
|
|
195
|
+
return "";
|
|
196
|
+
}
|
|
197
|
+
let arr = [];
|
|
198
|
+
if (dictOptionsMap[dictCode + value]) {
|
|
199
|
+
arr = dictOptionsMap[dictCode + value];
|
|
200
|
+
} else {
|
|
201
|
+
arr = (yield defHttp.get({ url: `/sys/dict/loadDictItem/${dictCode}`, params: { key: value } })) || [];
|
|
202
|
+
}
|
|
203
|
+
if (arr && arr.length > 0) {
|
|
204
|
+
dictOptionsMap[dictCode + value] = arr;
|
|
205
|
+
return arr.join(",");
|
|
206
|
+
}
|
|
207
|
+
return "";
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
function getCategoryDataText(item, formData) {
|
|
211
|
+
return __async(this, null, function* () {
|
|
212
|
+
let value = formData[item.field];
|
|
213
|
+
if (!value) {
|
|
214
|
+
return "";
|
|
215
|
+
}
|
|
216
|
+
let arr = (yield loadDictItem({ ids: value })) || [];
|
|
217
|
+
if (arr && arr.length > 0) {
|
|
218
|
+
return arr.join(",");
|
|
219
|
+
}
|
|
220
|
+
return "";
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
function getDepartDataText(item, formData) {
|
|
224
|
+
return __async(this, null, function* () {
|
|
225
|
+
let value = formData[item.field];
|
|
226
|
+
if (!value) {
|
|
227
|
+
return "";
|
|
228
|
+
}
|
|
229
|
+
let extend = getExtendConfig(item);
|
|
230
|
+
let storeField = extend.store || "id";
|
|
231
|
+
let arr = (yield queryDepartTreeSync({ ids: value, primaryKey: storeField })) || [];
|
|
232
|
+
if (arr && arr.length > 0) {
|
|
233
|
+
let temp = [];
|
|
234
|
+
for (let item2 of arr) {
|
|
235
|
+
temp.push(item2.title);
|
|
236
|
+
}
|
|
237
|
+
return temp.join(",");
|
|
238
|
+
}
|
|
239
|
+
return "";
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
function getUserDataText(item, formData) {
|
|
243
|
+
return __async(this, null, function* () {
|
|
244
|
+
let value = formData[item.field];
|
|
245
|
+
if (!value) {
|
|
246
|
+
return "";
|
|
247
|
+
}
|
|
248
|
+
let extend = getExtendConfig(item);
|
|
249
|
+
let storeField = extend.store || "username";
|
|
250
|
+
let params = {
|
|
251
|
+
[storeField]: value
|
|
252
|
+
};
|
|
253
|
+
let res = (yield getUserList(params)) || {};
|
|
254
|
+
let arr = res.records || [];
|
|
255
|
+
if (arr && arr.length > 0) {
|
|
256
|
+
let temp = [];
|
|
257
|
+
console.log("getUserDataText", arr);
|
|
258
|
+
let textField = extend.text || "realname";
|
|
259
|
+
for (let item2 of arr) {
|
|
260
|
+
temp.push(item2[textField]);
|
|
261
|
+
}
|
|
262
|
+
return temp.join(",");
|
|
263
|
+
}
|
|
264
|
+
return "";
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
function getExtendConfig(item) {
|
|
268
|
+
let extend = {};
|
|
269
|
+
let { fieldExtendJson } = item;
|
|
270
|
+
if (fieldExtendJson) {
|
|
271
|
+
if (typeof fieldExtendJson == "string") {
|
|
272
|
+
try {
|
|
273
|
+
let json = JSON.parse(fieldExtendJson);
|
|
274
|
+
extend = __spreadValues({}, json);
|
|
275
|
+
} catch (e) {
|
|
276
|
+
console.error(e);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
return extend;
|
|
281
|
+
}
|
|
282
|
+
function getLinkDownDataText(item, formData) {
|
|
283
|
+
return __async(this, null, function* () {
|
|
284
|
+
let { dictTable, field } = item;
|
|
285
|
+
let arr = [];
|
|
286
|
+
if (dictOptionsMap[field]) {
|
|
287
|
+
arr = dictOptionsMap[field];
|
|
288
|
+
} else {
|
|
289
|
+
if (dictTable) {
|
|
290
|
+
let json = JSON.parse(dictTable);
|
|
291
|
+
if (json) {
|
|
292
|
+
let { table, txt, key, linkField } = json;
|
|
293
|
+
let dictCode = `${table},${txt},${key}`;
|
|
294
|
+
let temp = (yield initDictOptions(dictCode)) || [];
|
|
295
|
+
arr = [...temp];
|
|
296
|
+
if (arr && arr.length > 0) {
|
|
297
|
+
dictOptionsMap[field] = arr;
|
|
298
|
+
if (linkField) {
|
|
299
|
+
let fieldArray = linkField.split(",");
|
|
300
|
+
for (let item2 of fieldArray) {
|
|
301
|
+
dictOptionsMap[item2] = arr;
|
|
302
|
+
currentLinkFields.push(item2);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
if (arr && arr.length > 0) {
|
|
310
|
+
let value = formData[field];
|
|
311
|
+
return filterMultiDictText(arr, value);
|
|
312
|
+
}
|
|
313
|
+
return "";
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
function getTreeDataText(item, formData) {
|
|
317
|
+
return __async(this, null, function* () {
|
|
318
|
+
let { dict, field } = item;
|
|
319
|
+
let arr = [];
|
|
320
|
+
if (dictOptionsMap[field]) {
|
|
321
|
+
arr = dictOptionsMap[field];
|
|
322
|
+
} else {
|
|
323
|
+
if (dict) {
|
|
324
|
+
arr = yield initDictOptions(dict);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
if (arr && arr.length > 0) {
|
|
328
|
+
let value = formData[field];
|
|
329
|
+
return filterMultiDictText(arr, value);
|
|
330
|
+
}
|
|
331
|
+
return "";
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
function getSwitchDataText(item, formData) {
|
|
335
|
+
return __async(this, null, function* () {
|
|
336
|
+
let { fieldExtendJson, field } = item;
|
|
337
|
+
let options = ["Y", "N"];
|
|
338
|
+
if (fieldExtendJson) {
|
|
339
|
+
options = JSON.parse(fieldExtendJson);
|
|
340
|
+
}
|
|
341
|
+
let arr = [
|
|
342
|
+
{ value: options[0], text: "\u662F" },
|
|
343
|
+
{ value: options[1], text: "\u5426" },
|
|
344
|
+
{ value: options[0] + "", text: "\u662F" },
|
|
345
|
+
{ value: options[1] + "", text: "\u5426" }
|
|
346
|
+
];
|
|
347
|
+
let value = formData[field];
|
|
348
|
+
return filterDictText(arr, value);
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
function getItemSpan(item) {
|
|
352
|
+
if (item.span) {
|
|
353
|
+
return item.span;
|
|
354
|
+
}
|
|
355
|
+
return props.span;
|
|
356
|
+
}
|
|
357
|
+
function getFileList(item, formData) {
|
|
358
|
+
let str = formData[item.field];
|
|
359
|
+
if (!str) {
|
|
360
|
+
return [];
|
|
361
|
+
}
|
|
362
|
+
let arr = str.split(",");
|
|
363
|
+
let result = [];
|
|
364
|
+
for (let item2 of arr) {
|
|
365
|
+
let src = getFileAccessHttpUrl(item2) || "";
|
|
366
|
+
if (src) {
|
|
367
|
+
result.push(src);
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
return result;
|
|
371
|
+
}
|
|
372
|
+
function handleDownloadFile(url) {
|
|
373
|
+
if (url) {
|
|
374
|
+
window.open(url);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
function handleViewImage(field) {
|
|
378
|
+
let values = detailFormData.value[field];
|
|
379
|
+
if (!values || values.length == 0) {
|
|
380
|
+
createMessage.warning("\u65E0\u56FE\u7247!");
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
createImgPreview({ imageList: values });
|
|
384
|
+
}
|
|
385
|
+
function getFilename(url) {
|
|
386
|
+
if (!url) {
|
|
387
|
+
return "";
|
|
388
|
+
}
|
|
389
|
+
return url.substring(url.lastIndexOf("/") + 1);
|
|
390
|
+
}
|
|
391
|
+
const span24ViewArray = ["file", "image", "markdown", "umeditor"];
|
|
392
|
+
function getLabelWidthClass(item) {
|
|
393
|
+
if (span24ViewArray.indexOf(item.view) >= 0) {
|
|
394
|
+
if (props.span == 12) {
|
|
395
|
+
return "span12";
|
|
396
|
+
} else if (props.span == 8) {
|
|
397
|
+
return "span8";
|
|
398
|
+
} else if (props.span == 6) {
|
|
399
|
+
return "span6";
|
|
400
|
+
} else {
|
|
401
|
+
return "span24";
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
return "";
|
|
405
|
+
}
|
|
406
|
+
function getLinkTableData(item, formData) {
|
|
407
|
+
return __async(this, null, function* () {
|
|
408
|
+
let value = formData[item.field];
|
|
409
|
+
let extend = getExtendConfig(item);
|
|
410
|
+
if (extend.showType == "select") {
|
|
411
|
+
if (!value) {
|
|
412
|
+
return "";
|
|
413
|
+
}
|
|
414
|
+
return formData[item.field + "_dictText"];
|
|
415
|
+
} else {
|
|
416
|
+
if (!value) {
|
|
417
|
+
return "";
|
|
418
|
+
}
|
|
419
|
+
return formData[item.field];
|
|
420
|
+
}
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
return {
|
|
424
|
+
formContainerClass,
|
|
425
|
+
detailFormData,
|
|
426
|
+
getItemSpan,
|
|
427
|
+
handleDownloadFile,
|
|
428
|
+
handleViewImage,
|
|
429
|
+
getFilename,
|
|
430
|
+
getLabelWidthClass
|
|
431
|
+
};
|
|
432
|
+
}
|
|
433
|
+
var DetailForm_vue_vue_type_style_index_0_scoped_true_lang = "";
|
|
434
|
+
const _sfc_main = defineComponent({
|
|
435
|
+
name: "DetailForm",
|
|
436
|
+
components: {
|
|
437
|
+
DownloadOutlined,
|
|
438
|
+
EyeOutlined,
|
|
439
|
+
PaperClipOutlined,
|
|
440
|
+
LinkTableCard
|
|
441
|
+
},
|
|
442
|
+
props: {
|
|
443
|
+
span: propTypes.number.def(24),
|
|
444
|
+
schemas: propTypes.array.def([]),
|
|
445
|
+
data: propTypes.object.def({}),
|
|
446
|
+
containerClass: propTypes.string.def("")
|
|
447
|
+
},
|
|
448
|
+
setup(props) {
|
|
449
|
+
const { formContainerClass, detailFormData, getItemSpan, handleDownloadFile, handleViewImage, getFilename, getLabelWidthClass } = useDetailForm(props);
|
|
450
|
+
return {
|
|
451
|
+
formContainerClass,
|
|
452
|
+
detailFormData,
|
|
453
|
+
getItemSpan,
|
|
454
|
+
handleDownloadFile,
|
|
455
|
+
handleViewImage,
|
|
456
|
+
getFilename,
|
|
457
|
+
getLabelWidthClass
|
|
458
|
+
};
|
|
459
|
+
}
|
|
460
|
+
});
|
|
461
|
+
const _hoisted_1 = { class: "detail-item" };
|
|
462
|
+
const _hoisted_2 = ["title"];
|
|
463
|
+
const _hoisted_3 = ["innerHTML"];
|
|
464
|
+
const _hoisted_4 = {
|
|
465
|
+
key: 1,
|
|
466
|
+
class: "item-content",
|
|
467
|
+
style: { "display": "block", "padding-top": "10px" }
|
|
468
|
+
};
|
|
469
|
+
const _hoisted_5 = { key: 0 };
|
|
470
|
+
const _hoisted_6 = {
|
|
471
|
+
key: 2,
|
|
472
|
+
class: "item-content"
|
|
473
|
+
};
|
|
474
|
+
const _hoisted_7 = { class: "ant-upload-list ant-upload-list-picture-card" };
|
|
475
|
+
const _hoisted_8 = {
|
|
476
|
+
class: "ant-upload-list-picture-card-container",
|
|
477
|
+
style: { "margin-top": "8px" }
|
|
478
|
+
};
|
|
479
|
+
const _hoisted_9 = {
|
|
480
|
+
class: "ant-upload-list-item ant-upload-list-item-done ant-upload-list-item-list-type-picture-card",
|
|
481
|
+
"data-has-actions": "true"
|
|
482
|
+
};
|
|
483
|
+
const _hoisted_10 = { class: "ant-upload-list-item-info" };
|
|
484
|
+
const _hoisted_11 = ["src"];
|
|
485
|
+
const _hoisted_12 = { class: "ant-upload-list-item-actions" };
|
|
486
|
+
const _hoisted_13 = {
|
|
487
|
+
key: 3,
|
|
488
|
+
class: "item-content"
|
|
489
|
+
};
|
|
490
|
+
const _hoisted_14 = { class: "ant-upload-list ant-upload-list-text" };
|
|
491
|
+
const _hoisted_15 = { class: "" };
|
|
492
|
+
const _hoisted_16 = { class: "ant-upload-list-item ant-upload-list-item-done ant-upload-list-item-list-type-text" };
|
|
493
|
+
const _hoisted_17 = { class: "ant-upload-list-item-info" };
|
|
494
|
+
const _hoisted_18 = { class: "ant-upload-span" };
|
|
495
|
+
const _hoisted_19 = { class: "ant-upload-text-icon" };
|
|
496
|
+
const _hoisted_20 = ["href"];
|
|
497
|
+
const _hoisted_21 = { class: "ant-upload-list-item-card-actions" };
|
|
498
|
+
const _hoisted_22 = {
|
|
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", _hoisted_18, [
|
|
574
|
+
createElementVNode("div", _hoisted_19, [
|
|
575
|
+
createVNode(_component_paper_clip_outlined)
|
|
576
|
+
]),
|
|
577
|
+
createElementVNode("a", {
|
|
578
|
+
href: url,
|
|
579
|
+
target: "_blank",
|
|
580
|
+
rel: "noopener noreferrer",
|
|
581
|
+
class: "ant-upload-list-item-name"
|
|
582
|
+
}, toDisplayString(_ctx.getFilename(url)), 9, _hoisted_20),
|
|
583
|
+
createElementVNode("span", _hoisted_21, [
|
|
584
|
+
createVNode(_component_download_outlined, {
|
|
585
|
+
onClick: ($event) => _ctx.handleDownloadFile(url)
|
|
586
|
+
}, null, 8, ["onClick"])
|
|
587
|
+
])
|
|
588
|
+
])
|
|
589
|
+
])
|
|
590
|
+
])
|
|
591
|
+
])
|
|
592
|
+
]);
|
|
593
|
+
}), 256))
|
|
594
|
+
])
|
|
595
|
+
])) : (openBlock(), createElementBlock("div", _hoisted_22, toDisplayString(_ctx.detailFormData[item.field]), 1))
|
|
596
|
+
])
|
|
597
|
+
]),
|
|
598
|
+
_: 2
|
|
599
|
+
}, 1032, ["span"]);
|
|
600
|
+
}), 128))
|
|
601
|
+
]),
|
|
602
|
+
_: 1
|
|
603
|
+
})
|
|
604
|
+
], 2);
|
|
605
|
+
}
|
|
606
|
+
var DetailForm = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-47915cc7"]]);
|
|
607
|
+
export { DetailForm as default };
|