@fecp/designer 5.3.11 → 5.3.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/es/designer.css +267 -267
  2. package/es/packages/designer/package.json.mjs +1 -1
  3. package/es/packages/designer/src/components/ParamsConfig.vue2.mjs +1 -1
  4. package/es/packages/designer/src/components/ValueSelector.vue.mjs +190 -0
  5. package/es/packages/designer/src/layout/aside/HiddenFieldDialog.vue.mjs +4 -3
  6. package/es/packages/designer/src/packages/advancedFilter/ValueInput.vue2.mjs +1 -1
  7. package/es/packages/designer/src/packages/dataLinkage/index.vue.mjs +1 -1
  8. package/es/packages/designer/src/packages/dialogGlobal/index.vue.mjs +1 -1
  9. package/es/packages/designer/src/packages/form/components/ComponentPreviewWrapper.vue.mjs +2 -2
  10. package/es/packages/designer/src/packages/form/index.vue.mjs +2 -13
  11. package/es/packages/designer/src/packages/form/property/approvalHistory.vue.mjs +1 -1
  12. package/es/packages/designer/src/packages/form/property/subForm.vue.mjs +1 -1
  13. package/es/packages/designer/src/packages/prod/index.vue.mjs +1 -1
  14. package/es/packages/designer/src/packages/table/headerBtn.vue.mjs +1 -1
  15. package/es/packages/designer/src/packages/table/property/customBtn.vue.mjs +10 -0
  16. package/es/packages/mobile/src/components/base/card/Card.vue.mjs +2 -2
  17. package/es/packages/vue/src/components/forms/form/Form.vue.mjs +11 -2
  18. package/es/packages/vue/src/components/forms/formItem/FormItem.vue.mjs +4 -3
  19. package/es/packages/vue/src/components/forms/subTable/SubTable.vue.mjs +41 -9
  20. package/es/packages/vue/src/components/forms/text/Text.vue.mjs +2 -2
  21. package/es/packages/vue/src/components/table/CustomButtons.vue.mjs +29 -3
  22. package/es/packages/vue/src/components/table/DynamicQuery.vue.mjs +21 -2
  23. package/es/packages/vue/src/components/table/Table.vue.mjs +13 -7
  24. package/es/packages/vue/src/utils/eventFlow/actionHandlers.mjs +0 -1
  25. package/es/packages/vue/src/utils/parseRouteParams.mjs +1 -1
  26. package/lib/designer.css +267 -267
  27. package/lib/packages/designer/package.json.js +1 -1
  28. package/lib/packages/designer/src/components/ParamsConfig.vue2.js +1 -1
  29. package/lib/packages/designer/src/components/ValueSelector.vue.js +190 -0
  30. package/lib/packages/designer/src/layout/aside/HiddenFieldDialog.vue.js +4 -3
  31. package/lib/packages/designer/src/packages/advancedFilter/ValueInput.vue2.js +1 -1
  32. package/lib/packages/designer/src/packages/dataLinkage/index.vue.js +1 -1
  33. package/lib/packages/designer/src/packages/dialogGlobal/index.vue.js +1 -1
  34. package/lib/packages/designer/src/packages/form/components/ComponentPreviewWrapper.vue.js +2 -2
  35. package/lib/packages/designer/src/packages/form/index.vue.js +1 -12
  36. package/lib/packages/designer/src/packages/form/property/approvalHistory.vue.js +1 -1
  37. package/lib/packages/designer/src/packages/form/property/subForm.vue.js +1 -1
  38. package/lib/packages/designer/src/packages/prod/index.vue.js +1 -1
  39. package/lib/packages/designer/src/packages/table/headerBtn.vue.js +1 -1
  40. package/lib/packages/designer/src/packages/table/property/customBtn.vue.js +10 -0
  41. package/lib/packages/mobile/src/components/base/card/Card.vue.js +2 -2
  42. package/lib/packages/vue/src/components/forms/form/Form.vue.js +11 -2
  43. package/lib/packages/vue/src/components/forms/formItem/FormItem.vue.js +4 -3
  44. package/lib/packages/vue/src/components/forms/subTable/SubTable.vue.js +41 -9
  45. package/lib/packages/vue/src/components/forms/text/Text.vue.js +2 -2
  46. package/lib/packages/vue/src/components/table/CustomButtons.vue.js +29 -3
  47. package/lib/packages/vue/src/components/table/DynamicQuery.vue.js +21 -2
  48. package/lib/packages/vue/src/components/table/Table.vue.js +13 -7
  49. package/lib/packages/vue/src/utils/eventFlow/actionHandlers.js +0 -1
  50. package/lib/packages/vue/src/utils/parseRouteParams.js +1 -1
  51. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const version = "5.3.11";
