@fecp/designer 5.4.77 → 5.4.79

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/package.json.mjs +1 -1
  2. package/es/designer/src/packages/dialog/index.vue.mjs +1 -1
  3. package/es/designer/src/packages/dialog/index.vue2.mjs +1 -1
  4. package/es/designer/src/packages/dialogGlobal/index.vue.mjs +1 -1
  5. package/es/designer/src/packages/form/property/approvalHistory.vue.mjs +8 -17
  6. package/es/designer/src/packages/form/property/contract.vue.mjs +13 -22
  7. package/es/designer/src/packages/form/property/document.vue.mjs +11 -20
  8. package/es/designer/src/packages/form/property/subForm.vue.mjs +16 -25
  9. package/es/designer/src/packages/form/property/subTable.vue.mjs +17 -26
  10. package/es/designer/src/packages/form/property/subTitleH2.vue.mjs +5 -14
  11. package/es/designer/src/packages/form/property/widgets.vue.mjs +81 -90
  12. package/es/designer/src/packages/table/property/widgets.vue.mjs +25 -34
  13. package/es/designer.css +248 -229
  14. package/es/packages/mobile/src/components/base/button/Button.vue.mjs +3 -3
  15. package/es/packages/mobile/src/components/navigation/tabbar/Tabbar.vue.mjs +22 -8
  16. package/es/packages/vue/index.mjs +2 -0
  17. package/es/packages/vue/src/components/details/footer/Footer.vue.mjs +7 -4
  18. package/es/packages/vue/src/components/details/header/Header.vue.mjs +7 -4
  19. package/es/packages/vue/src/components/forms/form/Form.vue.mjs +3 -3
  20. package/es/packages/vue/src/components/forms/h2/H2.vue.mjs +1 -1
  21. package/es/packages/vue/src/components/layout/Layout.vue.mjs +8 -15
  22. package/es/packages/vue/src/components/table/CustomButtons.vue.mjs +11 -6
  23. package/es/packages/vue/src/components/table/DynamicQuery.vue.mjs +7 -4
  24. package/es/packages/vue/src/components/table/TableColumn.vue.mjs +18 -2
  25. package/es/packages/vue/src/directive/auth.mjs +29 -0
  26. package/lib/designer/package.json.js +1 -1
  27. package/lib/designer/src/packages/dialog/index.vue.js +1 -1
  28. package/lib/designer/src/packages/dialog/index.vue2.js +1 -1
  29. package/lib/designer/src/packages/dialogGlobal/index.vue.js +1 -1
  30. package/lib/designer/src/packages/form/property/approvalHistory.vue.js +8 -17
  31. package/lib/designer/src/packages/form/property/contract.vue.js +13 -22
  32. package/lib/designer/src/packages/form/property/document.vue.js +11 -20
  33. package/lib/designer/src/packages/form/property/subForm.vue.js +16 -25
  34. package/lib/designer/src/packages/form/property/subTable.vue.js +17 -26
  35. package/lib/designer/src/packages/form/property/subTitleH2.vue.js +5 -14
  36. package/lib/designer/src/packages/form/property/widgets.vue.js +81 -90
  37. package/lib/designer/src/packages/table/property/widgets.vue.js +25 -34
  38. package/lib/designer.css +248 -229
  39. package/lib/packages/mobile/src/components/base/button/Button.vue.js +2 -2
  40. package/lib/packages/mobile/src/components/navigation/tabbar/Tabbar.vue.js +21 -7
  41. package/lib/packages/vue/index.js +2 -0
  42. package/lib/packages/vue/src/components/details/footer/Footer.vue.js +6 -3
  43. package/lib/packages/vue/src/components/details/header/Header.vue.js +6 -3
  44. package/lib/packages/vue/src/components/forms/form/Form.vue.js +3 -3
  45. package/lib/packages/vue/src/components/forms/h2/H2.vue.js +1 -1
  46. package/lib/packages/vue/src/components/layout/Layout.vue.js +8 -15
  47. package/lib/packages/vue/src/components/table/CustomButtons.vue.js +10 -5
  48. package/lib/packages/vue/src/components/table/DynamicQuery.vue.js +6 -3
  49. package/lib/packages/vue/src/components/table/TableColumn.vue.js +18 -2
  50. package/lib/packages/vue/src/directive/auth.js +29 -0
  51. package/package.json +1 -1
