@fecp/designer 5.3.10 → 5.3.12
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/es/designer.css +405 -386
- package/es/packages/designer/package.json.mjs +1 -1
- package/es/packages/designer/src/components/FieldSetMapping.vue2.mjs +3 -1
- package/es/packages/designer/src/components/ParamsConfig.vue2.mjs +1 -1
- package/es/packages/designer/src/components/ValueSelector.vue.mjs +190 -0
- package/es/packages/designer/src/layout/aside/HiddenFieldDialog.vue.mjs +4 -3
- package/es/packages/designer/src/layout/header/index.vue.mjs +4 -0
- package/es/packages/designer/src/packages/advancedFilter/ValueInput.vue2.mjs +1 -1
- package/es/packages/designer/src/packages/dataLinkage/index.vue.mjs +1 -1
- package/es/packages/designer/src/packages/dataSource/dataSource.vue.mjs +65 -45
- package/es/packages/designer/src/packages/dialogGlobal/index.vue.mjs +3 -1
- package/es/packages/designer/src/packages/event/index.vue2.mjs +3 -1
- package/es/packages/designer/src/packages/eventFlow/dialog/action/Upload.vue2.mjs +179 -0
- package/es/packages/designer/src/packages/eventFlow/dialog/action/config.mjs +18 -3
- package/es/packages/designer/src/packages/form/components/ComponentPreviewWrapper.vue.mjs +2 -2
- package/es/packages/designer/src/packages/form/index.vue.mjs +2 -13
- package/es/packages/designer/src/packages/form/property/approvalHistory.vue.mjs +1 -1
- package/es/packages/designer/src/packages/form/property/subForm.vue.mjs +1 -1
- package/es/packages/designer/src/packages/prod/index.vue.mjs +1 -1
- package/es/packages/designer/src/packages/table/headerBtn.vue.mjs +3 -1
- package/es/packages/designer/src/packages/table/index.vue.mjs +2 -1
- package/es/packages/designer/src/packages/table/property/optBtn.vue.mjs +0 -9
- package/es/packages/designer/src/packages/table/queryModule/index.vue.mjs +3 -1
- package/es/packages/designer/src/packages/table/tableSetting.vue.mjs +2 -1
- package/es/packages/vue/src/components/forms/form/Form.vue.mjs +12 -2
- package/es/packages/vue/src/components/forms/text/Text.vue.mjs +2 -2
- package/es/packages/vue/src/utils/datasource.mjs +4 -0
- package/es/packages/vue/src/utils/eventFlow/actionHandlers.mjs +105 -6
- package/es/packages/vue/src/utils/parseRouteParams.mjs +1 -1
- package/lib/designer.css +405 -386
- package/lib/packages/designer/package.json.js +1 -1
- package/lib/packages/designer/src/components/FieldSetMapping.vue2.js +3 -1
- package/lib/packages/designer/src/components/ParamsConfig.vue2.js +1 -1
- package/lib/packages/designer/src/components/ValueSelector.vue.js +190 -0
- package/lib/packages/designer/src/layout/aside/HiddenFieldDialog.vue.js +4 -3
- package/lib/packages/designer/src/layout/header/index.vue.js +4 -0
- package/lib/packages/designer/src/packages/advancedFilter/ValueInput.vue2.js +1 -1
- package/lib/packages/designer/src/packages/dataLinkage/index.vue.js +1 -1
- package/lib/packages/designer/src/packages/dataSource/dataSource.vue.js +64 -44
- package/lib/packages/designer/src/packages/dialogGlobal/index.vue.js +3 -1
- package/lib/packages/designer/src/packages/event/index.vue2.js +3 -1
- package/lib/packages/designer/src/packages/eventFlow/dialog/action/Upload.vue2.js +179 -0
- package/lib/packages/designer/src/packages/eventFlow/dialog/action/config.js +18 -3
- package/lib/packages/designer/src/packages/form/components/ComponentPreviewWrapper.vue.js +2 -2
- package/lib/packages/designer/src/packages/form/index.vue.js +1 -12
- package/lib/packages/designer/src/packages/form/property/approvalHistory.vue.js +1 -1
- package/lib/packages/designer/src/packages/form/property/subForm.vue.js +1 -1
- package/lib/packages/designer/src/packages/prod/index.vue.js +1 -1
- package/lib/packages/designer/src/packages/table/headerBtn.vue.js +3 -1
- package/lib/packages/designer/src/packages/table/index.vue.js +2 -1
- package/lib/packages/designer/src/packages/table/property/optBtn.vue.js +0 -9
- package/lib/packages/designer/src/packages/table/queryModule/index.vue.js +3 -1
- package/lib/packages/designer/src/packages/table/tableSetting.vue.js +2 -1
- package/lib/packages/vue/src/components/forms/form/Form.vue.js +12 -2
- package/lib/packages/vue/src/components/forms/text/Text.vue.js +2 -2
- package/lib/packages/vue/src/utils/datasource.js +4 -0
- package/lib/packages/vue/src/utils/eventFlow/actionHandlers.js +104 -5
- package/lib/packages/vue/src/utils/parseRouteParams.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
;/* empty css */
|
|
4
|
+
;/* empty css */
|
|
5
|
+
;/* empty css */
|
|
6
|
+
;/* empty css */
|
|
7
|
+
;/* empty css */
|
|
8
|
+
;/* empty css */
|
|
9
|
+
;/* empty css */
|
|
10
|
+
const vue = require("vue");
|
|
11
|
+
const DataSourceSelect = require("../../../../components/DataSourceSelect.vue.js");
|
|
12
|
+
;/* empty css */
|
|
13
|
+
const _pluginVue_exportHelper = require("../../../../../../../_virtual/_plugin-vue_export-helper.js");
|
|
14
|
+
const index = require("../../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/form/index.js");
|
|
15
|
+
const index$1 = require("../../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/checkbox/index.js");
|
|
16
|
+
const index$2 = require("../../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/input-number/index.js");
|
|
17
|
+
const index$3 = require("../../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/switch/index.js");
|
|
18
|
+
const _hoisted_1 = { class: "accept-type-container" };
|
|
19
|
+
const _hoisted_2 = { class: "quick-options" };
|
|
20
|
+
const _hoisted_3 = { class: "type-category" };
|
|
21
|
+
const _hoisted_4 = { class: "type-category" };
|
|
22
|
+
const _hoisted_5 = { class: "type-category" };
|
|
23
|
+
const _hoisted_6 = { class: "desc-content" };
|
|
24
|
+
const _sfc_main = {
|
|
25
|
+
__name: "Upload",
|
|
26
|
+
props: {
|
|
27
|
+
formData: Object
|
|
28
|
+
},
|
|
29
|
+
setup(__props) {
|
|
30
|
+
const props = __props;
|
|
31
|
+
const allFileTypes = vue.ref([
|
|
32
|
+
"doc",
|
|
33
|
+
"xls",
|
|
34
|
+
"ppt",
|
|
35
|
+
"pdf",
|
|
36
|
+
"text",
|
|
37
|
+
"image",
|
|
38
|
+
"video",
|
|
39
|
+
"audio",
|
|
40
|
+
"zip"
|
|
41
|
+
]);
|
|
42
|
+
const isAllSelected = vue.computed(() => {
|
|
43
|
+
return allFileTypes.value.every(
|
|
44
|
+
(type) => {
|
|
45
|
+
var _a;
|
|
46
|
+
return (_a = formData.value.acceptType) == null ? void 0 : _a.includes(type);
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
});
|
|
50
|
+
const toggleSelectAll = () => {
|
|
51
|
+
if (isAllSelected.value) {
|
|
52
|
+
formData.value.acceptType = [];
|
|
53
|
+
} else {
|
|
54
|
+
formData.value.acceptType = [...allFileTypes.value];
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const formData = vue.ref(props.formData);
|
|
58
|
+
if (!formData.value.acceptType) {
|
|
59
|
+
formData.value.acceptType = [];
|
|
60
|
+
}
|
|
61
|
+
return (_ctx, _cache) => {
|
|
62
|
+
const _component_el_form_item = index.ElFormItem;
|
|
63
|
+
const _component_el_checkbox = index$1.ElCheckbox;
|
|
64
|
+
const _component_el_checkbox_group = index$1.ElCheckboxGroup;
|
|
65
|
+
const _component_el_input_number = index$2.ElInputNumber;
|
|
66
|
+
const _component_el_switch = index$3.ElSwitch;
|
|
67
|
+
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
68
|
+
vue.createVNode(_component_el_form_item, { label: "选择数据源" }, {
|
|
69
|
+
default: vue.withCtx(() => [
|
|
70
|
+
vue.createVNode(DataSourceSelect.default, {
|
|
71
|
+
modelValue: formData.value.dataSourceId,
|
|
72
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => formData.value.dataSourceId = $event)
|
|
73
|
+
}, null, 8, ["modelValue"])
|
|
74
|
+
]),
|
|
75
|
+
_: 1
|
|
76
|
+
}),
|
|
77
|
+
vue.createVNode(_component_el_form_item, { label: "允许上传的文件类型" }, {
|
|
78
|
+
default: vue.withCtx(() => [
|
|
79
|
+
vue.createElementVNode("div", _hoisted_1, [
|
|
80
|
+
vue.createElementVNode("div", _hoisted_2, [
|
|
81
|
+
vue.createVNode(_component_el_checkbox, {
|
|
82
|
+
"model-value": isAllSelected.value,
|
|
83
|
+
onChange: toggleSelectAll,
|
|
84
|
+
size: "small",
|
|
85
|
+
class: "select-all-checkbox"
|
|
86
|
+
}, {
|
|
87
|
+
default: vue.withCtx(() => _cache[4] || (_cache[4] = [
|
|
88
|
+
vue.createTextVNode(" 全部 ")
|
|
89
|
+
])),
|
|
90
|
+
_: 1
|
|
91
|
+
}, 8, ["model-value"])
|
|
92
|
+
]),
|
|
93
|
+
vue.createVNode(_component_el_checkbox_group, {
|
|
94
|
+
modelValue: formData.value.acceptType,
|
|
95
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => formData.value.acceptType = $event),
|
|
96
|
+
size: "small",
|
|
97
|
+
class: "type-checkbox-group"
|
|
98
|
+
}, {
|
|
99
|
+
default: vue.withCtx(() => [
|
|
100
|
+
vue.createElementVNode("div", _hoisted_3, [
|
|
101
|
+
_cache[5] || (_cache[5] = vue.createElementVNode("div", { class: "category-title" }, "文档类", -1)),
|
|
102
|
+
vue.createVNode(_component_el_checkbox, {
|
|
103
|
+
label: "Word文档",
|
|
104
|
+
value: "doc"
|
|
105
|
+
}),
|
|
106
|
+
vue.createVNode(_component_el_checkbox, {
|
|
107
|
+
label: "Excel文档",
|
|
108
|
+
value: "xls"
|
|
109
|
+
}),
|
|
110
|
+
vue.createVNode(_component_el_checkbox, {
|
|
111
|
+
label: "PowerPoint文档",
|
|
112
|
+
value: "ppt"
|
|
113
|
+
}),
|
|
114
|
+
vue.createVNode(_component_el_checkbox, {
|
|
115
|
+
label: "PDF文档",
|
|
116
|
+
value: "pdf"
|
|
117
|
+
}),
|
|
118
|
+
vue.createVNode(_component_el_checkbox, {
|
|
119
|
+
label: "文本文件",
|
|
120
|
+
value: "text"
|
|
121
|
+
})
|
|
122
|
+
]),
|
|
123
|
+
vue.createElementVNode("div", _hoisted_4, [
|
|
124
|
+
_cache[6] || (_cache[6] = vue.createElementVNode("div", { class: "category-title" }, "媒体类", -1)),
|
|
125
|
+
vue.createVNode(_component_el_checkbox, {
|
|
126
|
+
label: "图片",
|
|
127
|
+
value: "image"
|
|
128
|
+
}),
|
|
129
|
+
vue.createVNode(_component_el_checkbox, {
|
|
130
|
+
label: "视频",
|
|
131
|
+
value: "video"
|
|
132
|
+
}),
|
|
133
|
+
vue.createVNode(_component_el_checkbox, {
|
|
134
|
+
label: "音频",
|
|
135
|
+
value: "audio"
|
|
136
|
+
})
|
|
137
|
+
]),
|
|
138
|
+
vue.createElementVNode("div", _hoisted_5, [
|
|
139
|
+
_cache[7] || (_cache[7] = vue.createElementVNode("div", { class: "category-title" }, "其他", -1)),
|
|
140
|
+
vue.createVNode(_component_el_checkbox, {
|
|
141
|
+
label: "压缩包",
|
|
142
|
+
value: "zip"
|
|
143
|
+
})
|
|
144
|
+
])
|
|
145
|
+
]),
|
|
146
|
+
_: 1
|
|
147
|
+
}, 8, ["modelValue"])
|
|
148
|
+
])
|
|
149
|
+
]),
|
|
150
|
+
_: 1
|
|
151
|
+
}),
|
|
152
|
+
vue.createVNode(_component_el_form_item, { label: "文件大小限制" }, {
|
|
153
|
+
default: vue.withCtx(() => [
|
|
154
|
+
vue.createElementVNode("div", _hoisted_6, [
|
|
155
|
+
vue.createVNode(_component_el_input_number, {
|
|
156
|
+
modelValue: formData.value.maxSize,
|
|
157
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => formData.value.maxSize = $event),
|
|
158
|
+
min: 0
|
|
159
|
+
}, null, 8, ["modelValue"]),
|
|
160
|
+
_cache[8] || (_cache[8] = vue.createElementVNode("div", { class: "condition-desc" }, "单位 MB, 填0不限制。", -1))
|
|
161
|
+
])
|
|
162
|
+
]),
|
|
163
|
+
_: 1
|
|
164
|
+
}),
|
|
165
|
+
vue.createVNode(_component_el_form_item, { label: "允许多选" }, {
|
|
166
|
+
default: vue.withCtx(() => [
|
|
167
|
+
vue.createVNode(_component_el_switch, {
|
|
168
|
+
modelValue: formData.value.multipleUpload,
|
|
169
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => formData.value.multipleUpload = $event)
|
|
170
|
+
}, null, 8, ["modelValue"])
|
|
171
|
+
]),
|
|
172
|
+
_: 1
|
|
173
|
+
})
|
|
174
|
+
], 64);
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
const Upload = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-9d73883f"]]);
|
|
179
|
+
exports.default = Upload;
|
|
@@ -11,6 +11,7 @@ const TableRefresh = require("./TableRefresh.vue2.js");
|
|
|
11
11
|
const TableChildRefresh = require("./TableChildRefresh.vue2.js");
|
|
12
12
|
const TableRowDelete = require("./TableRowDelete.vue2.js");
|
|
13
13
|
const Dialog = require("./Dialog.vue.js");
|
|
14
|
+
const Upload = require("./Upload.vue2.js");
|
|
14
15
|
const menuData = [
|
|
15
16
|
{
|
|
16
17
|
index: "page",
|
|
@@ -52,6 +53,21 @@ const menuData = [
|
|
|
52
53
|
cancelText: "取消",
|
|
53
54
|
showCancel: true,
|
|
54
55
|
confirmAction: "continue"
|
|
56
|
+
} },
|
|
57
|
+
{ index: "ui-upload", label: "文件上传", desc: "上传文件到服务器", component: Upload.default, default: {
|
|
58
|
+
acceptType: [
|
|
59
|
+
"doc",
|
|
60
|
+
"xls",
|
|
61
|
+
"ppt",
|
|
62
|
+
"pdf",
|
|
63
|
+
"text",
|
|
64
|
+
"image",
|
|
65
|
+
"video",
|
|
66
|
+
"audio",
|
|
67
|
+
"zip"
|
|
68
|
+
],
|
|
69
|
+
maxSize: "0",
|
|
70
|
+
multipleUpload: false
|
|
55
71
|
} }
|
|
56
72
|
]
|
|
57
73
|
},
|
|
@@ -72,7 +88,7 @@ const menuData = [
|
|
|
72
88
|
resetFilter: false,
|
|
73
89
|
resetPagination: false
|
|
74
90
|
} },
|
|
75
|
-
{ index: "table-row-delete", label: "
|
|
91
|
+
{ index: "table-row-delete", label: "行数据删除", desc: "删除列表的行数据", component: TableRowDelete.default, default: {
|
|
76
92
|
showConfirmDeleteMessage: true,
|
|
77
93
|
resetTableAfterDelete: true
|
|
78
94
|
} },
|
|
@@ -87,8 +103,7 @@ const menuData = [
|
|
|
87
103
|
index: "request",
|
|
88
104
|
label: "请求",
|
|
89
105
|
items: [
|
|
90
|
-
{ index: "request-send", label: "发送请求", desc: "通过数据源发送API请求", component: Request.default, default: { showSuccessMessage: false } }
|
|
91
|
-
{ index: "request-handle", label: "接口返回数据处理", desc: "对接口返回的数据进行加工处理" }
|
|
106
|
+
{ index: "request-send", label: "发送请求", desc: "通过数据源发送API请求", component: Request.default, default: { showSuccessMessage: false } }
|
|
92
107
|
]
|
|
93
108
|
},
|
|
94
109
|
{
|
|
@@ -167,7 +167,7 @@ const _sfc_main = {
|
|
|
167
167
|
]),
|
|
168
168
|
key: "1"
|
|
169
169
|
} : void 0,
|
|
170
|
-
!__props.componentData.
|
|
170
|
+
!__props.componentData.disabled && __props.componentData.suffixButton && __props.componentData.suffixButton != "none" ? {
|
|
171
171
|
name: "append",
|
|
172
172
|
fn: vue.withCtx(() => [
|
|
173
173
|
vue.createVNode(_component_el_button, { class: "suffixButton" }, {
|
|
@@ -300,5 +300,5 @@ const _sfc_main = {
|
|
|
300
300
|
};
|
|
301
301
|
}
|
|
302
302
|
};
|
|
303
|
-
const ComponentPreviewWrapper = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
303
|
+
const ComponentPreviewWrapper = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-09ce9664"]]);
|
|
304
304
|
exports.default = ComponentPreviewWrapper;
|
|
@@ -50,10 +50,6 @@ const _hoisted_11 = {
|
|
|
50
50
|
key: 1,
|
|
51
51
|
class: "status-tag disabled-tag"
|
|
52
52
|
};
|
|
53
|
-
const _hoisted_12 = {
|
|
54
|
-
key: 2,
|
|
55
|
-
class: "status-tag readonly-tag"
|
|
56
|
-
};
|
|
57
53
|
const dropId = "drop";
|
|
58
54
|
const _sfc_main = {
|
|
59
55
|
__name: "index",
|
|
@@ -436,13 +432,6 @@ const _sfc_main = {
|
|
|
436
432
|
]),
|
|
437
433
|
_: 1
|
|
438
434
|
})
|
|
439
|
-
])) : item.component.readOnly ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12, [
|
|
440
|
-
vue.createVNode(_component_el_icon, null, {
|
|
441
|
-
default: vue.withCtx(() => [
|
|
442
|
-
vue.createVNode(vue.unref(index$4.View))
|
|
443
|
-
]),
|
|
444
|
-
_: 1
|
|
445
|
-
})
|
|
446
435
|
])) : vue.createCommentVNode("", true)
|
|
447
436
|
]),
|
|
448
437
|
vue.createElementVNode("div", {
|
|
@@ -501,5 +490,5 @@ const _sfc_main = {
|
|
|
501
490
|
};
|
|
502
491
|
}
|
|
503
492
|
};
|
|
504
|
-
const formWorkArea = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
493
|
+
const formWorkArea = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-f7bfeb0a"]]);
|
|
505
494
|
exports.default = formWorkArea;
|
|
@@ -12,7 +12,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
12
12
|
const vue = require("vue");
|
|
13
13
|
const common = require("../../utils/common.js");
|
|
14
14
|
const eventBus = require("../../utils/eventBus.js");
|
|
15
|
-
const ValueSelector = require("../../../components/ValueSelector.
|
|
15
|
+
const ValueSelector = require("../../../components/ValueSelector.vue.js");
|
|
16
16
|
const index = require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/collapse/index.js");
|
|
17
17
|
const index$1 = require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/form/index.js");
|
|
18
18
|
const index$2 = require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/input/index.js");
|
|
@@ -14,7 +14,7 @@ const vue = require("vue");
|
|
|
14
14
|
const common = require("../../utils/common.js");
|
|
15
15
|
const TemplateSelector = require("../../../components/TemplateSelector.vue.js");
|
|
16
16
|
const eventBus = require("../../utils/eventBus.js");
|
|
17
|
-
const ValueSelector = require("../../../components/ValueSelector.
|
|
17
|
+
const ValueSelector = require("../../../components/ValueSelector.vue.js");
|
|
18
18
|
const index = require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/collapse/index.js");
|
|
19
19
|
const index$1 = require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/form/index.js");
|
|
20
20
|
const index$2 = require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/input/index.js");
|
|
@@ -15,7 +15,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
15
15
|
const vue = require("vue");
|
|
16
16
|
const index$6 = require("../../../../../node_modules/.pnpm/@element-plus_icons-vue@2.3.2_vue@3.5.13_typescript@5.7.3_/node_modules/@element-plus/icons-vue/dist/index.js");
|
|
17
17
|
const common = require("../utils/common.js");
|
|
18
|
-
const ValueSelector = require("../../components/ValueSelector.
|
|
18
|
+
const ValueSelector = require("../../components/ValueSelector.vue.js");
|
|
19
19
|
const index = require("../../api/index.js");
|
|
20
20
|
;/* empty css */
|
|
21
21
|
const _pluginVue_exportHelper = require("../../../../../_virtual/_plugin-vue_export-helper.js");
|
|
@@ -46,7 +46,7 @@ const index$1 = require("../../../../../node_modules/.pnpm/@element-plus_icons-v
|
|
|
46
46
|
;/* empty css */
|
|
47
47
|
require("../../store/index.js");
|
|
48
48
|
;/* empty css */
|
|
49
|
-
;/* empty css
|
|
49
|
+
;/* empty css */
|
|
50
50
|
;/* empty css */
|
|
51
51
|
;/* empty css */
|
|
52
52
|
;/* empty css */
|
|
@@ -76,6 +76,8 @@ require("../../axios/config.js");
|
|
|
76
76
|
require("../../../../../_virtual/FileSaver.min.js");
|
|
77
77
|
require("../../../../../_virtual/index.js");
|
|
78
78
|
;/* empty css */
|
|
79
|
+
;/* empty css */
|
|
80
|
+
;/* empty css */
|
|
79
81
|
const useAdvancedFilterDialog = require("../advancedFilter/useAdvancedFilterDialog.js");
|
|
80
82
|
;/* empty css */
|
|
81
83
|
;/* empty css */
|
|
@@ -261,6 +261,7 @@ const _sfc_main = {
|
|
|
261
261
|
]),
|
|
262
262
|
vue.createElementVNode("div", _hoisted_10, [
|
|
263
263
|
vue.createVNode(_component_el_dropdown, {
|
|
264
|
+
"max-height": 500,
|
|
264
265
|
"popper-class": `quick-operation-dropdown-${item.id}`,
|
|
265
266
|
trigger: "click",
|
|
266
267
|
placement: "bottom",
|
|
@@ -470,5 +471,5 @@ const _sfc_main = {
|
|
|
470
471
|
};
|
|
471
472
|
}
|
|
472
473
|
};
|
|
473
|
-
const tableWorkArea = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
474
|
+
const tableWorkArea = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-f581ce52"]]);
|
|
474
475
|
exports.default = tableWorkArea;
|
|
@@ -85,15 +85,6 @@ const _sfc_main = {
|
|
|
85
85
|
]),
|
|
86
86
|
_: 1
|
|
87
87
|
}),
|
|
88
|
-
vue.createVNode(_component_el_form_item, { label: "显示条件" }, {
|
|
89
|
-
default: vue.withCtx(() => [
|
|
90
|
-
vue.createVNode(ConditionConfigButton.default, {
|
|
91
|
-
condition: vue.unref(currentItem).showCondition,
|
|
92
|
-
onConfirm: (data) => vue.unref(currentItem).showCondition = data
|
|
93
|
-
}, null, 8, ["condition", "onConfirm"])
|
|
94
|
-
]),
|
|
95
|
-
_: 1
|
|
96
|
-
}),
|
|
97
88
|
vue.createVNode(_component_el_form_item, { label: "风格" }, {
|
|
98
89
|
default: vue.withCtx(() => [
|
|
99
90
|
vue.createVNode(_component_el_select, {
|
|
@@ -265,6 +265,7 @@ const _sfc_main = {
|
|
|
265
265
|
queryConfig.value.mode === "dynamic" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
266
266
|
vue.createVNode(_component_el_divider, { direction: "vertical" }),
|
|
267
267
|
vue.createVNode(_component_el_dropdown, {
|
|
268
|
+
"max-height": 500,
|
|
268
269
|
trigger: "click",
|
|
269
270
|
"popper-class": "tab-config-dropdown",
|
|
270
271
|
onVisibleChange: _cache[7] || (_cache[7] = (visible) => tabConfigDropdownVisible.value = visible)
|
|
@@ -386,6 +387,7 @@ const _sfc_main = {
|
|
|
386
387
|
}),
|
|
387
388
|
vue.createVNode(_component_el_divider, { direction: "vertical" }),
|
|
388
389
|
vue.createVNode(_component_el_dropdown, {
|
|
390
|
+
"max-height": 500,
|
|
389
391
|
trigger: "click",
|
|
390
392
|
placement: "bottom",
|
|
391
393
|
"hide-on-click": false
|
|
@@ -553,5 +555,5 @@ const _sfc_main = {
|
|
|
553
555
|
};
|
|
554
556
|
}
|
|
555
557
|
};
|
|
556
|
-
const QueryModule = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
558
|
+
const QueryModule = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-e569e134"]]);
|
|
557
559
|
exports.default = QueryModule;
|
|
@@ -271,6 +271,7 @@ const _sfc_main = {
|
|
|
271
271
|
]),
|
|
272
272
|
vue.createElementVNode("div", _hoisted_3, [
|
|
273
273
|
vue.createVNode(_component_el_dropdown, {
|
|
274
|
+
"max-height": 500,
|
|
274
275
|
trigger: "click",
|
|
275
276
|
"popper-class": "sort-config-dropdown",
|
|
276
277
|
onVisibleChange: _cache[6] || (_cache[6] = (visible) => sortConfigDropdownVisible.value = visible)
|
|
@@ -466,5 +467,5 @@ const _sfc_main = {
|
|
|
466
467
|
};
|
|
467
468
|
}
|
|
468
469
|
};
|
|
469
|
-
const TableSetting = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
470
|
+
const TableSetting = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-70f62793"]]);
|
|
470
471
|
exports.default = TableSetting;
|
|
@@ -14,6 +14,7 @@ const getJsonAsyncUtil = require("../../../utils/getJsonAsyncUtil.js");
|
|
|
14
14
|
const FormItem = require("../formItem/FormItem.vue.js");
|
|
15
15
|
const datasource = require("../../../utils/datasource.js");
|
|
16
16
|
const validation = require("./validation.js");
|
|
17
|
+
const parseRouteParams = require("../../../utils/parseRouteParams.js");
|
|
17
18
|
const common = require("../../../utils/common.js");
|
|
18
19
|
;/* empty css */
|
|
19
20
|
;/* empty css */
|
|
@@ -205,7 +206,16 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
205
206
|
if (hiddenFields.value && hiddenFields.value.length > 0) {
|
|
206
207
|
hiddenFields.value.forEach((field) => {
|
|
207
208
|
if (field.fieldName) {
|
|
208
|
-
|
|
209
|
+
if (typeof field.value == "object") {
|
|
210
|
+
debugger;
|
|
211
|
+
const value = parseRouteParams.parseSingleParamValue(field.value, defaultData, [
|
|
212
|
+
...fieldsData.value,
|
|
213
|
+
...hiddenFields.value
|
|
214
|
+
]);
|
|
215
|
+
defaultData[field.fieldName] = value !== void 0 ? value : null;
|
|
216
|
+
} else {
|
|
217
|
+
defaultData[field.fieldName] = field.value !== void 0 ? field.value : null;
|
|
218
|
+
}
|
|
209
219
|
}
|
|
210
220
|
});
|
|
211
221
|
}
|
|
@@ -973,5 +983,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
973
983
|
};
|
|
974
984
|
}
|
|
975
985
|
});
|
|
976
|
-
const _Form = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
986
|
+
const _Form = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-e047372a"]]);
|
|
977
987
|
exports.default = _Form;
|
|
@@ -201,7 +201,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
201
201
|
}, vue.toHandlers(__props.config.eventHandlers), {
|
|
202
202
|
placeholder: __props.placeholder,
|
|
203
203
|
disabled: __props.disabled,
|
|
204
|
-
readonly: __props.suffixButton == "dialog" ? true :
|
|
204
|
+
readonly: __props.suffixButton == "dialog" ? true : false,
|
|
205
205
|
maxlength: __props.maxLength,
|
|
206
206
|
"show-word-limit": __props.showWordCount,
|
|
207
207
|
onChange: handleChange,
|
|
@@ -251,5 +251,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
251
251
|
};
|
|
252
252
|
}
|
|
253
253
|
});
|
|
254
|
-
const _Text = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
254
|
+
const _Text = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-b0a06421"]]);
|
|
255
255
|
exports.default = _Text;
|
|
@@ -154,6 +154,10 @@ class DataSourceManager {
|
|
|
154
154
|
case "post":
|
|
155
155
|
if (currentDs.contentType === "formData") {
|
|
156
156
|
response = await this.http.postForm(url, params, requestConfig);
|
|
157
|
+
} else if (currentDs.contentType === "download") {
|
|
158
|
+
await this.http.download(url, params, requestConfig);
|
|
159
|
+
} else if (currentDs.contentType === "upload") {
|
|
160
|
+
response = await this.http.upload(url, params, requestConfig);
|
|
157
161
|
} else {
|
|
158
162
|
response = await this.http.post(url, params, requestConfig);
|
|
159
163
|
}
|
|
@@ -380,7 +380,7 @@ async function handleCustomAction(node, data, fields, context) {
|
|
|
380
380
|
};
|
|
381
381
|
}
|
|
382
382
|
async function handleFormSetValue(node, data, fields, context) {
|
|
383
|
-
var _a, _b, _c;
|
|
383
|
+
var _a, _b, _c, _d;
|
|
384
384
|
const basic = node.basic || {};
|
|
385
385
|
if (!(basic == null ? void 0 : basic.dataSourceId)) {
|
|
386
386
|
console.error("form-setValue: 缺少 dataSourceId 配置");
|
|
@@ -410,8 +410,8 @@ async function handleFormSetValue(node, data, fields, context) {
|
|
|
410
410
|
formData = common.removeEmptyValues(formData);
|
|
411
411
|
delete formData.pageNo;
|
|
412
412
|
delete formData.pageSize;
|
|
413
|
-
const formComponent = (_a = context.components) == null ? void 0 : _a.form;
|
|
414
|
-
const setFormDataMethod = (
|
|
413
|
+
const formComponent = ((_a = context.components) == null ? void 0 : _a.form) || ((_b = context.components) == null ? void 0 : _b.table);
|
|
414
|
+
const setFormDataMethod = (_d = (_c = formComponent == null ? void 0 : formComponent.$) == null ? void 0 : _c.exposed) == null ? void 0 : _d.setFormData;
|
|
415
415
|
if (typeof setFormDataMethod === "function") {
|
|
416
416
|
setFormDataMethod(formData);
|
|
417
417
|
return {
|
|
@@ -539,7 +539,6 @@ async function handleDialog(node, data, fields, context) {
|
|
|
539
539
|
const dialogList = context.localConfig.dialogs || [];
|
|
540
540
|
dialog = dialogList.find((item) => item.id == (basic == null ? void 0 : basic.dialogId));
|
|
541
541
|
dialog.subFormMode = basic.subFormMode;
|
|
542
|
-
dialog.selectionMode = basic.selectionMode;
|
|
543
542
|
}
|
|
544
543
|
if (!dialog) {
|
|
545
544
|
console.error("ui-dialog: 未找到匹配的弹层配置," + (basic == null ? void 0 : basic.dialogId));
|
|
@@ -569,6 +568,104 @@ async function handleDialog(node, data, fields, context) {
|
|
|
569
568
|
};
|
|
570
569
|
}
|
|
571
570
|
}
|
|
571
|
+
async function handleUpload(node, data, fields, context) {
|
|
572
|
+
const basic = node.basic || {};
|
|
573
|
+
console.log("[EventFlow] 执行文件上传动作:", basic);
|
|
574
|
+
const dataSourceId = basic.dataSourceId || "";
|
|
575
|
+
const acceptType = basic.acceptType || [];
|
|
576
|
+
const maxSize = basic.maxSize || 0;
|
|
577
|
+
const multipleUpload = basic.multipleUpload || false;
|
|
578
|
+
if (!dataSourceId) {
|
|
579
|
+
return {
|
|
580
|
+
success: false,
|
|
581
|
+
message: "文件上传动作缺少必要的数据源配置(dataSourceId)",
|
|
582
|
+
shouldShowError: true
|
|
583
|
+
};
|
|
584
|
+
}
|
|
585
|
+
const acceptArr = [];
|
|
586
|
+
if (acceptType.includes("image")) {
|
|
587
|
+
acceptArr.push("image/*");
|
|
588
|
+
}
|
|
589
|
+
if (acceptType.includes("video")) {
|
|
590
|
+
acceptArr.push("video/*");
|
|
591
|
+
}
|
|
592
|
+
if (acceptType.includes("audio")) {
|
|
593
|
+
acceptArr.push("audio/*");
|
|
594
|
+
}
|
|
595
|
+
if (acceptType.includes("text")) {
|
|
596
|
+
acceptArr.push("text/plain");
|
|
597
|
+
}
|
|
598
|
+
if (acceptType.includes("doc")) {
|
|
599
|
+
acceptArr.push(".doc");
|
|
600
|
+
acceptArr.push(".docx");
|
|
601
|
+
}
|
|
602
|
+
if (acceptType.includes("xls")) {
|
|
603
|
+
acceptArr.push(".xls");
|
|
604
|
+
acceptArr.push(".xlsx");
|
|
605
|
+
}
|
|
606
|
+
if (acceptType.includes("ppt")) {
|
|
607
|
+
acceptArr.push(".ppt");
|
|
608
|
+
acceptArr.push(".pptx");
|
|
609
|
+
}
|
|
610
|
+
if (acceptType.includes("pdf")) {
|
|
611
|
+
acceptArr.push("application/pdf");
|
|
612
|
+
}
|
|
613
|
+
if (acceptType.includes("zip")) {
|
|
614
|
+
acceptArr.push("application/zip");
|
|
615
|
+
acceptArr.push("application/x-rar-compressed");
|
|
616
|
+
}
|
|
617
|
+
let accept = "";
|
|
618
|
+
if (acceptArr.length < 13) {
|
|
619
|
+
accept = acceptArr.join(",");
|
|
620
|
+
}
|
|
621
|
+
const files = await new Promise((resolve, reject) => {
|
|
622
|
+
const input = document.createElement("input");
|
|
623
|
+
input.type = "file";
|
|
624
|
+
input.multiple = multipleUpload;
|
|
625
|
+
input.accept = accept;
|
|
626
|
+
input.click();
|
|
627
|
+
input.onchange = () => {
|
|
628
|
+
let files2 = Array.from(input.files || []);
|
|
629
|
+
if (files2.length === 0) return resolve([]);
|
|
630
|
+
if (maxSize > 0) {
|
|
631
|
+
const maxByte = maxSize * 1024 * 1024;
|
|
632
|
+
const invalidFiles = files2.some((f) => f.size > maxByte);
|
|
633
|
+
if (invalidFiles) {
|
|
634
|
+
reject(new Error(`文件不能超过 ${maxSize}MB`));
|
|
635
|
+
return;
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
resolve(files2);
|
|
639
|
+
};
|
|
640
|
+
});
|
|
641
|
+
if (!files || files.length === 0) {
|
|
642
|
+
return { success: false, message: "未选择文件" };
|
|
643
|
+
}
|
|
644
|
+
try {
|
|
645
|
+
const params = multipleUpload ? { files } : { file: files[0] };
|
|
646
|
+
const result = await handleApiCall(node, data, fields, context, params);
|
|
647
|
+
if (!result.success) {
|
|
648
|
+
return result;
|
|
649
|
+
}
|
|
650
|
+
return {
|
|
651
|
+
success: true,
|
|
652
|
+
message: `文件上传成功'}`,
|
|
653
|
+
data: {
|
|
654
|
+
dataSourceId,
|
|
655
|
+
acceptType,
|
|
656
|
+
maxSize,
|
|
657
|
+
multipleUpload,
|
|
658
|
+
acceptType
|
|
659
|
+
}
|
|
660
|
+
};
|
|
661
|
+
} catch (error) {
|
|
662
|
+
return {
|
|
663
|
+
success: false,
|
|
664
|
+
message: "上传失败",
|
|
665
|
+
shouldShowError: true
|
|
666
|
+
};
|
|
667
|
+
}
|
|
668
|
+
}
|
|
572
669
|
const defaultActionHandlers = {
|
|
573
670
|
"page-jump": handlePageJump,
|
|
574
671
|
"page-go-back": handlePageGoBack,
|
|
@@ -581,7 +678,8 @@ const defaultActionHandlers = {
|
|
|
581
678
|
"form-setValue": handleFormSetValue,
|
|
582
679
|
"form-submit": handleFormSubmit,
|
|
583
680
|
"custom": handleCustomAction,
|
|
584
|
-
"ui-dialog": handleDialog
|
|
681
|
+
"ui-dialog": handleDialog,
|
|
682
|
+
"ui-upload": handleUpload
|
|
585
683
|
};
|
|
586
684
|
exports.default = defaultActionHandlers;
|
|
587
685
|
exports.defaultActionHandlers = defaultActionHandlers;
|
|
@@ -595,3 +693,4 @@ exports.handlePageJump = handlePageJump;
|
|
|
595
693
|
exports.handleTableChildRefresh = handleTableChildRefresh;
|
|
596
694
|
exports.handleTableRefresh = handleTableRefresh;
|
|
597
695
|
exports.handleTableRowDelete = handleTableRowDelete;
|
|
696
|
+
exports.handleUpload = handleUpload;
|
|
@@ -10,7 +10,7 @@ function parseSingleParamValue(value, data, fields) {
|
|
|
10
10
|
}
|
|
11
11
|
const type = value.type;
|
|
12
12
|
if (type === "field") {
|
|
13
|
-
const field = fields.find((f) => f.id
|
|
13
|
+
const field = fields.find((f) => f.id == value.value);
|
|
14
14
|
if (field) {
|
|
15
15
|
return data[field.fieldName];
|
|
16
16
|
}
|