3
+ const version = "5.3.13";
4
4
  const packageJson = {
5
5
  version
6
6
  };
@@ -5,7 +5,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
5
5
  ;/* empty css */
6
6
  const vue = require("vue");
7
7
  const index$1 = 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");
8
- const ValueSelector = require("./ValueSelector.vue2.js");
8
+ const ValueSelector = require("./ValueSelector.vue.js");
9
9
  ;/* empty css */
10
10
  const _pluginVue_exportHelper = require("../../../../_virtual/_plugin-vue_export-helper.js");
11
11
  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/button/index.js");
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const vue = require("vue");
4
+ const ValueSelectorPopover = require("./ValueSelectorPopover.vue2.js");
5
+ const common = require("../packages/utils/common.js");
6
+ ;/* empty css */
7
+ const _pluginVue_exportHelper = require("../../../../_virtual/_plugin-vue_export-helper.js");
8
+ 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/input-tag/index.js");
9
+ 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/input/index.js");
10
+ const _sfc_main = {
11
+ __name: "ValueSelector",
12
+ props: {
13
+ // modelValue 的格式:
14
+ // 单选:{ type: 'field', value: '字段ID' }
15
+ // 多选:[{ type: 'field', value: '字段ID1' }, { type: 'field', value: '字段ID2' }]
16
+ modelValue: {
17
+ default: () => null
18
+ },
19
+ placeholder: {
20
+ type: String,
21
+ default: "请输入或选择值"
22
+ },
23
+ readOnly: {
24
+ type: Boolean,
25
+ default: false
26
+ },
27
+ disabled: {
28
+ type: Boolean,
29
+ default: false
30
+ },
31
+ multiple: {
32
+ type: Boolean,
33
+ default: false
34
+ },
35
+ size: {
36
+ type: String,
37
+ default: "small"
38
+ }
39
+ // // 可选的字段列表(从父组件传入)
40
+ // availableFields: {
41
+ // type: Array,
42
+ // default: () => [],
43
+ // validator: (value) => Array.isArray(value),
44
+ // },
45
+ },
46
+ emits: ["update:modelValue"],
47
+ setup(__props, { emit: __emit }) {
48
+ const props = __props;
49
+ const emit = __emit;
50
+ const inputComponent = vue.computed(() => {
51
+ return props.multiple ? index.ElInputTag : index$1.ElInput;
52
+ });
53
+ const hiddenFieldsData = vue.computed(() => {
54
+ const editConfigData = common.getEditConfigData();
55
+ return (editConfigData == null ? void 0 : editConfigData.hiddenFields) || [];
56
+ });
57
+ const availableFields = vue.computed(() => {
58
+ const fields = common.getEditConfigDataFields() || [];
59
+ return fields.map((item) => ({
60
+ id: item.id,
61
+ label: item.label,
62
+ fieldName: item.fieldName,
63
+ fieldType: item.fieldType
64
+ }));
65
+ });
66
+ const displayText = vue.computed(() => {
67
+ if (!props.modelValue) return "";
68
+ if (!props.multiple && typeof props.modelValue === "object" && !Array.isArray(props.modelValue)) {
69
+ const val = props.modelValue;
70
+ if (val.label) return val.label;
71
+ const field = availableFields.value.find((f) => f.id === val.value);
72
+ return (field == null ? void 0 : field.label) || (field == null ? void 0 : field.fieldName) || val.value;
73
+ } else if (!props.multiple && typeof props.modelValue === "string") {
74
+ return props.modelValue;
75
+ }
76
+ return "";
77
+ });
78
+ const tags = vue.computed({
79
+ get() {
80
+ if (!props.multiple || !Array.isArray(props.modelValue)) {
81
+ return [];
82
+ }
83
+ return props.modelValue.map((item) => {
84
+ if (item.label) return item.label;
85
+ const field = availableFields.value.find((f) => f.id === item.value);
86
+ return (field == null ? void 0 : field.label) || (field == null ? void 0 : field.fieldName) || item.value;
87
+ }).filter(Boolean);
88
+ },
89
+ set(val) {
90
+ if (Array.isArray(props.modelValue)) {
91
+ const newModelValue = props.modelValue.filter((item) => {
92
+ const itemLabel = item.label || (() => {
93
+ const field = [
94
+ ...availableFields.value,
95
+ ...hiddenFieldsData.value
96
+ ].find((f) => f.id === item.value);
97
+ return (field == null ? void 0 : field.label) || (field == null ? void 0 : field.fieldName) || item.value;
98
+ })();
99
+ return val.includes(itemLabel);
100
+ });
101
+ emit("update:modelValue", newModelValue);
102
+ }
103
+ }
104
+ });
105
+ const unifiedInputValue = vue.computed({
106
+ get() {
107
+ return props.multiple ? tags.value : displayText.value;
108
+ },
109
+ set(val) {
110
+ if (props.multiple && Array.isArray(val)) {
111
+ tags.value = val;
112
+ } else if (!props.multiple && typeof val === "string") {
113
+ emit("update:modelValue", val);
114
+ }
115
+ }
116
+ });
117
+ const handleConfirm = (selected) => {
118
+ let result = null;
119
+ if (selected.type === "field") {
120
+ const field = [...availableFields.value, ...hiddenFieldsData.value].find(
121
+ (f) => f.id === selected.value
122
+ );
123
+ result = {
124
+ label: `\${${(field == null ? void 0 : field.label) || (field == null ? void 0 : field.fieldName) || selected.value}}`,
125
+ type: "field",
126
+ value: selected.value
127
+ };
128
+ } else if (selected.type === "userInfo") {
129
+ result = {
130
+ label: `\${用户信息: ${getUserInfoLabel(selected.value)}}`,
131
+ type: "userInfo",
132
+ value: selected.value
133
+ };
134
+ } else if (selected.type === "urlParam") {
135
+ result = {
136
+ label: `\${路由参数: ${selected.value}}`,
137
+ type: "urlParam",
138
+ value: selected.value
139
+ };
140
+ }
141
+ if (!result) return;
142
+ if (props.multiple) {
143
+ const currentValue = Array.isArray(props.modelValue) ? props.modelValue : [];
144
+ const exists = currentValue.some((item) => item.value === result.value);
145
+ if (!exists) {
146
+ emit("update:modelValue", [...currentValue, result]);
147
+ }
148
+ } else {
149
+ emit("update:modelValue", result);
150
+ }
151
+ };
152
+ const getUserInfoLabel = (key) => {
153
+ const labels = {
154
+ userCode: "用户编号",
155
+ userName: "用户名称",
156
+ roleCode: "角色编号",
157
+ roleName: "角色名称",
158
+ orgCode: "机构编号",
159
+ orgName: "机构名称"
160
+ };
161
+ return labels[key] || key;
162
+ };
163
+ return (_ctx, _cache) => {
164
+ return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(inputComponent.value), {
165
+ modelValue: unifiedInputValue.value,
166
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unifiedInputValue.value = $event),
167
+ placeholder: __props.placeholder,
168
+ disabled: __props.disabled,
169
+ readonly: __props.readOnly,
170
+ trigger: __props.multiple ? "Space" : void 0,
171
+ "collapse-tags": "",
172
+ "collapse-tags-tooltip": "",
173
+ "max-collapse-tags": 1,
174
+ class: "value-selector-input",
175
+ size: __props.size
176
+ }, {
177
+ suffix: vue.withCtx(() => [
178
+ vue.createVNode(ValueSelectorPopover.default, {
179
+ "available-fields": availableFields.value,
180
+ disabled: __props.disabled,
181
+ onConfirm: handleConfirm
182
+ }, null, 8, ["available-fields", "disabled"])
183
+ ]),
184
+ _: 1
185
+ }, 8, ["modelValue", "placeholder", "disabled", "readonly", "trigger", "size"]);
186
+ };
187
+ }
188
+ };
189
+ const ValueSelector = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-e5b87efa"]]);
190
+ exports.default = ValueSelector;
@@ -17,6 +17,7 @@ const index$2 = require("../../../../../node_modules/.pnpm/@element-plus_icons-v
17
17
  const common = require("../../packages/utils/common.js");
18
18
  const index$5 = require("../../packages/form/aside/index.js");
19
19
  const index$6 = require("../../packages/table/aside/index.js");
20
+ const ValueSelector = require("../../components/ValueSelector.vue.js");
20
21
  ;/* empty css */
21
22
  const _pluginVue_exportHelper = require("../../../../../_virtual/_plugin-vue_export-helper.js");
22
23
  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/dialog/index.js");
@@ -336,10 +337,10 @@ const _sfc_main = {
336
337
  }),