@@ -3,14 +3,14 @@
3
3
  /* empty css */
4
4
  /* empty css */
5
5
  /* empty css */
6
- import { createBlock, openBlock, normalizeProps, guardReactiveProps, createSlots, renderList, withCtx, renderSlot } from "vue";
6
+ import { createBlock, openBlock, mergeProps, createSlots, renderList, withCtx, renderSlot } from "vue";
7
7
  /* empty css */
8
8
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
9
9
  import { Button } from "../../../../../../node_modules/vant/es/button/index.mjs";
10
10
  const _sfc_main = {};
11
11
  function _sfc_render(_ctx, _cache) {
12
12
  const _component_van_button = Button;
13
- return openBlock(), createBlock(_component_van_button, normalizeProps(guardReactiveProps(_ctx.$attrs)), createSlots({ _: 2 }, [
13
+ return openBlock(), createBlock(_component_van_button, mergeProps({ class: "fec-button" }, _ctx.$attrs), createSlots({ _: 2 }, [
14
14
  renderList(_ctx.$slots, (item, key) => {
15
15
  return {
16
16
  name: key,
@@ -21,7 +21,7 @@ function _sfc_render(_ctx, _cache) {
21
21
  })
22
22
  ]), 1040);
23
23
  }
24
- const _Button = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-191efc8d"]]);
24
+ const _Button = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-96b4e696"]]);
25
25
  export {
26
26
  _Button as default
27
27
  };
@@ -3,42 +3,56 @@
3
3
  /* empty css */
4
4
  /* empty css */
5
5
  /* empty css */
6
- import { createBlock, openBlock, mergeProps, withCtx, createElementBlock, renderSlot, Fragment, renderList, createTextVNode, toDisplayString } from "vue";
6
+ import { computed, createBlock, openBlock, mergeProps, unref, isRef, withCtx, createElementBlock, renderSlot, Fragment, renderList, createTextVNode, toDisplayString } from "vue";
7
7
  import { Tabbar } from "../../../../../../node_modules/vant/es/tabbar/index.mjs";
8
8
  import { TabbarItem } from "../../../../../../node_modules/vant/es/tabbar-item/index.mjs";
9
9
  const _sfc_main = {
10
10
  __name: "Tabbar",
11
11
  props: {
12
+ modelValue: {
13
+ type: Number,
14
+ default: 0
15
+ },
12
16
  tabbarOptions: {
13
17
  type: Array,
14
18
  default: []
15
19
  }
16
20
  },
17
- setup(__props) {
21
+ emits: ["update:modelValue"],
22
+ setup(__props, { emit: __emit }) {
23
+ const props = __props;
24
+ const emit = __emit;
25
+ const activeName = computed({
26
+ get: () => {
27
+ return props.modelValue;
28
+ },
29
+ set: (val) => {
30
+ emit("update:modelValue", val);
31
+ }
32
+ });
18
33
  return (_ctx, _cache) => {
19
34
  const _component_van_tabbar_item = TabbarItem;
20
35
  const _component_van_tabbar = Tabbar;
21
36
  return openBlock(), createBlock(_component_van_tabbar, mergeProps(_ctx.$attrs, {
22
- route: "",
37
+ modelValue: unref(activeName),
38
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(activeName) ? activeName.value = $event : null),
23
39
  fixed: false
24
40
  }), {
25
41
  default: withCtx(() => [
26
42
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.tabbarOptions, (item) => {
27
43
  return openBlock(), createBlock(_component_van_tabbar_item, {
28
- icon: item.icon,
29
- replace: "",
30
- to: item.to
44
+ icon: item.icon
31
45
  }, {
32
46
  default: withCtx(() => [
33
47
  createTextVNode(toDisplayString(item.title), 1)
34
48
  ]),
35
49
  _: 2
36
- }, 1032, ["icon", "to"]);
50
+ }, 1032, ["icon"]);
37
51
  }), 256)),
38
52
  renderSlot(_ctx.$slots, "default")
39
53
  ]),
40
54
  _: 3
41
- }, 16);
55
+ }, 16, ["modelValue"]);
42
56
  };
