@fecp/designer 5.3.14 → 5.3.15

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 (25) hide show
  1. package/es/designer.css +14 -14
  2. package/es/packages/designer/package.json.mjs +1 -1
  3. package/es/packages/designer/src/packages/form/property/pageFooterBtn.vue.mjs +13 -1
  4. package/es/packages/vue/src/components/details/header/Header.vue.mjs +14 -6
  5. package/es/packages/vue/src/components/dialog/DialogRenderer.vue2.mjs +1 -1
  6. package/es/packages/vue/src/components/forms/checkbox/Checkbox.vue.mjs +2 -3
  7. package/es/packages/vue/src/components/forms/form/Form.vue.mjs +28 -4
  8. package/es/packages/vue/src/components/forms/radio/Radio.vue.mjs +2 -3
  9. package/es/packages/vue/src/components/forms/text/Text.vue.mjs +1 -1
  10. package/es/packages/vue/src/components/table/TableColumn.vue.mjs +1 -1
  11. package/es/packages/vue/src/composables/usePageEvents.mjs +1 -1
  12. package/es/packages/vue/src/utils/datasource.mjs +1 -1
  13. package/lib/designer.css +14 -14
  14. package/lib/packages/designer/package.json.js +1 -1
  15. package/lib/packages/designer/src/packages/form/property/pageFooterBtn.vue.js +13 -1
  16. package/lib/packages/vue/src/components/details/header/Header.vue.js +13 -5
  17. package/lib/packages/vue/src/components/dialog/DialogRenderer.vue2.js +1 -1
  18. package/lib/packages/vue/src/components/forms/checkbox/Checkbox.vue.js +2 -3
  19. package/lib/packages/vue/src/components/forms/form/Form.vue.js +28 -4
  20. package/lib/packages/vue/src/components/forms/radio/Radio.vue.js +2 -3
  21. package/lib/packages/vue/src/components/forms/text/Text.vue.js +1 -1
  22. package/lib/packages/vue/src/components/table/TableColumn.vue.js +1 -1
  23. package/lib/packages/vue/src/composables/usePageEvents.js +1 -1
  24. package/lib/packages/vue/src/utils/datasource.js +1 -1
  25. package/package.json +1 -1
package/es/designer.css CHANGED
@@ -5586,7 +5586,7 @@ body,
5586
5586
  [data-v-bac36800] .el-form-item__label {
5587
5587
  padding: 0 8px 0 0;
5588
5588
  }