337
338
  vue.createVNode(_component_el_table_column, { label: "初值" }, {
338
339
  default: vue.withCtx(({ row }) => [
339
- vue.createVNode(_component_el_input, {
340
+ vue.createVNode(ValueSelector.default, {
340
341
  modelValue: row.value,
341
342
  "onUpdate:modelValue": ($event) => row.value = $event,
342
- placeholder: "请输入初值"
343
+ size: "default"
343
344
  }, null, 8, ["modelValue", "onUpdate:modelValue"])
344
345
  ]),
345
346
  _: 1
@@ -374,5 +375,5 @@ const _sfc_main = {
374
375
  };
375
376
  }
376
377
  };
377
- const HiddenFieldDialog = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-396c5fa5"]]);
378
+ const HiddenFieldDialog = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-c3d621bb"]]);
378
379
  exports.default = HiddenFieldDialog;
@@ -15,7 +15,7 @@ require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typesc
15
15
  ;/* empty css */
16
16
  const vue = require("vue");
17
17
  const index = require("../../../../../node_modules/.pnpm/@vueuse_core@14.2.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vueuse/core/dist/index.js");
18
- const ValueSelector = require("../../components/ValueSelector.vue2.js");
18
+ const ValueSelector = require("../../components/ValueSelector.vue.js");
19
19
  const index$1 = require("../../api/index.js");
20
20
  const common = require("../utils/common.js");
21
21
  const datasource = require("../utils/datasource.js");
@@ -31,7 +31,7 @@ require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typesc
31
31
  ;/* empty css */
32
32
  ;/* empty css */
33
33
  const _pluginVue_exportHelper = require("../../../../../_virtual/_plugin-vue_export-helper.js");
34
- ;/* empty css */
34
+ ;/* empty css */
35
35
  require("../../axios/config.js");
36
36
  require("../../../../../_virtual/FileSaver.min.js");
37
37
  require("../../../../../_virtual/index.js");
@@ -79,7 +79,7 @@ require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typesc
79
79
  require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-tab-pane.css.js");
80
80
  ;/* empty css */
81
81
  ;/* empty css */
82
- ;/* empty css */
82
+ ;/* empty css */
83
83
  require("../../axios/config.js");
84
84
  ;/* empty css */
85
85
  ;/* empty css */
@@ -167,7 +167,7 @@ const _sfc_main = {
167
167
  ]),
168
168
  key: "1"
169
169
  } : void 0,