43
57
  }
44
58
  };
@@ -6,6 +6,7 @@ import * as components from "../../node_modules/vxe-pc-ui/es/components.mjs";
6
6
  /* empty css */
7
7
  /* empty css */
8
8
  import layout from "./src/directive/layout.mjs";
9
+ import auth from "./src/directive/auth.mjs";
9
10
  const fecVue = {
10
11
  install: (app) => {
11
12
  for (let c in all) {
@@ -21,6 +22,7 @@ const fecVue = {
21
22
  });
22
23
  app.use(components);
23
24
  app.use(layout);
25
+ app.use(auth);
24
26
  }
25
27
  };
26
28
  export {
@@ -2,7 +2,7 @@ import "../../../../../../node_modules/element-plus/es/index.mjs";
2
2
  /* empty css */
3
3
  /* empty css */
4
4
  /* empty css */
5
- import { createBlock, createCommentVNode, openBlock, withCtx, createElementBlock, Fragment, renderList, createTextVNode, toDisplayString } from "vue";
5
+ import { resolveDirective, createBlock, createCommentVNode, openBlock, withCtx, createElementBlock, Fragment, renderList, withDirectives, createTextVNode, toDisplayString } from "vue";
6
6
  /* empty css */
7
7
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
8
8
  import { ElFooter } from "../../../../../../node_modules/element-plus/es/components/container/index.mjs";
@@ -32,6 +32,7 @@ const _sfc_main = {
32
32
  var _a;
33
33
  const _component_el_button = ElButton;
34
34
  const _component_el_footer = ElFooter;
35
+ const _directive_fec_auth = resolveDirective("fec-auth");
35
36
  return __props.pageFooterConfig.enabled && ((_a = __props.pageFooterConfig.actions) == null ? void 0 : _a.length) ? (openBlock(), createBlock(_component_el_footer, {
36
37
  key: 0,
37
38
  class: "form-details-footer"
@@ -41,7 +42,7 @@ const _sfc_main = {
41
42
  return openBlock(), createElementBlock(Fragment, {
42
43
  key: button.id
43
44
  }, [
44
- button.btnType == "default" || button.btnType == "primary" && __props.formMode == "edit" ? (openBlock(), createBlock(_component_el_button, {
45
+ button.btnType == "default" || button.btnType == "primary" && __props.formMode == "edit" ? withDirectives((openBlock(), createBlock(_component_el_button, {
45
46
  key: 0,
46
47
  type: button.btnType,
47
48
  onClick: ($event) => handleButtonClick(button)
@@ -50,7 +51,9 @@ const _sfc_main = {
50
51
  createTextVNode(toDisplayString(button.label), 1)
51
52
  ]),
52
53
  _: 2
53
- }, 1032, ["type", "onClick"])) : createCommentVNode("", true)
54
+ }, 1032, ["type", "onClick"])), [
55
+ [_directive_fec_auth, button.permission]
56
+ ]) : createCommentVNode("", true)
54
57
  ], 64);
55
58
  }), 128))
56
59
  ]),
@@ -59,7 +62,7 @@ const _sfc_main = {
59
62
  };
60
63
  }
61
64
  };
62
- const component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-97060b52"]]);
65
+ const component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-97973006"]]);
63
66
  export {
64
67
  component as default
65
68
  };
@@ -3,7 +3,7 @@ import "../../../../../../node_modules/element-plus/es/index.mjs";
3
3
  /* empty css */
4
4
  /* empty css */
5
5
  /* empty css */
