@kp-ui/lowcode 1.0.94 → 1.0.96

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 (161) hide show
  1. package/_virtual/virtual_svg-icons-register.js.map +1 -1
  2. package/package.json +5 -5
  3. package/src/api/useFilesystemApi/filesystem/index.js.map +1 -1
  4. package/src/components/CustomRender/components/AttachmentRender.vue2.js.map +1 -1
  5. package/src/components/CustomRender/components/RenderBodyCell.js.map +1 -1
  6. package/src/components/CustomRender/useCustomRender.js.map +1 -1
  7. package/src/components/code-editor/code-modal-editor.vue.js.map +1 -1
  8. package/src/components/code-editor/index.vue2.js.map +1 -1
  9. package/src/components/form-designer/designer.js.map +1 -1
  10. package/src/components/form-designer/form-widget/container-widget/containerMixin.js.map +1 -1
  11. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js +22 -22
  12. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js.map +1 -1
  13. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js +2 -5
  14. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -1
  15. package/src/components/form-designer/form-widget/container-widget/grid-col-widget.vue.js.map +1 -1
  16. package/src/components/form-designer/form-widget/container-widget/grid-sub-form-widget.vue.js.map +1 -1
  17. package/src/components/form-designer/form-widget/container-widget/grid-widget.vue.js.map +1 -1
  18. package/src/components/form-designer/form-widget/container-widget/index.js.map +1 -1
  19. package/src/components/form-designer/form-widget/container-widget/sub-form-widget.vue.js.map +1 -1
  20. package/src/components/form-designer/form-widget/container-widget/tab-widget.vue.js.map +1 -1
  21. package/src/components/form-designer/form-widget/container-widget/table-cell-widget.vue.js.map +1 -1
  22. package/src/components/form-designer/form-widget/container-widget/table-widget.vue.js.map +1 -1
  23. package/src/components/form-designer/form-widget/container-widget/vf-box-item.vue.js.map +1 -1
  24. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue.js.map +1 -1
  25. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue2.js.map +1 -1
  26. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue.js.map +1 -1
  27. package/src/components/form-designer/form-widget/container-widget/vf-drawer-widget.vue.js.map +1 -1
  28. package/src/components/form-designer/form-widget/field-widget/attachment-render-widget.vue.js.map +1 -1
  29. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget.vue.js.map +1 -1
  30. package/src/components/form-designer/form-widget/field-widget/button-list-widget.vue.js.map +1 -1
  31. package/src/components/form-designer/form-widget/field-widget/button-widget.vue.js.map +1 -1
  32. package/src/components/form-designer/form-widget/field-widget/cascader-widget.vue.js.map +1 -1
  33. package/src/components/form-designer/form-widget/field-widget/checkbox-widget.vue.js.map +1 -1
  34. package/src/components/form-designer/form-widget/field-widget/code-editor-widget.vue.js.map +1 -1
  35. package/src/components/form-designer/form-widget/field-widget/color-widget.vue.js.map +1 -1
  36. package/src/components/form-designer/form-widget/field-widget/date-range-widget.vue.js.map +1 -1
  37. package/src/components/form-designer/form-widget/field-widget/date-widget.vue.js.map +1 -1
  38. package/src/components/form-designer/form-widget/field-widget/divider-widget.vue.js.map +1 -1
  39. package/src/components/form-designer/form-widget/field-widget/diy-compontent-widget.vue.js.map +1 -1
  40. package/src/components/form-designer/form-widget/field-widget/dropdown-widget.vue.js.map +1 -1
  41. package/src/components/form-designer/form-widget/field-widget/fieldMixin.js.map +1 -1
  42. package/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue2.js.map +1 -1
  43. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue.js.map +1 -1
  44. package/src/components/form-designer/form-widget/field-widget/html-text-widget.vue.js.map +1 -1
  45. package/src/components/form-designer/form-widget/field-widget/input-widget.vue.js.map +1 -1
  46. package/src/components/form-designer/form-widget/field-widget/number-widget.vue.js.map +1 -1
  47. package/src/components/form-designer/form-widget/field-widget/radio-widget.vue.js.map +1 -1
  48. package/src/components/form-designer/form-widget/field-widget/rate-widget.vue.js.map +1 -1
  49. package/src/components/form-designer/form-widget/field-widget/rich-editor-widget.vue.js.map +1 -1
  50. package/src/components/form-designer/form-widget/field-widget/select-widget.vue.js.map +1 -1
  51. package/src/components/form-designer/form-widget/field-widget/slider-widget.vue.js.map +1 -1
  52. package/src/components/form-designer/form-widget/field-widget/slot-widget.vue.js.map +1 -1
  53. package/src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue.js.map +1 -1
  54. package/src/components/form-designer/form-widget/field-widget/static-text-widget.vue.js.map +1 -1
  55. package/src/components/form-designer/form-widget/field-widget/switch-widget.vue.js.map +1 -1
  56. package/src/components/form-designer/form-widget/field-widget/textarea-widget.vue.js.map +1 -1
  57. package/src/components/form-designer/form-widget/field-widget/time-range-widget.vue.js.map +1 -1
  58. package/src/components/form-designer/form-widget/field-widget/time-widget.vue.js.map +1 -1
  59. package/src/components/form-designer/form-widget/field-widget/treeSelect-widget.vue.js.map +1 -1
  60. package/src/components/form-designer/form-widget/index.vue.js.map +1 -1
  61. package/src/components/form-designer/index.vue.js +91 -84
  62. package/src/components/form-designer/index.vue.js.map +1 -1
  63. package/src/components/form-designer/refMixinDesign.js.map +1 -1
  64. package/src/components/form-designer/setting-panel/form-setting.vue2.js.map +1 -1
  65. package/src/components/form-designer/setting-panel/index.vue.js.map +1 -1
  66. package/src/components/form-designer/setting-panel/option-items-setting.vue2.js.map +1 -1
  67. package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js.map +1 -1
  68. package/src/components/form-designer/setting-panel/property-editor/button-position-editor.vue2.js.map +1 -1
  69. package/src/components/form-designer/setting-panel/property-editor/code-editor/code-editor-mode.vue.js.map +1 -1
  70. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-customClass-editor.vue.js.map +1 -1
  71. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-dsEnabled-editor.vue.js.map +1 -1
  72. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-pagination-editor.vue.js.map +1 -1
  73. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-rowKey-editor.vue.js.map +1 -1
  74. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-selections-editor.vue.js.map +1 -1
  75. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue.js.map +1 -1
  76. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showIndex-editor.vue.js.map +1 -1
  77. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-stripe-editor.vue.js.map +1 -1
  78. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue.js +2 -2
  79. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js +70 -74
  80. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js.map +1 -1
  81. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableHeight-editor.vue.js.map +1 -1
  82. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableSize-editor.vue.js.map +1 -1
  83. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableWidth-editor.vue.js.map +1 -1
  84. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-treeDataEnabled-editor.vue.js.map +1 -1
  85. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue.js.map +1 -1
  86. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue.js.map +1 -1
  87. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-tabBarGutter-editor.vue.js.map +1 -1
  88. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-tabPosition-editor.vue.js.map +1 -1
  89. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-type-editor.vue.js.map +1 -1
  90. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/bodyStyle-editor.vue2.js.map +1 -1
  91. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/formCode-editor.vue.js.map +1 -1
  92. package/src/components/form-designer/setting-panel/property-editor/customClass-editor.vue.js.map +1 -1
  93. package/src/components/form-designer/setting-panel/property-editor/event-handler/eventMixin.js.map +1 -1
  94. package/src/components/form-designer/setting-panel/property-editor/field-dropdown/dropdown-menuList-editor.vue.js.map +1 -1
  95. package/src/components/form-designer/setting-panel/property-editor/field-select/mode-editor.vue.js.map +1 -1
  96. package/src/components/form-designer/setting-panel/property-editor/max-editor.vue.js.map +1 -1
  97. package/src/components/form-designer/setting-panel/property-editor/maxLength-editor.vue.js.map +1 -1
  98. package/src/components/form-designer/setting-panel/property-editor/min-editor.vue.js.map +1 -1
  99. package/src/components/form-designer/setting-panel/property-editor/minLength-editor.vue.js.map +1 -1
  100. package/src/components/form-designer/setting-panel/property-editor/name-editor.vue.js.map +1 -1
  101. package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue.js.map +1 -1
  102. package/src/components/form-designer/setting-panel/property-editor/placement-editor.vue.js.map +1 -1
  103. package/src/components/form-designer/setting-panel/property-editor/propertyMixin.js.map +1 -1
  104. package/src/components/form-designer/setting-panel/property-editor/rightSlotCss-editor.vue.js.map +1 -1
  105. package/src/components/form-designer/toolbar-panel/index.vue.js +2 -2
  106. package/src/components/form-designer/toolbar-panel/index.vue2.js +1 -5
  107. package/src/components/form-designer/toolbar-panel/index.vue2.js.map +1 -1
  108. package/src/components/form-designer/widget-panel/index.vue.js.map +1 -1
  109. package/src/components/form-render/SubmitButtonRender.vue.js.map +1 -1
  110. package/src/components/form-render/container-item/containerItemMixin.js.map +1 -1
  111. package/src/components/form-render/container-item/data-table-item.vue.js +4 -5
  112. package/src/components/form-render/container-item/data-table-item.vue.js.map +1 -1
  113. package/src/components/form-render/container-item/grid-col-item.vue.js.map +1 -1
  114. package/src/components/form-render/container-item/grid-item.vue.js.map +1 -1
  115. package/src/components/form-render/container-item/grid-sub-form-item.vue.js +10 -5
  116. package/src/components/form-render/container-item/grid-sub-form-item.vue.js.map +1 -1
  117. package/src/components/form-render/container-item/index.js.map +1 -1
  118. package/src/components/form-render/container-item/sub-form-item.vue.js.map +1 -1
  119. package/src/components/form-render/container-item/tab-item.vue.js.map +1 -1
  120. package/src/components/form-render/container-item/table-cell-item.vue.js.map +1 -1
  121. package/src/components/form-render/container-item/table-item.vue.js.map +1 -1
  122. package/src/components/form-render/container-item/vf-collapse-item.vue.js.map +1 -1
  123. package/src/components/form-render/dynamic-dialog.vue.js.map +1 -1
  124. package/src/components/form-render/dynamic-drawer.vue.js.map +1 -1
  125. package/src/components/form-render/index.vue.js +120 -106
  126. package/src/components/form-render/index.vue.js.map +1 -1
  127. package/src/components/form-render/refMixin.js.map +1 -1
  128. package/src/components/http-editor/index.vue.js.map +1 -1
  129. package/src/components/public/ActionButtonListDialog.vue.js +10 -10
  130. package/src/components/public/ActionButtonListDialog.vue.js.map +1 -1
  131. package/src/components/public/ActionButtonListDialog.vue2.js +24 -28
  132. package/src/components/public/ActionButtonListDialog.vue2.js.map +1 -1
  133. package/src/components/public/ActionButtonListRender.vue2.js.map +1 -1
  134. package/src/components/public/CustomerModal/CustomerModal.vue2.js.map +1 -1
  135. package/src/components/public/CustomerModal/useCustomerModal.js.map +1 -1
  136. package/src/components/public/QuillEditor/index.vue.js.map +1 -1
  137. package/src/components/public/methoad-item.vue.js.map +1 -1
  138. package/src/components/svg-icon/FileIcon.js.map +1 -1
  139. package/src/hooks/TpfConfirm.js.map +1 -1
  140. package/src/hooks/useFilePreview.js.map +1 -1
  141. package/src/hooks/useLowcode.js.map +1 -1
  142. package/src/lib/vuedraggable/src/core/componentBuilderHelper.js.map +1 -1
  143. package/src/lib/vuedraggable/src/core/componentStructure.js.map +1 -1
  144. package/src/lib/vuedraggable/src/util/string.js.map +1 -1
  145. package/src/lib/vuedraggable/src/vuedraggable.js.map +1 -1
  146. package/src/mixins/useDataTableMixin.js +2 -2
  147. package/src/mixins/useDataTableMixin.js.map +1 -1
  148. package/src/mixins/useSelectMixin.js.map +1 -1
  149. package/src/utils/emitter.js.map +1 -1
  150. package/src/utils/executeFunction.js.map +1 -1
  151. package/src/utils/format.js.map +1 -1
  152. package/src/utils/i18n.js.map +1 -1
  153. package/src/utils/request/fmtHttpParams.js.map +1 -1
  154. package/src/utils/request/handleAxiosError.js.map +1 -1
  155. package/src/utils/request/http.js.map +1 -1
  156. package/src/utils/smart-vue-i18n/index.js.map +1 -1
  157. package/src/utils/smart-vue-i18n/utils.js.map +1 -1
  158. package/src/utils/util.js.map +1 -1
  159. package/src/utils/validators.js.map +1 -1
  160. package/stats.html +1 -1
  161. package/styles/style.css +1 -1