5589
- .el-page-header.is-contentful .el-page-header__main{border-top:1px solid var(--el-border-color-light);margin-top:16px}.el-page-header__header{align-items:center;display:flex;justify-content:space-between;line-height:24px}.el-page-header__left{align-items:center;display:flex;margin-right:40px;position:relative}.el-page-header__back{align-items:center;cursor:pointer;display:flex}.el-page-header__left .el-divider--vertical{margin:0 16px}.el-page-header__icon{align-items:center;display:flex;font-size:16px;margin-right:10px}.el-page-header__icon .el-icon{font-size:inherit}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{color:var(--el-text-color-primary);font-size:18px}.el-page-header__breadcrumb{margin-bottom:16px}.fec-header[data-v-93e082c1] {
5589
+ .el-page-header.is-contentful .el-page-header__main{border-top:1px solid var(--el-border-color-light);margin-top:16px}.el-page-header__header{align-items:center;display:flex;justify-content:space-between;line-height:24px}.el-page-header__left{align-items:center;display:flex;margin-right:40px;position:relative}.el-page-header__back{align-items:center;cursor:pointer;display:flex}.el-page-header__left .el-divider--vertical{margin:0 16px}.el-page-header__icon{align-items:center;display:flex;font-size:16px;margin-right:10px}.el-page-header__icon .el-icon{font-size:inherit}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{color:var(--el-text-color-primary);font-size:18px}.el-page-header__breadcrumb{margin-bottom:16px}.fec-header[data-v-d2665303] {
5590
5590
  padding: 0 20px;
5591
5591
  background-color: #fff;
5592
5592
  border-bottom: 1px solid #e4e7ed;
@@ -5595,33 +5595,33 @@ body,
5595
5595
  align-items: center;
5596
5596
  flex-shrink: 0;
5597
5597
  }
5598
- .fec-header[data-v-93e082c1] .el-page-header__header {
5598
+ .fec-header[data-v-d2665303] .el-page-header__header {
5599
5599
  height: 100%;
5600
5600
  width: 100%;
5601
5601
  display: flex;
5602
5602
  align-items: center;
5603
5603
  }
5604
- .fec-header[data-v-93e082c1] .el-page-header__header .el-page-header__title {
5604
+ .fec-header[data-v-d2665303] .el-page-header__header .el-page-header__title {
5605
5605
  display: none;
5606
5606
  }
5607
- .fec-header[data-v-93e082c1] .el-page-header__header .el-page-header__icon {
5607
+ .fec-header[data-v-d2665303] .el-page-header__header .el-page-header__icon {
5608
5608
  margin-right: 0;
5609
5609
  font-size: 16px;
5610
5610
  }
5611
- .fec-header .fec-header__title[data-v-93e082c1] {
5611
+ .fec-header .fec-header__title[data-v-d2665303] {
5612
5612
  font-size: 16px;
5613
5613
  font-weight: 600;
5614
5614
  color: #303133;
5615
5615
  margin-right: 12px;
5616
5616
  }
5617
- .fec-header .fec-header__subtitle[data-v-93e082c1] {
5617
+ .fec-header .fec-header__subtitle[data-v-d2665303] {
5618
5618
  font-size: 12px;
5619
5619
  color: #606266;
5620
5620
  }
5621
- .can-not-back[data-v-93e082c1] .el-subTitle {
5621
+ .can-not-back[data-v-d2665303] .el-subTitle {
5622
5622
  display: none;
5623
5623
  }
5624
- [data-v-93e082c1] .el-page-header__content {
5624
+ [data-v-d2665303] .el-page-header__content {
5625
5625
  color: #606266;
5626
5626
  font-size: 14px;
5627
5627
  line-height: 1.5;
@@ -5640,27 +5640,27 @@ body,
5640
5640
  width: 80px;
5641
5641
  font-size: var(--el-font-size-extra-small);
5642
5642
  }
5643
- .fec-form[data-v-01bfaf4f] {
5643
+ .fec-form[data-v-bf001c7c] {
5644
5644
  height: 100%;
5645
5645
  }
5646
- [data-v-01bfaf4f] .vgl-item {
5646
+ [data-v-bf001c7c] .vgl-item {
5647
5647
  transition: none;
5648
5648
  }
5649
- [data-v-01bfaf4f] .vgl-item > .el-form-item {
5649
+ [data-v-bf001c7c] .vgl-item > .el-form-item {
5650
5650
  width: 100%;
5651
5651
  padding: 12px 8px 0 8px;
5652
5652
  height: calc(100% - 15px);
5653
5653
  display: flex;
5654
5654
  }
5655
- [data-v-01bfaf4f] .vgl-item > .el-form-item.el-form-item--label-top {
5655
+ [data-v-bf001c7c] .vgl-item > .el-form-item.el-form-item--label-top {
5656
5656
  flex-direction: column;
5657
5657
  }
5658
- [data-v-01bfaf4f] .vgl-item > .el-form-item .el-form-item__label {
5658
+ [data-v-bf001c7c] .vgl-item > .el-form-item .el-form-item__label {
5659
5659
  line-height: 20px;
5660
5660
  display: flex;
5661
5661
  align-items: center;
5662
5662
  }
5663
- [data-v-01bfaf4f] .vgl-item > .el-container {
5663
+ [data-v-bf001c7c] .vgl-item > .el-container {
5664
5664
  height: auto !important;
5665
5665
  }.cell-content .cell-text[data-v-77ad8323] {
5666
5666
  display: inline-block;
@@ -1,4 +1,4 @@
1
- const version = "5.3.14";
1
+ const version = "5.3.15";
2
2
  const packageJson = {
3
3
  version
4
4
  };
@@ -2,6 +2,7 @@
2
2
  /* empty css */
3
3
  /* empty css */
4
4
  /* empty css */
5
+ /* empty css */
5
6
  /* empty css */
6
7
  /* empty css */
7
8
  /* empty css */
@@ -17,6 +18,7 @@ import { ElCollapse, ElCollapseItem } from "../../../../../../node_modules/.pnpm
17
18
  import { ElForm, ElFormItem } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/form/index.mjs";
18
19
  import { ElSelect, ElOption } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/select/index.mjs";
19
20
  import { ElInput } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/input/index.mjs";
21
+ import { ElSwitch } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/switch/index.mjs";
20
22
  const _sfc_main = {
21
23
  __name: "pageFooterBtn",
22
24
  setup(__props) {
@@ -32,13 +34,14 @@ const _sfc_main = {
32
34
  const _component_el_select = ElSelect;
33
35
  const _component_el_form_item = ElFormItem;
34
36
  const _component_el_input = ElInput;
37
+ const _component_el_switch = ElSwitch;
35
38
  const _component_el_form = ElForm;
36
39
  const _component_el_collapse_item = ElCollapseItem;
37
40
  const _component_el_collapse = ElCollapse;
38
41
  return openBlock(), createBlock(_component_el_collapse, {
39
42
  class: "setting",
40
43
  modelValue: unref(activeName),
41
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => isRef(activeName) ? activeName.value = $event : null)
44
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => isRef(activeName) ? activeName.value = $event : null)
42
45
  }, {
43
46
  default: withCtx(() => [
44
47
  createVNode(_component_el_collapse_item, {
@@ -94,6 +97,15 @@ const _sfc_main = {
94
97
  ]),
95
98
  _: 1
96
99
  }),
100
+ createVNode(_component_el_form_item, { label: "是否用于审批" }, {
101
+ default: withCtx(() => [
102
+ createVNode(_component_el_switch, {
103
+ modelValue: unref(currentItem).isApproval,
104
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => unref(currentItem).isApproval = $event)
105
+ }, null, 8, ["modelValue"])
106
+ ]),
107
+ _: 1
108
+ }),
97
109
  createVNode(_component_el_form_item, { label: "事件配置" }, {
98
110
  default: withCtx(() => [
99
111
  createVNode(EventConfigButton, {
@@ -2,7 +2,7 @@
2
2
  /* empty css */
3
3
  /* empty css */
4
4
  /* empty css */
5
- import { createBlock, createCommentVNode, openBlock, normalizeClass, unref, createSlots, withCtx, createElementVNode, toDisplayString, createElementBlock, Fragment, renderList, createTextVNode } from "vue";
5
+ import { computed, createBlock, createCommentVNode, openBlock, normalizeClass, unref, createSlots, withCtx, createElementVNode, toDisplayString, createElementBlock, Fragment, renderList, createTextVNode } from "vue";
6
6
  import { ArrowLeft as arrow_left_default } from "../../../../../../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.mjs";
7
7
  import { getCurrentVueInstance } from "../../../utils/getInstance.mjs";
8
8
  /* empty css */
@@ -18,6 +18,10 @@ const _sfc_main = {
18
18
  pageHeaderConfig: {
19
19
  type: Object,
20
20
  required: true
21
+ },
22
+ isApproval: {
23
+ type: Boolean,
24
+ default: false
21
25
  }
22
26
  },
23
27
  emits: ["action-click"],
@@ -25,6 +29,10 @@ const _sfc_main = {
25
29
  const props = __props;
26
30
  const ctx = getCurrentVueInstance();
27
31
  const emit = __emit;
32
+ const canBack = computed(() => {
33
+ var _a;
34
+ return !props.isApproval && ((_a = props.pageHeaderConfig) == null ? void 0 : _a.canBack);
35
+ });
28
36
  const getButtonType = (btnStyle) => {
29
37
  return "primary";
30
38
  };
@@ -53,14 +61,14 @@ const _sfc_main = {
53
61
  emit("action-click", action);
54
62
  };
55
63
  return (_ctx, _cache) => {
56
- var _a, _b, _c, _d, _e;
64
+ var _a, _b, _c;
57
65
  const _component_el_button = ElButton;
58
66
  const _component_el_page_header = ElPageHeader;
59
67
  return ((_a = __props.pageHeaderConfig) == null ? void 0 : _a.enabled) ? (openBlock(), createBlock(_component_el_page_header, {
60
68
  key: 0,
61
- icon: ((_b = __props.pageHeaderConfig) == null ? void 0 : _b.canBack) ? unref(arrow_left_default) : null,
69
+ icon: unref(canBack) ? unref(arrow_left_default) : null,
62
70
  onBack: handleBack,
63
- class: normalizeClass(["fec-header", { "can-not-back": !((_c = __props.pageHeaderConfig) == null ? void 0 : _c.canBack) }])
71
+ class: normalizeClass(["fec-header", { "can-not-back": !unref(canBack) }])
64
72
  }, createSlots({
65
73
  content: withCtx(() => {
66
74
  var _a2, _b2;
@@ -71,7 +79,7 @@ const _sfc_main = {
71
79
  }),
72
80
  _: 2
73
81
  }, [
74
- ((_e = (_d = __props.pageHeaderConfig) == null ? void 0 : _d.actions) == null ? void 0 : _e.length) ? {
82
+ ((_c = (_b = __props.pageHeaderConfig) == null ? void 0 : _b.actions) == null ? void 0 : _c.length) ? {
75
83
  name: "extra",
76
84
  fn: withCtx(() => {
77
85
  var _a2;
@@ -96,7 +104,7 @@ const _sfc_main = {
96
104
  };
97
105
  }
98
106
  };
99
- const component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-93e082c1"]]);
107
+ const component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d2665303"]]);
100
108
  export {
101
109
  component as default
102
110
  };
@@ -8,9 +8,9 @@ import { Form } from "../forms/form/index.mjs";
8
8
  import { parseRouteParams } from "../../utils/parseRouteParams.mjs";
9
9
  import { calculate } from "../../utils/formulajs/calculate.mjs";
10
10
  import { useEventFlow, executeEventFlow } from "../../utils/eventFlow/eventFlowHandler.mjs";
11
- /* empty css */
12
11
  /* empty css */
13
12
  /* empty css */
13
+ /* empty css */
14
14
  /* empty css */
15
15
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.mjs";
16
16
  /* empty css */
@@ -69,9 +69,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
69
69
  (openBlock(true), createElementBlock(Fragment, null, renderList(options.value, (option) => {
70
70
  return openBlock(), createBlock(_component_el_checkbox, {
71
71
  value: option.value,
72
- label: option.label,
73
- disabled: option.disabled
74
- }, null, 8, ["value", "label", "disabled"]);
72
+ label: option.label
73
+ }, null, 8, ["value", "label"]);
75
74
  }), 256))
76
75
  ]),
77
76
  _: 1
@@ -78,6 +78,10 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
78
78
  initFormMode: {
79
79
  type: String,
80
80
  default: ""
81
+ },
82
+ isApproval: {
83
+ type: Boolean,
84
+ default: false
81
85
  }
82
86
  },
83
87
  emits: [
@@ -553,6 +557,24 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
553
557
  (_a = button.eventConfig) == null ? void 0 : _a.find((item) => item.name == "Click")
554
558
  );
555
559
  };
560
+ const handleApprovalEvent = () => {
561
+ return new Promise((resolve, reject) => {
562
+ var _a, _b;
563
+ const actions = ((_a = localConfig.value.pageFooterConfig) == null ? void 0 : _a.actions) || [];
564
+ const approvalAction = actions.find((item) => item.isApproval);
565
+ if (approvalAction) {
566
+ handleEvent.value(
567
+ formData.value,
568
+ approvalAction,
569
+ (_b = approvalAction.eventConfig) == null ? void 0 : _b.find((item) => item.name == "Click")
570
+ ).then(() => {
571
+ resolve();
572
+ }).catch((error) => {
573
+ reject(error);
574
+ });
575
+ }
576
+ });
577
+ };
556
578
  const validate = () => {
557
579
  var _a;
558
580
  return (_a = formRef.value) == null ? void 0 : _a.validate();
@@ -897,7 +919,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
897
919
  setFormData,
898
920
  getFormItemRef,
899
921
  formRef,
900
- localConfig
922
+ localConfig,
923
+ handleApprovalEvent
901
924
  });
902
925
  return (_ctx, _cache) => {
903
926
  const _component_el_form = ElForm;
@@ -913,8 +936,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
913
936
  default: withCtx(() => [
914
937
  !configLoading.value && !__props.isSubForm && !__props.isDialog ? (openBlock(), createBlock(unref(header), {
915
938
  key: 0,
939
+ isApproval: __props.isApproval,
916
940
  pageHeaderConfig: localConfig.value.pageHeaderConfig
917
- }, null, 8, ["pageHeaderConfig"])) : createCommentVNode("", true),
941
+ }, null, 8, ["isApproval", "pageHeaderConfig"])) : createCommentVNode("", true),
918
942
  createVNode(unref(main), null, {
919
943
  default: withCtx(() => [
920
944
  createVNode(_component_el_form, {
@@ -969,7 +993,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
969
993
  ]),
970
994
  _: 1
971
995
  }),
972
- !__props.isSubForm && !__props.isDialog ? (openBlock(), createBlock(unref(footer), {
996
+ !__props.isSubForm && !__props.isDialog && !__props.isApproval ? (openBlock(), createBlock(unref(footer), {
973
997
  key: 1,
974
998
  formMode: formMode.value,
975
999
  pageFooterConfig: localConfig.value.pageFooterConfig,
@@ -981,7 +1005,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
981
1005
  };
982
1006
  }
983
1007
  });
984
- const _Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-01bfaf4f"]]);
1008
+ const _Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-bf001c7c"]]);
985
1009
  export {
986
1010
  _Form as default
987
1011
  };
@@ -64,9 +64,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
64
64
  (openBlock(true), createElementBlock(Fragment, null, renderList(options.value, (option) => {
65
65
  return openBlock(), createBlock(_component_el_radio, {
66
66
  value: option.value,
67
- label: option.label,
68
- disabled: option.disabled
69
- }, null, 8, ["value", "label", "disabled"]);
67
+ label: option.label
68
+ }, null, 8, ["value", "label"]);
70
69
  }), 256))
71
70
  ]),
72
71
  _: 1
@@ -2,9 +2,9 @@
2
2
  /* empty css */
3
3
  /* empty css */
4
4
  import { computed, getCurrentInstance, inject, createElementBlock, openBlock, createVNode, createCommentVNode, mergeProps, toHandlers, createSlots, withCtx, createElementVNode, toDisplayString, createBlock, createTextVNode, unref } from "vue";
5
- /* empty css */
6
5
  /* empty css */
7
6
  /* empty css */
7
+ /* empty css */
8
8
  import { openDialog } from "../../dialog/index.mjs";
9
9
  import api from "../../../api/index.mjs";
10
10
  /* empty css */
@@ -6,9 +6,9 @@ import "../../../../../node_modules/.pnpm/vxe-table@4.17.47_vue@3.5.13_typescrip
6
6
  import { CopyDocument as copy_document_default } from "../../../../../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.mjs";
7
7
  import { checkFilterMatch } from "../../utils/parseFilterConfig.mjs";
8
8
  import { removeEmptyValues } from "../../utils/common.mjs";
9
- /* empty css */
10
9
  /* empty css */
11
10
  /* empty css */
11
+ /* empty css */
12
12
  /* empty css */
13
13
  /* empty css */
14
14
  import "./index.mjs";
@@ -1,8 +1,8 @@
1
1
  import { onUnmounted, onBeforeUnmount, onMounted } from "vue";
2
2
  /* empty css */
3
- /* empty css */
4
3
  /* empty css */
5
4
  /* empty css */
5
+ /* empty css */
6
6
  /* empty css */
7
7
  /* empty css */
8
8
  /* empty css */
@@ -1,9 +1,9 @@
1
1
  import { reactive } from "vue";
2
2
  import { parseRouteParams } from "./parseRouteParams.mjs";
3
3
  /* empty css */
4
- /* empty css */
5
4
  /* empty css */
6
5
  /* empty css */
6
+ /* empty css */
7
7
  import { ElLoading } from "../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/loading/index.mjs";
8
8
  import { ElMessage } from "../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/message/index.mjs";
9
9
  class DataSourceManager {
package/lib/designer.css CHANGED
@@ -5586,7 +5586,7 @@ body,
5586
5586
  [data-v-bac36800] .el-form-item__label {
5587
5587
  padding: 0 8px 0 0;
5588
5588
  }
5589
- .el-page-header.is-contentful .el-page-header__main{border-top:1px solid var(--el-border-color-light);margin-top:16px}.el-page-header__header{align-items:center;display:flex;justify-content:space-between;line-height:24px}.el-page-header__left{align-items:center;display:flex;margin-right:40px;position:relative}.el-page-header__back{align-items:center;cursor:pointer;display:flex}.el-page-header__left .el-divider--vertical{margin:0 16px}.el-page-header__icon{align-items:center;display:flex;font-size:16px;margin-right:10px}.el-page-header__icon .el-icon{font-size:inherit}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{color:var(--el-text-color-primary);font-size:18px}.el-page-header__breadcrumb{margin-bottom:16px}.fec-header[data-v-93e082c1] {
5589
+ .el-page-header.is-contentful .el-page-header__main{border-top:1px solid var(--el-border-color-light);margin-top:16px}.el-page-header__header{align-items:center;display:flex;justify-content:space-between;line-height:24px}.el-page-header__left{align-items:center;display:flex;margin-right:40px;position:relative}.el-page-header__back{align-items:center;cursor:pointer;display:flex}.el-page-header__left .el-divider--vertical{margin:0 16px}.el-page-header__icon{align-items:center;display:flex;font-size:16px;margin-right:10px}.el-page-header__icon .el-icon{font-size:inherit}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{color:var(--el-text-color-primary);font-size:18px}.el-page-header__breadcrumb{margin-bottom:16px}.fec-header[data-v-d2665303] {
5590
5590
  padding: 0 20px;
5591
5591
  background-color: #fff;
5592
5592
  border-bottom: 1px solid #e4e7ed;
@@ -5595,33 +5595,33 @@ body,
5595
5595
  align-items: center;
5596
5596
  flex-shrink: 0;
5597
5597
  }
5598
- .fec-header[data-v-93e082c1] .el-page-header__header {
5598
+ .fec-header[data-v-d2665303] .el-page-header__header {
5599
5599
  height: 100%;
5600
5600
  width: 100%;
5601
5601
  display: flex;
5602
5602
  align-items: center;
5603
5603
  }
5604
- .fec-header[data-v-93e082c1] .el-page-header__header .el-page-header__title {
5604
+ .fec-header[data-v-d2665303] .el-page-header__header .el-page-header__title {
5605
5605
  display: none;
5606
5606
  }
5607
- .fec-header[data-v-93e082c1] .el-page-header__header .el-page-header__icon {
5607
+ .fec-header[data-v-d2665303] .el-page-header__header .el-page-header__icon {
5608
5608
  margin-right: 0;
5609
5609
  font-size: 16px;
5610
5610
  }
5611
- .fec-header .fec-header__title[data-v-93e082c1] {
5611
+ .fec-header .fec-header__title[data-v-d2665303] {
5612
5612
  font-size: 16px;
5613
5613
  font-weight: 600;
5614
5614
  color: #303133;
5615
5615
  margin-right: 12px;
5616
5616
  }
5617
- .fec-header .fec-header__subtitle[data-v-93e082c1] {
5617
+ .fec-header .fec-header__subtitle[data-v-d2665303] {
5618
5618
  font-size: 12px;
5619
5619
  color: #606266;
5620
5620
  }
5621
- .can-not-back[data-v-93e082c1] .el-subTitle {
5621
+ .can-not-back[data-v-d2665303] .el-subTitle {
5622
5622
  display: none;
5623
5623
  }
5624
- [data-v-93e082c1] .el-page-header__content {
5624
+ [data-v-d2665303] .el-page-header__content {
5625
5625
  color: #606266;
5626
5626
  font-size: 14px;
5627
5627
  line-height: 1.5;
@@ -5640,27 +5640,27 @@ body,
5640
5640
  width: 80px;
5641
5641
  font-size: var(--el-font-size-extra-small);
5642
5642
  }
5643
- .fec-form[data-v-01bfaf4f] {
5643
+ .fec-form[data-v-bf001c7c] {
5644
5644
  height: 100%;
5645
5645
  }
5646
- [data-v-01bfaf4f] .vgl-item {
5646
+ [data-v-bf001c7c] .vgl-item {
5647
5647
  transition: none;
5648
5648
  }
5649
- [data-v-01bfaf4f] .vgl-item > .el-form-item {
5649
+ [data-v-bf001c7c] .vgl-item > .el-form-item {
5650
5650
  width: 100%;
5651
5651
  padding: 12px 8px 0 8px;
5652
5652
  height: calc(100% - 15px);
5653
5653
  display: flex;
5654
5654
  }
5655
- [data-v-01bfaf4f] .vgl-item > .el-form-item.el-form-item--label-top {
5655
+ [data-v-bf001c7c] .vgl-item > .el-form-item.el-form-item--label-top {
5656
5656
  flex-direction: column;
5657
5657
  }
5658
- [data-v-01bfaf4f] .vgl-item > .el-form-item .el-form-item__label {
5658
+ [data-v-bf001c7c] .vgl-item > .el-form-item .el-form-item__label {
5659
5659
  line-height: 20px;
5660
5660
  display: flex;
5661
5661
  align-items: center;
5662
5662
  }
5663
- [data-v-01bfaf4f] .vgl-item > .el-container {
5663
+ [data-v-bf001c7c] .vgl-item > .el-container {
5664
5664
  height: auto !important;
5665
5665
  }.cell-content .cell-text[data-v-77ad8323] {
5666
5666
  display: inline-block;
@@ -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.14";
3
+ const version = "5.3.15";
4
4
  const packageJson = {
5
5
  version
6
6
  };
@@ -4,6 +4,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
4
4
  ;/* empty css */
5
5
  ;/* empty css */
6
6
  ;/* empty css */
7
+ ;/* empty css */
7
8
  ;/* empty css */
8
9
  ;/* empty css */
9
10
  ;/* empty css */
@@ -19,6 +20,7 @@ const index = require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_
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");
21
22
  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/input/index.js");
23
+ const index$4 = 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");
22
24
  const _sfc_main = {
23
25
  __name: "pageFooterBtn",
24
26
  setup(__props) {
@@ -34,13 +36,14 @@ const _sfc_main = {
34
36
  const _component_el_select = index$2.ElSelect;
35
37
  const _component_el_form_item = index$1.ElFormItem;
36
38
  const _component_el_input = index$3.ElInput;
39
+ const _component_el_switch = index$4.ElSwitch;
37
40
  const _component_el_form = index$1.ElForm;
38
41
  const _component_el_collapse_item = index.ElCollapseItem;
39
42
  const _component_el_collapse = index.ElCollapse;
40
43
  return vue.openBlock(), vue.createBlock(_component_el_collapse, {
41
44
  class: "setting",
42
45
  modelValue: vue.unref(activeName),
43
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(activeName) ? activeName.value = $event : null)
46
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.isRef(activeName) ? activeName.value = $event : null)
44
47
  }, {
45
48
  default: vue.withCtx(() => [
46
49
  vue.createVNode(_component_el_collapse_item, {
@@ -96,6 +99,15 @@ const _sfc_main = {
96
99
  ]),
97
100
  _: 1
98
101
  }),
102
+ vue.createVNode(_component_el_form_item, { label: "是否用于审批" }, {
103
+ default: vue.withCtx(() => [
104
+ vue.createVNode(_component_el_switch, {
105
+ modelValue: vue.unref(currentItem).isApproval,
106
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(currentItem).isApproval = $event)
107
+ }, null, 8, ["modelValue"])
108
+ ]),
109
+ _: 1
110
+ }),
99
111
  vue.createVNode(_component_el_form_item, { label: "事件配置" }, {
100
112
  default: vue.withCtx(() => [
101
113
  vue.createVNode(EventConfigButton.default, {
@@ -20,6 +20,10 @@ const _sfc_main = {
20
20
  pageHeaderConfig: {
21
21
  type: Object,
22
22
  required: true
23
+ },
24
+ isApproval: {
25
+ type: Boolean,
26
+ default: false
23
27
  }
24
28
  },
25
29
  emits: ["action-click"],
@@ -27,6 +31,10 @@ const _sfc_main = {
27
31
  const props = __props;
28
32
  const ctx = getInstance.getCurrentVueInstance();
29
33
  const emit = __emit;
34
+ const canBack = vue.computed(() => {
35
+ var _a;
36
+ return !props.isApproval && ((_a = props.pageHeaderConfig) == null ? void 0 : _a.canBack);
37
+ });
30
38
  const getButtonType = (btnStyle) => {
31
39
  return "primary";
32
40
  };
@@ -55,14 +63,14 @@ const _sfc_main = {
55
63
  emit("action-click", action);
56
64
  };
57
65
  return (_ctx, _cache) => {
58
- var _a, _b, _c, _d, _e;
66
+ var _a, _b, _c;
59
67
  const _component_el_button = index$2.ElButton;
60
68
  const _component_el_page_header = index.ElPageHeader;
61
69
  return ((_a = __props.pageHeaderConfig) == null ? void 0 : _a.enabled) ? (vue.openBlock(), vue.createBlock(_component_el_page_header, {
62
70
  key: 0,
63
- icon: ((_b = __props.pageHeaderConfig) == null ? void 0 : _b.canBack) ? vue.unref(index$1.ArrowLeft) : null,
71
+ icon: vue.unref(canBack) ? vue.unref(index$1.ArrowLeft) : null,
64
72
  onBack: handleBack,
65
- class: vue.normalizeClass(["fec-header", { "can-not-back": !((_c = __props.pageHeaderConfig) == null ? void 0 : _c.canBack) }])
73
+ class: vue.normalizeClass(["fec-header", { "can-not-back": !vue.unref(canBack) }])
66
74
  }, vue.createSlots({
67
75
  content: vue.withCtx(() => {
68
76
  var _a2, _b2;
@@ -73,7 +81,7 @@ const _sfc_main = {
73
81
  }),
74
82
  _: 2
75
83
  }, [
76
- ((_e = (_d = __props.pageHeaderConfig) == null ? void 0 : _d.actions) == null ? void 0 : _e.length) ? {
84
+ ((_c = (_b = __props.pageHeaderConfig) == null ? void 0 : _b.actions) == null ? void 0 : _c.length) ? {
77
85
  name: "extra",
78
86
  fn: vue.withCtx(() => {
79
87
  var _a2;
@@ -98,5 +106,5 @@ const _sfc_main = {
98
106
  };
99
107
  }
100
108
  };
101
- const component = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-93e082c1"]]);
109
+ const component = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-d2665303"]]);
102
110
  exports.default = component;
@@ -10,9 +10,9 @@ const index$2 = require("../forms/form/index.js");
10
10
  const parseRouteParams = require("../../utils/parseRouteParams.js");
11
11
  const calculate = require("../../utils/formulajs/calculate.js");
12
12
  const eventFlowHandler = require("../../utils/eventFlow/eventFlowHandler.js");
13
- ;/* empty css */
14
13
  ;/* empty css */
15
14
  ;/* empty css */
15
+ ;/* empty css */
16
16
  ;/* empty css */
17
17
  const _pluginVue_exportHelper = require("../../../../../_virtual/_plugin-vue_export-helper.js");
18
18
  ;/* empty css */
@@ -71,9 +71,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
71
71
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(options.value, (option) => {
72
72
  return vue.openBlock(), vue.createBlock(_component_el_checkbox, {
73
73
  value: option.value,
74
- label: option.label,
75
- disabled: option.disabled
76
- }, null, 8, ["value", "label", "disabled"]);
74
+ label: option.label
75
+ }, null, 8, ["value", "label"]);
77
76
  }), 256))
78
77
  ]),
79
78
  _: 1
@@ -80,6 +80,10 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
80
80
  initFormMode: {
81
81
  type: String,
82
82
  default: ""
83
+ },
84
+ isApproval: {
85
+ type: Boolean,
86
+ default: false
83
87
  }
84
88
  },
85
89
  emits: [
@@ -555,6 +559,24 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
555
559
  (_a = button.eventConfig) == null ? void 0 : _a.find((item) => item.name == "Click")
556
560
  );
557
561
  };
562
+ const handleApprovalEvent = () => {
563
+ return new Promise((resolve, reject) => {
564
+ var _a, _b;
565
+ const actions = ((_a = localConfig.value.pageFooterConfig) == null ? void 0 : _a.actions) || [];
566
+ const approvalAction = actions.find((item) => item.isApproval);
567
+ if (approvalAction) {
568
+ handleEvent.value(
569
+ formData.value,
570
+ approvalAction,
571
+ (_b = approvalAction.eventConfig) == null ? void 0 : _b.find((item) => item.name == "Click")
572
+ ).then(() => {
573
+ resolve();
574
+ }).catch((error) => {
575
+ reject(error);
576
+ });
577
+ }
578
+ });
579
+ };
558
580
  const validate = () => {
559
581
  var _a;
560
582
  return (_a = formRef.value) == null ? void 0 : _a.validate();
@@ -899,7 +921,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
899
921
  setFormData,
900
922
  getFormItemRef,
901
923
  formRef,
902
- localConfig
924
+ localConfig,
925
+ handleApprovalEvent
903
926
  });
904
927
  return (_ctx, _cache) => {
905
928
  const _component_el_form = index$5.ElForm;
@@ -915,8 +938,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
915
938
  default: vue.withCtx(() => [
916
939
  !configLoading.value && !__props.isSubForm && !__props.isDialog ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.header), {
917
940
  key: 0,
941
+ isApproval: __props.isApproval,
918
942
  pageHeaderConfig: localConfig.value.pageHeaderConfig
919
- }, null, 8, ["pageHeaderConfig"])) : vue.createCommentVNode("", true),
943
+ }, null, 8, ["isApproval", "pageHeaderConfig"])) : vue.createCommentVNode("", true),
920
944
  vue.createVNode(vue.unref(index$4.main), null, {
921
945
  default: vue.withCtx(() => [
922
946
  vue.createVNode(_component_el_form, {
@@ -971,7 +995,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
971
995
  ]),
972
996
  _: 1
973
997
  }),
974
- !__props.isSubForm && !__props.isDialog ? (vue.openBlock(), vue.createBlock(vue.unref(index$6.footer), {
998
+ !__props.isSubForm && !__props.isDialog && !__props.isApproval ? (vue.openBlock(), vue.createBlock(vue.unref(index$6.footer), {
975
999
  key: 1,
976
1000
  formMode: formMode.value,
977
1001
  pageFooterConfig: localConfig.value.pageFooterConfig,
@@ -983,5 +1007,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
983
1007
  };
984
1008
  }
985
1009
  });
986
- const _Form = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-01bfaf4f"]]);
1010
+ const _Form = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-bf001c7c"]]);
987
1011
  exports.default = _Form;
@@ -66,9 +66,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
66
66
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(options.value, (option) => {
67
67
  return vue.openBlock(), vue.createBlock(_component_el_radio, {
68
68
  value: option.value,
69
- label: option.label,
70
- disabled: option.disabled
71
- }, null, 8, ["value", "label", "disabled"]);
69
+ label: option.label
70
+ }, null, 8, ["value", "label"]);
72
71
  }), 256))
73
72
  ]),
74
73
  _: 1
@@ -4,9 +4,9 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
4
4
  ;/* empty css */
5
5
  ;/* empty css */
6
6
  const vue = require("vue");
7
- ;/* empty css */
8
7
  ;/* empty css */
9
8
  ;/* empty css */
9
+ ;/* empty css */
10
10
  const index$3 = require("../../dialog/index.js");
11
11
  const index$2 = require("../../../api/index.js");
12
12
  ;/* empty css */
@@ -8,9 +8,9 @@ require("../../../../../node_modules/.pnpm/vxe-table@4.17.47_vue@3.5.13_typescri
8
8
  const index$3 = 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");
9
9
  const parseFilterConfig = require("../../utils/parseFilterConfig.js");
10
10
  const common = require("../../utils/common.js");
11
- ;/* empty css */
12
11
  ;/* empty css */
13
12
  ;/* empty css */
13
+ ;/* empty css */
14
14
  ;/* empty css */
15
15
  ;/* empty css */
16
16
  require("./index.js");
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const vue = require("vue");
4
4
  ;/* empty css */
5
- ;/* empty css */
6
5
  ;/* empty css */
7
6
  ;/* empty css */
7
+ ;/* empty css */
8
8
  ;/* empty css */
9
9
  ;/* empty css */
10
10
  ;/* empty css */
@@ -3,9 +3,9 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const parseRouteParams = require("./parseRouteParams.js");
5
5
  ;/* empty css */
6
- ;/* empty css */
7
6
  ;/* empty css */
8
7
  ;/* empty css */
8
+ ;/* empty css */
9
9
  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/loading/index.js");
10
10
  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/message/index.js");
11
11
  class DataSourceManager {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fecp/designer",
3
- "version": "5.3.14",
3
+ "version": "5.3.15",
4
4
  "main": "lib/packages/designer/index.js",
5
5
  "module": "es/packages/designer/index.mjs",
6
6
  "files": [