6
- import { computed, createBlock, createCommentVNode, unref, openBlock, normalizeClass, createSlots, withCtx, createElementVNode, toDisplayString, createElementBlock, Fragment, renderList, createTextVNode } from "vue";
6
+ import { computed, resolveDirective, createBlock, createCommentVNode, unref, openBlock, normalizeClass, createSlots, withCtx, createElementVNode, toDisplayString, createElementBlock, Fragment, renderList, withDirectives, createTextVNode } from "vue";
7
7
  import { ArrowLeftBold as arrow_left_bold_default } from "../../../../../../node_modules/@element-plus/icons-vue/dist/index.mjs";
8
8
  import { getCurrentVueInstance } from "../../../utils/getInstance.mjs";
9
9
  /* empty css */
@@ -72,6 +72,7 @@ const _sfc_main = {
72
72
  var _a, _b, _c, _d, _e;
73
73
  const _component_el_button = ElButton;
74
74
  const _component_el_page_header = ElPageHeader;
75
+ const _directive_fec_auth = resolveDirective("fec-auth");
75
76
  return ((_a = __props.pageHeaderConfig) == null ? void 0 : _a.enabled) && (unref(canBack) || ((_c = (_b = __props.pageHeaderConfig) == null ? void 0 : _b.actions) == null ? void 0 : _c.length) > 0) ? (openBlock(), createBlock(_component_el_page_header, {
76
77
  key: 0,
77
78
  icon: unref(canBack) ? unref(arrow_left_bold_default) : null,
@@ -93,7 +94,7 @@ const _sfc_main = {
93
94
  var _a2;
94
95
  return [
95
96
  (openBlock(true), createElementBlock(Fragment, null, renderList((_a2 = __props.pageHeaderConfig) == null ? void 0 : _a2.actions, (action) => {
96
- return openBlock(), createBlock(_component_el_button, {
97
+ return withDirectives((openBlock(), createBlock(_component_el_button, {
97
98
  key: action.id,
98
99
  type: getButtonType(action.btnStyle),
99
100
  onClick: ($event) => handleActionClick(action)
@@ -102,7 +103,9 @@ const _sfc_main = {
102
103
  createTextVNode(toDisplayString(action.label), 1)
103
104
  ]),
104
105
  _: 2
105
- }, 1032, ["type", "onClick"]);
106
+ }, 1032, ["type", "onClick"])), [
107
+ [_directive_fec_auth, action.permission]
108
+ ]);
106
109
  }), 128))
107
110
  ];
108
111
  }),
@@ -112,7 +115,7 @@ const _sfc_main = {
112
115
  };
113
116
  }
114
117
  };
115
- const component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-29cfb366"]]);
118
+ const component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a55fc4ab"]]);
116
119
  export {
117
120
  component as default
118
121
  };
@@ -117,8 +117,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
117
117
  const dataSourceOptions = ref({});
118
118
  const dictionaryOptions = ref({});
119
119
  const productData = ref({});
120
- const fieldsData = ref({});
121
- const hiddenFields = ref({});
120
+ const fieldsData = ref([]);
121
+ const hiddenFields = ref([]);
122
122
  const rowHeight = ref(1);
123
123
  const pageEvents = props.canPageEvent ? usePageEvents(() => ({
124
124
  pageEventConfig: localConfig.value.pageEventConfig,
@@ -1096,7 +1096,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
1096
1096
  };
1097
1097
  }
1098
1098
  });
1099
- const _Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-48d4542c"]]);
1099
+ const _Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2e861481"]]);
1100
1100
  export {
1101
1101
  _Form as default
1102
1102
  };
@@ -36,7 +36,7 @@ const _sfc_main = {
36
36
  };
37
37
  }
38
38
  };
39
- const _H2 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2e23c430"]]);
39
+ const _H2 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-60bd3722"]]);
40
40
  export {
41
41
  _H2 as default
42
42
  };