170
- !__props.componentData.readOnly && !__props.componentData.disabled && __props.componentData.suffixButton && __props.componentData.suffixButton != "none" ? {
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-b12e41a1"]]);
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-1d0d8388"]]);
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.vue2.js");
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.vue2.js");
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.vue2.js");
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 */
@@ -15,6 +15,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
15
15
  const vue = require("vue");
16
16
  const EventConfigButton = require("../../../components/EventConfigButton.vue.js");
17
17
  const common = require("../../utils/common.js");
18
+ const ConditionConfigButton = require("../../../components/ConditionConfigButton.vue2.js");
18
19
  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
20
  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
21
  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/select/index.js");
@@ -107,6 +108,15 @@ const _sfc_main = {
107
108
  ]),
108
109
  _: 1
109
110
  }),
111
+ vue.createVNode(_component_el_form_item, { label: "显示条件" }, {
112
+ default: vue.withCtx(() => [
113
+ vue.createVNode(ConditionConfigButton.default, {
114
+ condition: vue.unref(currentItem).showCondition,
115
+ onConfirm: (data) => vue.unref(currentItem).showCondition = data
116
+ }, null, 8, ["condition", "onConfirm"])
117
+ ]),
118
+ _: 1
119
+ }),
110
120
  vue.createVNode(_component_el_form_item, { label: "风格" }, {
111
121
  default: vue.withCtx(() => [
112
122
  vue.createVNode(_component_el_select, {
@@ -8,13 +8,13 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
8
8
  ;/* empty css */
9
9
  ;/* empty css */
10
10
  const vue = require("vue");
11
+ ;/* empty css */
12
+ const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.js");
11
13
  ;/* empty css */
12
14
  ;/* empty css */
13
15
  ;/* empty css */
14
16
  ;/* empty css */
15
17
  ;/* empty css */
16
- ;/* empty css */
17
- const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.js");
18
18
  const index$1 = require("../../../../../../node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/swipe-cell/index.js");
19
19
  const functionCall = require("../../../../../../node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/dialog/function-call.js");
20
20
  require("../../../../../../node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/dialog/index.js");
@@ -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,15 @@ 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
- defaultData[field.fieldName] = field.value !== void 0 ? field.value : null;
209
+ if (typeof field.value == "object") {
210
+ const value = parseRouteParams.parseSingleParamValue(field.value, defaultData, [
211
+ ...fieldsData.value,
212
+ ...hiddenFields.value
213
+ ]);
214
+ defaultData[field.fieldName] = value !== void 0 ? value : null;
215
+ } else {
216
+ defaultData[field.fieldName] = field.value !== void 0 ? field.value : null;
217
+ }
209
218
  }
210
219
  });
211
220
  }
@@ -973,5 +982,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
973
982
  };
974
983
  }