@@ -24,11 +24,7 @@ const Ie = { class: "toolbar-container" }, Me = { class: "left-toolbar" }, Ue =
24
24
  We();
25
25
  const a = Q, G = Le("getDesignerConfig"), j = u(null), f = u(null), V = u(null);
26
26
  u(null);
27
- const X = u({ type: "add", ...z() }), L = u(G()), $ = u(460), x = u(!1), O = u(!1), C = u(!1), H = u(!1), S = u([]), B = u(""), N = u("");
28
- u("");
29
- const Y = u("");
30
- u("");
31
- const Z = u(""), ee = u({
27
+ const X = u({ type: "add", ...z() }), L = u(G()), $ = u(460), x = u(!1), O = u(!1), C = u(!1), H = u(!1), S = u([]), B = u(""), N = u(""), Y = u(""), Z = u(""), ee = u({
32
28
  select62173: 2
33
29
  }), A = w(() => ({
34
30
  widgetList: T(a.designer.widgetList),
@@ -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, watch } from 'vue';\n import { 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 { generateCode } from '@/utils/code-generator';\n // import { genSFC } from '@/utils/sfc-generator';\n // import loadBeautifier from '@/utils/beautifierLoader';\n import { saveAs } from 'file-saver';\n import axios from 'axios';\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 jsonRawContent = ref('');\n const formDataJson = ref('');\n const formDataRawJson = 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\n const findWidgetById = (wId: string) => {\n let foundW = null;\n traverseAllWidgets(props.designer.widgetList, (w: any) => {\n if (w.id === wId) {\n foundW = w;\n }\n });\n\n return foundW;\n };\n\n const onNodeTreeClick = (nodeData: any, node: any, nodeEl: any) => {\n if (nodeData.selectable !== undefined && !nodeData.selectable) {\n message.info(i18nt('designer.hint.currentNodeCannotBeSelected'));\n } else {\n const selectedId = nodeData.id;\n const foundW = findWidgetById(selectedId);\n if (!!foundW) {\n props.designer.setSelected(foundW);\n }\n }\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 :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 +1 @@
1
- {"version":3,"file":"index.vue.js","sources":["../../../../../src/components/form-designer/widget-panel/index.vue"],"sourcesContent":["<template>\n <div class=\"side-scroll-bar\">\n <div class=\"panel-container\">\n <a-tabs v-model:activeKey=\"firstTab\" class=\"no-bottom-margin indent-left-margin\">\n <a-tab-pane key=\"componentLib\">\n <template #tab>\n <span\n ><svg-icon icon-class=\"el-set-up\" />\n {{ i18nt('designer.componentLib') }}</span\n >\n </template>\n\n <a-collapse v-model:activeKey=\"activeNames\" class=\"widget-collapse\">\n <a-collapse-panel\n key=\"containerTitle\"\n :header=\"i18nt('designer.containerTitle')\"\n >\n <draggable\n tag=\"ul\"\n :list=\"containers\"\n item-key=\"key\"\n :group=\"{ name: 'dragGroup', pull: 'clone', put: false }\"\n :clone=\"handleContainerWidgetClone\"\n ghost-class=\"ghost\"\n :sort=\"false\"\n :move=\"checkContainerMove\"\n @end=\"onContainerDragEnd\"\n >\n <template #item=\"{ element: ctn }\">\n <li\n class=\"container-widget-item\"\n :title=\"ctn.displayName\"\n @dblclick=\"addContainerByDbClick(ctn)\"\n >\n <span>\n <svg-icon\n :icon-class=\"ctn.icon\"\n class-name=\"color-svg-icon\"\n />\n {{\n ctn.showName ||\n i18n2t(\n `designer.widgetLabel.${ctn.type}`,\n `extension.widgetLabel.${ctn.type}`\n )\n }}\n </span>\n </li>\n </template>\n </draggable>\n </a-collapse-panel>\n\n <a-collapse-panel\n key=\"basicFieldTitle\"\n :header=\"i18nt('designer.basicFieldTitle')\"\n >\n <draggable\n tag=\"ul\"\n :list=\"basicFields\"\n item-key=\"key\"\n :group=\"{ name: 'dragGroup', pull: 'clone', put: false }\"\n :move=\"checkFieldMove\"\n :clone=\"handleFieldWidgetClone\"\n ghost-class=\"ghost\"\n :sort=\"false\"\n >\n <template #item=\"{ element: fld }\">\n <li\n class=\"field-widget-item\"\n :title=\"fld.displayName\"\n @dblclick=\"addFieldByDbClick(fld)\"\n >\n <span>\n <svg-icon\n :icon-class=\"fld.icon\"\n class-name=\"color-svg-icon\"\n />\n {{\n fld.showName ||\n i18n2t(\n `designer.widgetLabel.${fld.type}`,\n `extension.widgetLabel.${fld.type}`\n )\n }}\n </span>\n </li>\n </template>\n </draggable>\n </a-collapse-panel>\n\n <a-collapse-panel\n key=\"advancedFieldTitle\"\n :header=\"i18nt('designer.advancedFieldTitle')\"\n >\n <draggable\n tag=\"ul\"\n :list=\"advancedFields\"\n item-key=\"key\"\n :group=\"{ name: 'dragGroup', pull: 'clone', put: false }\"\n :move=\"checkFieldMove\"\n :clone=\"handleFieldWidgetClone\"\n ghost-class=\"ghost\"\n :sort=\"false\"\n >\n <template #item=\"{ element: fld }\">\n <li\n class=\"field-widget-item\"\n :title=\"fld.displayName\"\n @dblclick=\"addFieldByDbClick(fld)\"\n >\n <span>\n <svg-icon\n :icon-class=\"fld.icon\"\n class-name=\"color-svg-icon\"\n />\n {{\n fld.showName ||\n i18n2t(\n `designer.widgetLabel.${fld.type}`,\n `extension.widgetLabel.${fld.type}`\n )\n }}\n </span>\n </li>\n </template>\n </draggable>\n </a-collapse-panel>\n <a-collapse-panel key=\"yyzj\" :header=\"`业务组件`\" v-if=\"0\">\n <draggable\n tag=\"ul\"\n :list=\"businessFields\"\n item-key=\"key\"\n :group=\"{ name: 'dragGroup', pull: 'clone', put: false }\"\n :move=\"checkFieldMove\"\n :clone=\"handleFieldWidgetClone\"\n ghost-class=\"ghost\"\n :sort=\"false\"\n >\n <template #item=\"{ element: bfld }\">\n <li\n class=\"field-widget-item\"\n :title=\"bfld.displayName\"\n @dblclick=\"addFieldByDbClick(bfld)\"\n >\n <span>\n <svg-icon\n :icon-class=\"bfld.icon\"\n class-name=\"color-svg-icon\"\n />\n {{\n bfld.showName ||\n i18n2t(\n `designer.widgetLabel.${bfld.type}`,\n `extension.widgetLabel.${bfld.type}`\n )\n }}\n </span>\n </li>\n </template>\n </draggable>\n </a-collapse-panel>\n\n <a-collapse-panel\n v-if=\"customFields.length\"\n key=\"customFieldTitle\"\n :header=\"i18nt('designer.customFieldTitle')\"\n >\n <draggable\n tag=\"ul\"\n :list=\"customFields\"\n item-key=\"key\"\n :group=\"{ name: 'dragGroup', pull: 'clone', put: false }\"\n :move=\"checkFieldMove\"\n :clone=\"handleFieldWidgetClone\"\n ghost-class=\"ghost\"\n :sort=\"false\"\n >\n <template #item=\"{ element: fld }\">\n <li\n class=\"field-widget-item\"\n :title=\"fld.displayName\"\n @dblclick=\"addFieldByDbClick(fld)\"\n >\n <span>\n <svg-icon\n :icon-class=\"fld.icon\"\n class-name=\"color-svg-icon\"\n />\n {{\n i18n2t(\n `designer.widgetLabel.${fld.type}`,\n `extension.widgetLabel.${fld.type}`\n )\n }}\n </span>\n </li>\n </template>\n </draggable>\n </a-collapse-panel>\n </a-collapse>\n </a-tab-pane>\n\n <a-tab-pane v-if=\"false && showFormTemplates()\" key=\"formLib\" style=\"padding: 8px\">\n <template #tab>\n <span>\n <svg-icon icon-class=\"el-form-template\" />\n {{ i18nt('designer.formLib') }}\n </span>\n </template>\n\n <template v-for=\"(ft, idx) in formTemplates\" :key=\"idx\">\n <a-card :body-style=\"{ padding: '0' }\" shadow=\"hover\" class=\"ft-card\">\n <a-popover placement=\"right\" trigger=\"hover\">\n <template #content>\n <img :src=\"ftImages[idx].imgUrl\" style=\"width: 200px\" />\n </template>\n <img\n :src=\"ftImages[idx].imgUrl\"\n style=\"height: 600px; width: 720px\"\n />\n </a-popover>\n <div class=\"bottom clear-fix\">\n <span class=\"ft-title\">#{{ idx + 1 }} {{ ft.title }}</span>\n <a-button\n type=\"text\"\n class=\"right-button\"\n @click=\"loadFormTemplate(ft.jsonUrl)\"\n >\n {{ i18nt('designer.hint.loadFormTemplate') }}\n </a-button>\n </div>\n </a-card>\n </template>\n </a-tab-pane>\n </a-tabs>\n </div>\n </div>\n</template>\n\n<script>\n import SvgIcon from '@/components/svg-icon';\n import Draggable from '@/lib/vuedraggable/src/vuedraggable';\n import {\n containers as CONS,\n basicFields as BFS,\n advancedFields as AFS,\n customFields as CFS,\n businessFields as BUFS\n } from './widgetsConfig';\n import { formTemplates } from './templatesConfig';\n import { addWindowResizeHandler, generateId } from '@/utils/util';\n import i18n from '@/utils/i18n';\n import axios from 'axios';\n\n import { TpfConfirm } from '@/hooks/TpfConfirm';\n\n export default {\n name: 'FieldPanel',\n mixins: [i18n],\n components: { SvgIcon, Draggable },\n props: {\n designer: Object\n },\n inject: ['getBannedWidgets', 'getDesignerConfig'],\n data() {\n return {\n designerConfig: this.getDesignerConfig(),\n\n firstTab: 'componentLib',\n\n scrollerHeight: 0,\n\n activeNames: [\n 'containerTitle',\n 'basicFieldTitle',\n 'advancedFieldTitle',\n 'yyzj',\n 'customFieldTitle'\n ],\n\n containers: [],\n basicFields: [],\n advancedFields: [],\n customFields: [],\n businessFields: [],\n\n formTemplates: formTemplates,\n ftImages: []\n };\n },\n computed: {\n //\n },\n created() {\n this.loadWidgets();\n },\n mounted() {\n //this.loadWidgets()\n\n this.scrollerHeight = window.innerHeight - 56 + 'px';\n addWindowResizeHandler(() => {\n this.$nextTick(() => {\n this.scrollerHeight = window.innerHeight - 56 + 'px';\n //console.log(this.scrollerHeight)\n });\n });\n },\n methods: {\n isBanned(wName) {\n return this.getBannedWidgets().indexOf(wName) > -1;\n },\n\n showFormTemplates() {\n if (this.designerConfig['formTemplates'] === undefined) {\n return true;\n }\n\n return !!this.designerConfig['formTemplates'];\n },\n\n loadWidgets() {\n this.containers = CONS.map(con => {\n return {\n key: generateId(),\n ...con,\n displayName: this.i18n2t(\n `designer.widgetLabel.${con.type}`,\n `extension.widgetLabel.${con.type}`\n )\n };\n }).filter(con => {\n return !con.internal && !this.isBanned(con.type);\n });\n\n this.basicFields = BFS.map(fld => {\n return {\n key: generateId(),\n ...fld,\n displayName: this.i18n2t(\n `designer.widgetLabel.${fld.type}`,\n `extension.widgetLabel.${fld.type}`\n )\n };\n }).filter(fld => {\n return !this.isBanned(fld.type);\n });\n\n this.advancedFields = AFS.map(fld => {\n return {\n key: generateId(),\n ...fld,\n displayName: this.i18n2t(\n `designer.widgetLabel.${fld.type}`,\n `extension.widgetLabel.${fld.type}`\n )\n };\n }).filter(fld => {\n return !this.isBanned(fld.type);\n });\n\n this.customFields = CFS.map(fld => {\n return {\n key: generateId(),\n ...fld,\n displayName: this.i18n2t(\n `designer.widgetLabel.${fld.type}`,\n `extension.widgetLabel.${fld.type}`\n )\n };\n }).filter(fld => {\n return !this.isBanned(fld.type);\n });\n this.businessFields = BUFS.map(fld => {\n return {\n key: generateId(),\n ...fld,\n displayName: this.i18n2t(\n `designer.widgetLabel.${fld.type}`,\n `extension.widgetLabel.${fld.type}`\n )\n };\n }).filter(fld => {\n return !this.isBanned(fld.type);\n });\n },\n\n handleContainerWidgetClone(origin) {\n return this.designer.copyNewContainerWidget(origin);\n },\n\n handleFieldWidgetClone(origin) {\n return this.designer.copyNewFieldWidget(origin);\n },\n\n /* draggable组件的move钩子是在内部子组件被拖放到其他draggable组件时触发!! */\n checkContainerMove(evt) {\n return this.designer.checkWidgetMove(evt);\n },\n\n /* draggable组件的move钩子是在内部子组件被拖放到其他draggable组件时触发!! */\n checkFieldMove(evt) {\n return this.designer.checkFieldMove(evt);\n },\n\n onContainerDragEnd(evt) {\n //console.log('Drag end of container: ')\n //console.log(evt)\n },\n\n addContainerByDbClick(container) {\n this.designer.addContainerByDbClick(container);\n },\n\n addFieldByDbClick(widget) {\n this.designer.addFieldByDbClick(widget);\n },\n\n loadFormTemplate(jsonUrl) {\n TpfConfirm({\n type: 'confirm',\n content: this.i18nt('designer.setting.loadFormTemplateHint'),\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 axios\n .get(jsonUrl)\n .then(res => {\n let modifiedFlag = false;\n if (typeof res.data === 'string') {\n modifiedFlag = this.designer.loadFormJson(JSON.parse(res.data));\n } else if (res.data.constructor === Object) {\n modifiedFlag = this.designer.loadFormJson(res.data);\n }\n if (modifiedFlag) {\n this.designer.emitHistoryChange();\n }\n\n this.$message.success(\n this.i18nt('designer.hint.loadFormTemplateSuccess')\n );\n })\n .catch(error => {\n this.$message.error(\n this.i18nt('designer.hint.loadFormTemplateFailed') + ':' + error\n );\n });\n })\n .catch(error => {\n console.error(error);\n });\n }\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .color-svg-icon {\n color: var(--ant-primary-4);\n }\n\n div.panel-container {\n :deep(.ant-tabs-nav) {\n margin-bottom: 0;\n height: 42px;\n }\n }\n\n .no-bottom-margin :deep(.ant-collapse-header) {\n margin-bottom: 0;\n padding: 8px !important;\n }\n\n .indent-left-margin {\n :deep(.ant-tabs-nav) {\n margin-left: 20px;\n }\n }\n .ant-collapse-item :deep(ul) > li {\n list-style: none;\n }\n\n .widget-collapse {\n border-top-width: 0;\n\n :deep(.ant-collapse-content) {\n > .ant-collapse-content-box {\n padding: 4px;\n }\n\n ul {\n padding: 0;\n margin: 0;\n margin-block-start: 0;\n margin-block-end: 0.1em;\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n\n &:after {\n content: '';\n display: block;\n clear: both;\n }\n\n .container-widget-item,\n .field-widget-item {\n width: calc(50% - 2px);\n padding: 6px 8px;\n border-radius: 6px;\n cursor: move;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n background: #f5f7fa;\n border: 1px solid #e4e7ed;\n transition: all 0.3s ease;\n display: flex;\n align-items: center;\n gap: 4px;\n\n .svg-icon {\n font-size: 16px;\n }\n\n &:hover {\n background: #ecf5ff;\n border-color: var(--ant-primary-4);\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\n transform: translateY(-1px);\n }\n }\n\n .drag-handler {\n position: absolute;\n top: 0;\n left: 160px;\n background-color: #dddddd;\n border-radius: 5px;\n padding-right: 5px;\n font-size: 11px;\n color: #666666;\n }\n }\n }\n }\n\n .ft-card {\n margin-bottom: 10px;\n\n .bottom {\n margin-top: 10px;\n line-height: 12px;\n }\n\n .ft-title {\n font-size: 13px;\n font-weight: bold;\n }\n\n .right-button {\n padding: 0;\n float: right;\n }\n\n .clear-fix:before,\n .clear-fix:after {\n display: table;\n content: '';\n }\n\n .clear-fix:after {\n clear: both;\n }\n }\n .ant-collapse {\n border: none;\n }\n .ant-collapse > .ant-collapse-item {\n border-bottom: none;\n }\n .side-scroll-bar {\n height: 100%;\n overflow: auto;\n\n .panel-container {\n height: 100%;\n overflow: auto;\n & > .ant-tabs {\n height: 100%;\n overflow: auto;\n display: flex;\n flex-direction: column;\n :deep(.ant-tabs-content-holder) {\n flex: 1 0 0;\n overflow: auto;\n }\n }\n }\n }\n</style>\n"],"names":["_sfc_main","i18n","SvgIcon","Draggable","formTemplates","addWindowResizeHandler","wName","CONS","con","generateId","BFS","fld","AFS","CFS","BUFS","origin","evt","container","widget","jsonUrl","TpfConfirm","axios","res","modifiedFlag","error","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_createElementVNode","_createVNode","_component_a_tabs","$data","$event","_component_a_tab_pane","_component_svg_icon","_createTextVNode","_ctx","_component_a_collapse","_component_a_collapse_panel","_component_draggable","$options","_withCtx","ctn","_toDisplayString","_createBlock"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue.js","sources":["../../../../../src/components/form-designer/widget-panel/index.vue"],"sourcesContent":["<template>\n <div class=\"side-scroll-bar\">\n <div class=\"panel-container\">\n <a-tabs v-model:activeKey=\"firstTab\" class=\"no-bottom-margin indent-left-margin\">\n <a-tab-pane key=\"componentLib\">\n <template #tab>\n <span\n ><svg-icon icon-class=\"el-set-up\" />\n {{ i18nt('designer.componentLib') }}</span\n >\n </template>\n\n <a-collapse v-model:activeKey=\"activeNames\" class=\"widget-collapse\">\n <a-collapse-panel\n key=\"containerTitle\"\n :header=\"i18nt('designer.containerTitle')\"\n >\n <draggable\n tag=\"ul\"\n :list=\"containers\"\n item-key=\"key\"\n :group=\"{ name: 'dragGroup', pull: 'clone', put: false }\"\n :clone=\"handleContainerWidgetClone\"\n ghost-class=\"ghost\"\n :sort=\"false\"\n :move=\"checkContainerMove\"\n @end=\"onContainerDragEnd\"\n >\n <template #item=\"{ element: ctn }\">\n <li\n class=\"container-widget-item\"\n :title=\"ctn.displayName\"\n @dblclick=\"addContainerByDbClick(ctn)\"\n >\n <span>\n <svg-icon\n :icon-class=\"ctn.icon\"\n class-name=\"color-svg-icon\"\n />\n {{\n ctn.showName ||\n i18n2t(\n `designer.widgetLabel.${ctn.type}`,\n `extension.widgetLabel.${ctn.type}`\n )\n }}\n </span>\n </li>\n </template>\n </draggable>\n </a-collapse-panel>\n\n <a-collapse-panel\n key=\"basicFieldTitle\"\n :header=\"i18nt('designer.basicFieldTitle')\"\n >\n <draggable\n tag=\"ul\"\n :list=\"basicFields\"\n item-key=\"key\"\n :group=\"{ name: 'dragGroup', pull: 'clone', put: false }\"\n :move=\"checkFieldMove\"\n :clone=\"handleFieldWidgetClone\"\n ghost-class=\"ghost\"\n :sort=\"false\"\n >\n <template #item=\"{ element: fld }\">\n <li\n class=\"field-widget-item\"\n :title=\"fld.displayName\"\n @dblclick=\"addFieldByDbClick(fld)\"\n >\n <span>\n <svg-icon\n :icon-class=\"fld.icon\"\n class-name=\"color-svg-icon\"\n />\n {{\n fld.showName ||\n i18n2t(\n `designer.widgetLabel.${fld.type}`,\n `extension.widgetLabel.${fld.type}`\n )\n }}\n </span>\n </li>\n </template>\n </draggable>\n </a-collapse-panel>\n\n <a-collapse-panel\n key=\"advancedFieldTitle\"\n :header=\"i18nt('designer.advancedFieldTitle')\"\n >\n <draggable\n tag=\"ul\"\n :list=\"advancedFields\"\n item-key=\"key\"\n :group=\"{ name: 'dragGroup', pull: 'clone', put: false }\"\n :move=\"checkFieldMove\"\n :clone=\"handleFieldWidgetClone\"\n ghost-class=\"ghost\"\n :sort=\"false\"\n >\n <template #item=\"{ element: fld }\">\n <li\n class=\"field-widget-item\"\n :title=\"fld.displayName\"\n @dblclick=\"addFieldByDbClick(fld)\"\n >\n <span>\n <svg-icon\n :icon-class=\"fld.icon\"\n class-name=\"color-svg-icon\"\n />\n {{\n fld.showName ||\n i18n2t(\n `designer.widgetLabel.${fld.type}`,\n `extension.widgetLabel.${fld.type}`\n )\n }}\n </span>\n </li>\n </template>\n </draggable>\n </a-collapse-panel>\n <a-collapse-panel key=\"yyzj\" :header=\"`业务组件`\" v-if=\"0\">\n <draggable\n tag=\"ul\"\n :list=\"businessFields\"\n item-key=\"key\"\n :group=\"{ name: 'dragGroup', pull: 'clone', put: false }\"\n :move=\"checkFieldMove\"\n :clone=\"handleFieldWidgetClone\"\n ghost-class=\"ghost\"\n :sort=\"false\"\n >\n <template #item=\"{ element: bfld }\">\n <li\n class=\"field-widget-item\"\n :title=\"bfld.displayName\"\n @dblclick=\"addFieldByDbClick(bfld)\"\n >\n <span>\n <svg-icon\n :icon-class=\"bfld.icon\"\n class-name=\"color-svg-icon\"\n />\n {{\n bfld.showName ||\n i18n2t(\n `designer.widgetLabel.${bfld.type}`,\n `extension.widgetLabel.${bfld.type}`\n )\n }}\n </span>\n </li>\n </template>\n </draggable>\n </a-collapse-panel>\n\n <a-collapse-panel\n v-if=\"customFields.length\"\n key=\"customFieldTitle\"\n :header=\"i18nt('designer.customFieldTitle')\"\n >\n <draggable\n tag=\"ul\"\n :list=\"customFields\"\n item-key=\"key\"\n :group=\"{ name: 'dragGroup', pull: 'clone', put: false }\"\n :move=\"checkFieldMove\"\n :clone=\"handleFieldWidgetClone\"\n ghost-class=\"ghost\"\n :sort=\"false\"\n >\n <template #item=\"{ element: fld }\">\n <li\n class=\"field-widget-item\"\n :title=\"fld.displayName\"\n @dblclick=\"addFieldByDbClick(fld)\"\n >\n <span>\n <svg-icon\n :icon-class=\"fld.icon\"\n class-name=\"color-svg-icon\"\n />\n {{\n i18n2t(\n `designer.widgetLabel.${fld.type}`,\n `extension.widgetLabel.${fld.type}`\n )\n }}\n </span>\n </li>\n </template>\n </draggable>\n </a-collapse-panel>\n </a-collapse>\n </a-tab-pane>\n\n <a-tab-pane v-if=\"false && showFormTemplates()\" key=\"formLib\" style=\"padding: 8px\">\n <template #tab>\n <span>\n <svg-icon icon-class=\"el-form-template\" />\n {{ i18nt('designer.formLib') }}\n </span>\n </template>\n\n <template v-for=\"(ft, idx) in formTemplates\" :key=\"idx\">\n <a-card :body-style=\"{ padding: '0' }\" shadow=\"hover\" class=\"ft-card\">\n <a-popover placement=\"right\" trigger=\"hover\">\n <template #content>\n <img :src=\"ftImages[idx].imgUrl\" style=\"width: 200px\" />\n </template>\n <img\n :src=\"ftImages[idx].imgUrl\"\n style=\"height: 600px; width: 720px\"\n />\n </a-popover>\n <div class=\"bottom clear-fix\">\n <span class=\"ft-title\">#{{ idx + 1 }} {{ ft.title }}</span>\n <a-button\n type=\"text\"\n class=\"right-button\"\n @click=\"loadFormTemplate(ft.jsonUrl)\"\n >\n {{ i18nt('designer.hint.loadFormTemplate') }}\n </a-button>\n </div>\n </a-card>\n </template>\n </a-tab-pane>\n </a-tabs>\n </div>\n </div>\n</template>\n\n<script>\n import SvgIcon from '@/components/svg-icon';\n import Draggable from '@/lib/vuedraggable/src/vuedraggable';\n import {\n containers as CONS,\n basicFields as BFS,\n advancedFields as AFS,\n customFields as CFS,\n businessFields as BUFS\n } from './widgetsConfig';\n import { formTemplates } from './templatesConfig';\n import { addWindowResizeHandler, generateId } from '@/utils/util';\n import i18n from '@/utils/i18n';\n import axios from 'axios';\n\n import { TpfConfirm } from '@/hooks/TpfConfirm';\n\n export default {\n name: 'FieldPanel',\n mixins: [i18n],\n components: { SvgIcon, Draggable },\n props: {\n designer: Object\n },\n inject: ['getBannedWidgets', 'getDesignerConfig'],\n data() {\n return {\n designerConfig: this.getDesignerConfig(),\n\n firstTab: 'componentLib',\n\n scrollerHeight: 0,\n\n activeNames: [\n 'containerTitle',\n 'basicFieldTitle',\n 'advancedFieldTitle',\n 'yyzj',\n 'customFieldTitle'\n ],\n\n containers: [],\n basicFields: [],\n advancedFields: [],\n customFields: [],\n businessFields: [],\n\n formTemplates: formTemplates,\n ftImages: []\n };\n },\n computed: {\n //\n },\n created() {\n this.loadWidgets();\n },\n mounted() {\n //this.loadWidgets()\n\n this.scrollerHeight = window.innerHeight - 56 + 'px';\n addWindowResizeHandler(() => {\n this.$nextTick(() => {\n this.scrollerHeight = window.innerHeight - 56 + 'px';\n //console.log(this.scrollerHeight)\n });\n });\n },\n methods: {\n isBanned(wName) {\n return this.getBannedWidgets().indexOf(wName) > -1;\n },\n\n showFormTemplates() {\n if (this.designerConfig['formTemplates'] === undefined) {\n return true;\n }\n\n return !!this.designerConfig['formTemplates'];\n },\n\n loadWidgets() {\n this.containers = CONS.map(con => {\n return {\n key: generateId(),\n ...con,\n displayName: this.i18n2t(\n `designer.widgetLabel.${con.type}`,\n `extension.widgetLabel.${con.type}`\n )\n };\n }).filter(con => {\n return !con.internal && !this.isBanned(con.type);\n });\n\n this.basicFields = BFS.map(fld => {\n return {\n key: generateId(),\n ...fld,\n displayName: this.i18n2t(\n `designer.widgetLabel.${fld.type}`,\n `extension.widgetLabel.${fld.type}`\n )\n };\n }).filter(fld => {\n return !this.isBanned(fld.type);\n });\n\n this.advancedFields = AFS.map(fld => {\n return {\n key: generateId(),\n ...fld,\n displayName: this.i18n2t(\n `designer.widgetLabel.${fld.type}`,\n `extension.widgetLabel.${fld.type}`\n )\n };\n }).filter(fld => {\n return !this.isBanned(fld.type);\n });\n\n this.customFields = CFS.map(fld => {\n return {\n key: generateId(),\n ...fld,\n displayName: this.i18n2t(\n `designer.widgetLabel.${fld.type}`,\n `extension.widgetLabel.${fld.type}`\n )\n };\n }).filter(fld => {\n return !this.isBanned(fld.type);\n });\n this.businessFields = BUFS.map(fld => {\n return {\n key: generateId(),\n ...fld,\n displayName: this.i18n2t(\n `designer.widgetLabel.${fld.type}`,\n `extension.widgetLabel.${fld.type}`\n )\n };\n }).filter(fld => {\n return !this.isBanned(fld.type);\n });\n },\n\n handleContainerWidgetClone(origin) {\n return this.designer.copyNewContainerWidget(origin);\n },\n\n handleFieldWidgetClone(origin) {\n return this.designer.copyNewFieldWidget(origin);\n },\n\n /* draggable组件的move钩子是在内部子组件被拖放到其他draggable组件时触发!! */\n checkContainerMove(evt) {\n return this.designer.checkWidgetMove(evt);\n },\n\n /* draggable组件的move钩子是在内部子组件被拖放到其他draggable组件时触发!! */\n checkFieldMove(evt) {\n return this.designer.checkFieldMove(evt);\n },\n\n onContainerDragEnd(evt) {\n //console.log('Drag end of container: ')\n //console.log(evt)\n },\n\n addContainerByDbClick(container) {\n this.designer.addContainerByDbClick(container);\n },\n\n addFieldByDbClick(widget) {\n this.designer.addFieldByDbClick(widget);\n },\n\n loadFormTemplate(jsonUrl) {\n TpfConfirm({\n type: 'confirm',\n content: this.i18nt('designer.setting.loadFormTemplateHint'),\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 axios\n .get(jsonUrl)\n .then(res => {\n let modifiedFlag = false;\n if (typeof res.data === 'string') {\n modifiedFlag = this.designer.loadFormJson(JSON.parse(res.data));\n } else if (res.data.constructor === Object) {\n modifiedFlag = this.designer.loadFormJson(res.data);\n }\n if (modifiedFlag) {\n this.designer.emitHistoryChange();\n }\n\n this.$message.success(\n this.i18nt('designer.hint.loadFormTemplateSuccess')\n );\n })\n .catch(error => {\n this.$message.error(\n this.i18nt('designer.hint.loadFormTemplateFailed') + ':' + error\n );\n });\n })\n .catch(error => {\n console.error(error);\n });\n }\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .color-svg-icon {\n color: var(--ant-primary-4);\n }\n\n div.panel-container {\n :deep(.ant-tabs-nav) {\n margin-bottom: 0;\n height: 42px;\n }\n }\n\n .no-bottom-margin :deep(.ant-collapse-header) {\n margin-bottom: 0;\n padding: 8px !important;\n }\n\n .indent-left-margin {\n :deep(.ant-tabs-nav) {\n margin-left: 20px;\n }\n }\n .ant-collapse-item :deep(ul) > li {\n list-style: none;\n }\n\n .widget-collapse {\n border-top-width: 0;\n\n :deep(.ant-collapse-content) {\n > .ant-collapse-content-box {\n padding: 4px;\n }\n\n ul {\n padding: 0;\n margin: 0;\n margin-block-start: 0;\n margin-block-end: 0.1em;\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n\n &:after {\n content: '';\n display: block;\n clear: both;\n }\n\n .container-widget-item,\n .field-widget-item {\n width: calc(50% - 2px);\n padding: 6px 8px;\n border-radius: 6px;\n cursor: move;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n background: #f5f7fa;\n border: 1px solid #e4e7ed;\n transition: all 0.3s ease;\n display: flex;\n align-items: center;\n gap: 4px;\n\n .svg-icon {\n font-size: 16px;\n }\n\n &:hover {\n background: #ecf5ff;\n border-color: var(--ant-primary-4);\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\n transform: translateY(-1px);\n }\n }\n\n .drag-handler {\n position: absolute;\n top: 0;\n left: 160px;\n background-color: #dddddd;\n border-radius: 5px;\n padding-right: 5px;\n font-size: 11px;\n color: #666666;\n }\n }\n }\n }\n\n .ft-card {\n margin-bottom: 10px;\n\n .bottom {\n margin-top: 10px;\n line-height: 12px;\n }\n\n .ft-title {\n font-size: 13px;\n font-weight: bold;\n }\n\n .right-button {\n padding: 0;\n float: right;\n }\n\n .clear-fix:before,\n .clear-fix:after {\n display: table;\n content: '';\n }\n\n .clear-fix:after {\n clear: both;\n }\n }\n .ant-collapse {\n border: none;\n }\n .ant-collapse > .ant-collapse-item {\n border-bottom: none;\n }\n .side-scroll-bar {\n height: 100%;\n overflow: auto;\n\n .panel-container {\n height: 100%;\n overflow: auto;\n & > .ant-tabs {\n height: 100%;\n overflow: auto;\n display: flex;\n flex-direction: column;\n :deep(.ant-tabs-content-holder) {\n flex: 1 0 0;\n overflow: auto;\n }\n }\n }\n }\n</style>\n"],"names":["_sfc_main","i18n","SvgIcon","Draggable","formTemplates","addWindowResizeHandler","wName","CONS","con","generateId","BFS","fld","AFS","CFS","BUFS","origin","evt","container","widget","jsonUrl","TpfConfirm","axios","res","modifiedFlag","error","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_createElementVNode","_createVNode","_component_a_tabs","$data","$event","_component_a_tab_pane","_component_svg_icon","_createTextVNode","_ctx","_component_a_collapse","_component_a_collapse_panel","_component_draggable","$options","_withCtx","ctn","_toDisplayString","_createBlock"],"mappings":";;;;;;;;;;;AAgQI,MAAKA,IAAU;AAAA,EACX,MAAM;AAAA,EACN,QAAQ,CAACC,CAAI;AAAA,EACb,YAAY,EAAE,SAAAC,GAAO,WAAEC,EAAQ;AAAA,EAC/B,OAAO;AAAA,IACH,UAAU;AAAA;EAEd,QAAQ,CAAC,oBAAoB,mBAAmB;AAAA,EAChD,OAAO;AACH,WAAO;AAAA,MACH,gBAAgB,KAAK,kBAAiB;AAAA,MAEtC,UAAU;AAAA,MAEV,gBAAgB;AAAA,MAEhB,aAAa;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;MAGJ,YAAY,CAAA;AAAA,MACZ,aAAa,CAAA;AAAA,MACb,gBAAgB,CAAA;AAAA,MAChB,cAAc,CAAA;AAAA,MACd,gBAAgB,CAAA;AAAA,MAEhB,eAAeC;AAAA,MACf,UAAU,CAAA;AAAA;EAElB;AAAA,EACA,UAAU;AAAA;AAAA;EAGV,UAAU;AACN,SAAK,YAAW;AAAA,EACpB;AAAA,EACA,UAAU;AAGN,SAAK,iBAAiB,OAAO,cAAc,KAAK,MAChDC,EAAuB,MAAM;AACzB,WAAK,UAAU,MAAM;AACjB,aAAK,iBAAiB,OAAO,cAAc,KAAK;AAAA,MAEpD,CAAC;AAAA,IACL,CAAC;AAAA,EACL;AAAA,EACA,SAAS;AAAA,IACL,SAASC,GAAO;AACZ,aAAO,KAAK,iBAAgB,EAAG,QAAQA,CAAK,IAAI;AAAA,IACpD;AAAA,IAEA,oBAAoB;AAChB,aAAI,KAAK,eAAe,kBAAqB,SAClC,KAGJ,CAAC,CAAC,KAAK,eAAe;AAAA,IACjC;AAAA,IAEA,cAAc;AACV,WAAK,aAAaC,EAAK,IAAI,CAAAC,OAChB;AAAA,QACH,KAAKC,EAAU;AAAA,QACf,GAAGD;AAAA,QACH,aAAa,KAAK;AAAA,UACd,wBAAwBA,EAAI,IAAI;AAAA,UAChC,yBAAyBA,EAAI,IAAI;AAAA,QACrC;AAAA,QAEP,EAAE,OAAO,CAAAA,MACC,CAACA,EAAI,YAAY,CAAC,KAAK,SAASA,EAAI,IAAI,CAClD,GAED,KAAK,cAAcE,EAAI,IAAI,CAAAC,OAChB;AAAA,QACH,KAAKF,EAAU;AAAA,QACf,GAAGE;AAAA,QACH,aAAa,KAAK;AAAA,UACd,wBAAwBA,EAAI,IAAI;AAAA,UAChC,yBAAyBA,EAAI,IAAI;AAAA,QACrC;AAAA,QAEP,EAAE,OAAO,CAAAA,MACC,CAAC,KAAK,SAASA,EAAI,IAAI,CACjC,GAED,KAAK,iBAAiBC,EAAI,IAAI,CAAAD,OACnB;AAAA,QACH,KAAKF,EAAU;AAAA,QACf,GAAGE;AAAA,QACH,aAAa,KAAK;AAAA,UACd,wBAAwBA,EAAI,IAAI;AAAA,UAChC,yBAAyBA,EAAI,IAAI;AAAA,QACrC;AAAA,QAEP,EAAE,OAAO,CAAAA,MACC,CAAC,KAAK,SAASA,EAAI,IAAI,CACjC,GAED,KAAK,eAAeE,EAAI,IAAI,CAAAF,OACjB;AAAA,QACH,KAAKF,EAAU;AAAA,QACf,GAAGE;AAAA,QACH,aAAa,KAAK;AAAA,UACd,wBAAwBA,EAAI,IAAI;AAAA,UAChC,yBAAyBA,EAAI,IAAI;AAAA,QACrC;AAAA,QAEP,EAAE,OAAO,CAAAA,MACC,CAAC,KAAK,SAASA,EAAI,IAAI,CACjC,GACD,KAAK,iBAAiBG,EAAK,IAAI,CAAAH,OACpB;AAAA,QACH,KAAKF,EAAU;AAAA,QACf,GAAGE;AAAA,QACH,aAAa,KAAK;AAAA,UACd,wBAAwBA,EAAI,IAAI;AAAA,UAChC,yBAAyBA,EAAI,IAAI;AAAA,QACrC;AAAA,QAEP,EAAE,OAAO,CAAAA,MACC,CAAC,KAAK,SAASA,EAAI,IAAI,CACjC;AAAA,IACL;AAAA,IAEA,2BAA2BI,GAAQ;AAC/B,aAAO,KAAK,SAAS,uBAAuBA,CAAM;AAAA,IACtD;AAAA,IAEA,uBAAuBA,GAAQ;AAC3B,aAAO,KAAK,SAAS,mBAAmBA,CAAM;AAAA,IAClD;AAAA;AAAA,IAGA,mBAAmBC,GAAK;AACpB,aAAO,KAAK,SAAS,gBAAgBA,CAAG;AAAA,IAC5C;AAAA;AAAA,IAGA,eAAeA,GAAK;AAChB,aAAO,KAAK,SAAS,eAAeA,CAAG;AAAA,IAC3C;AAAA,IAEA,mBAAmBA,GAAK;AAAA,IAGxB;AAAA,IAEA,sBAAsBC,GAAW;AAC7B,WAAK,SAAS,sBAAsBA,CAAS;AAAA,IACjD;AAAA,IAEA,kBAAkBC,GAAQ;AACtB,WAAK,SAAS,kBAAkBA,CAAM;AAAA,IAC1C;AAAA,IAEA,iBAAiBC,GAAS;AACtB,MAAAC,EAAW;AAAA,QACP,MAAM;AAAA,QACN,SAAS,KAAK,MAAM,uCAAuC;AAAA,QAC3D,OAAO,KAAK,MAAM,oBAAoB;AAAA,QACtC,QAAQ,KAAK,MAAM,qBAAqB;AAAA,QACxC,YAAY,KAAK,MAAM,oBAAoB;AAAA,OAC9C,EACI,KAAK,MAAM;AACR,QAAAC,EACK,IAAIF,CAAO,EACX,KAAK,CAAAG,MAAO;AACT,cAAIC,IAAe;AACnB,UAAI,OAAOD,EAAI,QAAS,WACpBC,IAAe,KAAK,SAAS,aAAa,KAAK,MAAMD,EAAI,IAAI,CAAC,IACvDA,EAAI,KAAK,gBAAgB,WAChCC,IAAe,KAAK,SAAS,aAAaD,EAAI,IAAI,IAElDC,KACA,KAAK,SAAS,kBAAiB,GAGnC,KAAK,SAAS;AAAA,YACV,KAAK,MAAM,uCAAuC;AAAA;QAE1D,CAAC,EACA,MAAM,CAAAC,MAAS;AACZ,eAAK,SAAS;AAAA,YACV,KAAK,MAAM,sCAAsC,IAAI,MAAMA;AAAA;QAEnE,CAAC;AAAA,MACT,CAAC,EACA,MAAM,CAAAA,MAAS;AACZ,gBAAQ,MAAMA,CAAK;AAAA,MACvB,CAAC;AAAA,IACT;AAAA,EACJ;GApcCC,IAAA,EAAA,OAAM,kBAAiB,GACnBC,IAAA,EAAA,OAAM,kBAAiB;;;;;AADhC,SAAAC,EAAA,GAAAC,EA2OM,OA3ONH,GA2OM;AAAA,IA1OFI,EAyOM,OAzONH,GAyOM;AAAA,MAxOFI,EAuOSC,GAAA;AAAA,QAvOO,WAAWC,EAAA;AAAA,qDAAAA,EAAA,WAAQC;AAAA,QAAE,OAAM;AAAA;mBACvC,MAoMa;AAAA,UApMbH,EAoMaI,GAAA,EApMD,KAAI,eAAc,GAAA;AAAA,YACf,OACP,MAGC;AAAA,cAHDL,EAGC,QAAA,MAAA;AAAA,gBAFIC,EAAmCK,GAAA,EAAzB,cAAW,YAAW,CAAA;AAAA,gBAAGC,EAAA,QACjCC,EAAA,MAAK,uBAAA,CAAA,GAAA,CAAA;AAAA;;uBAIhB,MA2La;AAAA,cA3LbP,EA2LaQ,GAAA;AAAA,gBA3LO,WAAWN,EAAA;AAAA,6DAAAA,EAAA,cAAWC;AAAA,gBAAE,OAAM;AAAA;2BAC9C,MAqCmB;AAAA,kBArCnBH,EAqCmBS,GAAA;AAAA,oBApCf,KAAI;AAAA,oBACH,QAAQF,EAAA,MAAK,yBAAA;AAAA;+BAEd,MAgCY;AAAA,sBAhCZP,EAgCYU,GAAA;AAAA,wBA/BR,KAAI;AAAA,wBACH,MAAMR,EAAA;AAAA,wBACP,YAAS;AAAA,wBACR,OAAO,EAAA,MAAA,aAAA,MAAA,SAAA,KAAA,GAAA;AAAA,wBACP,OAAOS,EAAA;AAAA,wBACR,eAAY;AAAA,wBACX,MAAM;AAAA,wBACN,MAAMA,EAAA;AAAA,wBACN,OAAKA,EAAA;AAAA;wBAEK,MAAIC,EACX,CAkBK,EAAA,SAnBmBC,EAAG,MAAA;AAAA,0BAC3Bd,EAkBK,MAAA;AAAA,4BAjBD,OAAM;AAAA,4BACL,OAAOc,EAAI;AAAA,4BACX,YAAQ,CAAAV,MAAEQ,EAAA,sBAAsBE,CAAG;AAAA;4BAEpCd,EAYO,QAAA,MAAA;AAAA,8BAXHC,EAGEK,GAAA;AAAA,gCAFG,cAAYQ,EAAI;AAAA,gCACjB,cAAW;AAAA;gCACb,MACFC,EACID,EAAI,YAA4DN,EAAA;AAAA,gCAAoF,wBAAAM,EAAI,IAAI;AAAA,gCAAiF,yBAAAA,EAAI,IAAI;AAAA;;;;;;;;;kBAY7Qb,EAoCmBS,GAAA;AAAA,oBAnCf,KAAI;AAAA,oBACH,QAAQF,EAAA,MAAK,0BAAA;AAAA;+BAEd,MA+BY;AAAA,sBA/BZP,EA+BYU,GAAA;AAAA,wBA9BR,KAAI;AAAA,wBACH,MAAMR,EAAA;AAAA,wBACP,YAAS;AAAA,wBACR,OAAO,EAAA,MAAA,aAAA,MAAA,SAAA,KAAA,GAAA;AAAA,wBACP,MAAMS,EAAA;AAAA,wBACN,OAAOA,EAAA;AAAA,wBACR,eAAY;AAAA,wBACX,MAAM;AAAA;wBAEI,MAAIC,EACX,CAkBK,EAAA,SAnBmB/B,EAAG,MAAA;AAAA,0BAC3BkB,EAkBK,MAAA;AAAA,4BAjBD,OAAM;AAAA,4BACL,OAAOlB,EAAI;AAAA,4BACX,YAAQ,CAAAsB,MAAEQ,EAAA,kBAAkB9B,CAAG;AAAA;4BAEhCkB,EAYO,QAAA,MAAA;AAAA,8BAXHC,EAGEK,GAAA;AAAA,gCAFG,cAAYxB,EAAI;AAAA,gCACjB,cAAW;AAAA;gCACb,MACFiC,EACIjC,EAAI,YAA4D0B,EAAA;AAAA,gCAAoF,wBAAA1B,EAAI,IAAI;AAAA,gCAAiF,yBAAAA,EAAI,IAAI;AAAA;;;;;;;;;kBAY7QmB,EAoCmBS,GAAA;AAAA,oBAnCf,KAAI;AAAA,oBACH,QAAQF,EAAA,MAAK,6BAAA;AAAA;+BAEd,MA+BY;AAAA,sBA/BZP,EA+BYU,GAAA;AAAA,wBA9BR,KAAI;AAAA,wBACH,MAAMR,EAAA;AAAA,wBACP,YAAS;AAAA,wBACR,OAAO,EAAA,MAAA,aAAA,MAAA,SAAA,KAAA,GAAA;AAAA,wBACP,MAAMS,EAAA;AAAA,wBACN,OAAOA,EAAA;AAAA,wBACR,eAAY;AAAA,wBACX,MAAM;AAAA;wBAEI,MAAIC,EACX,CAkBK,EAAA,SAnBmB/B,EAAG,MAAA;AAAA,0BAC3BkB,EAkBK,MAAA;AAAA,4BAjBD,OAAM;AAAA,4BACL,OAAOlB,EAAI;AAAA,4BACX,YAAQ,CAAAsB,MAAEQ,EAAA,kBAAkB9B,CAAG;AAAA;4BAEhCkB,EAYO,QAAA,MAAA;AAAA,8BAXHC,EAGEK,GAAA;AAAA,gCAFG,cAAYxB,EAAI;AAAA,gCACjB,cAAW;AAAA;gCACb,MACFiC,EACIjC,EAAI,YAA4D0B,EAAA;AAAA,gCAAoF,wBAAA1B,EAAI,IAAI;AAAA,gCAAiF,yBAAAA,EAAI,IAAI;AAAA;;;;;;;;;;kBA+CnQqB,EAAA,aAAa,eADvBa,EAoCmBN,GAAA;AAAA,oBAlCf,KAAI;AAAA,oBACH,QAAQF,EAAA,MAAK,2BAAA;AAAA;+BAEd,MA8BY;AAAA,sBA9BZP,EA8BYU,GAAA;AAAA,wBA7BR,KAAI;AAAA,wBACH,MAAMR,EAAA;AAAA,wBACP,YAAS;AAAA,wBACR,OAAO,EAAA,MAAA,aAAA,MAAA,SAAA,KAAA,GAAA;AAAA,wBACP,MAAMS,EAAA;AAAA,wBACN,OAAOA,EAAA;AAAA,wBACR,eAAY;AAAA,wBACX,MAAM;AAAA;wBAEI,MAAIC,EACX,CAiBK,EAAA,SAlBmB/B,EAAG,MAAA;AAAA,0BAC3BkB,EAiBK,MAAA;AAAA,4BAhBD,OAAM;AAAA,4BACL,OAAOlB,EAAI;AAAA,4BACX,YAAQ,CAAAsB,MAAEQ,EAAA,kBAAkB9B,CAAG;AAAA;4BAEhCkB,EAWO,QAAA,MAAA;AAAA,8BAVHC,EAGEK,GAAA;AAAA,gCAFG,cAAYxB,EAAI;AAAA,gCACjB,cAAW;AAAA;8BACbyB,EAAA,QAEEC,EAAA;AAAA,gCAAoF,wBAAA1B,EAAI,IAAI;AAAA,gCAAiF,yBAAAA,EAAI,IAAI;AAAA;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SubmitButtonRender.vue.js","sources":["../../../../src/components/form-render/SubmitButtonRender.vue"],"sourcesContent":["<template>\n <a-space :x=\"8\">\n <a-button\n v-if=\"isShowCancelButton\"\n key=\"cancelButtonHidden\"\n :loading=\"isClosing\"\n @click=\"handleCancelClick\"\n >\n {{ cancelBtnLabel }}\n </a-button>\n <a-button\n v-if=\"isShowOkButton\"\n type=\"primary\"\n key=\"okButtonHidden\"\n :loading=\"isSubmitting\"\n @click=\"handleOkClick\"\n >\n {{ okBtnLabel }}\n </a-button>\n </a-space>\n</template>\n\n<script lang=\"ts\" setup>\n import { useI18n } from '@/utils/i18n';\n import { computed, ref } from 'vue';\n\n interface SubmitOptions {\n cancelButtonLabel?: string;\n okButtonLabel?: string;\n cancelButtonHidden?: number;\n okButtonHidden?: number;\n handleBeforeClose?: () => boolean;\n onCancelButtonClick?: string;\n onOkButtonClick?: string;\n dialogVisible?: boolean;\n }\n\n const props = defineProps<{\n goBack?: () => void;\n deleteWrapperNode?: () => void;\n handleBeforeClose?: () => boolean;\n options: SubmitOptions;\n ctx: any;\n }>();\n\n const emit = defineEmits(['update:dialogVisible']);\n\n // 状态管理\n const isSubmitting = ref(false);\n const isClosing = ref(false);\n\n const { i18nt } = useI18n();\n\n const options = computed(() => props?.options ?? {});\n\n const isShowCancelButton = computed(() => {\n if (options.value.cancelButtonHidden != undefined) {\n return options.value.cancelButtonHidden === 0;\n } else {\n return 0; // 默认值为1,表示隐藏\n }\n });\n const isShowOkButton = computed(() => {\n if (options.value.okButtonHidden != undefined) {\n return options.value.okButtonHidden === 0;\n } else {\n return 0; // 默认值为1,表示隐藏\n }\n });\n\n // 计算属性\n const cancelBtnLabel = computed(\n () => props.options?.cancelButtonLabel || i18nt('designer.hint.cancel')\n );\n\n const okBtnLabel = computed(\n () => props.options?.okButtonLabel || i18nt('designer.hint.confirm')\n );\n\n // 执行自定义函数\n const executeCustomFunction = async (ctx: any, functionBody?: string) => {\n if (!functionBody) return true;\n\n console.log('functionBody', functionBody);\n // try {\n const customFn = new Function(functionBody);\n return await customFn.call(ctx);\n // } catch (error) {\n // console.error('执行自定义函数失败:', error);\n // return false;\n // }\n };\n\n // 关闭对话框\n const closeDialog = () => {\n emit('update:dialogVisible', false);\n if (props.deleteWrapperNode) {\n setTimeout(props.deleteWrapperNode, 150);\n }\n };\n\n // 取消按钮点击\n const handleCancelClick = async () => {\n if (isClosing.value) return;\n\n try {\n isClosing.value = true;\n if (props.handleBeforeClose) {\n if (!props?.handleBeforeClose?.()) return;\n }\n\n const result = await executeCustomFunction(\n props.ctx,\n props.options?.onCancelButtonClick\n );\n if (result === false) return;\n if (props.goBack) {\n props.goBack();\n } else {\n closeDialog();\n }\n } catch (error) {\n console.error('取消操作失败:', error);\n } finally {\n isClosing.value = false;\n }\n };\n\n // 确认按钮点击\n const handleOkClick = async () => {\n if (isSubmitting.value) return;\n\n try {\n isSubmitting.value = true;\n\n const result = await executeCustomFunction(props.ctx, props.options?.onOkButtonClick);\n if (result === false) return;\n\n closeDialog();\n } catch (error) {\n console.error('提交操作失败:', error);\n } finally {\n isSubmitting.value = false;\n }\n };\n</script>\n"],"names":["props","__props","emit","__emit","isSubmitting","ref","isClosing","i18nt","useI18n","options","computed","isShowCancelButton","isShowOkButton","cancelBtnLabel","_a","okBtnLabel","executeCustomFunction","ctx","functionBody","closeDialog","handleCancelClick","_b","error","handleOkClick","_createBlock","_component_a_space","_component_a_button"],"mappings":";;;;;;;;;;;;;AAqCI,UAAMA,IAAQC,GAQRC,IAAOC,GAGPC,IAAeC,EAAI,EAAK,GACxBC,IAAYD,EAAI,EAAK,GAErB,EAAE,OAAAE,EAAA,IAAUC,EAAA,GAEZC,IAAUC,EAAS,OAAMV,KAAA,gBAAAA,EAAO,YAAW,CAAA,CAAE,GAE7CW,IAAqBD,EAAS,MAC5BD,EAAQ,MAAM,sBAAsB,OAC7BA,EAAQ,MAAM,uBAAuB,IAErC,CAEd,GACKG,IAAiBF,EAAS,MACxBD,EAAQ,MAAM,kBAAkB,OACzBA,EAAQ,MAAM,mBAAmB,IAEjC,CAEd,GAGKI,IAAiBH;AAAA,MACnB,MAAA;;AAAM,iBAAAI,IAAAd,EAAM,YAAN,gBAAAc,EAAe,sBAAqBP,EAAM,sBAAsB;AAAA;AAAA,IAAA,GAGpEQ,IAAaL;AAAA,MACf,MAAA;;AAAM,iBAAAI,IAAAd,EAAM,YAAN,gBAAAc,EAAe,kBAAiBP,EAAM,uBAAuB;AAAA;AAAA,IAAA,GAIjES,IAAwB,OAAOC,GAAUC,MACtCA,KAEL,QAAQ,IAAI,gBAAgBA,CAAY,GAGjC,MADU,IAAI,SAASA,CAAY,EACpB,KAAKD,CAAG,KALJ,IAaxBE,IAAc,MAAM;AACtB,MAAAjB,EAAK,wBAAwB,EAAK,GAC9BF,EAAM,qBACN,WAAWA,EAAM,mBAAmB,GAAG;AAAA,IAC3C,GAIEoB,IAAoB,YAAY;;AAClC,UAAI,CAAAd,EAAU;AAEd,YAAI;AAUA,cATAA,EAAU,QAAQ,IACdN,EAAM,qBACF,GAACc,IAAAd,KAAA,gBAAAA,EAAO,sBAAP,QAAAc,EAAA,KAAAd,OAGM,MAAMgB;AAAA,YACjBhB,EAAM;AAAA,aACNqB,IAAArB,EAAM,YAAN,gBAAAqB,EAAe;AAAA,UAAA,MAEJ,GAAO;AACtB,UAAIrB,EAAM,SACNA,EAAM,OAAA,IAENmB,EAAA;AAAA,QACJ,SACKG,GAAO;AACZ,kBAAQ,MAAM,WAAWA,CAAK;AAAA,QAAA,UAClC;AACI,UAAAhB,EAAU,QAAQ;AAAA,QAAA;AAAA,IACtB,GAIEiB,IAAgB,YAAY;;AAC9B,UAAI,CAAAnB,EAAa;AAEjB,YAAI;AAIA,cAHAA,EAAa,QAAQ,IAEN,MAAMY,EAAsBhB,EAAM,MAAKc,IAAAd,EAAM,YAAN,gBAAAc,EAAe,eAAe,MACrE,GAAO;AAEtB,UAAAK,EAAA;AAAA,QAAY,SACPG,GAAO;AACZ,kBAAQ,MAAM,WAAWA,CAAK;AAAA,QAAA,UAClC;AACI,UAAAlB,EAAa,QAAQ;AAAA,QAAA;AAAA,IACzB;;;kBA9IJoB,EAkBUC,GAAA,EAlBA,GAAG,KAAC;AAAA,mBACV,MAOW;AAAA,UANDd,EAAA,cADVa,EAOWE,GAAA;AAAA,YALP,KAAI;AAAA,YACH,SAASpB,EAAA;AAAA,YACT,SAAOc;AAAA,UAAA;uBAER,MAAoB;AAAA,kBAAjBP,EAAA,KAAc,GAAA,CAAA;AAAA,YAAA;;;UAGXD,EAAA,cADVY,EAQWE,GAAA;AAAA,YANP,MAAK;AAAA,YACL,KAAI;AAAA,YACH,SAAStB,EAAA;AAAA,YACT,SAAOmB;AAAA,UAAA;uBAER,MAAgB;AAAA,kBAAbR,EAAA,KAAU,GAAA,CAAA;AAAA,YAAA;;;;;;;;;"}
1
+ {"version":3,"file":"SubmitButtonRender.vue.js","sources":["../../../../src/components/form-render/SubmitButtonRender.vue"],"sourcesContent":["<template>\n <a-space :x=\"8\">\n <a-button\n v-if=\"isShowCancelButton\"\n key=\"cancelButtonHidden\"\n :loading=\"isClosing\"\n @click=\"handleCancelClick\"\n >\n {{ cancelBtnLabel }}\n </a-button>\n <a-button\n v-if=\"isShowOkButton\"\n type=\"primary\"\n key=\"okButtonHidden\"\n :loading=\"isSubmitting\"\n @click=\"handleOkClick\"\n >\n {{ okBtnLabel }}\n </a-button>\n </a-space>\n</template>\n\n<script lang=\"ts\" setup>\n import { useI18n } from '@/utils/i18n';\n import { computed, ref } from 'vue';\n\n interface SubmitOptions {\n cancelButtonLabel?: string;\n okButtonLabel?: string;\n cancelButtonHidden?: number;\n okButtonHidden?: number;\n handleBeforeClose?: () => boolean;\n onCancelButtonClick?: string;\n onOkButtonClick?: string;\n dialogVisible?: boolean;\n }\n\n const props = defineProps<{\n goBack?: () => void;\n deleteWrapperNode?: () => void;\n handleBeforeClose?: () => boolean;\n options: SubmitOptions;\n ctx: any;\n }>();\n\n const emit = defineEmits(['update:dialogVisible']);\n\n // 状态管理\n const isSubmitting = ref(false);\n const isClosing = ref(false);\n\n const { i18nt } = useI18n();\n\n const options = computed(() => props?.options ?? {});\n\n const isShowCancelButton = computed(() => {\n if (options.value.cancelButtonHidden != undefined) {\n return options.value.cancelButtonHidden === 0;\n } else {\n return 0; // 默认值为1,表示隐藏\n }\n });\n const isShowOkButton = computed(() => {\n if (options.value.okButtonHidden != undefined) {\n return options.value.okButtonHidden === 0;\n } else {\n return 0; // 默认值为1,表示隐藏\n }\n });\n\n // 计算属性\n const cancelBtnLabel = computed(\n () => props.options?.cancelButtonLabel || i18nt('designer.hint.cancel')\n );\n\n const okBtnLabel = computed(\n () => props.options?.okButtonLabel || i18nt('designer.hint.confirm')\n );\n\n // 执行自定义函数\n const executeCustomFunction = async (ctx: any, functionBody?: string) => {\n if (!functionBody) return true;\n\n console.log('functionBody', functionBody);\n // try {\n const customFn = new Function(functionBody);\n return await customFn.call(ctx);\n // } catch (error) {\n // console.error('执行自定义函数失败:', error);\n // return false;\n // }\n };\n\n // 关闭对话框\n const closeDialog = () => {\n emit('update:dialogVisible', false);\n if (props.deleteWrapperNode) {\n setTimeout(props.deleteWrapperNode, 150);\n }\n };\n\n // 取消按钮点击\n const handleCancelClick = async () => {\n if (isClosing.value) return;\n\n try {\n isClosing.value = true;\n if (props.handleBeforeClose) {\n if (!props?.handleBeforeClose?.()) return;\n }\n\n const result = await executeCustomFunction(\n props.ctx,\n props.options?.onCancelButtonClick\n );\n if (result === false) return;\n if (props.goBack) {\n props.goBack();\n } else {\n closeDialog();\n }\n } catch (error) {\n console.error('取消操作失败:', error);\n } finally {\n isClosing.value = false;\n }\n };\n\n // 确认按钮点击\n const handleOkClick = async () => {\n if (isSubmitting.value) return;\n\n try {\n isSubmitting.value = true;\n\n const result = await executeCustomFunction(props.ctx, props.options?.onOkButtonClick);\n if (result === false) return;\n\n closeDialog();\n } catch (error) {\n console.error('提交操作失败:', error);\n } finally {\n isSubmitting.value = false;\n }\n };\n</script>\n"],"names":["props","__props","emit","__emit","isSubmitting","ref","isClosing","i18nt","useI18n","options","computed","isShowCancelButton","isShowOkButton","cancelBtnLabel","_a","okBtnLabel","executeCustomFunction","ctx","functionBody","closeDialog","handleCancelClick","_b","error","handleOkClick","_createBlock","_component_a_space","_component_a_button"],"mappings":";;;;;;;;;;;;;AAqCI,UAAMA,IAAQC,GAQRC,IAAOC,GAGPC,IAAeC,EAAI,EAAK,GACxBC,IAAYD,EAAI,EAAK,GAErB,EAAE,OAAAE,EAAA,IAAUC,EAAA,GAEZC,IAAUC,EAAS,OAAMV,KAAA,gBAAAA,EAAO,YAAW,CAAA,CAAE,GAE7CW,IAAqBD,EAAS,MAC5BD,EAAQ,MAAM,sBAAsB,OAC7BA,EAAQ,MAAM,uBAAuB,IAErC,CAEd,GACKG,IAAiBF,EAAS,MACxBD,EAAQ,MAAM,kBAAkB,OACzBA,EAAQ,MAAM,mBAAmB,IAEjC,CAEd,GAGKI,IAAiBH;AAAA,MACnB,MAAA;;AAAM,iBAAAI,IAAAd,EAAM,YAAN,gBAAAc,EAAe,sBAAqBP,EAAM,sBAAsB;AAAA;AAAA,IAAA,GAGpEQ,IAAaL;AAAA,MACf,MAAA;;AAAM,iBAAAI,IAAAd,EAAM,YAAN,gBAAAc,EAAe,kBAAiBP,EAAM,uBAAuB;AAAA;AAAA,IAAA,GAIjES,IAAwB,OAAOC,GAAUC,MACtCA,KAEL,QAAQ,IAAI,gBAAgBA,CAAY,GAGjC,MADU,IAAI,SAASA,CAAY,EACpB,KAAKD,CAAG,KALJ,IAaxBE,IAAc,MAAM;AACtB,MAAAjB,EAAK,wBAAwB,EAAK,GAC9BF,EAAM,qBACN,WAAWA,EAAM,mBAAmB,GAAG;AAAA,IAE/C,GAGMoB,IAAoB,YAAY;;AAClC,UAAI,CAAAd,EAAU;AAEd,YAAI;AAUA,cATAA,EAAU,QAAQ,IACdN,EAAM,qBACF,GAACc,IAAAd,KAAA,gBAAAA,EAAO,sBAAP,QAAAc,EAAA,KAAAd,OAGM,MAAMgB;AAAA,YACjBhB,EAAM;AAAA,aACNqB,IAAArB,EAAM,YAAN,gBAAAqB,EAAe;AAAA,UAAA,MAEJ,GAAO;AACtB,UAAIrB,EAAM,SACNA,EAAM,OAAA,IAENmB,EAAA;AAAA,QAER,SAASG,GAAO;AACZ,kBAAQ,MAAM,WAAWA,CAAK;AAAA,QAClC,UAAA;AACI,UAAAhB,EAAU,QAAQ;AAAA,QACtB;AAAA,IACJ,GAGMiB,IAAgB,YAAY;;AAC9B,UAAI,CAAAnB,EAAa;AAEjB,YAAI;AAIA,cAHAA,EAAa,QAAQ,IAEN,MAAMY,EAAsBhB,EAAM,MAAKc,IAAAd,EAAM,YAAN,gBAAAc,EAAe,eAAe,MACrE,GAAO;AAEtB,UAAAK,EAAA;AAAA,QACJ,SAASG,GAAO;AACZ,kBAAQ,MAAM,WAAWA,CAAK;AAAA,QAClC,UAAA;AACI,UAAAlB,EAAa,QAAQ;AAAA,QACzB;AAAA,IACJ;;;kBA/IAoB,EAkBUC,GAAA,EAlBA,GAAG,KAAC;AAAA,mBACV,MAOW;AAAA,UANDd,EAAA,cADVa,EAOWE,GAAA;AAAA,YALP,KAAI;AAAA,YACH,SAASpB,EAAA;AAAA,YACT,SAAOc;AAAA,UAAA;uBAER,MAAoB;AAAA,kBAAjBP,EAAA,KAAc,GAAA,CAAA;AAAA,YAAA;;;UAGXD,EAAA,cADVY,EAQWE,GAAA;AAAA,YANP,MAAK;AAAA,YACL,KAAI;AAAA,YACH,SAAStB,EAAA;AAAA,YACT,SAAOmB;AAAA,UAAA;uBAER,MAAgB;AAAA,kBAAbR,EAAA,KAAU,GAAA,CAAA;AAAA,YAAA;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"containerItemMixin.js","sources":["../../../../../src/components/form-render/container-item/containerItemMixin.js"],"sourcesContent":["import {\n deepClone,\n traverseFieldWidgetsOfContainer,\n traverseWidgetsOfContainer\n} from '@/utils/util';\n\nexport default {\n computed: {\n customClass() {\n return this.widget.options.customClass || '';\n },\n\n formModel: {\n cache: false,\n get() {\n return this.globalModel.formModel;\n }\n }\n },\n mounted() {\n this.callSetHidden();\n },\n\n methods: {\n cloneWidgetSchema(widget) {\n return deepClone(widget);\n },\n\n unregisterFromRefList() {\n //销毁容器组件时注销组件ref\n if (this.refList !== null && !!this.widget.options.name) {\n const oldRefName = this.widget.options.name;\n delete this.refList[oldRefName];\n }\n },\n\n /* 主动触发setHidden()方法,以清空被隐藏容器内字段组件的校验规则!! */\n callSetHidden() {\n if (this.widget.options.hidden === true) {\n this.setHidden(true);\n }\n },\n\n //--------------------- 以下为组件支持外部调用的API方法 begin ------------------//\n /* 提示:用户可自行扩充这些方法!!! */\n\n setHidden(flag) {\n this.widget.options.hidden = flag;\n\n /* 容器被隐藏后,需要同步清除容器内部字段组件的校验规则 */\n const clearRulesFn = fieldWidget => {\n const fwName = fieldWidget.options.name;\n const fwRef = this.getWidgetRef(fwName);\n if (flag && !!fwRef && !!fwRef.clearFieldRules) {\n fwRef.clearFieldRules();\n }\n\n if (!flag && !!fwRef && !!fwRef.buildFieldRules) {\n fwRef.buildFieldRules();\n }\n };\n\n traverseFieldWidgetsOfContainer(this.widget, clearRulesFn);\n },\n\n /**\n * 禁用或启用容器组件(包含容器内部的所有组件)\n * @param flag\n */\n setDisabled(flag) {\n const fwHandler = fw => {\n const fwName = fw.options.name;\n const fwRef = this.getWidgetRef(fwName);\n if (!!fwRef && !!fwRef.setDisabled) {\n fwRef.setDisabled(flag);\n }\n };\n const cwHandler = cw => {\n const cwName = cw.options.name;\n const cwRef = this.getWidgetRef(cwName);\n if (!!cwRef && !!cwRef.setDisabled) {\n cwRef.setDisabled(flag);\n }\n };\n traverseWidgetsOfContainer(this.widget, fwHandler, cwHandler);\n\n //注意:单行子表单、多行子表单容器的setDisabled方法由单行子表单、多行子表单组件自己实现!!\n },\n\n activeTab(tabIndex) {\n //tabIndex从0计数\n if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) {\n this.widget.tabs.forEach((tp, idx) => {\n tp.options.active = idx === tabIndex;\n if (idx === tabIndex) {\n this.activeTabName = tp.options.name;\n }\n });\n }\n },\n\n disableTab(tabIndex) {\n if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) {\n this.widget.tabs[tabIndex].options.disabled = true;\n }\n },\n\n enableTab(tabIndex) {\n if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) {\n this.widget.tabs[tabIndex].options.disabled = false;\n }\n },\n\n hideTab(tabIndex) {\n if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) {\n this.widget.tabs[tabIndex].options.hidden = true;\n }\n },\n\n showTab(tabIndex) {\n if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) {\n this.widget.tabs[tabIndex].options.hidden = false;\n }\n },\n\n setWidgetOption(optionName, optionValue) {\n //通用组件选项修改API\n if (this.widget.options.hasOwnProperty(optionName)) {\n this.widget.options[optionName] = optionValue;\n }\n },\n\n /**\n * 获取子表单的行数\n */\n getSubFormRowCount() {\n return !this.rowIdData ? 0 : this.rowIdData.length;\n },\n\n setGridSubFormRowDisabled(rowId, disabledFlag) {\n const fwHandler = fw => {\n const fwName = fw.options.name + '@row' + rowId;\n const fwRef = this.getWidgetRef(fwName);\n if (!!fwRef && !!fwRef.setDisabled) {\n fwRef.setDisabled(disabledFlag);\n }\n };\n const cwHandler = cw => {\n const cwName = cw.options.name + '@row' + rowId;\n const cwRef = this.getWidgetRef(cwName);\n if (!!cwRef && !!cwRef.setDisabled) {\n cwRef.setDisabled(disabledFlag);\n }\n };\n traverseWidgetsOfContainer(this.widget, fwHandler, cwHandler);\n },\n\n disableSubFormRow(rowIndex) {\n if (this.widget.type === 'sub-form') {\n this.widget.widgetList.forEach(subWidget => {\n const swRefName = subWidget.options.name + '@row' + this.rowIdData[rowIndex];\n const foundSW = this.getWidgetRef(swRefName);\n if (!!foundSW && !!foundSW.setDisabled) {\n foundSW.setDisabled(true);\n }\n });\n } else if (this.widget.type === 'grid-sub-form') {\n this.setGridSubFormRowDisabled(this.rowIdData[rowIndex], true);\n }\n },\n\n enableSubFormRow(rowIndex) {\n if (this.widget.type === 'sub-form') {\n this.widget.widgetList.forEach(subWidget => {\n const swRefName = subWidget.options.name + '@row' + this.rowIdData[rowIndex];\n const foundSW = this.getWidgetRef(swRefName);\n if (!!foundSW && !!foundSW.setDisabled) {\n foundSW.setDisabled(false);\n }\n });\n } else if (this.widget.type === 'grid-sub-form') {\n this.setGridSubFormRowDisabled(this.rowIdData[rowIndex], false);\n }\n },\n\n disableSubForm() {\n this.widget.widgetList.forEach(subWidget => {\n subWidget.options.disabled = true;\n });\n\n if (this.rowIdData.length > 0) {\n this.rowIdData.forEach((dataRow, rIdx) => {\n this.disableSubFormRow(rIdx);\n });\n }\n\n //禁用3个操作按钮\n this.actionDisabled = true;\n },\n\n enableSubForm() {\n this.widget.widgetList.forEach(subWidget => {\n subWidget.options.disabled = false;\n });\n\n if (this.rowIdData.length > 0) {\n this.rowIdData.forEach((dataRow, rIdx) => {\n this.enableSubFormRow(rIdx);\n });\n }\n\n //启用3个操作按钮\n this.actionDisabled = false;\n },\n\n disableGridSubFormRow(rowIndex) {\n const gsfFWList = [];\n const fieldListFn = fw => {\n gsfFWList.push(fw);\n };\n traverseFieldWidgetsOfContainer(this.widget, fieldListFn);\n\n gsfFWList.forEach(fw => {\n const swRefName = fw.options.name + '@row' + this.rowIdData[rowIndex];\n const foundSW = this.getWidgetRef(swRefName);\n if (!!foundSW && !!foundSW.setDisabled) {\n foundSW.setDisabled(true);\n }\n });\n },\n\n enableGridSubFormRow(rowIndex) {\n const gsfFWList = [];\n const fieldListFn = fw => {\n gsfFWList.push(fw);\n };\n traverseFieldWidgetsOfContainer(this.widget, fieldListFn);\n\n gsfFWList.forEach(fw => {\n const swRefName = fw.options.name + '@row' + this.rowIdData[rowIndex];\n const foundSW = this.getWidgetRef(swRefName);\n if (!!foundSW && !!foundSW.setDisabled) {\n foundSW.setDisabled(false);\n }\n });\n },\n\n disableGridSubForm() {\n traverseFieldWidgetsOfContainer(this.widget, fw => {\n fw.options.disabled = true;\n });\n\n if (this.rowIdData.length > 0) {\n this.rowIdData.forEach((dataRow, rIdx) => {\n this.disableGridSubFormRow(rIdx);\n });\n }\n\n //禁用3个操作按钮\n this.actionDisabled = true;\n },\n\n enableGridSubForm() {\n traverseFieldWidgetsOfContainer(this.widget, fw => {\n fw.options.disabled = false;\n });\n\n if (this.rowIdData.length > 0) {\n this.rowIdData.forEach((dataRow, rIdx) => {\n this.enableGridSubFormRow(rIdx);\n });\n }\n\n //启用3个操作按钮\n this.actionDisabled = false;\n },\n\n resetSubForm() {\n //重置subForm数据为空\n if (this.widget.type === 'sub-form') {\n const subFormModel = this.formModel[this.widget.options.name];\n if (!!subFormModel) {\n subFormModel.splice(0, subFormModel.length);\n this.rowIdData.splice(0, this.rowIdData.length);\n }\n\n if (this.widget.options.showBlankRow) {\n this.addSubFormRow();\n }\n }\n },\n\n getSubFormValues(needValidation = true) {\n if (this.widget.type === 'sub-form') {\n //TODO: 逐行校验子表单!!\n return this.formModel[this.widget.options.name];\n } else {\n this.$message.error(this.i18nt('render.hint.nonSubFormType'));\n }\n },\n\n // validateField(fieldName) { //逐行校验子表单字段\n // //TODO:\n // },\n //\n // validateSubForm() { //逐行校验子表单全部字段\n // //TODO:\n // },\n\n /**\n * 动态增加自定义css样式\n * @param className\n */\n addCssClass(className) {\n if (!this.widget.options.customClass) {\n this.widget.options.customClass = [className];\n } else {\n this.widget.options.customClass.push(className);\n }\n },\n\n /**\n * 动态移除自定义css样式\n * @param className\n */\n removeCssClass(className) {\n if (!this.widget.options.customClass) {\n return;\n }\n\n let foundIdx = -1;\n this.widget.options.customClass.map((cc, idx) => {\n if (cc === className) {\n foundIdx = idx;\n }\n });\n if (foundIdx > -1) {\n this.widget.options.customClass.splice(foundIdx, 1);\n }\n }\n\n //--------------------- 以上为组件支持外部调用的API方法 end ------------------//\n }\n};\n"],"names":["containerItemMixin","widget","deepClone","oldRefName","flag","clearRulesFn","fieldWidget","fwName","fwRef","traverseFieldWidgetsOfContainer","fwHandler","fw","traverseWidgetsOfContainer","tabIndex","tp","idx","optionName","optionValue","rowId","disabledFlag","rowIndex","subWidget","swRefName","foundSW","dataRow","rIdx","gsfFWList","fieldListFn","subFormModel","needValidation","className","foundIdx","cc"],"mappings":"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"}
1
+ {"version":3,"file":"containerItemMixin.js","sources":["../../../../../src/components/form-render/container-item/containerItemMixin.js"],"sourcesContent":["import {\n deepClone,\n traverseFieldWidgetsOfContainer,\n traverseWidgetsOfContainer\n} from '@/utils/util';\n\nexport default {\n computed: {\n customClass() {\n return this.widget.options.customClass || '';\n },\n\n formModel: {\n cache: false,\n get() {\n return this.globalModel.formModel;\n }\n }\n },\n mounted() {\n this.callSetHidden();\n },\n\n methods: {\n cloneWidgetSchema(widget) {\n return deepClone(widget);\n },\n\n unregisterFromRefList() {\n //销毁容器组件时注销组件ref\n if (this.refList !== null && !!this.widget.options.name) {\n const oldRefName = this.widget.options.name;\n delete this.refList[oldRefName];\n }\n },\n\n /* 主动触发setHidden()方法,以清空被隐藏容器内字段组件的校验规则!! */\n callSetHidden() {\n if (this.widget.options.hidden === true) {\n this.setHidden(true);\n }\n },\n\n //--------------------- 以下为组件支持外部调用的API方法 begin ------------------//\n /* 提示:用户可自行扩充这些方法!!! */\n\n setHidden(flag) {\n this.widget.options.hidden = flag;\n\n /* 容器被隐藏后,需要同步清除容器内部字段组件的校验规则 */\n const clearRulesFn = fieldWidget => {\n const fwName = fieldWidget.options.name;\n const fwRef = this.getWidgetRef(fwName);\n if (flag && !!fwRef && !!fwRef.clearFieldRules) {\n fwRef.clearFieldRules();\n }\n\n if (!flag && !!fwRef && !!fwRef.buildFieldRules) {\n fwRef.buildFieldRules();\n }\n };\n\n traverseFieldWidgetsOfContainer(this.widget, clearRulesFn);\n },\n\n /**\n * 禁用或启用容器组件(包含容器内部的所有组件)\n * @param flag\n */\n setDisabled(flag) {\n const fwHandler = fw => {\n const fwName = fw.options.name;\n const fwRef = this.getWidgetRef(fwName);\n if (!!fwRef && !!fwRef.setDisabled) {\n fwRef.setDisabled(flag);\n }\n };\n const cwHandler = cw => {\n const cwName = cw.options.name;\n const cwRef = this.getWidgetRef(cwName);\n if (!!cwRef && !!cwRef.setDisabled) {\n cwRef.setDisabled(flag);\n }\n };\n traverseWidgetsOfContainer(this.widget, fwHandler, cwHandler);\n\n //注意:单行子表单、多行子表单容器的setDisabled方法由单行子表单、多行子表单组件自己实现!!\n },\n\n activeTab(tabIndex) {\n //tabIndex从0计数\n if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) {\n this.widget.tabs.forEach((tp, idx) => {\n tp.options.active = idx === tabIndex;\n if (idx === tabIndex) {\n this.activeTabName = tp.options.name;\n }\n });\n }\n },\n\n disableTab(tabIndex) {\n if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) {\n this.widget.tabs[tabIndex].options.disabled = true;\n }\n },\n\n enableTab(tabIndex) {\n if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) {\n this.widget.tabs[tabIndex].options.disabled = false;\n }\n },\n\n hideTab(tabIndex) {\n if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) {\n this.widget.tabs[tabIndex].options.hidden = true;\n }\n },\n\n showTab(tabIndex) {\n if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) {\n this.widget.tabs[tabIndex].options.hidden = false;\n }\n },\n\n setWidgetOption(optionName, optionValue) {\n //通用组件选项修改API\n if (this.widget.options.hasOwnProperty(optionName)) {\n this.widget.options[optionName] = optionValue;\n }\n },\n\n /**\n * 获取子表单的行数\n */\n getSubFormRowCount() {\n return !this.rowIdData ? 0 : this.rowIdData.length;\n },\n\n setGridSubFormRowDisabled(rowId, disabledFlag) {\n const fwHandler = fw => {\n const fwName = fw.options.name + '@row' + rowId;\n const fwRef = this.getWidgetRef(fwName);\n if (!!fwRef && !!fwRef.setDisabled) {\n fwRef.setDisabled(disabledFlag);\n }\n };\n const cwHandler = cw => {\n const cwName = cw.options.name + '@row' + rowId;\n const cwRef = this.getWidgetRef(cwName);\n if (!!cwRef && !!cwRef.setDisabled) {\n cwRef.setDisabled(disabledFlag);\n }\n };\n traverseWidgetsOfContainer(this.widget, fwHandler, cwHandler);\n },\n\n disableSubFormRow(rowIndex) {\n if (this.widget.type === 'sub-form') {\n this.widget.widgetList.forEach(subWidget => {\n const swRefName = subWidget.options.name + '@row' + this.rowIdData[rowIndex];\n const foundSW = this.getWidgetRef(swRefName);\n if (!!foundSW && !!foundSW.setDisabled) {\n foundSW.setDisabled(true);\n }\n });\n } else if (this.widget.type === 'grid-sub-form') {\n this.setGridSubFormRowDisabled(this.rowIdData[rowIndex], true);\n }\n },\n\n enableSubFormRow(rowIndex) {\n if (this.widget.type === 'sub-form') {\n this.widget.widgetList.forEach(subWidget => {\n const swRefName = subWidget.options.name + '@row' + this.rowIdData[rowIndex];\n const foundSW = this.getWidgetRef(swRefName);\n if (!!foundSW && !!foundSW.setDisabled) {\n foundSW.setDisabled(false);\n }\n });\n } else if (this.widget.type === 'grid-sub-form') {\n this.setGridSubFormRowDisabled(this.rowIdData[rowIndex], false);\n }\n },\n\n disableSubForm() {\n this.widget.widgetList.forEach(subWidget => {\n subWidget.options.disabled = true;\n });\n\n if (this.rowIdData.length > 0) {\n this.rowIdData.forEach((dataRow, rIdx) => {\n this.disableSubFormRow(rIdx);\n });\n }\n\n //禁用3个操作按钮\n this.actionDisabled = true;\n },\n\n enableSubForm() {\n this.widget.widgetList.forEach(subWidget => {\n subWidget.options.disabled = false;\n });\n\n if (this.rowIdData.length > 0) {\n this.rowIdData.forEach((dataRow, rIdx) => {\n this.enableSubFormRow(rIdx);\n });\n }\n\n //启用3个操作按钮\n this.actionDisabled = false;\n },\n\n disableGridSubFormRow(rowIndex) {\n const gsfFWList = [];\n const fieldListFn = fw => {\n gsfFWList.push(fw);\n };\n traverseFieldWidgetsOfContainer(this.widget, fieldListFn);\n\n gsfFWList.forEach(fw => {\n const swRefName = fw.options.name + '@row' + this.rowIdData[rowIndex];\n const foundSW = this.getWidgetRef(swRefName);\n if (!!foundSW && !!foundSW.setDisabled) {\n foundSW.setDisabled(true);\n }\n });\n },\n\n enableGridSubFormRow(rowIndex) {\n const gsfFWList = [];\n const fieldListFn = fw => {\n gsfFWList.push(fw);\n };\n traverseFieldWidgetsOfContainer(this.widget, fieldListFn);\n\n gsfFWList.forEach(fw => {\n const swRefName = fw.options.name + '@row' + this.rowIdData[rowIndex];\n const foundSW = this.getWidgetRef(swRefName);\n if (!!foundSW && !!foundSW.setDisabled) {\n foundSW.setDisabled(false);\n }\n });\n },\n\n disableGridSubForm() {\n traverseFieldWidgetsOfContainer(this.widget, fw => {\n fw.options.disabled = true;\n });\n\n if (this.rowIdData.length > 0) {\n this.rowIdData.forEach((dataRow, rIdx) => {\n this.disableGridSubFormRow(rIdx);\n });\n }\n\n //禁用3个操作按钮\n this.actionDisabled = true;\n },\n\n enableGridSubForm() {\n traverseFieldWidgetsOfContainer(this.widget, fw => {\n fw.options.disabled = false;\n });\n\n if (this.rowIdData.length > 0) {\n this.rowIdData.forEach((dataRow, rIdx) => {\n this.enableGridSubFormRow(rIdx);\n });\n }\n\n //启用3个操作按钮\n this.actionDisabled = false;\n },\n\n resetSubForm() {\n //重置subForm数据为空\n if (this.widget.type === 'sub-form') {\n const subFormModel = this.formModel[this.widget.options.name];\n if (!!subFormModel) {\n subFormModel.splice(0, subFormModel.length);\n this.rowIdData.splice(0, this.rowIdData.length);\n }\n\n if (this.widget.options.showBlankRow) {\n this.addSubFormRow();\n }\n }\n },\n\n getSubFormValues(needValidation = true) {\n if (this.widget.type === 'sub-form') {\n //TODO: 逐行校验子表单!!\n return this.formModel[this.widget.options.name];\n } else {\n this.$message.error(this.i18nt('render.hint.nonSubFormType'));\n }\n },\n\n // validateField(fieldName) { //逐行校验子表单字段\n // //TODO:\n // },\n //\n // validateSubForm() { //逐行校验子表单全部字段\n // //TODO:\n // },\n\n /**\n * 动态增加自定义css样式\n * @param className\n */\n addCssClass(className) {\n if (!this.widget.options.customClass) {\n this.widget.options.customClass = [className];\n } else {\n this.widget.options.customClass.push(className);\n }\n },\n\n /**\n * 动态移除自定义css样式\n * @param className\n */\n removeCssClass(className) {\n if (!this.widget.options.customClass) {\n return;\n }\n\n let foundIdx = -1;\n this.widget.options.customClass.map((cc, idx) => {\n if (cc === className) {\n foundIdx = idx;\n }\n });\n if (foundIdx > -1) {\n this.widget.options.customClass.splice(foundIdx, 1);\n }\n }\n\n //--------------------- 以上为组件支持外部调用的API方法 end ------------------//\n }\n};\n"],"names":["containerItemMixin","widget","deepClone","oldRefName","flag","clearRulesFn","fieldWidget","fwName","fwRef","traverseFieldWidgetsOfContainer","fwHandler","fw","traverseWidgetsOfContainer","tabIndex","tp","idx","optionName","optionValue","rowId","disabledFlag","rowIndex","subWidget","swRefName","foundSW","dataRow","rIdx","gsfFWList","fieldListFn","subFormModel","needValidation","className","foundIdx","cc"],"mappings":"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"}
@@ -5,7 +5,7 @@ import w from "../../form-designer/form-widget/field-widget/index.js";
5
5
  import f from "../refMixin.js";
6
6
  import b from "./containerItemMixin.js";
7
7
  import C from "../../../mixins/useDataTableMixin.js";
8
- import { resolveComponent as n, withDirectives as y, createBlock as a, openBlock as r, normalizeStyle as s, withCtx as i, createVNode as l, normalizeClass as R, createCommentVNode as S, vShow as F } from "vue";
8
+ import { resolveComponent as n, withDirectives as y, createBlock as a, openBlock as r, normalizeStyle as s, withCtx as i, createVNode as l, normalizeClass as R, createCommentVNode as F, vShow as S } from "vue";
9
9
  /* empty css */
10
10
  /* empty css */
11
11
  import I from "../../../../_virtual/_plugin-vue_export-helper.js";
@@ -16,7 +16,6 @@ const T = {
16
16
  mixins: [h, g, f, b, C],
17
17
  components: {
18
18
  ContainerItemWrapper: p,
19
- STable,
20
19
  ...w
21
20
  },
22
21
  props: {
@@ -133,17 +132,17 @@ function z(e, M, t, _, D, N) {
133
132
  key: 0,
134
133
  bodyCell: e.columns.bodyCell,
135
134
  scope: o
136
- }, null, 8, ["bodyCell", "scope"])) : S("", !0)
135
+ }, null, 8, ["bodyCell", "scope"])) : F("", !0)
137
136
  ]),
138
137
  _: 1
139
138
  }, 8, ["columns", "class", "size", "dataSource", "rowKey", "scroll", "bordered", "style", "row-class-name", "rowSelection", "pagination", "customRow", "onChange", "onResizeColumn", "loading", "row-height"])
140
139
  ]),
141
140
  _: 1
142
141
  }, 8, ["style", "widget"])), [
143
- [F, !e.handleHidden()]
142
+ [S, !e.handleHidden()]
144
143
  ]);
145
144
  }
146
- const A = /* @__PURE__ */ I(T, [["render", z], ["__scopeId", "data-v-5190b5dc"]]);
145
+ const A = /* @__PURE__ */ I(T, [["render", z], ["__scopeId", "data-v-c36d66f6"]]);
147
146
  export {
148
147
  A as default
149
148
  };
@@ -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 STable,\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 :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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"}