@@ -36,19 +36,13 @@ const _sfc_main = {
36
36
  const formData = ref(props.initFormData);
37
37
  const emit = __emit;
38
38
  const showCard = ref(false);
39
- const isDialog = ref(false);
40
39
  function loaded(option, formData2) {
41
40
  showCard.value = true;
42
- const layoutEl = layoutRowRef.value.$el;
43
- const parentElement = layoutEl.parentElement;
44
- if (parentElement.classList.contains("el-dialog__body")) {
45
- let offsetHeight = parentElement.offsetHeight - 20;
46
- const cols = layoutEl.querySelectorAll(".el-col");
47
- cols.forEach((col) => {
48
- col.style.height = offsetHeight + "px";
49
- });
50
- isDialog.value = true;
51
- }
41
+ let offsetHeight = layoutRowRef.value.$el.offsetHeight;
42
+ const cols = layoutRowRef.value.$el.querySelectorAll(".el-col");
43
+ cols.forEach((col) => {
44
+ col.style.height = offsetHeight + "px";
45
+ });
52
46
  emit("loaded", cloneDeep(formData2));
53
47
  }
54
48
  return (_ctx, _cache) => {
@@ -74,9 +68,8 @@ const _sfc_main = {
74
68
  modelValue: unref(formData),
75
69
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(formData) ? formData.value = $event : null),
76
70
  onLoaded: loaded,
77
- initFormMode: __props.initFormMode,
78
- isDialog: unref(isDialog)
79
- }, null, 8, ["templateKey", "modelValue", "initFormMode", "isDialog"])
71
+ initFormMode: __props.initFormMode
72
+ }, null, 8, ["templateKey", "modelValue", "initFormMode"])
80
73
  ]),
81
74
  _: 1
82
75
  }, 512)
@@ -100,7 +93,7 @@ const _sfc_main = {
100
93
  };
101
94
  }
102
95
  };
103
- const _Layout = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b2246cdb"]]);
96
+ const _Layout = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-317e7dd8"]]);
104
97
  export {
105
98
  _Layout as default
106
99
  };
@@ -1,7 +1,7 @@
1
1
  import "../../../../../node_modules/element-plus/es/index.mjs";
2
2
  /* empty css */
3
3
  /* empty css */
4
- import { computed, createElementBlock, openBlock, createCommentVNode, createBlock, createVNode, withCtx, unref, toDisplayString, Fragment, renderList, createTextVNode } from "vue";
4
+ import { computed, resolveDirective, createElementBlock, openBlock, createCommentVNode, createBlock, createVNode, withCtx, unref, toDisplayString, Fragment, renderList, withDirectives, createTextVNode } from "vue";
5
5
  import "../../../../../node_modules/vxe-table/es/components.mjs";
6
6
  import { ArrowLeftBold as arrow_left_bold_default, Search as search_default, Edit as edit_default, Delete as delete_default, Plus as plus_default, Setting as setting_default, Download as download_default, Refresh as refresh_default } from "../../../../../node_modules/@element-plus/icons-vue/dist/index.mjs";
7
7
  import { getCurrentVueInstance } from "../../utils/getInstance.mjs";