975
984
  });
976
- const _Form = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-bf77b845"]]);
985
+ const _Form = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-884f35d8"]]);
977
986
  exports.default = _Form;
@@ -129,8 +129,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
129
129
  ref_key: "innerComponentRef",
130
130
  ref: innerComponentRef,
131
131
  config: __props.config,
132
- localConfig: __props.localConfig
133
- }, null, 8, ["config", "localConfig"])) : __props.config.fieldType == "approvalHistory" ? (vue.openBlock(), vue.createBlock(vue.unref(index$6.ApprovalHistory), {
132
+ localConfig: __props.localConfig,
133
+ formMode: __props.formMode
134
+ }, null, 8, ["config", "localConfig", "formMode"])) : __props.config.fieldType == "approvalHistory" ? (vue.openBlock(), vue.createBlock(vue.unref(index$6.ApprovalHistory), {
134
135
  key: 4,
135
136
  ref_key: "innerComponentRef",
136
137
  ref: innerComponentRef,
@@ -189,5 +190,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
189
190
  };
190
191
  }
191
192
  });
192
- const _FormItem = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-1fbcd248"]]);
193
+ const _FormItem = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-bac36800"]]);
193
194
  exports.default = _FormItem;
@@ -7,6 +7,7 @@ const Table = require("../../table/Table.vue.js");
7
7
  const index$2 = require("../subTitle/index.js");
