@kp-ui/lowcode 1.0.96 → 1.0.98

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 (64) hide show
  1. package/package.json +2 -3
  2. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js +13 -12
  3. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js.map +1 -1
  4. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -1
  5. package/src/components/form-designer/form-widget/field-widget/cascader-widget.vue.js +1 -1
  6. package/src/components/form-designer/form-widget/field-widget/cascader-widget.vue.js.map +1 -1
  7. package/src/components/form-designer/form-widget/field-widget/code-editor-widget.vue.js +3 -3
  8. package/src/components/form-designer/form-widget/field-widget/code-editor-widget.vue.js.map +1 -1
  9. package/src/components/form-designer/form-widget/field-widget/date-range-widget.vue.js +8 -8
  10. package/src/components/form-designer/form-widget/field-widget/date-range-widget.vue.js.map +1 -1
  11. package/src/components/form-designer/form-widget/field-widget/fieldMixin.js +2 -3
  12. package/src/components/form-designer/form-widget/field-widget/fieldMixin.js.map +1 -1
  13. package/src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue.js +1 -1
  14. package/src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue.js.map +1 -1
  15. package/src/components/form-designer/form-widget/field-widget/treeSelect-widget.vue.js +1 -1
  16. package/src/components/form-designer/form-widget/field-widget/treeSelect-widget.vue.js.map +1 -1
  17. package/src/components/form-designer/form-widget/index.vue.js +1 -1
  18. package/src/components/form-designer/form-widget/index.vue.js.map +1 -1
  19. package/src/components/form-designer/index.vue.js +1 -1
  20. package/src/components/form-designer/index.vue.js.map +1 -1
  21. package/src/components/form-designer/setting-panel/index.vue.js +31 -33
  22. package/src/components/form-designer/setting-panel/index.vue.js.map +1 -1
  23. package/src/components/form-designer/setting-panel/property-editor/actionColumnPosition-editor.vue.js +12 -13
  24. package/src/components/form-designer/setting-panel/property-editor/actionColumnPosition-editor.vue.js.map +1 -1
  25. package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js.map +1 -1
  26. package/src/components/form-designer/setting-panel/property-editor/container-sub-form/sub-form-labelAlign-editor.vue.js +13 -14
  27. package/src/components/form-designer/setting-panel/property-editor/container-sub-form/sub-form-labelAlign-editor.vue.js.map +1 -1
  28. package/src/components/form-designer/setting-panel/property-editor/container-vf-drawer/vf-drawer-direction-editor.vue.js +5 -6
  29. package/src/components/form-designer/setting-panel/property-editor/container-vf-drawer/vf-drawer-direction-editor.vue.js.map +1 -1
  30. package/src/components/form-designer/setting-panel/property-editor/labelAlign-editor.vue.js +1 -1
  31. package/src/components/form-designer/setting-panel/property-editor/labelAlign-editor.vue.js.map +1 -1
  32. package/src/components/form-designer/toolbar-panel/index.vue.js +2 -2
  33. package/src/components/form-designer/toolbar-panel/index.vue2.js.map +1 -1
  34. package/src/components/form-render/container-item/data-table-item.vue.js +2 -1
  35. package/src/components/form-render/container-item/data-table-item.vue.js.map +1 -1
  36. package/src/components/form-render/container-item/grid-sub-form-item.vue.js +1 -1
  37. package/src/components/form-render/container-item/grid-sub-form-item.vue.js.map +1 -1
  38. package/src/components/form-render/container-item/sub-form-item.vue.js +5 -2
  39. package/src/components/form-render/container-item/sub-form-item.vue.js.map +1 -1
  40. package/src/components/form-render/container-item/vf-collapse-item.vue.js +1 -1
  41. package/src/components/form-render/container-item/vf-collapse-item.vue.js.map +1 -1
  42. package/src/components/form-render/dynamic-drawer.vue.js +2 -2
  43. package/src/components/form-render/dynamic-drawer.vue.js.map +1 -1
  44. package/src/components/form-render/dynamic-drawer.vue2.js +2 -0
  45. package/src/components/form-render/dynamic-drawer.vue2.js.map +1 -0
  46. package/src/components/form-render/index.vue.js +3 -2
  47. package/src/components/form-render/index.vue.js.map +1 -1
  48. package/src/components/public/ActionButtonListRender.vue.js +1 -1
  49. package/src/components/public/ActionButtonListRender.vue.js.map +1 -1
  50. package/src/components/public/ActionButtonListRender.vue2.js +37 -32
  51. package/src/components/public/ActionButtonListRender.vue2.js.map +1 -1
  52. package/src/components/public/QuillEditor/index.vue.js +13 -15
  53. package/src/components/public/QuillEditor/index.vue.js.map +1 -1
  54. package/src/mixins/useDataTableMixin.js +4 -0
  55. package/src/mixins/useDataTableMixin.js.map +1 -1
  56. package/stats.html +1 -1
  57. package/styles/style.css +8 -2
  58. package/types/install.d.ts +26 -0
  59. package/src/components/code-editor/index.vue.js +0 -8
  60. package/src/components/code-editor/index.vue.js.map +0 -1
  61. package/src/components/code-editor/index.vue2.js +0 -106
  62. package/src/components/code-editor/index.vue2.js.map +0 -1
  63. package/src/components/form-designer/setting-panel/property-editor/actionColumnPosition-editor.vue2.js +0 -2
  64. package/src/components/form-designer/setting-panel/property-editor/actionColumnPosition-editor.vue2.js.map +0 -1
@@ -1,6 +1,5 @@
1
1
  import p from "../../../../../utils/i18n.js";
2
2
  import { resolveComponent as i, createBlock as s, openBlock as m, withCtx as o, createVNode as e, createTextVNode as n } from "vue";
3
- /* empty css */
4
3
  import f from "../../../../../../_virtual/_plugin-vue_export-helper.js";
5
4
  const c = {
6
5
  name: "vf-drawer-direction-editor",
@@ -16,14 +15,14 @@ const c = {
16
15
  }
17
16
  };