@@ -109,6 +109,7 @@ const _sfc_main = {
109
109
  return (_ctx, _cache) => {
110
110
  const _component_el_icon = ElIcon;
111
111
  const _component_el_button = ElButton;
112
+ const _directive_fec_auth = resolveDirective("fec-auth");
112
113
  return openBlock(), createElementBlock("div", _hoisted_1, [
113
114
  __props.localConfig.showReturn ? (openBlock(), createElementBlock("div", {
114
115
  key: 0,
@@ -130,7 +131,7 @@ const _sfc_main = {
130
131
  }, {
131
132
  buttons: withCtx(() => [
132
133
  leftButtons.value.length ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(leftButtons.value, (btn) => {
133
- return openBlock(), createBlock(_component_el_button, {
134
+ return withDirectives((openBlock(), createBlock(_component_el_button, {
134
135
  key: btn.id,
135
136
  type: getBtnType(btn),
136
137
  icon: getBtnIcon(btn.btnType),
@@ -140,12 +141,14 @@ const _sfc_main = {
140
141
  createTextVNode(toDisplayString(btn.label), 1)
141
142
  ]),
142
143
  _: 2
143
- }, 1032, ["type", "icon", "onClick"]);
144
+ }, 1032, ["type", "icon", "onClick"])), [
145
+ [_directive_fec_auth, btn.permission]
146
+ ]);
144
147
  }), 128)) : createCommentVNode("", true)
145
148
  ]),
146
149
  tools: withCtx(() => [
147
150
  rightButtons.value.length ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(rightButtons.value, (btn) => {
148
- return openBlock(), createBlock(_component_el_button, {
151
+ return withDirectives((openBlock(), createBlock(_component_el_button, {
149
152
  key: btn.id,
150
153
  type: getBtnType(btn),
151
154
  icon: getBtnIcon(btn.btnType),
@@ -155,7 +158,9 @@ const _sfc_main = {
155
158
  createTextVNode(toDisplayString(btn.label), 1)
156
159
  ]),
157
160
  _: 2
158
- }, 1032, ["type", "icon", "onClick"]);
161
+ }, 1032, ["type", "icon", "onClick"])), [
162
+ [_directive_fec_auth, btn.permission]
163
+ ]);
159
164
  }), 128)) : createCommentVNode("", true)
160
165
  ]),
161
166
  _: 1
@@ -164,7 +169,7 @@ const _sfc_main = {
164
169
  };
165
170
  }
166
171
  };
167
- const CustomButtons = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e370363e"]]);
172
+ const CustomButtons = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7610c2d4"]]);
168
173
  export {
169
174
  CustomButtons as default
170
175
  };
@@ -15,7 +15,7 @@ import "../../../../../node_modules/element-plus/theme-chalk/el-date-picker.css.
15
15
  /* empty css */
16
16
  /* empty css */
17
17
  import "../../../../../node_modules/element-plus/theme-chalk/el-tab-pane.css.mjs";
18
- import { computed, ref, watch, createElementBlock, openBlock, createElementVNode, createVNode, createCommentVNode, withCtx, unref, toDisplayString, Fragment, renderList, createBlock, createSlots, createTextVNode, withDirectives, normalizeStyle, resolveDynamicComponent, mergeProps, vShow } from "vue";
18
+ import { computed, ref, watch, resolveDirective, createElementBlock, openBlock, createElementVNode, createVNode, createCommentVNode, withCtx, unref, toDisplayString, Fragment, renderList, createBlock, createSlots, createTextVNode, withDirectives, normalizeStyle, resolveDynamicComponent, mergeProps, vShow } from "vue";
19
19
  import { ArrowLeftBold as arrow_left_bold_default, Search as search_default, Edit as edit_default, Delete as delete_default, Plus as plus_default, Setting as setting_default, Download as download_default, Refresh as refresh_default } from "../../../../../node_modules/@element-plus/icons-vue/dist/index.mjs";
20
20
  import "../../../../../node_modules/vxe-table/es/components.mjs";
21
21
  import { Text } from "../forms/text/index.mjs";