8
8
  const index = require("../h2/index.js");
9
9
  const parseRouteParams = require("../../../utils/parseRouteParams.js");
10
+ const parseFilterConfig = require("../../../utils/parseFilterConfig.js");
10
11
  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/button/index.js");
11
12
  const _hoisted_1 = {
12
13
  key: 0,
@@ -24,6 +25,10 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
24
25
  localConfig: {
25
26
  type: Object,
26
27
  required: true
28
+ },
29
+ formMode: {
30
+ type: String,
31
+ default: ""
27
32
  }
28
33
  // subFormId: {
29
34
  // type: String,
@@ -76,8 +81,34 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
76
81
  return {};
77
82
  });
78
83
  const subTableOption = vue.ref({});
79
- const customBtns = vue.computed(() => {
80
- return subTableOption.value.customBtns || {};
84
+ const subTableFieldsData = vue.computed(() => {
85
+ var _a, _b;
86
+ return [
87
+ ...((_a = subTableOption.value) == null ? void 0 : _a.fieldsData) || [],
88
+ ...((_b = subTableOption.value) == null ? void 0 : _b.hiddenFields) || []
89
+ ];
90
+ });
91
+ const leftButtons = vue.computed(() => {
92
+ var _a, _b;
93
+ return (((_b = (_a = subTableOption.value) == null ? void 0 : _a.customBtns) == null ? void 0 : _b.left) || []).filter((item) => {
94
+ if (!item.showCondition) return true;
95
+ return parseFilterConfig.checkFilterMatch(
96
+ item.showCondition,
97
+ initHiddenData.value,
98
+ subTableFieldsData.value
99
+ );
100
+ });
101
+ });
102
+ const rightButtons = vue.computed(() => {
103
+ var _a, _b;
104
+ return (((_b = (_a = subTableOption.value) == null ? void 0 : _a.customBtns) == null ? void 0 : _b.right) || []).filter((item) => {
105
+ if (!item.showCondition) return true;
106
+ return parseFilterConfig.checkFilterMatch(
107
+ item.showCondition,
108
+ initHiddenData.value,
109
+ subTableFieldsData.value
110
+ );
111
+ });
81
112
  });
82
113
  function subTableLoaded(subOption) {
83
114
  subTableOption.value = subOption;
@@ -116,7 +147,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
116
147
  config: __props.config
117
148
  }, vue.createSlots({
118
149
  default: vue.withCtx(() => [
119
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(customBtns).right, (btn) => {
150
+ __props.formMode != "query" ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(vue.unref(rightButtons), (btn) => {
120
151
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
121
152
  btn.btnType == "custom" ? (vue.openBlock(), vue.createBlock(_component_el_button, {
122
153
  key: btn.id,
@@ -130,14 +161,14 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
130
161
  _: 2
131
162
  }, 1032, ["onClick"])) : vue.createCommentVNode("", true)
132
163
  ], 64);
133
- }), 256))
164
+ }), 256)) : vue.createCommentVNode("", true)
134
165
  ]),
135
166
  _: 2
136
167
  }, [
137
- vue.unref(customBtns).left ? {
168
+ vue.unref(leftButtons) ? {
138
169
  name: "left",
139
170
  fn: vue.withCtx(() => [
140
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(customBtns).left, (btn) => {
171
+ __props.formMode != "query" ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(vue.unref(leftButtons), (btn) => {
141
172
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
142
173
  btn.btnType == "custom" ? (vue.openBlock(), vue.createBlock(_component_el_button, {
143
174
  key: btn.id,
@@ -151,7 +182,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
151
182
  _: 2
152
183
  }, 1032, ["onClick"])) : vue.createCommentVNode("", true)
153
184
  ], 64);
154
- }), 256))
185
+ }), 256)) : vue.createCommentVNode("", true)
155
186
  ]),