18
17
  function v(a, t, d, b, g, x) {
19
- const r = i("a-radio-button"), l = i("a-radio-group"), _ = i("a-form-item");
20
- return m(), s(_, {
18
+ const r = i("a-radio-button"), l = i("a-radio-group"), u = i("a-form-item");
19
+ return m(), s(u, {
21
20
  label: a.i18nt("designer.setting.drawDirection")
22
21
  }, {
23
22
  default: o(() => [
24
23
  e(l, {
25
24
  value: d.optionModel.direction,
26
- "onUpdate:value": t[0] || (t[0] = (u) => d.optionModel.direction = u),
25
+ "onUpdate:value": t[0] || (t[0] = (_) => d.optionModel.direction = _),
27
26
  class: "radio-group-custom"
28
27
  }, {
29
28
  default: o(() => [
@@ -62,8 +61,8 @@ function v(a, t, d, b, g, x) {
62
61
  _: 1
63
62
  }, 8, ["label"]);
64
63
  }
65
- const O = /* @__PURE__ */ f(c, [["render", v], ["__scopeId", "data-v-3da0396a"]]);
64
+ const M = /* @__PURE__ */ f(c, [["render", v]]);
66
65
  export {
67
- O as default
66
+ M as default
68
67
  };
69
68
  //# sourceMappingURL=vf-drawer-direction-editor.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vf-drawer-direction-editor.vue.js","sources":["../../../../../../../src/components/form-designer/setting-panel/property-editor/container-vf-drawer/vf-drawer-direction-editor.vue"],"sourcesContent":["<template>\n <a-form-item :label=\"i18nt('designer.setting.drawDirection')\">\n <a-radio-group v-model:value=\"optionModel.direction\" class=\"radio-group-custom\">\n <a-radio-button value=\"rtl\">左</a-radio-button>\n <a-radio-button value=\"ltr\">右</a-radio-button>\n <a-radio-button value=\"ttb\">下</a-radio-button>\n <a-radio-button value=\"btt\">上</a-radio-button>\n </a-radio-group>\n </a-form-item>\n</template>\n\n<script>\n import i18n from '@/utils/i18n';\n\n export default {\n name: 'vf-drawer-direction-editor',\n mixins: [i18n],\n components: {},\n props: {\n designer: Object,\n selectedWidget: Object,\n optionModel: Object\n },\n computed: {\n //\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .radio-group-custom {\n :deep(.el-radio-button__inner) {\n padding-left: 12px;\n padding-right: 12px;\n }\n }\n</style>\n"],"names":["_sfc_main","i18n","_createBlock","_component_a_form_item","_ctx","_createVNode","_component_a_radio_group","$props","_cache","$event","_component_a_radio_button"],"mappings":";;;;AAcE,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,QAAQ,CAACC,CAAI;AAAA,EACb,YAAY,CAAA;AAAA,EACZ,OAAO;AAAA,IACL,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,aAAa;AAAA;EAEf,UAAU;AAAA;AAAA,EAEV;;;;cAxBFC,EAOcC,GAAA;AAAA,IAPA,OAAOC,EAAA,MAAK,gCAAA;AAAA;eACxB,MAKgB;AAAA,MALhBC,EAKgBC,GAAA;AAAA,QALO,OAAOC,EAAA,YAAY;AAAA,QAAZ,kBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAF,EAAA,YAAY,YAASE;AAAA,QAAE,OAAM;AAAA;mBACzD,MAA8C;AAAA,UAA9CJ,EAA8CK,GAAA,EAA9B,OAAM,MAAK,GAAA;AAAA,uBAAC,MAACF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAD,GAAC;AAAA;;;;UAC7BH,EAA8CK,GAAA,EAA9B,OAAM,MAAK,GAAA;AAAA,uBAAC,MAACF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAD,GAAC;AAAA;;;;UAC7BH,EAA8CK,GAAA,EAA9B,OAAM,MAAK,GAAA;AAAA,uBAAC,MAACF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAD,GAAC;AAAA;;;;UAC7BH,EAA8CK,GAAA,EAA9B,OAAM,MAAK,GAAA;AAAA,uBAAC,MAACF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAD,GAAC;AAAA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"vf-drawer-direction-editor.vue.js","sources":["../../../../../../../src/components/form-designer/setting-panel/property-editor/container-vf-drawer/vf-drawer-direction-editor.vue"],"sourcesContent":["<template>\n <a-form-item :label=\"i18nt('designer.setting.drawDirection')\">\n <a-radio-group v-model:value=\"optionModel.direction\" class=\"radio-group-custom\">\n <a-radio-button value=\"rtl\">左</a-radio-button>\n <a-radio-button value=\"ltr\">右</a-radio-button>\n <a-radio-button value=\"ttb\">下</a-radio-button>\n <a-radio-button value=\"btt\">上</a-radio-button>\n </a-radio-group>\n </a-form-item>\n</template>\n\n<script>\n import i18n from '@/utils/i18n';\n\n export default {\n name: 'vf-drawer-direction-editor',\n mixins: [i18n],\n components: {},\n props: {\n designer: Object,\n selectedWidget: Object,\n optionModel: Object\n },\n computed: {\n //\n }\n };\n</script>\n\n<style lang=\"scss\" scoped></style>\n"],"names":["_sfc_main","i18n","_createBlock","_component_a_form_item","_ctx","_createVNode","_component_a_radio_group","$props","_cache","$event","_component_a_radio_button"],"mappings":";;;AAcI,MAAKA,IAAU;AAAA,EACX,MAAM;AAAA,EACN,QAAQ,CAACC,CAAI;AAAA,EACb,YAAY,CAAA;AAAA,EACZ,OAAO;AAAA,IACH,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,aAAa;AAAA;EAEjB,UAAU;AAAA;AAAA,EAEV;;;;cAxBJC,EAOcC,GAAA;AAAA,IAPA,OAAOC,EAAA,MAAK,gCAAA;AAAA;eACtB,MAKgB;AAAA,MALhBC,EAKgBC,GAAA;AAAA,QALO,OAAOC,EAAA,YAAY;AAAA,QAAZ,kBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAF,EAAA,YAAY,YAASE;AAAA,QAAE,OAAM;AAAA;mBACvD,MAA8C;AAAA,UAA9CJ,EAA8CK,GAAA,EAA9B,OAAM,MAAK,GAAA;AAAA,uBAAC,MAACF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAD,GAAC;AAAA;;;;UAC7BH,EAA8CK,GAAA,EAA9B,OAAM,MAAK,GAAA;AAAA,uBAAC,MAACF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAD,GAAC;AAAA;;;;UAC7BH,EAA8CK,GAAA,EAA9B,OAAM,MAAK,GAAA;AAAA,uBAAC,MAACF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAD,GAAC;AAAA;;;;UAC7BH,EAA8CK,GAAA,EAA9B,OAAM,MAAK,GAAA;AAAA,uBAAC,MAACF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAD,GAAC;AAAA;;;;;;;;;;;;"}
@@ -48,7 +48,7 @@ function A(t, l, o, h, x, s) {
48
48
  _: 1
49
49
  }, 8, ["label"])) : _("", !0);
50
50
  }
51
- const C = /* @__PURE__ */ b(v, [["render", A], ["__scopeId", "data-v-c7ae9c26"]]);
51
+ const C = /* @__PURE__ */ b(v, [["render", A], ["__scopeId", "data-v-0a6f90f5"]]);
52
52
  export {
53
53
  C as default
54
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"labelAlign-editor.vue.js","sources":["../../../../../../src/components/form-designer/setting-panel/property-editor/labelAlign-editor.vue"],"sourcesContent":["<template>\n <a-form-item\n :label=\"i18nt('designer.setting.labelAlign')\"\n v-if=\"!noLabelSetting && selectedWidget.type !== 'button'\"\n >\n <a-radio-group v-model:value=\"optionModel.labelAlign\" class=\"radio-group-custom\">\n <a-radio-button value=\"left\"> {{ i18nt('designer.setting.leftAlign') }}</a-radio-button>\n <!-- <a-radio-button value=\"label-center-align\">\n {{ i18nt('designer.setting.centerAlign') }}</a-radio-button\n > -->\n <a-radio-button value=\"right\"> {{ i18nt('designer.setting.rightAlign') }}</a-radio-button>\n </a-radio-group>\n </a-form-item>\n</template>\n\n<script>\n import i18n from '@/utils/i18n';\n\n export default {\n name: 'labelAlign-editor',\n mixins: [i18n],\n props: {\n designer: Object,\n selectedWidget: Object,\n optionModel: Object\n },\n computed: {\n noLabelSetting() {\n return (\n this.selectedWidget.type === 'static-text' || this.selectedWidget.type === 'html-text'\n );\n //|| (this.selectedWidget.type === 'divider')\n }\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .radio-group-custom {\n :deep(.el-radio-button__inner),\n :deep(.ant-radio-button__inner) {\n padding-left: 12px;\n padding-right: 12px;\n }\n }\n</style>\n"],"names":["_sfc_main","i18n","$options","$props","_createBlock","_component_a_form_item","_ctx","_createVNode","_component_a_radio_group","_cache","$event","_component_a_radio_button"],"mappings":";;;;AAkBE,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,QAAQ,CAACC,CAAI;AAAA,EACb,OAAO;AAAA,IACL,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,aAAa;AAAA;EAEf,UAAU;AAAA,IACR,iBAAiB;AACf,aACE,KAAK,eAAe,SAAS,iBAAiB,KAAK,eAAe,SAAS;AAAA,IAG/E;AAAA,EACF;;;;UA9BOC,EAAA,kBAAkBC,EAAA,eAAe,SAAI,iBAF9CC,EAWcC,GAAA;AAAA;IAVX,OAAOC,EAAA,MAAK,6BAAA;AAAA;eAGb,MAMgB;AAAA,MANhBC,EAMgBC,GAAA;AAAA,QANO,OAAOL,EAAA,YAAY;AAAA,QAAZ,kBAAAM,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAP,EAAA,YAAY,aAAUO;AAAA,QAAE,OAAM;AAAA;mBAC1D,MAAwF;AAAA,UAAxFH,EAAwFI,GAAA,EAAxE,OAAM,OAAM,GAAA;AAAA,uBAAE,MAAyC;AAAA,kBAAtCL,EAAA,MAAK,4BAAA,CAAA,GAAA,CAAA;AAAA;;;UAItCC,EAA0FI,GAAA,EAA1E,OAAM,QAAO,GAAA;AAAA,uBAAE,MAA0C;AAAA,kBAAvCL,EAAA,MAAK,6BAAA,CAAA,GAAA,CAAA;AAAA;;;;;;;;;;;"}
1
+ {"version":3,"file":"labelAlign-editor.vue.js","sources":["../../../../../../src/components/form-designer/setting-panel/property-editor/labelAlign-editor.vue"],"sourcesContent":["<template>\n <a-form-item\n :label=\"i18nt('designer.setting.labelAlign')\"\n v-if=\"!noLabelSetting && selectedWidget.type !== 'button'\"\n >\n <a-radio-group v-model:value=\"optionModel.labelAlign\" class=\"radio-group-custom\">\n <a-radio-button value=\"left\"> {{ i18nt('designer.setting.leftAlign') }}</a-radio-button>\n <!-- <a-radio-button value=\"label-center-align\">\n {{ i18nt('designer.setting.centerAlign') }}</a-radio-button\n > -->\n <a-radio-button value=\"right\">\n {{ i18nt('designer.setting.rightAlign') }}</a-radio-button\n >\n </a-radio-group>\n </a-form-item>\n</template>\n\n<script>\n import i18n from '@/utils/i18n';\n\n export default {\n name: 'labelAlign-editor',\n mixins: [i18n],\n props: {\n designer: Object,\n selectedWidget: Object,\n optionModel: Object\n },\n computed: {\n noLabelSetting() {\n return (\n this.selectedWidget.type === 'static-text' ||\n this.selectedWidget.type === 'html-text'\n );\n //|| (this.selectedWidget.type === 'divider')\n }\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .radio-group-custom {\n :deep(.ant-radio-button__inner) {\n padding-left: 12px;\n padding-right: 12px;\n }\n }\n</style>\n"],"names":["_sfc_main","i18n","$options","$props","_createBlock","_component_a_form_item","_ctx","_createVNode","_component_a_radio_group","_cache","$event","_component_a_radio_button"],"mappings":";;;;AAoBI,MAAKA,IAAU;AAAA,EACX,MAAM;AAAA,EACN,QAAQ,CAACC,CAAI;AAAA,EACb,OAAO;AAAA,IACH,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,aAAa;AAAA;EAEjB,UAAU;AAAA,IACN,iBAAiB;AACb,aACI,KAAK,eAAe,SAAS,iBAC7B,KAAK,eAAe,SAAS;AAAA,IAGrC;AAAA,EACJ;;;;UAjCOC,EAAA,kBAAkBC,EAAA,eAAe,SAAI,iBAFhDC,EAacC,GAAA;AAAA;IAZT,OAAOC,EAAA,MAAK,6BAAA;AAAA;eAGb,MAQgB;AAAA,MARhBC,EAQgBC,GAAA;AAAA,QARO,OAAOL,EAAA,YAAY;AAAA,QAAZ,kBAAAM,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAP,EAAA,YAAY,aAAUO;AAAA,QAAE,OAAM;AAAA;mBACxD,MAAwF;AAAA,UAAxFH,EAAwFI,GAAA,EAAxE,OAAM,OAAM,GAAA;AAAA,uBAAE,MAAyC;AAAA,kBAAtCL,EAAA,MAAK,4BAAA,CAAA,GAAA,CAAA;AAAA;;;UAItCC,EAECI,GAAA,EAFe,OAAM,QAAO,GAAA;AAAA,uBACzB,MAA0C;AAAA,kBAAvCL,EAAA,MAAK,6BAAA,CAAA,GAAA,CAAA;AAAA;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import o from "./index.vue2.js";
2
2
  /* empty css */
3
- import a from "../../../../_virtual/_plugin-vue_export-helper.js";
4
- const f = /* @__PURE__ */ a(o, [["__scopeId", "data-v-ca8ef6dd"]]);
3
+ import r from "../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const f = /* @__PURE__ */ r(o, [["__scopeId", "data-v-700f328e"]]);
5
5
  export {
6
6
  f as default
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../../src/components/form-designer/toolbar-panel/index.vue"],"sourcesContent":["<template>\n <div class=\"toolbar-container\">\n <div class=\"left-toolbar\">\n <a-button type=\"link\" @click=\"changeLeftWidth()\">\n <svg-icon\n :style=\"`transform:${leftWidth === 0 ? 'rotate(180deg)' : 'rotate(0deg)'}`\"\n icon-class=\"a-ipadarrow_back\"\n />\n </a-button>\n <a-button\n type=\"link\"\n :disabled=\"undoDisabled\"\n :title=\"i18nt('designer.toolbar.undoHint')\"\n @click=\"undoHistory\"\n >\n <svg-icon icon-class=\"undo\"\n /></a-button>\n <a-button\n type=\"link\"\n :disabled=\"redoDisabled\"\n :title=\"i18nt('designer.toolbar.redoHint')\"\n @click=\"redoHistory\"\n >\n <svg-icon icon-class=\"redo\"\n /></a-button>\n <a-radio-group v-model:value=\"layoutType\">\n <a-radio-button\n value=\"PC\"\n :type=\"layoutType === 'PC' ? 'primary' : ''\"\n @click=\"changeLayoutType('PC')\"\n >\n {{ i18nt('designer.toolbar.pcLayout') }}</a-radio-button\n >\n <a-radio-button\n value=\"Pad\"\n :type=\"layoutType === 'Pad' ? 'primary' : ''\"\n @click=\"changeLayoutType('Pad')\"\n >\n {{ i18nt('designer.toolbar.padLayout') }}</a-radio-button\n >\n <a-radio-button\n :type=\"layoutType === 'H5' ? 'primary' : ''\"\n @click=\"changeLayoutType('H5')\"\n value=\"H5\"\n >\n {{ i18nt('designer.toolbar.mobileLayout') }}</a-radio-button\n >\n </a-radio-group>\n <a-button\n style=\"margin-left: 20px\"\n :title=\"i18nt('designer.toolbar.nodeTreeHint')\"\n @click=\"showNodeTreeDrawer\"\n >\n <svg-icon icon-class=\"node-tree\"\n /></a-button>\n </div>\n\n <a-drawer\n :title=\"i18nt('designer.toolbar.nodeTreeTitle')\"\n direction=\"ltr\"\n v-model:open=\"showNodeTreeDrawerFlag\"\n :width=\"280\"\n :destroy-on-close=\"true\"\n class=\"node-tree-drawer\"\n >\n <a-tree\n ref=\"nodeTree\"\n :treeData=\"nodeTreeData\"\n default-expand-all\n highlight-current\n class=\"node-tree\"\n icon-class=\"el-icon-arrow-right\"\n :fieldNames=\"{ children: 'children', title: 'label', key: 'id' }\"\n />\n </a-drawer>\n\n <div class=\"right-toolbar\">\n <div class=\"right-toolbar-con\">\n <a-button\n v-if=\"showToolButton('clearDesignerButton')\"\n type=\"link\"\n @click=\"clearFormWidget\"\n >\n <svg-icon icon-class=\"el-delete\" />{{ i18nt('designer.toolbar.clear') }}\n </a-button>\n <a-button\n v-if=\"showToolButton('previewFormButton')\"\n type=\"link\"\n @click=\"previewForm\"\n >\n <svg-icon icon-class=\"el-view\" />{{ i18nt('designer.toolbar.preview') }}\n </a-button>\n <a-button v-if=\"showToolButton('importJsonButton')\" type=\"link\" @click=\"importJson\">\n {{ i18nt('designer.toolbar.importJson') }}\n </a-button>\n <a-button v-if=\"showToolButton('exportJsonButton')\" type=\"link\" @click=\"exportJson\">\n {{ i18nt('designer.toolbar.exportJson') }}\n </a-button>\n <a-button v-if=\"showToolButton('exportCodeButton')\" type=\"link\" @click=\"saveJson\">\n 保存\n </a-button>\n <a-button type=\"link\" @click=\"changeRightWidth()\">\n <svg-icon\n :style=\"`transform:${rightWidth === 0 ? 'rotate(0deg)' : 'rotate(180deg)'}`\"\n icon-class=\"a-ipadarrow_back\"\n />\n </a-button>\n <template v-for=\"(idx, slotName) in $slots\">\n <slot :name=\"slotName\"></slot>\n </template>\n </div>\n </div>\n\n <TpfModal\n :title=\"i18nt('designer.toolbar.preview')\"\n v-model:visible=\"showPreviewDialogFlag\"\n :show-close=\"true\"\n :close-on-click-modal=\"false\"\n :close-on-press-escape=\"false\"\n center\n class=\"drag-dialog\"\n width=\"75%\"\n :fullscreen=\"true\"\n >\n <div>\n <div\n class=\"form-render-wrapper\"\n :class=\"[\n layoutType === 'H5' ? 'h5-layout' : layoutType === 'Pad' ? 'pad-layout' : ''\n ]\"\n >\n <VFormRender\n :vfCtx=\"vfCtx\"\n ref=\"preForm\"\n :form-json=\"cloneDeep(formJson)\"\n :form-data=\"testFormData\"\n :preview-state=\"true\"\n :global-dsv=\"designerDsv\"\n @appendButtonClick=\"testOnAppendButtonClick\"\n @buttonClick=\"testOnButtonClick\"\n @formChange=\"handleFormChange\"\n />\n </div>\n </div>\n <template #footerRight>\n <!-- <a-button @click=\"insertData\">新增一个数据</a-button> -->\n <a-button @click=\"showData\">数据回显</a-button>\n <a-button type=\"primary\" @click=\"getFormData\">\n {{ i18nt('designer.hint.getFormData') }}\n </a-button>\n <a-button type=\"primary\" @click=\"resetForm\">\n {{ i18nt('designer.hint.resetForm') }}\n </a-button>\n <a-button type=\"primary\" @click=\"setFormDisabled\">\n {{ i18nt('designer.hint.disableForm') }}\n </a-button>\n <a-button type=\"primary\" @click=\"setFormEnabled\">\n {{ i18nt('designer.hint.enableForm') }}\n </a-button>\n <a-button @click=\"showPreviewDialogFlag = false\">\n {{ i18nt('designer.hint.closePreview') }}\n </a-button>\n </template>\n </TpfModal>\n\n <TpfCodeEditor\n ref=\"importJsonEditorRef\"\n :isShowEventFooter=\"false\"\n :event-header=\"i18nt('designer.hint.importJsonHint')\"\n v-model=\"importTemplate\"\n mode=\"json\"\n :width=\"1200\"\n height=\"70vh\"\n :title=\"i18nt('designer.toolbar.importJson')\"\n @set-code=\"doJsonImport\"\n />\n\n <TpfModal\n :title=\"i18nt('designer.hint.exportFormData')\"\n v-model:visible=\"showFormDataDialogFlag\"\n width=\"1200px\"\n >\n <CodeEditor :mode=\"'json'\" :readonly=\"true\" :value=\"exportTemplate\" />\n <template #footerRight>\n <a-button\n type=\"primary\"\n class=\"copy-form-data-json-btn\"\n :data-clipboard-text=\"exportTemplate\"\n @click=\"copyFormDataJson\"\n >\n {{ i18nt('designer.hint.copyFormData') }}\n </a-button>\n <a-button @click=\"saveFormData\">{{ i18nt('designer.hint.saveFormData') }}</a-button>\n <a-button @click=\"showFormDataDialogFlag = false\">\n {{ i18nt('designer.hint.closePreview') }}\n </a-button>\n </template>\n </TpfModal>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { ref, computed, nextTick, onMounted, defineAsyncComponent, inject } from 'vue';\n import {\n copyToClipboard,\n generateId,\n getQueryParam,\n traverseAllWidgets,\n addWindowResizeHandler\n } from '@/utils/util';\n import { useI18n } from '@/utils/i18n';\n import { saveAs } from 'file-saver';\n import SvgIcon from '@/components/svg-icon/index.vue';\n import { fmtHttpParams } from '@/utils/request/fmtHttpParams';\n import { getLocat } from '@kp-ui/tool';\n import { cloneDeep } from 'lodash-es';\n import { CodeEditor, TpfModal, TpfCodeEditor } from 'tmgc2-share';\n import { message } from 'ant-design-vue';\n import { getCurrentInstance } from 'vue';\n\n // 组件定义\n const VFormRender = defineAsyncComponent(() => import('@/components/form-render/index.vue'));\n\n const ctx = getCurrentInstance();\n // Props 定义\n interface Props {\n leftWidth: number;\n rightWidth: number;\n changeRightWidth: () => void;\n changeLeftWidth: () => void;\n designer: any; // 可以根据实际类型定义更具体的类型\n saveJsonApi?: (formJson: any) => void;\n globalDsv?: Record<string, any>;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n globalDsv: () => ({})\n });\n\n // Inject\n const getDesignerConfig = inject('getDesignerConfig') as () => any;\n\n // Refs\n const nodeTree = ref<any>(null);\n const preForm = ref<any>(null);\n const importJsonEditorRef = ref<any>(null);\n const exportJsonEditorRef = ref<any>(null);\n\n // 响应式数据\n const vfCtx = ref({ type: 'add', ...getLocat() });\n const designerConfig = ref(getDesignerConfig());\n const toolbarWidth = ref(460);\n const showPreviewDialogFlag = ref(false);\n const showImportJsonDialogFlag = ref(false);\n const showFormDataDialogFlag = ref(false);\n const showNodeTreeDrawerFlag = ref(false);\n const nodeTreeData = ref<any[]>([]);\n const importTemplate = ref('');\n const exportTemplate = ref('');\n const formDataJson = ref('');\n const htmlCode = ref('');\n\n const testFormData = ref({\n select62173: 2\n });\n\n // 计算属性\n const formJson = computed(() => {\n return {\n widgetList: cloneDeep(props.designer.widgetList),\n formConfig: cloneDeep(props.designer.formConfig)\n };\n });\n\n const undoDisabled = computed(() => {\n return !props.designer.undoEnabled();\n });\n\n const redoDisabled = computed(() => {\n return !props.designer.redoEnabled();\n });\n\n const layoutType = computed(() => {\n return props.designer.getLayoutType();\n });\n\n const designerDsv = computed(() => {\n return props.globalDsv;\n });\n\n // 生命周期钩子\n onMounted(() => {\n const maxTBWidth = designerConfig.value.toolbarMaxWidth || 460;\n const minTBWidth = designerConfig.value.toolbarMinWidth || 300;\n const newTBWidth = window.innerWidth - 260 - 300 - 320 - 80;\n toolbarWidth.value =\n newTBWidth >= maxTBWidth\n ? maxTBWidth\n : newTBWidth <= minTBWidth\n ? minTBWidth\n : newTBWidth;\n addWindowResizeHandler(() => {\n nextTick(() => {\n const newTBWidth2 = window.innerWidth - 260 - 300 - 320 - 80;\n toolbarWidth.value =\n newTBWidth2 >= maxTBWidth\n ? maxTBWidth\n : newTBWidth2 <= minTBWidth\n ? minTBWidth\n : newTBWidth2;\n });\n });\n });\n\n // 方法\n const { i18nt } = useI18n();\n\n const saveJson = () => {\n if (props.saveJsonApi) {\n props.saveJsonApi(formJson.value);\n }\n };\n\n const showToolButton = (configName: string): boolean => {\n if (designerConfig.value[configName] === undefined) {\n return true;\n }\n\n return !!designerConfig.value[configName];\n };\n\n const buildTreeNodeOfWidget = (widget: any, treeNode: any[]) => {\n const curNode = {\n id: widget.id,\n label: widget.options.label || widget.type,\n children: [] as any[]\n };\n treeNode.push(curNode);\n\n if (widget.category === undefined) {\n return;\n }\n\n if (widget.type === 'grid') {\n widget.cols.map((col: any) => {\n const colNode = {\n id: col.id,\n label: col.options.name || widget.type,\n children: [] as any[]\n };\n curNode.children.push(colNode);\n col.widgetList.map((wChild: any) => {\n buildTreeNodeOfWidget(wChild, colNode.children);\n });\n });\n } else if (widget.type === 'table') {\n //TODO: 需要考虑合并单元格!!\n widget.rows.map((row: any) => {\n const rowNode = {\n id: row.id,\n label: 'table-row',\n selectable: false,\n children: [] as any[]\n };\n curNode.children.push(rowNode);\n\n row.cols.map((cell: any) => {\n if (!!cell.merged) {\n //跳过合并单元格!!\n return;\n }\n\n const rowChildren = rowNode.children;\n const cellNode = {\n id: cell.id,\n label: 'table-cell',\n children: [] as any[]\n };\n rowChildren.push(cellNode);\n\n cell.widgetList.map((wChild: any) => {\n buildTreeNodeOfWidget(wChild, cellNode.children);\n });\n });\n });\n } else if (widget.type === 'tab') {\n widget.tabs.map((tab: any) => {\n const tabNode = {\n id: tab.id,\n label: tab.options.name || widget.type,\n selectable: false,\n children: [] as any[]\n };\n curNode.children.push(tabNode);\n tab.widgetList.map((wChild: any) => {\n buildTreeNodeOfWidget(wChild, tabNode.children);\n });\n });\n } else if (widget.type === 'sub-form') {\n widget.widgetList.map((wChild: any) => {\n buildTreeNodeOfWidget(wChild, curNode.children);\n });\n } else if (widget.category === 'container') {\n //自定义容器\n widget.widgetList.map((wChild: any) => {\n buildTreeNodeOfWidget(wChild, curNode.children);\n });\n }\n };\n\n const refreshNodeTree = () => {\n nodeTreeData.value.length = 0;\n props.designer.widgetList.forEach((wItem: any) => {\n buildTreeNodeOfWidget(wItem, nodeTreeData.value);\n });\n };\n\n const showNodeTreeDrawer = () => {\n refreshNodeTree();\n showNodeTreeDrawerFlag.value = true;\n nextTick(() => {\n if (!!props.designer.selectedId) {\n //同步当前选中组件到节点树!!!\n nodeTree.value.setCurrentKey(props.designer.selectedId);\n }\n });\n };\n\n const saveImportTemplate = value => {\n saveAsFile(value, `vform${generateId()}.json`);\n };\n\n const undoHistory = () => {\n props.designer.undoHistoryStep();\n };\n\n const redoHistory = () => {\n props.designer.redoHistoryStep();\n };\n\n const changeLayoutType = (newType: string) => {\n props.designer.changeLayoutType(newType);\n };\n\n const clearFormWidget = () => {\n props.designer.clearDesigner();\n props.designer.formWidget.clearWidgetRefList();\n message.success('ok');\n };\n\n const previewForm = () => {\n showPreviewDialogFlag.value = true;\n // ctx!.proxy.$openCustomerModal({\n // ...vfCtx.value,\n // width: '90%'\n // });\n };\n\n const saveAsFile = (fileContent: string, defaultFileName: string) => {\n const value = 'json.json' || defaultFileName;\n\n if (getQueryParam('vscode') == 1) {\n vsSaveFile(value, fileContent);\n return;\n }\n\n const fileBlob = new Blob([fileContent], { type: 'text/plain;charset=utf-8' });\n saveAs(fileBlob, value);\n };\n\n const vsSaveFile = (fileName: string, fileContent: string) => {\n const msgObj = {\n cmd: 'writeFile',\n data: {\n fileName,\n code: fileContent\n }\n };\n window.parent.postMessage(msgObj, '*');\n };\n\n const importJson = () => {\n importTemplate.value = JSON.stringify(props.designer.getImportTemplate(), null, ' ');\n\n importJsonEditorRef.value.open();\n showImportJsonDialogFlag.value = true;\n };\n\n const doJsonImport = () => {\n try {\n const importObj = JSON.parse(importTemplate.value);\n if (!importObj || !importObj.formConfig) {\n throw new Error(i18nt('designer.hint.invalidJsonFormat'));\n }\n\n props.designer.loadFormJson(importObj);\n\n showImportJsonDialogFlag.value = false;\n message.success(i18nt('designer.hint.importJsonSuccess'));\n\n props.designer.emitHistoryChange();\n\n props.designer.emitEvent('form-json-imported', []);\n } catch (ex) {\n message.error(ex + '');\n }\n };\n\n const exportJson = () => {\n const widgetList = cloneDeep(props.designer.widgetList);\n const formConfig = cloneDeep(props.designer.formConfig);\n exportTemplate.value = JSON.stringify({ widgetList, formConfig }, null, ' ');\n // exportJsonEditorRef.value.open();\n showFormDataDialogFlag.value = true;\n };\n\n const showData = async () => {\n const formConfig = props.designer.formConfig;\n const { id: _id } = getLocat();\n const dsResult = await fmtHttpParams(formConfig.serveList.vformDetail, { _id });\n const leaveDates = [{ date: '2024-10-28' }, { date: '2024-10-29' }, { date: '2024-10-20' }];\n\n preForm.value.getWidgetRef('leaveDates').setValue(leaveDates);\n preForm.value.setFormData({\n ...dsResult\n });\n preForm.value.setReadMode(true);\n };\n\n const getFormData = () => {\n console.log(preForm.value);\n\n preForm.value\n .getFormData()\n .then((formData: any) => {\n formDataJson.value = JSON.stringify(formData, null, ' ');\n showFormDataDialogFlag.value = true;\n })\n .catch((error: any) => {\n message.error(error);\n });\n };\n\n const copyFormDataJson = (e: Event) => {\n copyToClipboard(\n exportTemplate.value,\n e,\n message,\n i18nt('designer.hint.copyJsonSuccess'),\n i18nt('designer.hint.copyJsonFail')\n );\n };\n\n const saveFormData = () => {\n saveAsFile(htmlCode.value, `formData${generateId()}.json`);\n };\n\n const resetForm = () => {\n preForm.value.resetForm();\n };\n\n const setFormDisabled = () => {\n preForm.value.disableForm();\n };\n\n const setFormEnabled = () => {\n preForm.value.enableForm();\n };\n\n const handleFormChange = (fieldName: string, newValue: any, oldValue: any, formModel: any) => {\n console.log('formModel', formModel);\n };\n\n const testOnAppendButtonClick = (clickedWidget: any) => {\n console.log('test', clickedWidget);\n };\n\n const testOnButtonClick = (button: any) => {\n console.log('test', button);\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .toolbar-container {\n width: 100%;\n display: flex;\n height: 42px;\n align-items: center;\n justify-content: space-between;\n }\n\n .left-toolbar {\n display: flex;\n margin-top: 4px;\n font-size: 16px;\n }\n\n .right-toolbar {\n display: flex;\n line-height: 42px;\n overflow: hidden;\n\n .right-toolbar-con {\n text-align: left;\n }\n\n :deep(.svg-icon) {\n margin-left: 0;\n margin-right: 0.05em;\n }\n }\n\n .no-box-shadow {\n box-shadow: none;\n }\n\n .form-render-wrapper.h5-layout {\n margin: 0 auto;\n width: 420px;\n border-radius: 15px;\n //border-width: 10px;\n box-shadow: 0 0 1px 10px #495060;\n height: calc(100vh - 175px);\n overflow-y: auto;\n overflow-x: hidden;\n }\n\n .form-render-wrapper.pad-layout {\n margin: 0 auto;\n width: 960px;\n border-radius: 15px;\n //border-width: 10px;\n box-shadow: 0 0 1px 10px #495060;\n height: calc(100vh - 175px);\n overflow-y: auto;\n overflow-x: hidden;\n }\n\n .node-tree-drawer {\n :deep(.el-drawer) {\n padding: 10px;\n overflow: auto;\n }\n\n :deep(.el-drawer__header) {\n margin-bottom: 12px;\n padding: 5px 5px 0;\n }\n\n :deep(.el-drawer__body) {\n padding-left: 5px;\n }\n }\n\n /*.node-tree-scroll-bar {*/\n /* height: 100%;*/\n /* overflow: auto;*/\n /*}*/\n\n :deep(.node-tree) {\n .el-tree > .el-tree-node:after {\n border-top: none;\n }\n .el-tree-node {\n position: relative;\n padding-left: 12px;\n }\n\n .el-tree-node__content {\n padding-left: 0 !important;\n }\n\n .el-tree-node__expand-icon.is-leaf {\n display: none;\n }\n\n .el-tree-node__children {\n padding-left: 12px;\n overflow: visible !important; /* 加入此行让el-tree宽度自动撑开,超出宽度el-draw自动出现水平滚动条! */\n }\n\n .el-tree-node :last-child:before {\n height: 38px;\n }\n\n .el-tree > .el-tree-node:before {\n border-left: none;\n }\n\n .el-tree > .el-tree-node:after {\n border-top: none;\n }\n\n .el-tree-node:before {\n content: '';\n left: -4px;\n position: absolute;\n right: auto;\n border-width: 1px;\n }\n\n .el-tree-node:after {\n content: '';\n left: -4px;\n position: absolute;\n right: auto;\n border-width: 1px;\n }\n\n .el-tree-node:before {\n border-left: 1px dashed #4386c6;\n bottom: 0px;\n height: 100%;\n top: -10px;\n width: 1px;\n }\n\n .el-tree-node:after {\n border-top: 1px dashed #4386c6;\n height: 20px;\n top: 12px;\n width: 16px;\n }\n\n .el-tree-node.is-current > .el-tree-node__content {\n background: #c2d6ea !important;\n }\n\n .el-tree-node__expand-icon {\n margin-left: -3px;\n padding: 6px 6px 6px 0px;\n font-size: 16px;\n }\n }\n</style>\n"],"names":["VFormRender","defineAsyncComponent","getCurrentInstance","props","__props","getDesignerConfig","inject","nodeTree","ref","preForm","importJsonEditorRef","vfCtx","getLocat","designerConfig","toolbarWidth","showPreviewDialogFlag","showImportJsonDialogFlag","showFormDataDialogFlag","showNodeTreeDrawerFlag","nodeTreeData","importTemplate","exportTemplate","formDataJson","htmlCode","testFormData","formJson","computed","cloneDeep","undoDisabled","redoDisabled","layoutType","designerDsv","onMounted","maxTBWidth","minTBWidth","newTBWidth","addWindowResizeHandler","nextTick","newTBWidth2","i18nt","useI18n","saveJson","showToolButton","configName","buildTreeNodeOfWidget","widget","treeNode","curNode","col","colNode","wChild","row","rowNode","cell","rowChildren","cellNode","tab","tabNode","refreshNodeTree","wItem","showNodeTreeDrawer","undoHistory","redoHistory","changeLayoutType","newType","clearFormWidget","message","previewForm","saveAsFile","fileContent","defaultFileName","value","getQueryParam","vsSaveFile","fileBlob","saveAs","fileName","msgObj","importJson","doJsonImport","importObj","ex","exportJson","widgetList","formConfig","showData","_id","dsResult","fmtHttpParams","leaveDates","getFormData","formData","error","copyFormDataJson","copyToClipboard","saveFormData","resetForm","setFormDisabled","setFormEnabled","handleFormChange","fieldName","newValue","oldValue","formModel","testOnAppendButtonClick","clickedWidget","testOnButtonClick","button","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createVNode","_component_a_button","changeLeftWidth","SvgIcon","leftWidth","_unref","_component_a_radio_group","$event","_component_a_radio_button","_component_a_drawer","_component_a_tree","_hoisted_3","_hoisted_4","_createBlock","_cache","changeRightWidth","rightWidth","_Fragment","_renderList","$slots","idx","slotName","_renderSlot","_ctx","TpfModal","TpfCodeEditor","CodeEditor"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../../src/components/form-designer/toolbar-panel/index.vue"],"sourcesContent":["<template>\n <div class=\"toolbar-container\">\n <div class=\"left-toolbar\">\n <a-button type=\"link\" @click=\"changeLeftWidth()\">\n <svg-icon\n :style=\"`transform:${leftWidth === 0 ? 'rotate(180deg)' : 'rotate(0deg)'}`\"\n icon-class=\"a-ipadarrow_back\"\n />\n </a-button>\n <a-button\n type=\"link\"\n :disabled=\"undoDisabled\"\n :title=\"i18nt('designer.toolbar.undoHint')\"\n @click=\"undoHistory\"\n >\n <svg-icon icon-class=\"undo\"\n /></a-button>\n <a-button\n type=\"link\"\n :disabled=\"redoDisabled\"\n :title=\"i18nt('designer.toolbar.redoHint')\"\n @click=\"redoHistory\"\n >\n <svg-icon icon-class=\"redo\"\n /></a-button>\n <a-radio-group v-model:value=\"layoutType\">\n <a-radio-button\n value=\"PC\"\n :type=\"layoutType === 'PC' ? 'primary' : ''\"\n @click=\"changeLayoutType('PC')\"\n >\n {{ i18nt('designer.toolbar.pcLayout') }}</a-radio-button\n >\n <a-radio-button\n value=\"Pad\"\n :type=\"layoutType === 'Pad' ? 'primary' : ''\"\n @click=\"changeLayoutType('Pad')\"\n >\n {{ i18nt('designer.toolbar.padLayout') }}</a-radio-button\n >\n <a-radio-button\n :type=\"layoutType === 'H5' ? 'primary' : ''\"\n @click=\"changeLayoutType('H5')\"\n value=\"H5\"\n >\n {{ i18nt('designer.toolbar.mobileLayout') }}</a-radio-button\n >\n </a-radio-group>\n <a-button\n style=\"margin-left: 20px\"\n :title=\"i18nt('designer.toolbar.nodeTreeHint')\"\n @click=\"showNodeTreeDrawer\"\n >\n <svg-icon icon-class=\"node-tree\"\n /></a-button>\n </div>\n\n <a-drawer\n :title=\"i18nt('designer.toolbar.nodeTreeTitle')\"\n direction=\"ltr\"\n v-model:open=\"showNodeTreeDrawerFlag\"\n :width=\"280\"\n :destroy-on-close=\"true\"\n class=\"node-tree-drawer\"\n >\n <a-tree\n ref=\"nodeTree\"\n :treeData=\"nodeTreeData\"\n default-expand-all\n highlight-current\n class=\"node-tree\"\n icon-class=\"el-icon-arrow-right\"\n :fieldNames=\"{ children: 'children', title: 'label', key: 'id' }\"\n />\n </a-drawer>\n\n <div class=\"right-toolbar\">\n <div class=\"right-toolbar-con\">\n <a-button\n v-if=\"showToolButton('clearDesignerButton')\"\n type=\"link\"\n @click=\"clearFormWidget\"\n >\n <svg-icon icon-class=\"el-delete\" />{{ i18nt('designer.toolbar.clear') }}\n </a-button>\n <a-button\n v-if=\"showToolButton('previewFormButton')\"\n type=\"link\"\n @click=\"previewForm\"\n >\n <svg-icon icon-class=\"el-view\" />{{ i18nt('designer.toolbar.preview') }}\n </a-button>\n <a-button v-if=\"showToolButton('importJsonButton')\" type=\"link\" @click=\"importJson\">\n {{ i18nt('designer.toolbar.importJson') }}\n </a-button>\n <a-button v-if=\"showToolButton('exportJsonButton')\" type=\"link\" @click=\"exportJson\">\n {{ i18nt('designer.toolbar.exportJson') }}\n </a-button>\n <a-button v-if=\"showToolButton('exportCodeButton')\" type=\"link\" @click=\"saveJson\">\n 保存\n </a-button>\n <a-button type=\"link\" @click=\"changeRightWidth()\">\n <svg-icon\n :style=\"`transform:${rightWidth === 0 ? 'rotate(0deg)' : 'rotate(180deg)'}`\"\n icon-class=\"a-ipadarrow_back\"\n />\n </a-button>\n <template v-for=\"(idx, slotName) in $slots\">\n <slot :name=\"slotName\"></slot>\n </template>\n </div>\n </div>\n\n <TpfModal\n :title=\"i18nt('designer.toolbar.preview')\"\n v-model:visible=\"showPreviewDialogFlag\"\n :show-close=\"true\"\n :close-on-click-modal=\"false\"\n :close-on-press-escape=\"false\"\n center\n class=\"drag-dialog\"\n width=\"75%\"\n :fullscreen=\"true\"\n >\n <div>\n <div\n class=\"form-render-wrapper\"\n :class=\"[\n layoutType === 'H5' ? 'h5-layout' : layoutType === 'Pad' ? 'pad-layout' : ''\n ]\"\n >\n <VFormRender\n :vfCtx=\"vfCtx\"\n ref=\"preForm\"\n :form-json=\"cloneDeep(formJson)\"\n :form-data=\"testFormData\"\n :preview-state=\"true\"\n :global-dsv=\"designerDsv\"\n @appendButtonClick=\"testOnAppendButtonClick\"\n @buttonClick=\"testOnButtonClick\"\n @formChange=\"handleFormChange\"\n />\n </div>\n </div>\n <template #footerRight>\n <!-- <a-button @click=\"insertData\">新增一个数据</a-button> -->\n <a-button @click=\"showData\">数据回显</a-button>\n <a-button type=\"primary\" @click=\"getFormData\">\n {{ i18nt('designer.hint.getFormData') }}\n </a-button>\n <a-button type=\"primary\" @click=\"resetForm\">\n {{ i18nt('designer.hint.resetForm') }}\n </a-button>\n <a-button type=\"primary\" @click=\"setFormDisabled\">\n {{ i18nt('designer.hint.disableForm') }}\n </a-button>\n <a-button type=\"primary\" @click=\"setFormEnabled\">\n {{ i18nt('designer.hint.enableForm') }}\n </a-button>\n <a-button @click=\"showPreviewDialogFlag = false\">\n {{ i18nt('designer.hint.closePreview') }}\n </a-button>\n </template>\n </TpfModal>\n\n <TpfCodeEditor\n ref=\"importJsonEditorRef\"\n :isShowEventFooter=\"false\"\n :event-header=\"i18nt('designer.hint.importJsonHint')\"\n v-model=\"importTemplate\"\n mode=\"json\"\n :width=\"1200\"\n height=\"70vh\"\n :title=\"i18nt('designer.toolbar.importJson')\"\n @set-code=\"doJsonImport\"\n />\n\n <TpfModal\n :title=\"i18nt('designer.hint.exportFormData')\"\n v-model:visible=\"showFormDataDialogFlag\"\n width=\"1200px\"\n >\n <CodeEditor :mode=\"'json'\" :readonly=\"true\" :value=\"exportTemplate\" />\n <template #footerRight>\n <a-button\n type=\"primary\"\n class=\"copy-form-data-json-btn\"\n :data-clipboard-text=\"exportTemplate\"\n @click=\"copyFormDataJson\"\n >\n {{ i18nt('designer.hint.copyFormData') }}\n </a-button>\n <a-button @click=\"saveFormData\">{{ i18nt('designer.hint.saveFormData') }}</a-button>\n <a-button @click=\"showFormDataDialogFlag = false\">\n {{ i18nt('designer.hint.closePreview') }}\n </a-button>\n </template>\n </TpfModal>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { ref, computed, nextTick, onMounted, defineAsyncComponent, inject } from 'vue';\n import {\n copyToClipboard,\n generateId,\n getQueryParam,\n traverseAllWidgets,\n addWindowResizeHandler\n } from '@/utils/util';\n import { useI18n } from '@/utils/i18n';\n import { saveAs } from 'file-saver';\n import SvgIcon from '@/components/svg-icon/index.vue';\n import { fmtHttpParams } from '@/utils/request/fmtHttpParams';\n import { getLocat } from '@kp-ui/tool';\n import { cloneDeep } from 'lodash-es';\n import { CodeEditor, TpfModal, TpfCodeEditor } from 'tmgc2-share';\n import { message } from 'ant-design-vue';\n import { getCurrentInstance } from 'vue';\n\n // 组件定义\n const VFormRender = defineAsyncComponent(() => import('@/components/form-render/index.vue'));\n\n const ctx = getCurrentInstance();\n // Props 定义\n interface Props {\n leftWidth: number;\n rightWidth: number;\n changeRightWidth: () => void;\n changeLeftWidth: () => void;\n designer: any; // 可以根据实际类型定义更具体的类型\n saveJsonApi?: (formJson: any) => void;\n globalDsv?: Record<string, any>;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n globalDsv: () => ({})\n });\n\n // Inject\n const getDesignerConfig = inject('getDesignerConfig') as () => any;\n\n // Refs\n const nodeTree = ref<any>(null);\n const preForm = ref<any>(null);\n const importJsonEditorRef = ref<any>(null);\n const exportJsonEditorRef = ref<any>(null);\n\n // 响应式数据\n const vfCtx = ref({ type: 'add', ...getLocat() });\n const designerConfig = ref(getDesignerConfig());\n const toolbarWidth = ref(460);\n const showPreviewDialogFlag = ref(false);\n const showImportJsonDialogFlag = ref(false);\n const showFormDataDialogFlag = ref(false);\n const showNodeTreeDrawerFlag = ref(false);\n const nodeTreeData = ref<any[]>([]);\n const importTemplate = ref('');\n const exportTemplate = ref('');\n const formDataJson = ref('');\n const htmlCode = ref('');\n\n const testFormData = ref({\n select62173: 2\n });\n\n // 计算属性\n const formJson = computed(() => {\n return {\n widgetList: cloneDeep(props.designer.widgetList),\n formConfig: cloneDeep(props.designer.formConfig)\n };\n });\n\n const undoDisabled = computed(() => {\n return !props.designer.undoEnabled();\n });\n\n const redoDisabled = computed(() => {\n return !props.designer.redoEnabled();\n });\n\n const layoutType = computed(() => {\n return props.designer.getLayoutType();\n });\n\n const designerDsv = computed(() => {\n return props.globalDsv;\n });\n\n // 生命周期钩子\n onMounted(() => {\n const maxTBWidth = designerConfig.value.toolbarMaxWidth || 460;\n const minTBWidth = designerConfig.value.toolbarMinWidth || 300;\n const newTBWidth = window.innerWidth - 260 - 300 - 320 - 80;\n toolbarWidth.value =\n newTBWidth >= maxTBWidth\n ? maxTBWidth\n : newTBWidth <= minTBWidth\n ? minTBWidth\n : newTBWidth;\n addWindowResizeHandler(() => {\n nextTick(() => {\n const newTBWidth2 = window.innerWidth - 260 - 300 - 320 - 80;\n toolbarWidth.value =\n newTBWidth2 >= maxTBWidth\n ? maxTBWidth\n : newTBWidth2 <= minTBWidth\n ? minTBWidth\n : newTBWidth2;\n });\n });\n });\n\n // 方法\n const { i18nt } = useI18n();\n\n const saveJson = () => {\n if (props.saveJsonApi) {\n props.saveJsonApi(formJson.value);\n }\n };\n\n const showToolButton = (configName: string): boolean => {\n if (designerConfig.value[configName] === undefined) {\n return true;\n }\n\n return !!designerConfig.value[configName];\n };\n\n const buildTreeNodeOfWidget = (widget: any, treeNode: any[]) => {\n const curNode = {\n id: widget.id,\n label: widget.options.label || widget.type,\n children: [] as any[]\n };\n treeNode.push(curNode);\n\n if (widget.category === undefined) {\n return;\n }\n\n if (widget.type === 'grid') {\n widget.cols.map((col: any) => {\n const colNode = {\n id: col.id,\n label: col.options.name || widget.type,\n children: [] as any[]\n };\n curNode.children.push(colNode);\n col.widgetList.map((wChild: any) => {\n buildTreeNodeOfWidget(wChild, colNode.children);\n });\n });\n } else if (widget.type === 'table') {\n //TODO: 需要考虑合并单元格!!\n widget.rows.map((row: any) => {\n const rowNode = {\n id: row.id,\n label: 'table-row',\n selectable: false,\n children: [] as any[]\n };\n curNode.children.push(rowNode);\n\n row.cols.map((cell: any) => {\n if (!!cell.merged) {\n //跳过合并单元格!!\n return;\n }\n\n const rowChildren = rowNode.children;\n const cellNode = {\n id: cell.id,\n label: 'table-cell',\n children: [] as any[]\n };\n rowChildren.push(cellNode);\n\n cell.widgetList.map((wChild: any) => {\n buildTreeNodeOfWidget(wChild, cellNode.children);\n });\n });\n });\n } else if (widget.type === 'tab') {\n widget.tabs.map((tab: any) => {\n const tabNode = {\n id: tab.id,\n label: tab.options.name || widget.type,\n selectable: false,\n children: [] as any[]\n };\n curNode.children.push(tabNode);\n tab.widgetList.map((wChild: any) => {\n buildTreeNodeOfWidget(wChild, tabNode.children);\n });\n });\n } else if (widget.type === 'sub-form') {\n widget.widgetList.map((wChild: any) => {\n buildTreeNodeOfWidget(wChild, curNode.children);\n });\n } else if (widget.category === 'container') {\n //自定义容器\n widget.widgetList.map((wChild: any) => {\n buildTreeNodeOfWidget(wChild, curNode.children);\n });\n }\n };\n\n const refreshNodeTree = () => {\n nodeTreeData.value.length = 0;\n props.designer.widgetList.forEach((wItem: any) => {\n buildTreeNodeOfWidget(wItem, nodeTreeData.value);\n });\n };\n\n const showNodeTreeDrawer = () => {\n refreshNodeTree();\n showNodeTreeDrawerFlag.value = true;\n nextTick(() => {\n if (!!props.designer.selectedId) {\n //同步当前选中组件到节点树!!!\n nodeTree.value.setCurrentKey(props.designer.selectedId);\n }\n });\n };\n\n const saveImportTemplate = value => {\n saveAsFile(value, `vform${generateId()}.json`);\n };\n\n const undoHistory = () => {\n props.designer.undoHistoryStep();\n };\n\n const redoHistory = () => {\n props.designer.redoHistoryStep();\n };\n\n const changeLayoutType = (newType: string) => {\n props.designer.changeLayoutType(newType);\n };\n\n const clearFormWidget = () => {\n props.designer.clearDesigner();\n props.designer.formWidget.clearWidgetRefList();\n message.success('ok');\n };\n\n const previewForm = () => {\n showPreviewDialogFlag.value = true;\n // ctx!.proxy.$openCustomerModal({\n // ...vfCtx.value,\n // width: '90%'\n // });\n };\n\n const saveAsFile = (fileContent: string, defaultFileName: string) => {\n const value = 'json.json' || defaultFileName;\n\n if (getQueryParam('vscode') == 1) {\n vsSaveFile(value, fileContent);\n return;\n }\n\n const fileBlob = new Blob([fileContent], { type: 'text/plain;charset=utf-8' });\n saveAs(fileBlob, value);\n };\n\n const vsSaveFile = (fileName: string, fileContent: string) => {\n const msgObj = {\n cmd: 'writeFile',\n data: {\n fileName,\n code: fileContent\n }\n };\n window.parent.postMessage(msgObj, '*');\n };\n\n const importJson = () => {\n importTemplate.value = JSON.stringify(props.designer.getImportTemplate(), null, ' ');\n\n importJsonEditorRef.value.open();\n showImportJsonDialogFlag.value = true;\n };\n\n const doJsonImport = () => {\n try {\n const importObj = JSON.parse(importTemplate.value);\n if (!importObj || !importObj.formConfig) {\n throw new Error(i18nt('designer.hint.invalidJsonFormat'));\n }\n\n props.designer.loadFormJson(importObj);\n\n showImportJsonDialogFlag.value = false;\n message.success(i18nt('designer.hint.importJsonSuccess'));\n\n props.designer.emitHistoryChange();\n\n props.designer.emitEvent('form-json-imported', []);\n } catch (ex) {\n message.error(ex + '');\n }\n };\n\n const exportJson = () => {\n const widgetList = cloneDeep(props.designer.widgetList);\n const formConfig = cloneDeep(props.designer.formConfig);\n exportTemplate.value = JSON.stringify({ widgetList, formConfig }, null, ' ');\n // exportJsonEditorRef.value.open();\n showFormDataDialogFlag.value = true;\n };\n\n const showData = async () => {\n const formConfig = props.designer.formConfig;\n const { id: _id } = getLocat();\n const dsResult = await fmtHttpParams(formConfig.serveList.vformDetail, { _id });\n const leaveDates = [{ date: '2024-10-28' }, { date: '2024-10-29' }, { date: '2024-10-20' }];\n\n preForm.value.getWidgetRef('leaveDates').setValue(leaveDates);\n preForm.value.setFormData({\n ...dsResult\n });\n preForm.value.setReadMode(true);\n };\n\n const getFormData = () => {\n console.log(preForm.value);\n\n preForm.value\n .getFormData()\n .then((formData: any) => {\n formDataJson.value = JSON.stringify(formData, null, ' ');\n showFormDataDialogFlag.value = true;\n })\n .catch((error: any) => {\n message.error(error);\n });\n };\n\n const copyFormDataJson = (e: Event) => {\n copyToClipboard(\n exportTemplate.value,\n e,\n message,\n i18nt('designer.hint.copyJsonSuccess'),\n i18nt('designer.hint.copyJsonFail')\n );\n };\n\n const saveFormData = () => {\n saveAsFile(htmlCode.value, `formData${generateId()}.json`);\n };\n\n const resetForm = () => {\n preForm.value.resetForm();\n };\n\n const setFormDisabled = () => {\n preForm.value.disableForm();\n };\n\n const setFormEnabled = () => {\n preForm.value.enableForm();\n };\n\n const handleFormChange = (fieldName: string, newValue: any, oldValue: any, formModel: any) => {\n console.log('formModel', formModel);\n };\n\n const testOnAppendButtonClick = (clickedWidget: any) => {\n console.log('test', clickedWidget);\n };\n\n const testOnButtonClick = (button: any) => {\n console.log('test', button);\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .toolbar-container {\n width: 100%;\n display: flex;\n height: 42px;\n align-items: center;\n justify-content: space-between;\n }\n\n .left-toolbar {\n display: flex;\n margin-top: 4px;\n font-size: 16px;\n }\n\n .right-toolbar {\n display: flex;\n line-height: 42px;\n overflow: hidden;\n\n .right-toolbar-con {\n text-align: left;\n }\n\n :deep(.svg-icon) {\n margin-left: 0;\n margin-right: 0.05em;\n }\n }\n\n .no-box-shadow {\n box-shadow: none;\n }\n\n .form-render-wrapper.h5-layout {\n margin: 0 auto;\n width: 420px;\n border-radius: 15px;\n //border-width: 10px;\n box-shadow: 0 0 1px 10px #495060;\n height: calc(100vh - 175px);\n overflow-y: auto;\n overflow-x: hidden;\n }\n\n .form-render-wrapper.pad-layout {\n margin: 0 auto;\n width: 960px;\n border-radius: 15px;\n //border-width: 10px;\n box-shadow: 0 0 1px 10px #495060;\n height: calc(100vh - 175px);\n overflow-y: auto;\n overflow-x: hidden;\n }\n\n .node-tree-drawer {\n }\n</style>\n"],"names":["VFormRender","defineAsyncComponent","getCurrentInstance","props","__props","getDesignerConfig","inject","nodeTree","ref","preForm","importJsonEditorRef","vfCtx","getLocat","designerConfig","toolbarWidth","showPreviewDialogFlag","showImportJsonDialogFlag","showFormDataDialogFlag","showNodeTreeDrawerFlag","nodeTreeData","importTemplate","exportTemplate","formDataJson","htmlCode","testFormData","formJson","computed","cloneDeep","undoDisabled","redoDisabled","layoutType","designerDsv","onMounted","maxTBWidth","minTBWidth","newTBWidth","addWindowResizeHandler","nextTick","newTBWidth2","i18nt","useI18n","saveJson","showToolButton","configName","buildTreeNodeOfWidget","widget","treeNode","curNode","col","colNode","wChild","row","rowNode","cell","rowChildren","cellNode","tab","tabNode","refreshNodeTree","wItem","showNodeTreeDrawer","undoHistory","redoHistory","changeLayoutType","newType","clearFormWidget","message","previewForm","saveAsFile","fileContent","defaultFileName","value","getQueryParam","vsSaveFile","fileBlob","saveAs","fileName","msgObj","importJson","doJsonImport","importObj","ex","exportJson","widgetList","formConfig","showData","_id","dsResult","fmtHttpParams","leaveDates","getFormData","formData","error","copyFormDataJson","copyToClipboard","saveFormData","resetForm","setFormDisabled","setFormEnabled","handleFormChange","fieldName","newValue","oldValue","formModel","testOnAppendButtonClick","clickedWidget","testOnButtonClick","button","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createVNode","_component_a_button","changeLeftWidth","SvgIcon","leftWidth","_unref","_component_a_radio_group","$event","_component_a_radio_button","_component_a_drawer","_component_a_tree","_hoisted_3","_hoisted_4","_createBlock","_cache","changeRightWidth","rightWidth","_Fragment","_renderList","$slots","idx","slotName","_renderSlot","_ctx","TpfModal","TpfCodeEditor","CodeEditor"],"mappings":"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"}
@@ -111,6 +111,7 @@ function z(e, M, t, _, D, N) {
111
111
  columns: e.columns.columns,
112
112
  size: e.widgetSize,
113
113
  dataSource: t.data,
114
+ "deep-watch-data-source": !0,
114
115
  rowKey: (o) => o[t.widget.options.rowKey],
115
116
  scroll: { y: parseFloat(e.tableHeight || 0), x: 300 },
116
117
  bordered: t.widget.options.border,
@@ -142,7 +143,7 @@ function z(e, M, t, _, D, N) {
142
143
  [S, !e.handleHidden()]
143
144
  ]);
144
145
  }
145
- const A = /* @__PURE__ */ I(T, [["render", z], ["__scopeId", "data-v-c36d66f6"]]);
146
+ const A = /* @__PURE__ */ I(T, [["render", z], ["__scopeId", "data-v-8e1059ce"]]);
146
147
  export {
147
148
  A as default
148
149
  };
@@ -1 +1 @@
1
- {"version":3,"file":"data-table-item.vue.js","sources":["../../../../../src/components/form-render/container-item/data-table-item.vue"],"sourcesContent":["<template>\n <container-item-wrapper\n :style=\"{ display: 'flex', minWidth: 0, height: parseFloat(tableHeight || 0) + 'px' }\"\n v-show=\"!handleHidden()\"\n :widget=\"widget\"\n >\n <s-table\n class=\"tpf-surely-table\"\n ref=\"dataTable2\"\n :columns=\"columns.columns\"\n :class=\"[customClass]\"\n :size=\"widgetSize\"\n :dataSource=\"data\"\n :rowKey=\"record => record[widget.options.rowKey]\"\n :scroll=\"{ y: parseFloat(tableHeight || 0), x: 300 }\"\n :bordered=\"widget.options.border\"\n :style=\"{ width: widget.options.tableWidth }\"\n :row-class-name=\"rowClassName\"\n :rowSelection=\"handleRowSelection()\"\n :pagination=\"fmtPagination\"\n :customRow=\"handleCustomRow\"\n @change=\"handleTablePageChange\"\n @resizeColumn=\"handleResizeColumn\"\n :loading=\"loading\"\n :row-height=\"lineHeight\"\n >\n <template #emptyText>\n <a-empty />\n </template>\n <template #bodyCell=\"scope\">\n <template v-if=\"isShowBodyCell(scope.column.dataIndex)\">\n <RenderBodyCell :bodyCell=\"columns.bodyCell\" :scope=\"scope\" />\n </template>\n </template>\n </s-table>\n </container-item-wrapper>\n</template>\n\n<script>\n import ContainerItemWrapper from '@/components/form-render/container-item/container-item-wrapper.vue';\n import emitter from '@/utils/emitter';\n import i18n from '@/utils/i18n';\n\n import FieldComponents from '@/components/form-designer/form-widget/field-widget/index';\n import refMixin from '@/components/form-render/refMixin';\n import containerItemMixin from '@/components/form-render/container-item/containerItemMixin';\n import useDataTableMixin from '@/mixins/useDataTableMixin';\n\n export default {\n name: 'DataTableItem',\n componentName: 'ContainerItem', // 必须固定为ContainerItem,用于接收父级组件的broadcast事件\n mixins: [emitter, i18n, refMixin, containerItemMixin, useDataTableMixin],\n components: {\n ContainerItemWrapper,\n ...FieldComponents\n },\n props: {\n widget: Object,\n parentWidget: Object,\n parentList: Array,\n indexOfParentList: Number,\n data: {\n type: Array,\n default: () => []\n },\n subFormRowIndex: {\n /* 子表单组件行索引,从0开始计数 */ type: Number,\n default: -1\n },\n subFormColIndex: {\n /* 子表单组件列索引,从0开始计数 */ type: Number,\n default: -1\n },\n subFormRowId: {\n /* 子表单组件行Id,唯一id且不可变 */ type: String,\n default: ''\n }\n },\n inject: ['refList', 'sfRefList', 'globalModel', 'getFormConfig', 'getGlobalDsv'],\n data() {\n return {};\n },\n computed: {\n formConfig() {\n return this.getFormConfig();\n }\n },\n created() {\n this.initRefList();\n this.handleOnCreated();\n },\n mounted() {\n this.loadDataTableDataSource();\n this.$nextTick(() => {\n this.handleOnMounted();\n });\n },\n beforeUnmount() {\n this.unregisterFromRefList();\n },\n methods: {\n getDataTableRef() {\n return this;\n },\n\n selectWidget(widget) {\n this.designer.setSelected(widget);\n },\n\n handleOnCreated() {\n if (!!this.widget.options.onCreated) {\n const customFunc = new Function(this.widget.options.onCreated);\n customFunc.call(this);\n }\n },\n\n handleOnMounted() {\n if (!!this.widget.options.onMounted) {\n const customFunc = new Function(this.widget.options.onMounted);\n customFunc.call(this);\n }\n },\n\n // --------------------- 以下为组件支持外部调用的API方法 begin ------------------//\n /* 提示:用户可自行扩充这些方法!!! */\n\n getTableColumns() {\n return this.widget.options.tableColumns;\n },\n\n /**\n * 获取选中行数据,格式为对象数组\n * @returns {[]}\n */\n getSelectedRow() {\n // return this.$refs.dataTable.selection\n return this.selectedRows;\n },\n\n /**\n * 获取选中行索引,格式为数组\n * @returns {[]}\n */\n getSelectedIndex() {\n return this.selectedIndices;\n }\n // --------------------- 以上为组件支持外部调用的API方法 end ------------------//\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .collapse-container {\n margin: 2px;\n\n .form-widget-list {\n min-height: 28px;\n }\n }\n\n :deep(.el-collapsed__header) {\n padding: 10px 12px;\n }\n</style>\n\n<style scoped>\n .data-table {\n flex: 1;\n max-width: 100%;\n min-width: 0;\n :deep(.tpf-surely-table) {\n font-size: 12px;\n .surely-table-cell-content {\n font-size: 12px;\n }\n }\n }\n :deep(.ant-table) .table-striped td {\n background-color: #fafafa;\n }\n</style>\n"],"names":["_sfc_main","emitter","i18n","refMixin","containerItemMixin","useDataTableMixin","ContainerItemWrapper","FieldComponents","widget","_createBlock","_component_container_item_wrapper","_normalizeStyle","_ctx","$props","_createVNode","_component_s_table","_normalizeClass","record","_component_a_empty","_withCtx","scope","_component_RenderBodyCell"],"mappings":"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"}
1
+ {"version":3,"file":"data-table-item.vue.js","sources":["../../../../../src/components/form-render/container-item/data-table-item.vue"],"sourcesContent":["<template>\n <container-item-wrapper\n :style=\"{ display: 'flex', minWidth: 0, height: parseFloat(tableHeight || 0) + 'px' }\"\n v-show=\"!handleHidden()\"\n :widget=\"widget\"\n >\n <s-table\n class=\"tpf-surely-table\"\n ref=\"dataTable2\"\n :columns=\"columns.columns\"\n :class=\"[customClass]\"\n :size=\"widgetSize\"\n :dataSource=\"data\"\n :deep-watch-data-source=\"true\"\n :rowKey=\"record => record[widget.options.rowKey]\"\n :scroll=\"{ y: parseFloat(tableHeight || 0), x: 300 }\"\n :bordered=\"widget.options.border\"\n :style=\"{ width: widget.options.tableWidth }\"\n :row-class-name=\"rowClassName\"\n :rowSelection=\"handleRowSelection()\"\n :pagination=\"fmtPagination\"\n :customRow=\"handleCustomRow\"\n @change=\"handleTablePageChange\"\n @resizeColumn=\"handleResizeColumn\"\n :loading=\"loading\"\n :row-height=\"lineHeight\"\n >\n <template #emptyText>\n <a-empty />\n </template>\n <template #bodyCell=\"scope\">\n <template v-if=\"isShowBodyCell(scope.column.dataIndex)\">\n <RenderBodyCell :bodyCell=\"columns.bodyCell\" :scope=\"scope\" />\n </template>\n </template>\n </s-table>\n </container-item-wrapper>\n</template>\n\n<script>\n import ContainerItemWrapper from '@/components/form-render/container-item/container-item-wrapper.vue';\n import emitter from '@/utils/emitter';\n import i18n from '@/utils/i18n';\n\n import FieldComponents from '@/components/form-designer/form-widget/field-widget/index';\n import refMixin from '@/components/form-render/refMixin';\n import containerItemMixin from '@/components/form-render/container-item/containerItemMixin';\n import useDataTableMixin from '@/mixins/useDataTableMixin';\n\n export default {\n name: 'DataTableItem',\n componentName: 'ContainerItem', // 必须固定为ContainerItem,用于接收父级组件的broadcast事件\n mixins: [emitter, i18n, refMixin, containerItemMixin, useDataTableMixin],\n components: {\n ContainerItemWrapper,\n ...FieldComponents\n },\n props: {\n widget: Object,\n parentWidget: Object,\n parentList: Array,\n indexOfParentList: Number,\n data: {\n type: Array,\n default: () => []\n },\n subFormRowIndex: {\n /* 子表单组件行索引,从0开始计数 */ type: Number,\n default: -1\n },\n subFormColIndex: {\n /* 子表单组件列索引,从0开始计数 */ type: Number,\n default: -1\n },\n subFormRowId: {\n /* 子表单组件行Id,唯一id且不可变 */ type: String,\n default: ''\n }\n },\n inject: ['refList', 'sfRefList', 'globalModel', 'getFormConfig', 'getGlobalDsv'],\n data() {\n return {};\n },\n computed: {\n formConfig() {\n return this.getFormConfig();\n }\n },\n created() {\n this.initRefList();\n this.handleOnCreated();\n },\n mounted() {\n this.loadDataTableDataSource();\n this.$nextTick(() => {\n this.handleOnMounted();\n });\n },\n beforeUnmount() {\n this.unregisterFromRefList();\n },\n methods: {\n getDataTableRef() {\n return this;\n },\n\n selectWidget(widget) {\n this.designer.setSelected(widget);\n },\n\n handleOnCreated() {\n if (!!this.widget.options.onCreated) {\n const customFunc = new Function(this.widget.options.onCreated);\n customFunc.call(this);\n }\n },\n\n handleOnMounted() {\n if (!!this.widget.options.onMounted) {\n const customFunc = new Function(this.widget.options.onMounted);\n customFunc.call(this);\n }\n },\n\n // --------------------- 以下为组件支持外部调用的API方法 begin ------------------//\n /* 提示:用户可自行扩充这些方法!!! */\n\n getTableColumns() {\n return this.widget.options.tableColumns;\n },\n\n /**\n * 获取选中行数据,格式为对象数组\n * @returns {[]}\n */\n getSelectedRow() {\n // return this.$refs.dataTable.selection\n return this.selectedRows;\n },\n\n /**\n * 获取选中行索引,格式为数组\n * @returns {[]}\n */\n getSelectedIndex() {\n return this.selectedIndices;\n }\n // --------------------- 以上为组件支持外部调用的API方法 end ------------------//\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .collapse-container {\n margin: 2px;\n\n .form-widget-list {\n min-height: 28px;\n }\n }\n</style>\n\n<style scoped>\n .data-table {\n flex: 1;\n max-width: 100%;\n min-width: 0;\n :deep(.tpf-surely-table) {\n font-size: 12px;\n .surely-table-cell-content {\n font-size: 12px;\n }\n }\n }\n :deep(.ant-table) .table-striped td {\n background-color: #fafafa;\n }\n</style>\n"],"names":["_sfc_main","emitter","i18n","refMixin","containerItemMixin","useDataTableMixin","ContainerItemWrapper","FieldComponents","widget","_createBlock","_component_container_item_wrapper","_normalizeStyle","_ctx","$props","_createVNode","_component_s_table","_normalizeClass","record","_component_a_empty","_withCtx","scope","_component_RenderBodyCell"],"mappings":"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"}
@@ -313,7 +313,7 @@ function q(t, e, i, a, o, s) {
313
313
  _: 1
314
314
  }, 8, ["widget"]);
315
315
  }
316
- const nt = /* @__PURE__ */ j(x, [["render", q], ["__scopeId", "data-v-0972629d"]]);
316
+ const nt = /* @__PURE__ */ j(x, [["render", q], ["__scopeId", "data-v-b0ed629c"]]);
317
317
  export {
318
318
  nt as default
319
319
  };
@@ -1 +1 @@
1
- {"version":3,"file":"grid-sub-form-item.vue.js","sources":["../../../../../src/components/form-render/container-item/grid-sub-form-item.vue"],"sourcesContent":["<template>\n <container-item-wrapper :widget=\"widget\">\n <div :key=\"widget.id\" class=\"sub-form-container\" v-show=\"!widget.options.hidden\">\n <div\n v-for=\"(subFormRowId, sfrIdx) in rowIdData\"\n class=\"sub-form-row\"\n :key=\"subFormRowId\"\n >\n <div class=\"sub-form-action-column hide-label\" :class=\"actionBtnsClass\">\n <div class=\"action-button-column\" :class=\"actionBtnsClass\" v-show=\"!isReadMode\">\n <a-button\n type=\"link\"\n :title=\"i18nt('render.hint.insertSubFormRow')\"\n :disabled=\"actionDisabled || deleteDisabled\"\n @click=\"insertSubFormRow(sfrIdx)\"\n >\n <template #icon>\n <svg-icon icon-class=\"el-plus\" />\n </template>\n </a-button>\n <a-button\n type=\"link\"\n :title=\"i18nt('render.hint.deleteSubFormRow')\"\n :disabled=\"actionDisabled || deleteDisabled\"\n @click=\"deleteSubFormRow(sfrIdx)\"\n >\n <template #icon>\n <svg-icon icon-class=\"el-delete\" />\n </template>\n </a-button>\n </div>\n </div>\n <div class=\"row-no-column\">\n <span class=\"row-number-span\">#{{ sfrIdx + 1 }}</span>\n </div>\n <div class=\"grid-sub-form-data-row\">\n <template\n v-for=\"(subWidget, swIdx) in widget.widgetList\"\n :key=\"widgetSchemaData[sfrIdx][swIdx].id\"\n >\n <component\n :is=\"getComponentByContainer(subWidget)\"\n :widget=\"widgetSchemaData[sfrIdx][swIdx]\"\n :parent-list=\"widget.widgetList\"\n :index-of-parent-list=\"swIdx\"\n :parent-widget=\"widget\"\n :sub-form-row-id=\"subFormRowId\"\n :sub-form-row-index=\"sfrIdx\"\n :sub-form-col-index=\"swIdx\"\n >\n <!-- 子表单暂不支持插槽!!! -->\n </component>\n </template>\n </div>\n </div>\n <div class=\"header-row\">\n <a-button\n block\n v-if=\"!isReadMode\"\n :disabled=\"actionDisabled || insertDisabled\"\n shape=\"round\"\n type=\"dashed\"\n size=\"small\"\n class=\"action-button\"\n @click=\"addSubFormRow\"\n :title=\"i18nt('render.hint.subFormAddActionHint')\"\n >\n <template #icon>\n <svg-icon icon-class=\"el-plus\" />\n </template>\n {{ i18nt('render.hint.subFormAddAction') }}\n </a-button>\n </div>\n </div>\n </container-item-wrapper>\n</template>\n\n<script>\n import emitter from '@/utils/emitter';\n import i18n from '@/utils/i18n';\n import { deepClone, generateId, traverseFieldWidgetsOfContainer } from '@/utils/util';\n import refMixin from '@/components/form-render/refMixin';\n import ContainerItemWrapper from './container-item-wrapper';\n import containerItemMixin from './containerItemMixin';\n import FieldComponents from '@/components/form-designer/form-widget/field-widget/index';\n import { TpfConfirm } from '@/hooks/TpfConfirm';\n import SvgIcon from '@/components/svg-icon';\n export default {\n name: 'grid-sub-form-item',\n componentName: 'ContainerItem',\n mixins: [emitter, i18n, refMixin, containerItemMixin],\n components: {\n SvgIcon,\n ContainerItemWrapper,\n ...FieldComponents\n },\n props: {\n widget: Object\n },\n provide() {\n return {\n getSubFormFieldFlag: () => true,\n getSubFormName: () => this.widget.options.name\n };\n },\n inject: ['refList', 'sfRefList', 'globalModel', 'getReadMode'],\n data() {\n return {\n rowIdData: [],\n widgetSchemaData: [],\n actionDisabled: false,\n insertDisabled: false, //是否禁止新增、插入记录\n deleteDisabled: false, //是否禁止删除记录\n\n fieldWidgetList: []\n };\n },\n computed: {\n isReadMode() {\n return this.getReadMode();\n },\n\n actionBtnsClass() {\n return this.widget.options.actionColumnPosition || 'right' === 'right'\n ? 'right-action-column'\n : 'left-action-column';\n }\n },\n created() {\n this.initRefList();\n this.registerSubFormToRefList();\n this.initRowIdData(true);\n this.initWidgetSchemaData();\n this.initEventHandler();\n },\n mounted() {\n this.extractFieldWidgetList();\n this.handleSubFormFirstRowAdd(); //默认添加首行后,主动触发相关事件!!\n },\n beforeUnmount() {\n this.unregisterFromRefList();\n },\n methods: {\n extractFieldWidgetList() {\n this.fieldWidgetList.splice(0, this.fieldWidgetList.length);\n const fieldListFn = fw => {\n this.fieldWidgetList.push(fw);\n };\n traverseFieldWidgetsOfContainer(this.widget, fieldListFn);\n },\n\n getLabelAlign(widget, subWidget) {\n return subWidget.options.labelAlign || widget.options.labelAlign;\n },\n\n registerSubFormToRefList() {\n if (this.widget.type === 'grid-sub-form') {\n this.sfRefList[this.widget.options.name] = this;\n }\n },\n\n initRowIdData(initFlag) {\n if (this.widget.type === 'grid-sub-form') {\n this.rowIdData.splice(0, this.rowIdData.length); //清除数组必须用splice,length=0不会响应式更新!!\n // this.rowIdData.push('id' + generateId());\n const subFormModel = this.formModel[this.widget.options.name];\n if (!!subFormModel && subFormModel.length > 0) {\n subFormModel.forEach(() => {\n this.rowIdData.push('id' + generateId());\n });\n\n if (!!initFlag) {\n //注意:事件触发需延期执行,SumFormDataChange事件处理代码中可能存在尚未创建完成的组件!!\n setTimeout(() => {\n this.handleSubFormRowChange(subFormModel);\n }, 800);\n }\n }\n }\n },\n\n addToRowIdData() {\n this.rowIdData.push('id' + generateId());\n },\n\n insertToRowIdData(rowIndex) {\n this.rowIdData.splice(rowIndex, 0, 'id' + generateId());\n },\n\n deleteFromRowIdData(rowIndex) {\n this.rowIdData.splice(rowIndex, 1);\n },\n\n getRowIdData() {\n return this.rowIdData;\n },\n\n getWidgetRefOfSubForm(widgetName, rowIndex) {\n const realWidgetName = widgetName + '@row' + this.rowIdData[rowIndex];\n return this.getWidgetRef(realWidgetName);\n },\n\n initWidgetSchemaData() {\n //初始化widgetSchemaData!!!\n if (this.widget.type !== 'grid-sub-form') {\n return;\n }\n\n const rowLength = this.rowIdData.length;\n this.widgetSchemaData.splice(0, this.widgetSchemaData.length); //清除数组必须用splice,length=0不会响应式更新!!\n if (rowLength > 0) {\n for (let i = 0; i < rowLength; i++) {\n const widgetSchemas = [];\n this.widget.widgetList.forEach(swItem => {\n widgetSchemas.push(this.cloneSchemaOfWidget(swItem));\n });\n this.widgetSchemaData.push(widgetSchemas);\n }\n }\n },\n\n addToWidgetSchemaData(rowIndex) {\n const widgetSchemas = [];\n this.widget.widgetList.forEach(swItem => {\n widgetSchemas.push(this.cloneSchemaOfWidget(swItem));\n });\n\n if (rowIndex === undefined) {\n this.widgetSchemaData.push(widgetSchemas);\n } else {\n this.widgetSchemaData.splice(rowIndex, 0, widgetSchemas);\n }\n },\n\n deleteFromWidgetSchemaData(rowIndex) {\n this.widgetSchemaData.splice(rowIndex, 1);\n },\n\n cloneSchemaOfWidget(widget) {\n const newWidgetSchema = deepClone(widget);\n newWidgetSchema.id = widget.type + generateId();\n return newWidgetSchema;\n },\n\n initEventHandler() {\n if (this.widget.type !== 'grid-sub-form') {\n return;\n }\n\n this.on$('setFormData', newFormData => {\n this.initRowIdData(false);\n this.initWidgetSchemaData();\n\n const subFormData = newFormData[this.widget.options.name] || [];\n setTimeout(() => {\n //延时触发SubFormRowChange事件, 便于更新计算字段!!\n this.handleSubFormRowChange(subFormData);\n }, 800);\n });\n },\n\n handleSubFormFirstRowAdd() {\n if (this.widget.type !== 'grid-sub-form') {\n return;\n }\n\n if (!!this.widget.options.showBlankRow && this.rowIdData.length === 1) {\n const oldSubFormData = this.formModel[this.widget.options.name] || [];\n\n //确认组件创建成功后触发事件!!\n this.$nextTick(() => {\n this.handleSubFormRowAdd(oldSubFormData, this.rowIdData[0]);\n this.handleSubFormRowChange(oldSubFormData);\n });\n }\n },\n\n addSubFormRow() {\n const newSubFormDataRow = {};\n this.fieldWidgetList.forEach(subFormItem => {\n if (!!subFormItem.formItemFlag) {\n newSubFormDataRow[subFormItem.options.name] =\n subFormItem.options.defaultValue;\n }\n });\n\n const oldSubFormData = this.formModel[this.widget.options.name] || [];\n oldSubFormData.push(newSubFormDataRow);\n this.addToRowIdData();\n this.addToWidgetSchemaData();\n\n //确认组件创建成功后触发事件!!\n this.$nextTick(() => {\n this.handleSubFormRowAdd(\n oldSubFormData,\n this.rowIdData[oldSubFormData.length - 1]\n );\n this.handleSubFormRowChange(oldSubFormData);\n });\n },\n\n insertSubFormRow(beforeFormRowIndex) {\n const newSubFormDataRow = {};\n this.fieldWidgetList.forEach(subFormItem => {\n if (!!subFormItem.formItemFlag) {\n newSubFormDataRow[subFormItem.options.name] =\n subFormItem.options.defaultValue;\n }\n });\n\n const oldSubFormData = this.formModel[this.widget.options.name] || [];\n oldSubFormData.splice(beforeFormRowIndex, 0, newSubFormDataRow);\n this.insertToRowIdData(beforeFormRowIndex);\n this.addToWidgetSchemaData(beforeFormRowIndex);\n\n //确认组件创建成功后触发事件!!\n this.$nextTick(() => {\n this.handleSubFormRowInsert(oldSubFormData, this.rowIdData[beforeFormRowIndex]);\n this.handleSubFormRowChange(oldSubFormData);\n });\n },\n\n deleteSubFormRow(formRowIndex) {\n TpfConfirm({\n type: 'confirm',\n content: this.i18nt('render.hint.deleteSubFormRow') + '?',\n title: this.i18nt('render.hint.prompt'),\n okText: this.i18nt('render.hint.confirm'),\n cancelText: this.i18nt('render.hint.cancel')\n })\n .then(() => {\n const oldSubFormData = this.formModel[this.widget.options.name] || [];\n const deletedDataRow = deepClone(oldSubFormData[formRowIndex]);\n oldSubFormData.splice(formRowIndex, 1);\n this.deleteFromRowIdData(formRowIndex);\n this.deleteFromWidgetSchemaData(formRowIndex);\n\n //确认组件创建成功后触发事件!!\n this.$nextTick(() => {\n this.handleSubFormRowDelete(oldSubFormData, deletedDataRow);\n this.handleSubFormRowChange(oldSubFormData);\n });\n })\n .catch(() => {\n //\n });\n },\n\n handleSubFormRowChange(subFormData) {\n if (!!this.widget.options.onSubFormRowChange) {\n const customFunc = new Function(\n 'subFormData',\n this.widget.options.onSubFormRowChange\n );\n customFunc.call(this, subFormData);\n }\n },\n\n handleSubFormRowAdd(subFormData, newRowId) {\n if (!!this.widget.options.onSubFormRowAdd) {\n const customFunc = new Function(\n 'subFormData',\n 'newRowId',\n this.widget.options.onSubFormRowAdd\n );\n customFunc.call(this, subFormData, newRowId);\n }\n },\n\n handleSubFormRowInsert(subFormData, newRowId) {\n if (!!this.widget.options.onSubFormRowInsert) {\n const customFunc = new Function(\n 'subFormData',\n 'newRowId',\n this.widget.options.onSubFormRowInsert\n );\n customFunc.call(this, subFormData, newRowId);\n }\n },\n\n handleSubFormRowDelete(subFormData, deletedDataRow) {\n if (!!this.widget.options.onSubFormRowDelete) {\n const customFunc = new Function(\n 'subFormData',\n 'deletedDataRow',\n this.widget.options.onSubFormRowDelete\n );\n customFunc.call(this, subFormData, deletedDataRow);\n }\n },\n\n setDisabled(flag) {\n if (!!flag) {\n this.disableGridSubForm();\n } else {\n this.enableGridSubForm();\n }\n },\n\n /**\n * 设置单行子表单是否禁止新增、插入记录\n * @param flag\n */\n setInsertDisabled(flag) {\n this.insertDisabled = flag;\n },\n\n /**\n * 设置单行子表单是否禁止删除记录\n * @param flag\n */\n setDeleteDisabled(flag) {\n this.deleteDisabled = flag;\n }\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .sub-form-container {\n margin-bottom: 16px;\n text-align: left;\n background: #fafafa;\n padding: 16px;\n border-radius: 8px;\n\n .header-row {\n margin-top: 15px;\n :deep(.action-button) {\n height: 35px;\n }\n }\n\n .sub-form-row {\n display: flex;\n align-items: center;\n background: white;\n margin: 8px 0;\n border-radius: 6px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);\n .left-action-column {\n order: 0;\n }\n .right-action-column {\n order: 10;\n }\n\n .row-number-span {\n margin-left: 16px;\n }\n }\n }\n\n .sub-form-action-column {\n display: inline-block;\n align-items: center;\n text-align: center;\n padding: 8px;\n\n :deep(.el-form-item) {\n margin-bottom: 0;\n }\n\n :deep(.el-button) {\n font-size: 18px;\n padding: 0;\n // background: #dcdfe6;\n margin-left: 2px;\n // border: 4px solid #dcdfe6;\n }\n }\n\n .grid-sub-form-data-row {\n display: inline-block;\n flex: 1;\n padding: 10px;\n border-left: 1px solid #e1e2e3;\n border-right: 1px solid #e1e2e3;\n order: 2;\n :deep(.ant-form-item) {\n margin-bottom: 0;\n }\n }\n\n div.sub-form-action-column.hide-label {\n :deep(.el-form-item__label) {\n display: none;\n }\n }\n\n div.row-no-column {\n display: flex;\n align-items: center;\n width: 50px;\n border-radius: 10px;\n background: #f1f2f3;\n padding: 5px 0;\n margin: 0 6px;\n order: 1;\n font-size: 14px;\n color: #666;\n }\n\n div.sub-form-table-column {\n display: inline-block;\n border: 1px solid #e1e2e3;\n padding: 8px;\n\n :deep(.el-form-item) {\n margin-left: 4px;\n margin-right: 4px;\n margin-bottom: 0;\n }\n\n :deep(.el-form-item__content) {\n margin-left: 0 !important;\n }\n }\n\n div.sub-form-table-column.hide-label {\n :deep(.el-form-item__label) {\n display: none;\n }\n }\n .action-button-column {\n width: 140px;\n }\n</style>\n"],"names":["_sfc_main","emitter","i18n","refMixin","containerItemMixin","SvgIcon","ContainerItemWrapper","FieldComponents","fieldListFn","fw","traverseFieldWidgetsOfContainer","widget","subWidget","initFlag","subFormModel","generateId","rowIndex","widgetName","realWidgetName","rowLength","i","widgetSchemas","swItem","newWidgetSchema","deepClone","newFormData","subFormData","oldSubFormData","newSubFormDataRow","subFormItem","beforeFormRowIndex","formRowIndex","TpfConfirm","deletedDataRow","newRowId","flag","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_createBlock","_component_container_item_wrapper","$props","_createElementBlock","_openBlock","_Fragment","_renderList","$data","subFormRowId","sfrIdx","_createElementVNode","_normalizeClass","$options","_createVNode","_component_a_button","_ctx","$event","_component_svg_icon","swIdx","_resolveDynamicComponent","_createTextVNode"],"mappings":"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"}
1
+ {"version":3,"file":"grid-sub-form-item.vue.js","sources":["../../../../../src/components/form-render/container-item/grid-sub-form-item.vue"],"sourcesContent":["<template>\n <container-item-wrapper :widget=\"widget\">\n <div :key=\"widget.id\" class=\"sub-form-container\" v-show=\"!widget.options.hidden\">\n <div\n v-for=\"(subFormRowId, sfrIdx) in rowIdData\"\n class=\"sub-form-row\"\n :key=\"subFormRowId\"\n >\n <div class=\"sub-form-action-column hide-label\" :class=\"actionBtnsClass\">\n <div class=\"action-button-column\" :class=\"actionBtnsClass\" v-show=\"!isReadMode\">\n <a-button\n type=\"link\"\n :title=\"i18nt('render.hint.insertSubFormRow')\"\n :disabled=\"actionDisabled || deleteDisabled\"\n @click=\"insertSubFormRow(sfrIdx)\"\n >\n <template #icon>\n <svg-icon icon-class=\"el-plus\" />\n </template>\n </a-button>\n <a-button\n type=\"link\"\n :title=\"i18nt('render.hint.deleteSubFormRow')\"\n :disabled=\"actionDisabled || deleteDisabled\"\n @click=\"deleteSubFormRow(sfrIdx)\"\n >\n <template #icon>\n <svg-icon icon-class=\"el-delete\" />\n </template>\n </a-button>\n </div>\n </div>\n <div class=\"row-no-column\">\n <span class=\"row-number-span\">#{{ sfrIdx + 1 }}</span>\n </div>\n <div class=\"grid-sub-form-data-row\">\n <template\n v-for=\"(subWidget, swIdx) in widget.widgetList\"\n :key=\"widgetSchemaData[sfrIdx][swIdx].id\"\n >\n <component\n :is=\"getComponentByContainer(subWidget)\"\n :widget=\"widgetSchemaData[sfrIdx][swIdx]\"\n :parent-list=\"widget.widgetList\"\n :index-of-parent-list=\"swIdx\"\n :parent-widget=\"widget\"\n :sub-form-row-id=\"subFormRowId\"\n :sub-form-row-index=\"sfrIdx\"\n :sub-form-col-index=\"swIdx\"\n >\n <!-- 子表单暂不支持插槽!!! -->\n </component>\n </template>\n </div>\n </div>\n <div class=\"header-row\">\n <a-button\n block\n v-if=\"!isReadMode\"\n :disabled=\"actionDisabled || insertDisabled\"\n shape=\"round\"\n type=\"dashed\"\n size=\"small\"\n class=\"action-button\"\n @click=\"addSubFormRow\"\n :title=\"i18nt('render.hint.subFormAddActionHint')\"\n >\n <template #icon>\n <svg-icon icon-class=\"el-plus\" />\n </template>\n {{ i18nt('render.hint.subFormAddAction') }}\n </a-button>\n </div>\n </div>\n </container-item-wrapper>\n</template>\n\n<script>\n import emitter from '@/utils/emitter';\n import i18n from '@/utils/i18n';\n import { deepClone, generateId, traverseFieldWidgetsOfContainer } from '@/utils/util';\n import refMixin from '@/components/form-render/refMixin';\n import ContainerItemWrapper from './container-item-wrapper';\n import containerItemMixin from './containerItemMixin';\n import FieldComponents from '@/components/form-designer/form-widget/field-widget/index';\n import { TpfConfirm } from '@/hooks/TpfConfirm';\n import SvgIcon from '@/components/svg-icon';\n export default {\n name: 'grid-sub-form-item',\n componentName: 'ContainerItem',\n mixins: [emitter, i18n, refMixin, containerItemMixin],\n components: {\n SvgIcon,\n ContainerItemWrapper,\n ...FieldComponents\n },\n props: {\n widget: Object\n },\n provide() {\n return {\n getSubFormFieldFlag: () => true,\n getSubFormName: () => this.widget.options.name\n };\n },\n inject: ['refList', 'sfRefList', 'globalModel', 'getReadMode'],\n data() {\n return {\n rowIdData: [],\n widgetSchemaData: [],\n actionDisabled: false,\n insertDisabled: false, //是否禁止新增、插入记录\n deleteDisabled: false, //是否禁止删除记录\n\n fieldWidgetList: []\n };\n },\n computed: {\n isReadMode() {\n return this.getReadMode();\n },\n\n actionBtnsClass() {\n return this.widget.options.actionColumnPosition || 'right' === 'right'\n ? 'right-action-column'\n : 'left-action-column';\n }\n },\n created() {\n this.initRefList();\n this.registerSubFormToRefList();\n this.initRowIdData(true);\n this.initWidgetSchemaData();\n this.initEventHandler();\n },\n mounted() {\n this.extractFieldWidgetList();\n this.handleSubFormFirstRowAdd(); //默认添加首行后,主动触发相关事件!!\n },\n beforeUnmount() {\n this.unregisterFromRefList();\n },\n methods: {\n extractFieldWidgetList() {\n this.fieldWidgetList.splice(0, this.fieldWidgetList.length);\n const fieldListFn = fw => {\n this.fieldWidgetList.push(fw);\n };\n traverseFieldWidgetsOfContainer(this.widget, fieldListFn);\n },\n\n getLabelAlign(widget, subWidget) {\n return subWidget.options.labelAlign || widget.options.labelAlign;\n },\n\n registerSubFormToRefList() {\n if (this.widget.type === 'grid-sub-form') {\n this.sfRefList[this.widget.options.name] = this;\n }\n },\n\n initRowIdData(initFlag) {\n if (this.widget.type === 'grid-sub-form') {\n this.rowIdData.splice(0, this.rowIdData.length); //清除数组必须用splice,length=0不会响应式更新!!\n // this.rowIdData.push('id' + generateId());\n const subFormModel = this.formModel[this.widget.options.name];\n if (!!subFormModel && subFormModel.length > 0) {\n subFormModel.forEach(() => {\n this.rowIdData.push('id' + generateId());\n });\n\n if (!!initFlag) {\n //注意:事件触发需延期执行,SumFormDataChange事件处理代码中可能存在尚未创建完成的组件!!\n setTimeout(() => {\n this.handleSubFormRowChange(subFormModel);\n }, 800);\n }\n }\n }\n },\n\n addToRowIdData() {\n this.rowIdData.push('id' + generateId());\n },\n\n insertToRowIdData(rowIndex) {\n this.rowIdData.splice(rowIndex, 0, 'id' + generateId());\n },\n\n deleteFromRowIdData(rowIndex) {\n this.rowIdData.splice(rowIndex, 1);\n },\n\n getRowIdData() {\n return this.rowIdData;\n },\n\n getWidgetRefOfSubForm(widgetName, rowIndex) {\n const realWidgetName = widgetName + '@row' + this.rowIdData[rowIndex];\n return this.getWidgetRef(realWidgetName);\n },\n\n initWidgetSchemaData() {\n //初始化widgetSchemaData!!!\n if (this.widget.type !== 'grid-sub-form') {\n return;\n }\n\n const rowLength = this.rowIdData.length;\n this.widgetSchemaData.splice(0, this.widgetSchemaData.length); //清除数组必须用splice,length=0不会响应式更新!!\n if (rowLength > 0) {\n for (let i = 0; i < rowLength; i++) {\n const widgetSchemas = [];\n this.widget.widgetList.forEach(swItem => {\n widgetSchemas.push(this.cloneSchemaOfWidget(swItem));\n });\n this.widgetSchemaData.push(widgetSchemas);\n }\n }\n },\n\n addToWidgetSchemaData(rowIndex) {\n const widgetSchemas = [];\n this.widget.widgetList.forEach(swItem => {\n widgetSchemas.push(this.cloneSchemaOfWidget(swItem));\n });\n\n if (rowIndex === undefined) {\n this.widgetSchemaData.push(widgetSchemas);\n } else {\n this.widgetSchemaData.splice(rowIndex, 0, widgetSchemas);\n }\n },\n\n deleteFromWidgetSchemaData(rowIndex) {\n this.widgetSchemaData.splice(rowIndex, 1);\n },\n\n cloneSchemaOfWidget(widget) {\n const newWidgetSchema = deepClone(widget);\n newWidgetSchema.id = widget.type + generateId();\n return newWidgetSchema;\n },\n\n initEventHandler() {\n if (this.widget.type !== 'grid-sub-form') {\n return;\n }\n\n this.on$('setFormData', newFormData => {\n this.initRowIdData(false);\n this.initWidgetSchemaData();\n\n const subFormData = newFormData[this.widget.options.name] || [];\n setTimeout(() => {\n //延时触发SubFormRowChange事件, 便于更新计算字段!!\n this.handleSubFormRowChange(subFormData);\n }, 800);\n });\n },\n\n handleSubFormFirstRowAdd() {\n if (this.widget.type !== 'grid-sub-form') {\n return;\n }\n\n if (!!this.widget.options.showBlankRow && this.rowIdData.length === 1) {\n const oldSubFormData = this.formModel[this.widget.options.name] || [];\n\n //确认组件创建成功后触发事件!!\n this.$nextTick(() => {\n this.handleSubFormRowAdd(oldSubFormData, this.rowIdData[0]);\n this.handleSubFormRowChange(oldSubFormData);\n });\n }\n },\n\n addSubFormRow() {\n const newSubFormDataRow = {};\n this.fieldWidgetList.forEach(subFormItem => {\n if (!!subFormItem.formItemFlag) {\n newSubFormDataRow[subFormItem.options.name] =\n subFormItem.options.defaultValue;\n }\n });\n\n const oldSubFormData = this.formModel[this.widget.options.name] || [];\n oldSubFormData.push(newSubFormDataRow);\n this.addToRowIdData();\n this.addToWidgetSchemaData();\n\n //确认组件创建成功后触发事件!!\n this.$nextTick(() => {\n this.handleSubFormRowAdd(\n oldSubFormData,\n this.rowIdData[oldSubFormData.length - 1]\n );\n this.handleSubFormRowChange(oldSubFormData);\n });\n },\n\n insertSubFormRow(beforeFormRowIndex) {\n const newSubFormDataRow = {};\n this.fieldWidgetList.forEach(subFormItem => {\n if (!!subFormItem.formItemFlag) {\n newSubFormDataRow[subFormItem.options.name] =\n subFormItem.options.defaultValue;\n }\n });\n\n const oldSubFormData = this.formModel[this.widget.options.name] || [];\n oldSubFormData.splice(beforeFormRowIndex, 0, newSubFormDataRow);\n this.insertToRowIdData(beforeFormRowIndex);\n this.addToWidgetSchemaData(beforeFormRowIndex);\n\n //确认组件创建成功后触发事件!!\n this.$nextTick(() => {\n this.handleSubFormRowInsert(oldSubFormData, this.rowIdData[beforeFormRowIndex]);\n this.handleSubFormRowChange(oldSubFormData);\n });\n },\n\n deleteSubFormRow(formRowIndex) {\n TpfConfirm({\n type: 'confirm',\n content: this.i18nt('render.hint.deleteSubFormRow') + '?',\n title: this.i18nt('render.hint.prompt'),\n okText: this.i18nt('render.hint.confirm'),\n cancelText: this.i18nt('render.hint.cancel')\n })\n .then(() => {\n const oldSubFormData = this.formModel[this.widget.options.name] || [];\n const deletedDataRow = deepClone(oldSubFormData[formRowIndex]);\n oldSubFormData.splice(formRowIndex, 1);\n this.deleteFromRowIdData(formRowIndex);\n this.deleteFromWidgetSchemaData(formRowIndex);\n\n //确认组件创建成功后触发事件!!\n this.$nextTick(() => {\n this.handleSubFormRowDelete(oldSubFormData, deletedDataRow);\n this.handleSubFormRowChange(oldSubFormData);\n });\n })\n .catch(() => {\n //\n });\n },\n\n handleSubFormRowChange(subFormData) {\n if (!!this.widget.options.onSubFormRowChange) {\n const customFunc = new Function(\n 'subFormData',\n this.widget.options.onSubFormRowChange\n );\n customFunc.call(this, subFormData);\n }\n },\n\n handleSubFormRowAdd(subFormData, newRowId) {\n if (!!this.widget.options.onSubFormRowAdd) {\n const customFunc = new Function(\n 'subFormData',\n 'newRowId',\n this.widget.options.onSubFormRowAdd\n );\n customFunc.call(this, subFormData, newRowId);\n }\n },\n\n handleSubFormRowInsert(subFormData, newRowId) {\n if (!!this.widget.options.onSubFormRowInsert) {\n const customFunc = new Function(\n 'subFormData',\n 'newRowId',\n this.widget.options.onSubFormRowInsert\n );\n customFunc.call(this, subFormData, newRowId);\n }\n },\n\n handleSubFormRowDelete(subFormData, deletedDataRow) {\n if (!!this.widget.options.onSubFormRowDelete) {\n const customFunc = new Function(\n 'subFormData',\n 'deletedDataRow',\n this.widget.options.onSubFormRowDelete\n );\n customFunc.call(this, subFormData, deletedDataRow);\n }\n },\n\n setDisabled(flag) {\n if (!!flag) {\n this.disableGridSubForm();\n } else {\n this.enableGridSubForm();\n }\n },\n\n /**\n * 设置单行子表单是否禁止新增、插入记录\n * @param flag\n */\n setInsertDisabled(flag) {\n this.insertDisabled = flag;\n },\n\n /**\n * 设置单行子表单是否禁止删除记录\n * @param flag\n */\n setDeleteDisabled(flag) {\n this.deleteDisabled = flag;\n }\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .sub-form-container {\n margin-bottom: 16px;\n text-align: left;\n background: #fafafa;\n padding: 16px;\n border-radius: 8px;\n\n .header-row {\n margin-top: 15px;\n :deep(.action-button) {\n height: 35px;\n }\n }\n\n .sub-form-row {\n display: flex;\n align-items: center;\n background: white;\n margin: 8px 0;\n border-radius: 6px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);\n .left-action-column {\n order: 0;\n }\n .right-action-column {\n order: 10;\n }\n\n .row-number-span {\n margin-left: 16px;\n }\n }\n }\n\n .sub-form-action-column {\n display: inline-block;\n align-items: center;\n text-align: center;\n padding: 8px;\n }\n\n .grid-sub-form-data-row {\n display: inline-block;\n flex: 1;\n padding: 10px;\n border-left: 1px solid #e1e2e3;\n border-right: 1px solid #e1e2e3;\n order: 2;\n :deep(.ant-form-item) {\n margin-bottom: 0;\n }\n }\n\n div.sub-form-action-column.hide-label {\n }\n\n div.row-no-column {\n display: flex;\n align-items: center;\n width: 50px;\n border-radius: 10px;\n background: #f1f2f3;\n padding: 5px 0;\n margin: 0 6px;\n order: 1;\n font-size: 14px;\n color: #666;\n }\n\n div.sub-form-table-column {\n display: inline-block;\n border: 1px solid #e1e2e3;\n padding: 8px;\n }\n\n div.sub-form-table-column.hide-label {\n }\n .action-button-column {\n width: 140px;\n }\n</style>\n"],"names":["_sfc_main","emitter","i18n","refMixin","containerItemMixin","SvgIcon","ContainerItemWrapper","FieldComponents","fieldListFn","fw","traverseFieldWidgetsOfContainer","widget","subWidget","initFlag","subFormModel","generateId","rowIndex","widgetName","realWidgetName","rowLength","i","widgetSchemas","swItem","newWidgetSchema","deepClone","newFormData","subFormData","oldSubFormData","newSubFormDataRow","subFormItem","beforeFormRowIndex","formRowIndex","TpfConfirm","deletedDataRow","newRowId","flag","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_createBlock","_component_container_item_wrapper","$props","_createElementBlock","_openBlock","_Fragment","_renderList","$data","subFormRowId","sfrIdx","_createElementVNode","_normalizeClass","$options","_createVNode","_component_a_button","_ctx","$event","_component_svg_icon","swIdx","_resolveDynamicComponent","_createTextVNode"],"mappings":"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"}
@@ -158,7 +158,10 @@ const U = {
158
158
  });
159
159
  },
160
160
  handleSubFormRowChange(e) {
161
- this.widget.options.onSubFormRowChange && new Function("subFormData", this.widget.options.onSubFormRowChange).call(this, e);
161
+ this.widget.options.onSubFormRowChange && new Function(
162
+ "subFormData",
163
+ this.widget.options.onSubFormRowChange
164
+ ).call(this, e);
162
165
  },
163
166
  handleSubFormRowAdd(e, t) {
164
167
  this.widget.options.onSubFormRowAdd && new Function(
@@ -420,7 +423,7 @@ function oe(e, t, i, f, l, d) {
420
423
  _: 1
421
424
  }, 8, ["widget"]);
422
425
  }
423
- const pe = /* @__PURE__ */ P(U, [["render", oe], ["__scopeId", "data-v-2d933e53"]]);
426
+ const pe = /* @__PURE__ */ P(U, [["render", oe], ["__scopeId", "data-v-3c5336d4"]]);
424
427
  export {
425
428
  pe as default
426
429
  };