@@ -265,6 +265,7 @@ const _sfc_main = {
265
265
  const _component_el_form_item = ElFormItem;
266
266
  const _component_el_form = ElForm;
267
267
  const _component_el_collapse_transition = ElCollapseTransition;
268
+ const _directive_fec_auth = resolveDirective("fec-auth");
268
269
  return openBlock(), createElementBlock("div", _hoisted_1, [
269
270
  createElementVNode("div", _hoisted_2, [
270
271
  __props.localConfig.showReturn ? (openBlock(), createElementBlock("div", _hoisted_3, [
@@ -327,7 +328,7 @@ const _sfc_main = {
327
328
  }, {
328
329
  tools: withCtx(() => [
329
330
  !__props.isSubTable && rightButtons.value.length ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(rightButtons.value, (btn) => {
330
- return openBlock(), createBlock(_component_el_button, {
331
+ return withDirectives((openBlock(), createBlock(_component_el_button, {
331
332
  key: btn.id,
332
333
  type: getBtnType(btn),
333
334
  icon: getBtnIcon(btn.btnType),
@@ -337,7 +338,9 @@ const _sfc_main = {
337
338
  createTextVNode(toDisplayString(btn.label), 1)
338
339
  ]),
339
340
  _: 2
340
- }, 1032, ["type", "icon", "onClick"]);
341
+ }, 1032, ["type", "icon", "onClick"])), [
342
+ [_directive_fec_auth, btn.permission]
343
+ ]);
341
344
  }), 128)) : createCommentVNode("", true)
342
345
  ]),
343
346
  _: 1
@@ -450,7 +453,7 @@ const _sfc_main = {
450
453
  };
451
454
  }
452
455
  };
453
- const DynamicQuery = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e93f2602"]]);
456
+ const DynamicQuery = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d11a831a"]]);
454
457
  export {
455
458
  DynamicQuery as default
456
459
  };
@@ -262,8 +262,24 @@ const _sfc_main = {
262
262
  if (!item.showCondition) return true;
263
263
  return checkFilterMatch(item.showCondition, row, props.fieldsData);
264
264
  });
265
- return btnList;
265
+ return btnList.filter((item) => {
266
+ return hasPerm(item.permission);
267
+ });
266
268
  };
269
+ function hasPerm(permission) {
270
+ if (permission === true || permission === void 0 || permission === "") {
271
+ return true;
272
+ }
273
+ let btnFlag = false;
274
+ const myBtns = window.$store.getters.funcAuthList;
275
+ for (let i in myBtns) {
276
+ if (myBtns[i] == permission) {
277
+ btnFlag = true;
278
+ break;
279
+ }
280
+ }
281
+ return btnFlag;
282
+ }
267
283
  const shouldShowOptColumn = computed(() => {
268
284
  if (!props.isOptBtns || !props.optBtns.length) return false;
269
285
  if (!props.tableData || props.tableData.length === 0) return true;
@@ -429,7 +445,7 @@ const _sfc_main = {
429
445
  };
430
446
  }
431
447
  };
432
- const TableColumn = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-bee565c6"]]);
448
+ const TableColumn = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-77be03fc"]]);
433
449
  export {
434
450
  TableColumn as default
435
451
  };
@@ -0,0 +1,29 @@
1
+ const auth = {
2
+ mounted(el, binding, vnode, prevVnode) {
3
+ const permission = binding.value;
4
+ const btnFlag = auth.hasPerm(permission);
5
+ if (!btnFlag) {
6
+ el.parentNode.removeChild(el);
7
+ }
8
+ },
9
+ hasPerm(permission) {
10
+ if (permission === true || permission === void 0 || permission === "") {
11
+ return true;
12
+ }
13
+ let btnFlag = false;
14
+ const myBtns = window.$store.getters.funcAuthList;
15
+ for (let i in myBtns) {
16
+ if (myBtns[i] === permission) {
17
+ btnFlag = true;
18
+ break;
19
+ }
20
+ }
21
+ return btnFlag;
22
+ }
23
+ };
24
+ auth.install = function(Vue) {
25
+ Vue.directive("fec-auth", auth);
26
+ };
27
+ export {
28
+ auth as default
29
+ };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const version = "5.4.77";
3
+ const version = "5.4.79";
4
4
  const packageJson = {
5
5
  version
6
6
  };
@@ -984,5 +984,5 @@ const _sfc_main = {
984
984
  };
985
985
  }
986
986
  };
987
- const DialogDialog = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-24bfc32a"]]);
987
+ const DialogDialog = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-47900630"]]);
988
988
  exports.default = DialogDialog;
@@ -984,5 +984,5 @@ const _sfc_main = {
984
984
  };
985
985
  }
986
986
  };
987
- const DialogDialog = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-90bb67fd"]]);
987
+ const DialogDialog = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-24bfc32a"]]);
988
988
  exports.default = DialogDialog;
@@ -1031,5 +1031,5 @@ const _sfc_main = {
1031
1031
  };
1032
1032
  }
1033
1033
  };
1034
- const DialogGlobalDialog = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-e641bf90"]]);
1034
+ const DialogGlobalDialog = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-60556147"]]);
1035
1035
  exports.default = DialogGlobalDialog;