156
187
  key: "0"
157
188
  } : void 0
@@ -167,13 +198,14 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
167
198
  isSubTable: "",
168
199
  onLoaded: subTableLoaded,
169
200
  mode: __props.config.subTableMode,
201
+ titleMode: __props.config.titleMode,
170
202
  hasPagination: __props.config.isSubTablePagination,
171
203
  height: __props.config.subTableHeight,
172
204
  tableData: vue.unref(subTableData),
173
205
  initHiddenData: vue.unref(initHiddenData),
174
206
  canLoadBySearchData: __props.config.reloadOnParamsChange,
175
- readonly: __props.config.isSubTableReadOnly
176
- }, null, 8, ["templateKey", "mode", "hasPagination", "height", "tableData", "initHiddenData", "canLoadBySearchData", "readonly"])
207
+ readonly: __props.config.isSubTableReadOnly || __props.formMode == "query"
208
+ }, null, 8, ["templateKey", "mode", "titleMode", "hasPagination", "height", "tableData", "initHiddenData", "canLoadBySearchData", "readonly"])
177
209
  ], 64);
178
210
  };
179
211
  }
@@ -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 : __props.readonly,
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-b0c0d80f"]]);
254
+ const _Text = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-b0a06421"]]);
255
255
  exports.default = _Text;
@@ -6,6 +6,7 @@ const vue = require("vue");
6
6
  require("../../../../../node_modules/.pnpm/vxe-table@4.17.47_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/components.js");
7
7
  const index$1 = 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");
8
8
  const getInstance = require("../../utils/getInstance.js");
9
+ const parseFilterConfig = require("../../utils/parseFilterConfig.js");
9
10
  ;/* empty css */
10
11
  const _pluginVue_exportHelper = require("../../../../../_virtual/_plugin-vue_export-helper.js");
11
12
  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/icon/index.js");
@@ -37,6 +38,10 @@ const _sfc_main = {
37
38
  isSubTable: {
38
39
  type: Boolean,
39
40
  default: false
41
+ },
42
+ hiddenFormData: {
43
+ type: Object,
44
+ default: {}
40
45
  }
41
46
  },
42
47
  emits: ["click"],
@@ -44,11 +49,32 @@ const _sfc_main = {
44
49
  const ctx = getInstance.getCurrentVueInstance();
45
50
  const props = __props;
46
51
  const emit = __emit;
52
+ const fieldsData = vue.computed(() => {
53
+ var _a, _b;
54
+ return [
55
+ ...((_a = props.localConfig) == null ? void 0 : _a.fieldsData) || [],
56
+ ...((_b = props.localConfig) == null ? void 0 : _b.hiddenFields) || []
57
+ ];
58
+ });
47
59
  const leftButtons = vue.computed(() => {
48
- return props.customBtns.left || [];
60
+ return (props.customBtns.left || []).filter((item) => {
61
+ if (!item.showCondition) return true;
62
+ return parseFilterConfig.checkFilterMatch(
63
+ item.showCondition,
64
+ props.hiddenFormData,
65
+ fieldsData.value
66
+ );
67
+ });
49
68
  });
50
69
  const rightButtons = vue.computed(() => {
51
- return props.customBtns.right || [];
70
+ return (props.customBtns.right || []).filter((item) => {
71
+ if (!item.showCondition) return true;
72
+ return parseFilterConfig.checkFilterMatch(
73
+ item.showCondition,
74
+ props.hiddenFormData,
75
+ fieldsData.value
76
+ );
77
+ });
52
78
  });
53
79
  const hasButtons = vue.computed(() => {
54
80
  return leftButtons.value.length > 0 || rightButtons.value.length > 0;
@@ -139,5 +165,5 @@ const _sfc_main = {
139
165
  };
140
166
  }
141
167
  };
142
- const CustomButtons = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-4a702348"]]);
168
+ const CustomButtons = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-d1552802"]]);
143
169
  exports.default = CustomButtons;