@@ -57,7 +57,7 @@ const _sfc_main = {
57
57
  return vue.openBlock(), vue.createBlock(_component_el_collapse, {
58
58
  class: "setting",
59
59
  modelValue: vue.unref(activeName),
60
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.isRef(activeName) ? activeName.value = $event : null)
60
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.isRef(activeName) ? activeName.value = $event : null)
61
61
  }, {
62
62
  default: vue.withCtx(() => [
63
63
  vue.createVNode(_component_el_collapse_item, {
@@ -93,19 +93,19 @@ const _sfc_main = {
93
93
  }, {
94
94
  default: vue.withCtx(() => [
95
95
  vue.createVNode(_component_el_radio_button, { value: "none" }, {
96
- default: vue.withCtx(() => _cache[7] || (_cache[7] = [
96
+ default: vue.withCtx(() => _cache[6] || (_cache[6] = [
97
97
  vue.createTextVNode("无")
98
98
  ])),
99
99
  _: 1
100
100
  }),
101
101
  vue.createVNode(_component_el_radio_button, { value: "label" }, {
102
- default: vue.withCtx(() => _cache[8] || (_cache[8] = [
102
+ default: vue.withCtx(() => _cache[7] || (_cache[7] = [
103
103
  vue.createTextVNode("标题")
104
104
  ])),
105
105
  _: 1
106
106
  }),
107
107
  vue.createVNode(_component_el_radio_button, { value: "subLabel" }, {
108
- default: vue.withCtx(() => _cache[9] || (_cache[9] = [
108
+ default: vue.withCtx(() => _cache[8] || (_cache[8] = [
109
109
  vue.createTextVNode("子标题")
110
110
  ])),
111
111
  _: 1
@@ -133,20 +133,11 @@ const _sfc_main = {
133
133
  _: 1
134
134
  })) : vue.createCommentVNode("", true)
135
135
  ], 64)) : vue.createCommentVNode("", true),
136
- vue.createVNode(_component_el_form_item, { label: "权限标识" }, {
137
- default: vue.withCtx(() => [
138
- vue.createVNode(_component_el_input, {
139
- modelValue: vue.unref(currentItem).permission,
140
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(currentItem).permission = $event)
141
- }, null, 8, ["modelValue"])
142
- ]),
143
- _: 1
144
- }),
145
136
  vue.createVNode(_component_el_form_item, { label: "业务主键字段" }, {
146
137
  default: vue.withCtx(() => [
147
138
  vue.createVNode(ValueSelector.default, {
148
139
  modelValue: vue.unref(currentItem).traceNoFieldName,
149
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(currentItem).traceNoFieldName = $event),
140
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(currentItem).traceNoFieldName = $event),
150
141
  size: "default"
151
142
  }, null, 8, ["modelValue"])
152
143
  ]),
@@ -156,18 +147,18 @@ const _sfc_main = {
156
147
  default: vue.withCtx(() => [
157
148
  vue.createVNode(_component_el_radio_group, {
158
149
  modelValue: vue.unref(currentItem).appHisDefault,
159
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(currentItem).appHisDefault = $event),
150
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(currentItem).appHisDefault = $event),
160
151
  size: "small"
161
152
  }, {
162
153
  default: vue.withCtx(() => [
163
154
  vue.createVNode(_component_el_radio_button, { value: "timeLine" }, {
164
- default: vue.withCtx(() => _cache[10] || (_cache[10] = [
155
+ default: vue.withCtx(() => _cache[9] || (_cache[9] = [
165
156
  vue.createTextVNode("时间轴")
166
157
  ])),
167
158
  _: 1
168
159
  }),
169
160
  vue.createVNode(_component_el_radio_button, { value: "flowChart" }, {
170
- default: vue.withCtx(() => _cache[11] || (_cache[11] = [
161
+ default: vue.withCtx(() => _cache[10] || (_cache[10] = [
171
162
  vue.createTextVNode("流程图")
172
163
  ])),
173
164
  _: 1