@kp-ui/lowcode 1.0.94 → 1.0.95

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 +4 -4
  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
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue.js","sources":["../../../../src/components/form-render/index.vue"],"sourcesContent":["<template>\n <a-spin :spinning=\"isLoading\">\n <div :style=\"isLoading ? 'min-height: 260px' : ''\">\n <a-form\n :layout=\"labelPosition\"\n :class=\"[customClass, readModeFlag ? 'readonly-mode-form' : '']\"\n class=\"render-form tpf-form\"\n :label-width=\"labelWidth\"\n :validate-on-rule-change=\"false\"\n :model=\"formDataModel\"\n ref=\"renderForm\"\n @keydown.enter=\"handleEnterKey\"\n >\n <template v-for=\"(widget, index) in widgetList\">\n <template v-if=\"'container' === widget.category\">\n <component\n :is=\"getContainerWidgetName(widget)\"\n :widget=\"widget\"\n :key=\"widget.id\"\n :data=\"formDataModel[widget.options.name]\"\n :parent-list=\"widgetList\"\n :index-of-parent-list=\"index\"\n :parent-widget=\"null\"\n :model=\"formDataModel\"\n >\n <!-- 递归传递插槽!!! -->\n <template v-for=\"slot in Object.keys($slots)\" v-slot:[slot]=\"scope\">\n <slot :name=\"slot\" v-bind=\"scope\"></slot>\n </template>\n </component>\n </template>\n <template v-else>\n <component\n :is=\"getWidgetName(widget)\"\n :field=\"widget\"\n :form-model=\"formDataModel\"\n :designer=\"null\"\n :key=\"widget.id\"\n :parent-list=\"widgetList\"\n :index-of-parent-list=\"index\"\n :parent-widget=\"null\"\n >\n <!-- 递归传递插槽!!! -->\n <template v-for=\"slot in Object.keys($slots)\" v-slot:[slot]=\"scope\">\n <slot :name=\"slot\" v-bind=\"scope\"></slot>\n </template>\n </component>\n </template>\n </template>\n </a-form>\n </div>\n </a-spin>\n</template>\n\n<script>\n import { createVNode, render, h } from 'vue';\n import emitter from '@/utils/emitter';\n import FieldComponents from '@/components/form-designer/form-widget/field-widget/index';\n import {\n generateId,\n deepClone,\n insertCustomCssToHead,\n insertGlobalFunctionsToHtml,\n getAllContainerWidgets,\n getAllFieldWidgets,\n traverseFieldWidgets,\n buildDefaultFormJson,\n getDSByName,\n runDataSourceRequest,\n getFieldWidgetByName,\n overwriteObj,\n getContainerWidgetByName,\n traverseFieldWidgetsOfContainer,\n cloneFormConfigWithoutEventHandler,\n getDefaultFormConfig\n } from '@/utils/util';\n\n import i18n, { changeLocale } from '@/utils/i18n';\n import DynamicDialog from './dynamic-dialog';\n import DynamicDrawer from './dynamic-drawer';\n import { fmtHttpParams } from '@/utils/request/fmtHttpParams';\n\n export default {\n name: 'VFormRender',\n componentName: 'VFormRender',\n mixins: [emitter, i18n],\n components: {\n ...FieldComponents\n },\n props: {\n vfCtx: {\n type: Object,\n default: () => ({})\n },\n formJson: {\n //prop传入的表单JSON配置\n type: Object,\n default: () => buildDefaultFormJson()\n },\n formData: {\n //prop传入的表单数据\n type: Object,\n default: () => ({})\n },\n optionData: {\n //prop传入的选项数据\n type: Object,\n default: () => ({})\n },\n previewState: {\n //是否表单预览状态\n type: Boolean,\n default: false\n },\n disabledMode: {\n //表单禁止编辑模式\n type: Boolean,\n default: false\n },\n renderConfig: {\n //渲染配置对象\n type: Object,\n default: () => {\n return {\n languageName: 'zh-CN' //界面语言,默认显示中文\n };\n }\n },\n globalDsv: {\n // 全局数据源变量\n type: Object,\n default: () => ({})\n },\n parentForm: {\n type: Object,\n default: null\n },\n dynamicCreation: {\n //是否弹窗、抽屉动态创建的VFormRender\n type: Boolean,\n default: false\n }\n },\n provide() {\n return {\n refList: this.widgetRefList,\n sfRefList: this.subFormRefList, //收集SubForm引用\n getFormConfig: () =>\n this.formJsonObj\n .formConfig /* 解决provide传递formConfig属性的响应式更新问题!! */,\n getGlobalDsv: () => this.globalDsv, // 全局数据源变量\n globalOptionData: this.optionData,\n getOptionData: () =>\n this.optionData /* 该方法用于在异步更新option-data之后重新获取到最新值 */,\n globalModel: {\n formModel: this.formDataModel\n },\n previewState: this.previewState,\n getReadMode: () => this.readModeFlag,\n getSubFormFieldFlag: () => false,\n getSubFormName: () => '',\n getDSResultCache: () => this.dsResultCache\n };\n },\n data() {\n return {\n isClosing: false, //是否正在关闭\n isSubmitting: false, //是否正在提交中\n formJsonObj: this.formJson,\n\n formDataModel: {\n //\n },\n isLoading: false, //是否正在加载中\n widgetRefList: {},\n subFormRefList: {},\n formId: null, //表单唯一Id,用于区分页面上的多个v-form-render组件!!\n\n externalComponents: {}, //外部组件实例集合\n readModeFlag: false, //是否只读查看模式\n dialogOrDrawerRef: null, //保存子级VFormRender的包裹弹窗组件或抽屉组件的ref\n childFormRef: null, //保存子级VFormRender组件的ref\n\n dsResultCache: {} //数据源请求结果缓存\n };\n },\n computed: {\n formConfig() {\n return this.formJsonObj.formConfig;\n },\n cancelBtnLabel() {\n return this.formConfig.cancelButtonLabel || this.i18nt('designer.hint.cancel');\n },\n\n okBtnLabel() {\n return this.formConfig.okButtonLabel || this.i18nt('designer.hint.confirm');\n },\n\n widgetList() {\n return this.formJsonObj.widgetList;\n },\n\n labelPosition() {\n if (!!this.formConfig && !!this.formConfig.labelPosition) {\n return this.formConfig.labelPosition;\n }\n\n return 'horizontal';\n },\n\n labelWidth() {\n if (!!this.formConfig && !!this.formConfig.labelWidth) {\n return this.formConfig.labelWidth + 'px';\n }\n\n return '80px';\n },\n\n size() {\n if (!!this.formConfig && !!this.formConfig.size) {\n return this.formConfig.size;\n }\n\n return 'default';\n },\n\n customClass() {\n return !!this.formConfig && !!this.formConfig.customClass\n ? this.formConfig.customClass\n : '';\n }\n },\n watch: {\n //\n },\n created() {\n this.isLoading = false;\n this.buildFormModel(!this.formJsonObj ? null : this.formJsonObj.widgetList);\n this.initFormObject();\n },\n mounted() {\n this.initLocale();\n this.initDataSetRequest();\n // this.handleOnMounted();\n },\n methods: {\n setLoading(flag) {\n this.isLoading = flag;\n },\n // 处理回车键事件\n handleEnterKey() {\n if (this.formConfig?.isEnterSubmit === 1) {\n this.handleOnSubmit();\n }\n },\n\n handleCancelClick() {\n if (this.isClosing) return; // 防止重复关闭\n if (!this.handleBeforeClose()) return;\n try {\n this.isClosing = true;\n if (!!this.formConfig.onCancelButtonClick) {\n const customFn = new Function(this.formConfig.onCancelButtonClick);\n const clickResult = customFn.call(this);\n if (clickResult === false) {\n return;\n }\n }\n\n this.dialogVisible = false;\n setTimeout(this.deleteWrapperNode, 150);\n } catch (error) {\n console.log('error: ', error);\n } finally {\n this.isClosing = false;\n }\n },\n\n async handleOkClick() {\n if (this.isSubmitting) return; // 防止重复提交\n\n try {\n this.isSubmitting = true;\n if (!!this.formConfig.onOkButtonClick) {\n const customFn = new Function(this.formConfig.onOkButtonClick);\n const clickResult = await customFn.call(this);\n if (clickResult === false) {\n return;\n }\n }\n this.dialogVisible = false;\n setTimeout(this.deleteWrapperNode, 150);\n } catch (error) {\n console.log('error: ', error);\n } finally {\n this.isClosing = false;\n }\n },\n\n async onFormDetail() {\n const serveList = this.formConfig.serveList;\n if (serveList.vformDetail.http?.url) {\n const res = await fmtHttpParams.call(this, serveList.vformDetail, {\n vfCtx: this.vfCtx\n });\n console.log('res: ', res);\n return res;\n }\n },\n async onFormUpdate() {\n const modelForm = await this.getFormData();\n const serveList = this.formConfig.serveList;\n if (serveList.vformDetail.http?.url) {\n const res = await fmtHttpParams.call(this, serveList.vformUpdate, {\n data: modelForm,\n vfCtx: this.vfCtx\n });\n console.log('res: ', res);\n return res;\n }\n },\n\n initFormObject(insertHtmlCodeFlag = true) {\n this.formId = 'vfRender' + generateId();\n if (!!insertHtmlCodeFlag && !this.dynamicCreation) {\n // 弹窗、抽屉动态创建的VFormRender不重新插入全局CSS和全局函数节点!!\n this.insertCustomStyleAndScriptNode();\n }\n this.addFieldChangeEventHandler();\n this.addFieldValidateEventHandler();\n this.registerFormToRefList();\n this.handleOnCreated();\n\n if (this.disabledMode) {\n //禁止表单编辑\n this.$nextTick(() => {\n this.disableForm();\n });\n }\n },\n\n getContainerWidgetName(widget) {\n if (widget.type === 'grid') {\n //grid-item跟VueGridLayout全局注册组件重名,故特殊处理!!\n return 'vf-grid-item';\n }\n\n return widget.type + '-item';\n },\n\n getWidgetName(widget) {\n return widget.type + '-widget';\n },\n\n initLocale() {\n const curLocale = localStorage.getItem('lowcode_local') || 'zh-CN';\n this.changeLanguage(curLocale);\n },\n\n insertCustomStyleAndScriptNode() {\n if (!!this.formConfig && !!this.formConfig.cssCode) {\n insertCustomCssToHead(\n this.formConfig.cssCode,\n !!this.previewState ? '' : this.formId\n );\n }\n\n if (!!this.formConfig && !!this.formConfig.functions) {\n insertGlobalFunctionsToHtml(\n this.formConfig.functions,\n !!this.previewState ? '' : this.formId\n );\n }\n },\n\n buildFormModel(widgetList) {\n if (!!widgetList && widgetList.length > 0) {\n widgetList.forEach(wItem => {\n this.buildDataFromWidget(wItem);\n });\n }\n },\n\n buildDataFromWidget(wItem) {\n if (wItem.category === 'container') {\n if (wItem.type === 'data-table') {\n const { name } = wItem.options;\n this.formDataModel[name] = deepClone(wItem.options.dataSource);\n return;\n }\n if (wItem.type === 'vf-dialog' || wItem.type === 'vf-drawer') {\n // 什么也不做,不处理弹窗、抽屉内部组件!!\n } else if (wItem.type === 'grid') {\n if (!!wItem.cols && wItem.cols.length > 0) {\n wItem.cols.forEach(childItem => {\n this.buildDataFromWidget(childItem);\n });\n }\n } else if (wItem.type === 'table') {\n if (!!wItem.rows && wItem.rows.length > 0) {\n wItem.rows.forEach(rowItem => {\n if (!!rowItem.cols && rowItem.cols.length > 0) {\n rowItem.cols.forEach(colItem => {\n this.buildDataFromWidget(colItem);\n });\n }\n });\n }\n } else if (wItem.type === 'tab') {\n if (!!wItem.tabs && wItem.tabs.length > 0) {\n wItem.tabs.forEach(tabItem => {\n if (!!tabItem.widgetList && tabItem.widgetList.length > 0) {\n tabItem.widgetList.forEach(childItem => {\n this.buildDataFromWidget(childItem);\n });\n }\n });\n }\n } else if (wItem.type === 'sub-form') {\n const subFormName = wItem.options.name;\n if (!this.formData.hasOwnProperty(subFormName)) {\n const subFormDataRow = {};\n if (wItem.options.showBlankRow) {\n wItem.widgetList.forEach(subFormItem => {\n if (!!subFormItem.formItemFlag) {\n subFormDataRow[subFormItem.options.name] =\n subFormItem.options.defaultValue;\n }\n });\n\n this.formDataModel[subFormName] = [subFormDataRow];\n } else {\n this.formDataModel[subFormName] = [];\n }\n } else {\n const initialValue = this.formData[subFormName];\n this.formDataModel[subFormName] = deepClone(initialValue);\n }\n } else if (wItem.type === 'grid-sub-form') {\n const gridSubFormName = wItem.options.name;\n if (!this.formData.hasOwnProperty(gridSubFormName)) {\n const gsfFWList = [];\n const fieldListFn = fw => {\n gsfFWList.push(fw);\n };\n traverseFieldWidgetsOfContainer(wItem, fieldListFn);\n\n const gridSubFormDataRow = {};\n if (wItem.options.showBlankRow) {\n gsfFWList.forEach(gridSubFormItem => {\n gridSubFormDataRow[gridSubFormItem.options.name] =\n gridSubFormItem.options.defaultValue;\n });\n this.formDataModel[gridSubFormName] = [gridSubFormDataRow];\n } else {\n this.formDataModel[gridSubFormName] = [];\n }\n } else {\n const initialValue = this.formData[gridSubFormName];\n this.formDataModel[gridSubFormName] = deepClone(initialValue);\n }\n } else if (wItem.type === 'grid-col' || wItem.type === 'table-cell') {\n if (!!wItem.widgetList && wItem.widgetList.length > 0) {\n wItem.widgetList.forEach(childItem => {\n this.buildDataFromWidget(childItem);\n });\n }\n } else {\n //自定义容器组件\n if (!!wItem.widgetList && wItem.widgetList.length > 0) {\n wItem.widgetList.forEach(childItem => {\n this.buildDataFromWidget(childItem);\n });\n }\n }\n } else if (!!wItem.formItemFlag) {\n if (!this.formData.hasOwnProperty(wItem.options.name)) {\n this.formDataModel[wItem.options.name] = wItem.options.defaultValue;\n } else {\n const initialValue = this.formData[wItem.options.name];\n this.formDataModel[wItem.options.name] = deepClone(initialValue);\n }\n }\n },\n\n addFieldChangeEventHandler() {\n this.off$('fieldChange'); //移除原有事件监听\n this.on$(\n 'fieldChange',\n (fieldName, newValue, oldValue, subFormName, subFormRowIndex) => {\n this.handleFieldDataChange(\n fieldName,\n newValue,\n oldValue,\n subFormName,\n subFormRowIndex\n );\n this.$emit(\n 'formChange',\n fieldName,\n newValue,\n oldValue,\n this.formDataModel,\n subFormName,\n subFormRowIndex\n );\n }\n );\n },\n\n addFieldValidateEventHandler() {\n this.off$('fieldValidation'); //移除原有事件监听\n this.on$('fieldValidation', fieldName => {\n if (!!this.$refs.renderForm) {\n this.$refs.renderForm.validateFields(fieldName);\n }\n });\n },\n\n registerFormToRefList() {\n this.widgetRefList['v_form_ref'] = this;\n },\n\n handleFieldDataChange(fieldName, newValue, oldValue, subFormName, subFormRowIndex) {\n if (!!this.formConfig && !!this.formConfig.onFormDataChange) {\n const customFunc = new Function(\n 'fieldName',\n 'newValue',\n 'oldValue',\n 'formModel',\n 'subFormName',\n 'subFormRowIndex',\n this.formConfig.onFormDataChange\n );\n customFunc.call(\n this,\n fieldName,\n newValue,\n oldValue,\n this.formDataModel,\n subFormName,\n subFormRowIndex\n );\n }\n },\n\n handleOnCreated() {\n if (!!this.formConfig && !!this.formConfig.onFormCreated) {\n const customFunc = new Function(this.formConfig.onFormCreated);\n customFunc.call(this);\n }\n },\n\n handleOnSubmit() {\n if (!!this.formConfig && !!this.formConfig.handleOnSubmit) {\n const customFunc = new Function(this.formConfig.handleOnSubmit);\n customFunc.call(this);\n }\n },\n\n handleOnMounted() {\n if (!!this.formConfig && !!this.formConfig.onFormMounted) {\n const customFunc = new Function(this.formConfig.onFormMounted);\n customFunc.call(this);\n }\n },\n\n findWidgetAndSetDisabled(widgetName, disabledFlag) {\n const foundW = this.getWidgetRef(widgetName);\n if (!!foundW && !!foundW.setDisabled) {\n foundW.setDisabled(disabledFlag);\n } else {\n //没找到,可能是子表单中的组件\n this.findWidgetOfSubFormAndSetDisabled(widgetName, disabledFlag);\n }\n },\n\n findWidgetOfSubFormAndSetDisabled(widgetName, disabledFlag) {\n const widgetSchema = getFieldWidgetByName(\n this.formJsonObj.widgetList,\n widgetName,\n true\n );\n if (\n !!widgetSchema &&\n !!widgetSchema.options &&\n widgetSchema.options.hasOwnProperty('disabled')\n ) {\n widgetSchema.options.disabled = disabledFlag;\n }\n\n this.findWidgetNameInSubForm(widgetName).forEach(wn => {\n const sw = this.getWidgetRef(wn);\n if (!!sw && !!sw.setDisabled) {\n sw.setDisabled(disabledFlag);\n }\n });\n },\n\n findWidgetAndSetHidden(widgetName, hiddenFlag) {\n const foundW = this.getWidgetRef(widgetName);\n if (!!foundW && !!foundW.setDisabled) {\n foundW.setHidden(hiddenFlag);\n } else {\n //没找到,可能是子表单中的组件\n this.findWidgetOfSubFormAndSetHidden(widgetName, hiddenFlag);\n }\n },\n\n findWidgetOfSubFormAndSetHidden(widgetName, hiddenFlag) {\n const widgetSchema = getFieldWidgetByName(\n this.formJsonObj.widgetList,\n widgetName,\n true\n );\n if (\n !!widgetSchema &&\n !!widgetSchema.options &&\n widgetSchema.options.hasOwnProperty('hidden')\n ) {\n widgetSchema.options.hidden = hiddenFlag;\n }\n\n this.findWidgetNameInSubForm(widgetName).forEach(wn => {\n const sw = this.getWidgetRef(wn);\n if (!!sw && !!sw.setDisabled) {\n sw.setHidden(hiddenFlag);\n }\n });\n },\n\n findWidgetNameInSubForm(widgetName) {\n const result = [];\n let subFormName = null;\n const handlerFn = (field, parent) => {\n if (!!field.options && field.options.name === widgetName) {\n subFormName = parent.options.name;\n }\n };\n traverseFieldWidgets(this.widgetList, handlerFn);\n\n if (!!subFormName) {\n const subFormRef = this.getWidgetRef(subFormName);\n if (!!subFormRef) {\n const rowIds = subFormRef.getRowIdData();\n if (!!rowIds && rowIds.length > 0) {\n rowIds.forEach(rid => {\n result.push(widgetName + '@row' + rid);\n });\n }\n }\n }\n\n return result;\n },\n\n initDataSetRequest() {\n const dsNameSet = new Set();\n this.getFieldWidgets().forEach(fw => {\n if (\n !!fw.field.options.dsEnabled &&\n !!fw.field.options.dsName &&\n !!fw.field.options.dataSetName\n ) {\n dsNameSet.add(fw.field.options.dsName);\n }\n });\n\n if (dsNameSet.size > 0) {\n dsNameSet.forEach(async dsName => {\n const curDS = getDSByName(this.formConfig, dsName);\n if (!!curDS) {\n const localDsv = new Object({});\n overwriteObj(localDsv, this.globalDsv || {});\n let dsResult = null;\n try {\n dsResult = await runDataSourceRequest(\n curDS,\n localDsv,\n this,\n false,\n this.$message\n );\n this.dsResultCache[dsName] = dsResult;\n this.broadcast('FieldWidget', 'loadOptionItemsFromDataSet', dsName); //注意:跟Vue2不同,事件参数不需要包含在数组中传递!!\n } catch (err) {\n this.$message.error(err.message);\n }\n }\n });\n }\n },\n\n //--------------------- 以下为组件支持外部调用的API方法 begin ------------------//\n /* 提示:用户可自行扩充这些方法!!! */\n\n changeLanguage(langName) {\n changeLocale(langName);\n },\n\n getLanguageName() {\n return localStorage.getItem('lowcode_local') || 'zh-CN';\n },\n\n getNativeForm() {\n //获取原生form引用\n return this.$refs['renderForm'];\n },\n\n getFormRef() {\n return this;\n },\n\n getWidgetRef(widgetName, showError = false) {\n const foundRef = this.widgetRefList[widgetName];\n if (!foundRef && !!showError) {\n this.$message.error(this.i18nt('render.hint.refNotFound') + widgetName);\n }\n return foundRef;\n },\n\n clearFormDataModel() {\n for (const pkey in this.formDataModel) {\n delete this.formDataModel[pkey];\n }\n },\n\n getFormJson() {\n return this.formJsonObj;\n },\n\n /**\n * 动态加载表单JSON\n * @param newFormJson\n */\n setFormJson(newFormJson) {\n if (!!newFormJson) {\n if (typeof newFormJson === 'string' || newFormJson.constructor === Object) {\n let newFormJsonObj = null;\n if (typeof newFormJson === 'string') {\n newFormJsonObj = JSON.parse(newFormJson);\n } else {\n newFormJsonObj = newFormJson;\n }\n\n if (!newFormJsonObj.formConfig || !newFormJsonObj.widgetList) {\n this.$message.error('Invalid format of form json.');\n return;\n }\n\n /* formDataModel必须在widgetList赋值完成初始化,因为widgetList赋值意味着子组件开始创建!!! */\n //this.formDataModel = {} //清空表单数据对象(有bug,会导致表单校验失败!!)\n this.clearFormDataModel(); //上行代码有问题,会导致表单校验失败,故保留原对象引用只清空对象属性!!\n this.buildFormModel(newFormJsonObj.widgetList);\n const defaultFormConfig = deepClone(getDefaultFormConfig());\n\n overwriteObj(defaultFormConfig, newFormJsonObj.formConfig); //\n\n this.formJsonObj['formConfig'] = defaultFormConfig; //newFormJsonObj.formConfig;\n this.formJsonObj['widgetList'] = newFormJsonObj.widgetList;\n\n this.insertCustomStyleAndScriptNode(); /* 必须先插入表单全局函数,否则VForm内部引用全局函数会报错!!! */\n this.$nextTick(() => {\n this.initFormObject(false);\n this.initDataSetRequest();\n this.handleOnMounted();\n });\n } else {\n this.$message.error('Set form json failed.');\n }\n }\n },\n\n /**\n * 重新加载选项数据\n * @param widgetNames 指定重新加载的组件名称或组件名数组,不传则重新加载所有选项字段\n */\n reloadOptionData(widgetNames) {\n let eventParams = [];\n if (!!widgetNames && typeof widgetNames === 'string') {\n eventParams = [widgetNames];\n } else if (!!widgetNames && Array.isArray(widgetNames)) {\n eventParams = [...widgetNames];\n }\n this.broadcast('FieldWidget', 'reloadOptionItems', eventParams);\n },\n\n getFormData(needValidation = true) {\n if (!needValidation) {\n return this.formDataModel;\n }\n\n let callback = function nullFunc() {};\n const promise = new window.Promise(function (resolve, reject) {\n callback = function (formData, error) {\n !error ? resolve(formData) : reject(error);\n };\n });\n\n console.log(this.formDataModel);\n this.$refs['renderForm']\n .validate()\n .then(res => {\n console.log(this.formDataModel);\n callback(this.formDataModel);\n })\n .catch(() => {\n callback(this.formDataModel, this.i18nt('render.hint.validationFailed'));\n });\n return promise;\n },\n\n setFormData(formData) {\n console.log('setFormData: ', formData);\n //设置表单数据\n Object.keys(this.formDataModel).forEach(propName => {\n if (!!formData && formData.hasOwnProperty(propName)) {\n this.formDataModel[propName] = deepClone(formData[propName]);\n }\n });\n\n // 通知SubForm组件:表单数据更新事件!!\n this.broadcast('ContainerItem', 'setFormData', this.formDataModel);\n // 通知FieldWidget组件:表单数据更新事件!!\n this.broadcast('FieldWidget', 'setFormData', this.formDataModel);\n },\n\n getFieldValue(fieldName) {\n //单个字段获取值\n const fieldRef = this.getWidgetRef(fieldName);\n if (!!fieldRef && !!fieldRef.getValue) {\n return fieldRef.getValue();\n }\n\n if (!fieldRef) {\n //如果是子表单字段\n const result = [];\n this.findWidgetNameInSubForm(fieldName).forEach(wn => {\n const sw = this.getWidgetRef(wn);\n if (!!sw && !!sw.getValue) {\n result.push(sw.getValue());\n }\n });\n\n return result;\n }\n },\n setTableRowDataValue(name, scope, value) {\n const {\n recordIndexs,\n column: { dataIndex }\n } = scope;\n this.formDataModel[name][recordIndexs[0]][dataIndex] = value;\n },\n setTableValue(name, value) {\n this.formDataModel[name] = value;\n },\n getTableValue(name) {\n return this.formDataModel[name];\n },\n setFieldValue(fieldName, fieldValue, disableChangeEvent = false) {\n //单个更新字段值\n const fieldRef = this.getWidgetRef(fieldName);\n if (!!fieldRef && !!fieldRef.setValue) {\n fieldRef.setValue(fieldValue, disableChangeEvent);\n }\n\n if (!fieldRef) {\n //如果是子表单字段\n this.findWidgetNameInSubForm(fieldName).forEach(wn => {\n const sw = this.getWidgetRef(wn);\n if (!!sw && !!sw.setValue) {\n sw.setValue(fieldValue, disableChangeEvent);\n }\n });\n }\n },\n\n getSubFormValues(subFormName, needValidation = true) {\n const foundSFRef = this.subFormRefList[subFormName];\n // if (!foundSFRef) {\n // return this.formDataModel[subFormName]\n // }\n return foundSFRef.getSubFormValues(needValidation);\n },\n\n disableForm() {\n const wNameList = Object.keys(this.widgetRefList);\n wNameList.forEach(wName => {\n const foundW = this.getWidgetRef(wName);\n if (!!foundW) {\n if (!!foundW.widget && foundW.widget.type === 'sub-form') {\n foundW.disableSubForm();\n } else if (!!foundW.widget && foundW.widget.type === 'grid-sub-form') {\n foundW.disableGridSubForm();\n } else {\n !!foundW.setDisabled && foundW.setDisabled(true);\n }\n }\n });\n },\n\n enableForm() {\n const wNameList = Object.keys(this.widgetRefList);\n wNameList.forEach(wName => {\n const foundW = this.getWidgetRef(wName);\n if (!!foundW) {\n if (!!foundW.widget && foundW.widget.type === 'sub-form') {\n foundW.enableSubForm();\n } else if (!!foundW.widget && foundW.widget.type === 'grid-sub-form') {\n foundW.enableGridSubForm();\n } else {\n !!foundW.setDisabled && foundW.setDisabled(false);\n }\n }\n });\n },\n\n resetForm() {\n //重置表单\n const subFormNames = Object.keys(this.subFormRefList);\n subFormNames.forEach(sfName => {\n if (!!this.subFormRefList[sfName].resetSubForm) {\n this.subFormRefList[sfName].resetSubForm();\n }\n });\n\n const wNameList = Object.keys(this.widgetRefList);\n wNameList.forEach(wName => {\n const foundW = this.getWidgetRef(wName);\n if (!!foundW && !foundW.subFormItemFlag && !!foundW.resetField) {\n // 跳过子表单字段!!\n foundW.resetField();\n }\n });\n\n this.$nextTick(() => {\n this.clearValidate(); /* 清除resetField方法触发的校验错误提示 */\n });\n },\n\n clearValidate(props) {\n this.$refs.renderForm.clearValidate(props);\n },\n\n /**\n * 校验表单\n * @param callback 回调函数\n */\n validateForm(callback) {\n this.$refs['renderForm'].validate(valid => {\n callback(valid);\n });\n },\n\n validateFields() {\n //TODO\n },\n\n disableWidgets(widgetNames) {\n if (!!widgetNames) {\n if (typeof widgetNames === 'string') {\n this.findWidgetAndSetDisabled(widgetNames, true);\n } else if (Array.isArray(widgetNames)) {\n widgetNames.forEach(wn => {\n this.findWidgetAndSetDisabled(wn, true);\n });\n }\n }\n },\n\n enableWidgets(widgetNames) {\n if (!!widgetNames) {\n if (typeof widgetNames === 'string') {\n this.findWidgetAndSetDisabled(widgetNames, false);\n } else if (Array.isArray(widgetNames)) {\n widgetNames.forEach(wn => {\n this.findWidgetAndSetDisabled(wn, false);\n });\n }\n }\n },\n\n hideWidgets(widgetNames) {\n if (!!widgetNames) {\n if (typeof widgetNames === 'string') {\n this.findWidgetAndSetHidden(widgetNames, true);\n } else if (Array.isArray(widgetNames)) {\n widgetNames.forEach(wn => {\n this.findWidgetAndSetHidden(wn, true);\n });\n }\n }\n },\n\n showWidgets(widgetNames) {\n if (!!widgetNames) {\n if (typeof widgetNames === 'string') {\n this.findWidgetAndSetHidden(widgetNames, false);\n } else if (Array.isArray(widgetNames)) {\n widgetNames.forEach(wn => {\n this.findWidgetAndSetHidden(wn, false);\n });\n }\n }\n },\n\n /**\n * 获取所有字段组件\n * @param staticWidgetsIncluded 是否包含按钮等静态组件,默认不包含\n * @returns {*[]}\n */\n getFieldWidgets(staticWidgetsIncluded = false) {\n return getAllFieldWidgets(this.formJsonObj.widgetList, staticWidgetsIncluded);\n },\n\n /**\n * 获取所有容器组件\n * @returns {*[]}\n */\n getContainerWidgets() {\n return getAllContainerWidgets(this.formJsonObj.widgetList);\n },\n\n /**\n * 增加外部组件引用,可通过getEC()方法获取外部组件,以便在VForm内部调用外部组件方法\n * @param componentName 外部组件名称\n * @param externalComponent 外部组件实例\n */\n addEC(componentName, externalComponent) {\n this.externalComponents[componentName] = externalComponent;\n },\n\n /**\n * 判断外部组件是否可获取\n * @param componentName 外部组件名称\n * @returns {boolean}\n */\n hasEC(componentName) {\n return this.externalComponents.hasOwnProperty(componentName);\n },\n\n /**\n * 获取外部组件实例\n * @param componentName\n * @returns {*}\n */\n getEC(componentName) {\n return this.externalComponents[componentName];\n },\n\n /**\n * 设置或取消设置表单为只读查看模式\n * @param readonlyFlag\n */\n setReadMode(readonlyFlag = true) {\n this.readModeFlag = readonlyFlag;\n },\n\n /**\n * 获取表单当前是否只读查看模式\n * @returns {boolean}\n */\n getReadMode() {\n return this.readModeFlag;\n },\n\n /**\n * 获取globalDsv对象\n * @returns {*}\n */\n getGlobalDsv() {\n return this.globalDsv;\n },\n\n /**\n * 执行数据源请求\n * @param dsName\n * @param localDsv\n */\n async executeDataSource(dsName, localDsv) {\n const ds = getDSByName(this.formJsonObj.formConfig, dsName);\n const newDsv = new Object({});\n overwriteObj(newDsv, this.globalDsv);\n overwriteObj(newDsv, localDsv);\n return await runDataSourceRequest(ds, newDsv, this, false, this.$message);\n },\n\n /**\n * 获取父级VFormRender组件实例\n * @returns {object}\n */\n getParentFormRef() {\n return this.parentForm;\n },\n\n /**\n * 当显示多级嵌套弹窗或抽屉时,获取最顶层VFormRender组件实例\n * @returns {object}\n */\n getTopFormRef() {\n if (!this.parentForm) {\n return this;\n }\n\n let topFormRef = this.parentForm;\n while (topFormRef.parentForm) {\n topFormRef = topFormRef.parentForm;\n }\n\n return topFormRef;\n },\n setChildFormRef(childFormRef) {\n this.childFormRef = childFormRef;\n },\n\n getChildFormRef() {\n return this.childFormRef;\n },\n\n /**\n * 是否弹窗、抽屉组件动态创建的v-form-render\n * @returns {boolean}\n */\n isDynamicCreation() {\n return this.dynamicCreation;\n },\n\n setDialogOrDrawerRef(ddRef) {\n this.dialogOrDrawerRef = ddRef;\n },\n\n /**\n * 获取子级VFormRender的包裹弹窗组件或抽屉组件实例ref\n * @returns {object}\n */\n getDialogOrDrawerRef() {\n return this.dialogOrDrawerRef;\n },\n\n /**\n * 显示弹窗表单,动态创建v-form-render组件,option-data、global-dsv等属性继承父级表单\n * @param dialogName\n * @param formData\n * @param extraData\n */\n showDialog(dialogName, formData = {}, extraData = {}) {\n console.log('showDialog', dialogName, formData, extraData);\n\n const topFormRef = this.getTopFormRef();\n const formRef = this.getFormRef();\n const dialogCon =\n getContainerWidgetByName(topFormRef.widgetList, dialogName) ||\n getContainerWidgetByName(formRef.widgetList, dialogName);\n\n if (!dialogName || dialogCon.type !== 'vf-dialog') {\n this.$message.error(this.i18nt('render.hint.refNotFound') + dialogName);\n return;\n }\n const dFormJson = {\n widgetList: deepClone(dialogCon.widgetList),\n formConfig: cloneFormConfigWithoutEventHandler(topFormRef.formConfig)\n };\n\n const wrapperDivId = generateId() + '';\n const dialogInstance = h(DynamicDialog, {\n options: dialogCon.options,\n formJson: dFormJson,\n formData: { ...formData },\n optionData: topFormRef.optionData,\n globalDsv: topFormRef.globalDsv,\n parentFormRef: this,\n extraData: extraData,\n wrapperId: wrapperDivId,\n vfCtx: { ...formData }\n });\n dialogInstance.appContext = this.$root.$.appContext; //非常重要, 覆盖应用上下文!!\n\n const wrapperDiv = document.createElement('div');\n wrapperDiv.id = 'vf-dynamic-dialog-wrapper' + wrapperDivId;\n document.body.appendChild(wrapperDiv);\n render(dialogInstance, wrapperDiv);\n document.body.appendChild(dialogInstance.el);\n dialogInstance.component.exposed.show();\n },\n\n showDrawer(drawerName, formData = {}, extraData = {}) {\n const topFormRef = this.getTopFormRef();\n const drawerCon = getContainerWidgetByName(topFormRef.widgetList, drawerName);\n if (!drawerCon || drawerCon.type !== 'vf-drawer') {\n this.$message.error(this.i18nt('render.hint.refNotFound') + drawerName);\n return;\n }\n const dFormJson = {\n widgetList: deepClone(drawerCon.widgetList),\n formConfig: cloneFormConfigWithoutEventHandler(topFormRef.formConfig)\n };\n\n const wrapperDivId = generateId() + '';\n const drawerInstance = createVNode(DynamicDrawer, {\n options: drawerCon.options,\n formJson: dFormJson,\n formData: formData || {},\n optionData: topFormRef.optionData,\n globalDsv: topFormRef.globalDsv,\n parentFormRef: this,\n extraData: extraData,\n wrapperId: wrapperDivId\n });\n drawerInstance.appContext = this.$root.$.appContext; //非常重要, 覆盖应用上下文!!\n\n const wrapperDiv = document.createElement('div');\n wrapperDiv.id = 'vf-dynamic-drawer-wrapper' + wrapperDivId;\n document.body.appendChild(wrapperDiv);\n render(drawerInstance, wrapperDiv);\n document.body.appendChild(drawerInstance.el);\n drawerInstance.component.ctx.show();\n },\n\n /**\n * 判断表单是否处于设计器预览状态\n * @return {boolean}\n */\n isPreviewState() {\n return this.previewState;\n },\n getFormModel() {\n return this.formDataModel;\n }\n //--------------------- 以上为组件支持外部调用的API方法 end ------------------//\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .ant-form {\n &.render-form {\n height: 100%;\n // overflow: auto;\n }\n }\n</style>\n"],"names":["_sfc_main","emitter","i18n","FieldComponents","buildDefaultFormJson","flag","_a","error","serveList","res","fmtHttpParams","modelForm","insertHtmlCodeFlag","generateId","widget","curLocale","insertCustomCssToHead","insertGlobalFunctionsToHtml","widgetList","wItem","name","deepClone","childItem","rowItem","colItem","tabItem","subFormName","initialValue","subFormDataRow","subFormItem","gridSubFormName","gsfFWList","traverseFieldWidgetsOfContainer","fw","gridSubFormDataRow","gridSubFormItem","fieldName","newValue","oldValue","subFormRowIndex","widgetName","disabledFlag","foundW","widgetSchema","getFieldWidgetByName","wn","sw","hiddenFlag","result","handlerFn","field","parent","traverseFieldWidgets","subFormRef","rowIds","rid","dsNameSet","dsName","curDS","getDSByName","localDsv","overwriteObj","dsResult","runDataSourceRequest","err","langName","changeLocale","showError","foundRef","pkey","newFormJson","newFormJsonObj","defaultFormConfig","getDefaultFormConfig","widgetNames","eventParams","needValidation","callback","promise","resolve","reject","formData","propName","fieldRef","scope","value","recordIndexs","dataIndex","fieldValue","disableChangeEvent","wName","sfName","props","valid","staticWidgetsIncluded","getAllFieldWidgets","getAllContainerWidgets","componentName","externalComponent","readonlyFlag","ds","newDsv","topFormRef","childFormRef","ddRef","dialogName","extraData","formRef","dialogCon","getContainerWidgetByName","dFormJson","cloneFormConfigWithoutEventHandler","wrapperDivId","dialogInstance","h","DynamicDialog","wrapperDiv","render","drawerName","drawerCon","drawerInstance","createVNode","DynamicDrawer","_createBlock","_component_a_spin","$data","_createElementVNode","_createVNode","_component_a_form","$options","_normalizeClass","_openBlock","_createElementBlock","_Fragment","_renderList","index","_resolveDynamicComponent","_ctx","slot","_withCtx","_renderSlot","_mergeProps"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue.js","sources":["../../../../src/components/form-render/index.vue"],"sourcesContent":["<template>\n <TpfConfigProvider>\n <a-spin :spinning=\"isLoading\">\n <div :style=\"isLoading ? 'min-height: 260px' : ''\">\n <a-form\n :layout=\"labelPosition\"\n :class=\"[customClass, readModeFlag ? 'readonly-mode-form' : '']\"\n class=\"render-form tpf-form\"\n :label-width=\"labelWidth\"\n :validate-on-rule-change=\"false\"\n :model=\"formDataModel\"\n ref=\"renderForm\"\n @keydown.enter=\"handleEnterKey\"\n >\n <template v-for=\"(widget, index) in widgetList\">\n <template v-if=\"'container' === widget.category\">\n <component\n :is=\"getContainerWidgetName(widget)\"\n :widget=\"widget\"\n :key=\"widget.id\"\n :data=\"formDataModel[widget.options.name]\"\n :parent-list=\"widgetList\"\n :index-of-parent-list=\"index\"\n :parent-widget=\"null\"\n :model=\"formDataModel\"\n >\n <!-- 递归传递插槽!!! -->\n <template v-for=\"slot in Object.keys($slots)\" v-slot:[slot]=\"scope\">\n <slot :name=\"slot\" v-bind=\"scope\"></slot>\n </template>\n </component>\n </template>\n <template v-else>\n <component\n :is=\"getWidgetName(widget)\"\n :field=\"widget\"\n :form-model=\"formDataModel\"\n :designer=\"null\"\n :key=\"widget.id\"\n :parent-list=\"widgetList\"\n :index-of-parent-list=\"index\"\n :parent-widget=\"null\"\n >\n <!-- 递归传递插槽!!! -->\n <template v-for=\"slot in Object.keys($slots)\" v-slot:[slot]=\"scope\">\n <slot :name=\"slot\" v-bind=\"scope\"></slot>\n </template>\n </component>\n </template>\n </template>\n </a-form>\n </div>\n </a-spin>\n </TpfConfigProvider>\n</template>\n\n<script>\n import { createVNode, render, h } from 'vue';\n import emitter from '@/utils/emitter';\n import FieldComponents from '@/components/form-designer/form-widget/field-widget/index';\n import { TpfConfigProvider } from 'tmgc2-share';\n import {\n generateId,\n deepClone,\n insertCustomCssToHead,\n insertGlobalFunctionsToHtml,\n getAllContainerWidgets,\n getAllFieldWidgets,\n traverseFieldWidgets,\n buildDefaultFormJson,\n getDSByName,\n runDataSourceRequest,\n getFieldWidgetByName,\n overwriteObj,\n getContainerWidgetByName,\n traverseFieldWidgetsOfContainer,\n cloneFormConfigWithoutEventHandler,\n getDefaultFormConfig\n } from '@/utils/util';\n\n import i18n, { changeLocale } from '@/utils/i18n';\n import DynamicDialog from './dynamic-dialog';\n import DynamicDrawer from './dynamic-drawer';\n import { fmtHttpParams } from '@/utils/request/fmtHttpParams';\n\n export default {\n name: 'VFormRender',\n componentName: 'VFormRender',\n mixins: [emitter, i18n],\n components: {\n TpfConfigProvider,\n ...FieldComponents\n },\n props: {\n vfCtx: {\n type: Object,\n default: () => ({})\n },\n formJson: {\n //prop传入的表单JSON配置\n type: Object,\n default: () => buildDefaultFormJson()\n },\n formData: {\n //prop传入的表单数据\n type: Object,\n default: () => ({})\n },\n optionData: {\n //prop传入的选项数据\n type: Object,\n default: () => ({})\n },\n previewState: {\n //是否表单预览状态\n type: Boolean,\n default: false\n },\n disabledMode: {\n //表单禁止编辑模式\n type: Boolean,\n default: false\n },\n renderConfig: {\n //渲染配置对象\n type: Object,\n default: () => {\n return {\n languageName: 'zh-CN' //界面语言,默认显示中文\n };\n }\n },\n globalDsv: {\n // 全局数据源变量\n type: Object,\n default: () => ({})\n },\n parentForm: {\n type: Object,\n default: null\n },\n dynamicCreation: {\n //是否弹窗、抽屉动态创建的VFormRender\n type: Boolean,\n default: false\n }\n },\n provide() {\n return {\n refList: this.widgetRefList,\n sfRefList: this.subFormRefList, //收集SubForm引用\n getFormConfig: () =>\n this.formJsonObj\n .formConfig /* 解决provide传递formConfig属性的响应式更新问题!! */,\n getGlobalDsv: () => this.globalDsv, // 全局数据源变量\n globalOptionData: this.optionData,\n getOptionData: () =>\n this.optionData /* 该方法用于在异步更新option-data之后重新获取到最新值 */,\n globalModel: {\n formModel: this.formDataModel\n },\n previewState: this.previewState,\n getReadMode: () => this.readModeFlag,\n getSubFormFieldFlag: () => false,\n getSubFormName: () => '',\n getDSResultCache: () => this.dsResultCache\n };\n },\n data() {\n return {\n isClosing: false, //是否正在关闭\n isSubmitting: false, //是否正在提交中\n formJsonObj: this.formJson,\n\n formDataModel: {\n //\n },\n isLoading: false, //是否正在加载中\n widgetRefList: {},\n subFormRefList: {},\n formId: null, //表单唯一Id,用于区分页面上的多个v-form-render组件!!\n\n externalComponents: {}, //外部组件实例集合\n readModeFlag: false, //是否只读查看模式\n dialogOrDrawerRef: null, //保存子级VFormRender的包裹弹窗组件或抽屉组件的ref\n childFormRef: null, //保存子级VFormRender组件的ref\n\n dsResultCache: {} //数据源请求结果缓存\n };\n },\n computed: {\n formConfig() {\n return this.formJsonObj.formConfig;\n },\n cancelBtnLabel() {\n return this.formConfig.cancelButtonLabel || this.i18nt('designer.hint.cancel');\n },\n\n okBtnLabel() {\n return this.formConfig.okButtonLabel || this.i18nt('designer.hint.confirm');\n },\n\n widgetList() {\n return this.formJsonObj.widgetList;\n },\n\n labelPosition() {\n if (!!this.formConfig && !!this.formConfig.labelPosition) {\n return this.formConfig.labelPosition;\n }\n\n return 'horizontal';\n },\n\n labelWidth() {\n if (!!this.formConfig && !!this.formConfig.labelWidth) {\n return this.formConfig.labelWidth + 'px';\n }\n\n return '80px';\n },\n\n size() {\n if (!!this.formConfig && !!this.formConfig.size) {\n return this.formConfig.size;\n }\n\n return 'default';\n },\n\n customClass() {\n return !!this.formConfig && !!this.formConfig.customClass\n ? this.formConfig.customClass\n : '';\n }\n },\n watch: {\n //\n },\n created() {\n this.isLoading = false;\n this.buildFormModel(!this.formJsonObj ? null : this.formJsonObj.widgetList);\n this.initFormObject();\n },\n mounted() {\n this.initLocale();\n this.initDataSetRequest();\n // this.handleOnMounted();\n },\n methods: {\n setLoading(flag) {\n this.isLoading = flag;\n },\n // 处理回车键事件\n handleEnterKey() {\n if (this.formConfig?.isEnterSubmit === 1) {\n this.handleOnSubmit();\n }\n },\n\n handleCancelClick() {\n if (this.isClosing) return; // 防止重复关闭\n if (!this.handleBeforeClose()) return;\n try {\n this.isClosing = true;\n if (!!this.formConfig.onCancelButtonClick) {\n const customFn = new Function(this.formConfig.onCancelButtonClick);\n const clickResult = customFn.call(this);\n if (clickResult === false) {\n return;\n }\n }\n\n this.dialogVisible = false;\n setTimeout(this.deleteWrapperNode, 150);\n } catch (error) {\n console.log('error: ', error);\n } finally {\n this.isClosing = false;\n }\n },\n\n async handleOkClick() {\n if (this.isSubmitting) return; // 防止重复提交\n\n try {\n this.isSubmitting = true;\n if (!!this.formConfig.onOkButtonClick) {\n const customFn = new Function(this.formConfig.onOkButtonClick);\n const clickResult = await customFn.call(this);\n if (clickResult === false) {\n return;\n }\n }\n this.dialogVisible = false;\n setTimeout(this.deleteWrapperNode, 150);\n } catch (error) {\n console.log('error: ', error);\n } finally {\n this.isClosing = false;\n }\n },\n\n async onFormDetail() {\n const serveList = this.formConfig.serveList;\n if (serveList.vformDetail.http?.url) {\n const res = await fmtHttpParams.call(this, serveList.vformDetail, {\n vfCtx: this.vfCtx\n });\n console.log('res: ', res);\n return res;\n }\n },\n async onFormUpdate() {\n const modelForm = await this.getFormData();\n const serveList = this.formConfig.serveList;\n if (serveList.vformDetail.http?.url) {\n const res = await fmtHttpParams.call(this, serveList.vformUpdate, {\n data: modelForm,\n vfCtx: this.vfCtx\n });\n console.log('res: ', res);\n return res;\n }\n },\n\n initFormObject(insertHtmlCodeFlag = true) {\n this.formId = 'vfRender' + generateId();\n if (!!insertHtmlCodeFlag && !this.dynamicCreation) {\n // 弹窗、抽屉动态创建的VFormRender不重新插入全局CSS和全局函数节点!!\n this.insertCustomStyleAndScriptNode();\n }\n this.addFieldChangeEventHandler();\n this.addFieldValidateEventHandler();\n this.registerFormToRefList();\n this.handleOnCreated();\n\n if (this.disabledMode) {\n //禁止表单编辑\n this.$nextTick(() => {\n this.disableForm();\n });\n }\n },\n\n getContainerWidgetName(widget) {\n if (widget.type === 'grid') {\n //grid-item跟VueGridLayout全局注册组件重名,故特殊处理!!\n return 'vf-grid-item';\n }\n\n return widget.type + '-item';\n },\n\n getWidgetName(widget) {\n return widget.type + '-widget';\n },\n\n initLocale() {\n const curLocale = localStorage.getItem('lowcode_local') || 'zh-CN';\n this.changeLanguage(curLocale);\n },\n\n insertCustomStyleAndScriptNode() {\n if (!!this.formConfig && !!this.formConfig.cssCode) {\n insertCustomCssToHead(\n this.formConfig.cssCode,\n !!this.previewState ? '' : this.formId\n );\n }\n\n if (!!this.formConfig && !!this.formConfig.functions) {\n insertGlobalFunctionsToHtml(\n this.formConfig.functions,\n !!this.previewState ? '' : this.formId\n );\n }\n },\n\n buildFormModel(widgetList) {\n if (!!widgetList && widgetList.length > 0) {\n widgetList.forEach(wItem => {\n this.buildDataFromWidget(wItem);\n });\n }\n },\n\n buildDataFromWidget(wItem) {\n if (wItem.category === 'container') {\n if (wItem.type === 'data-table') {\n const { name } = wItem.options;\n this.formDataModel[name] = deepClone(wItem.options.dataSource);\n return;\n }\n if (wItem.type === 'vf-dialog' || wItem.type === 'vf-drawer') {\n // 什么也不做,不处理弹窗、抽屉内部组件!!\n } else if (wItem.type === 'grid') {\n if (!!wItem.cols && wItem.cols.length > 0) {\n wItem.cols.forEach(childItem => {\n this.buildDataFromWidget(childItem);\n });\n }\n } else if (wItem.type === 'table') {\n if (!!wItem.rows && wItem.rows.length > 0) {\n wItem.rows.forEach(rowItem => {\n if (!!rowItem.cols && rowItem.cols.length > 0) {\n rowItem.cols.forEach(colItem => {\n this.buildDataFromWidget(colItem);\n });\n }\n });\n }\n } else if (wItem.type === 'tab') {\n if (!!wItem.tabs && wItem.tabs.length > 0) {\n wItem.tabs.forEach(tabItem => {\n if (!!tabItem.widgetList && tabItem.widgetList.length > 0) {\n tabItem.widgetList.forEach(childItem => {\n this.buildDataFromWidget(childItem);\n });\n }\n });\n }\n } else if (wItem.type === 'sub-form') {\n const subFormName = wItem.options.name;\n if (!this.formData.hasOwnProperty(subFormName)) {\n const subFormDataRow = {};\n if (wItem.options.showBlankRow) {\n wItem.widgetList.forEach(subFormItem => {\n if (!!subFormItem.formItemFlag) {\n subFormDataRow[subFormItem.options.name] =\n subFormItem.options.defaultValue;\n }\n });\n\n this.formDataModel[subFormName] = [subFormDataRow];\n } else {\n this.formDataModel[subFormName] = [];\n }\n } else {\n const initialValue = this.formData[subFormName];\n this.formDataModel[subFormName] = deepClone(initialValue);\n }\n } else if (wItem.type === 'grid-sub-form') {\n const gridSubFormName = wItem.options.name;\n if (!this.formData.hasOwnProperty(gridSubFormName)) {\n const gsfFWList = [];\n const fieldListFn = fw => {\n gsfFWList.push(fw);\n };\n traverseFieldWidgetsOfContainer(wItem, fieldListFn);\n\n const gridSubFormDataRow = {};\n if (wItem.options.showBlankRow) {\n gsfFWList.forEach(gridSubFormItem => {\n gridSubFormDataRow[gridSubFormItem.options.name] =\n gridSubFormItem.options.defaultValue;\n });\n this.formDataModel[gridSubFormName] = [gridSubFormDataRow];\n } else {\n this.formDataModel[gridSubFormName] = [];\n }\n } else {\n const initialValue = this.formData[gridSubFormName];\n this.formDataModel[gridSubFormName] = deepClone(initialValue);\n }\n } else if (wItem.type === 'grid-col' || wItem.type === 'table-cell') {\n if (!!wItem.widgetList && wItem.widgetList.length > 0) {\n wItem.widgetList.forEach(childItem => {\n this.buildDataFromWidget(childItem);\n });\n }\n } else {\n //自定义容器组件\n if (!!wItem.widgetList && wItem.widgetList.length > 0) {\n wItem.widgetList.forEach(childItem => {\n this.buildDataFromWidget(childItem);\n });\n }\n }\n } else if (!!wItem.formItemFlag) {\n if (!this.formData.hasOwnProperty(wItem.options.name)) {\n this.formDataModel[wItem.options.name] = wItem.options.defaultValue;\n } else {\n const initialValue = this.formData[wItem.options.name];\n this.formDataModel[wItem.options.name] = deepClone(initialValue);\n }\n }\n },\n\n addFieldChangeEventHandler() {\n this.off$('fieldChange'); //移除原有事件监听\n this.on$(\n 'fieldChange',\n (fieldName, newValue, oldValue, subFormName, subFormRowIndex) => {\n this.handleFieldDataChange(\n fieldName,\n newValue,\n oldValue,\n subFormName,\n subFormRowIndex\n );\n this.$emit(\n 'formChange',\n fieldName,\n newValue,\n oldValue,\n this.formDataModel,\n subFormName,\n subFormRowIndex\n );\n }\n );\n },\n\n addFieldValidateEventHandler() {\n this.off$('fieldValidation'); //移除原有事件监听\n this.on$('fieldValidation', fieldName => {\n if (!!this.$refs.renderForm) {\n this.$refs.renderForm.validateFields(fieldName);\n }\n });\n },\n\n registerFormToRefList() {\n this.widgetRefList['v_form_ref'] = this;\n },\n\n handleFieldDataChange(fieldName, newValue, oldValue, subFormName, subFormRowIndex) {\n if (!!this.formConfig && !!this.formConfig.onFormDataChange) {\n const customFunc = new Function(\n 'fieldName',\n 'newValue',\n 'oldValue',\n 'formModel',\n 'subFormName',\n 'subFormRowIndex',\n this.formConfig.onFormDataChange\n );\n customFunc.call(\n this,\n fieldName,\n newValue,\n oldValue,\n this.formDataModel,\n subFormName,\n subFormRowIndex\n );\n }\n },\n\n handleOnCreated() {\n if (!!this.formConfig && !!this.formConfig.onFormCreated) {\n const customFunc = new Function(this.formConfig.onFormCreated);\n customFunc.call(this);\n }\n },\n\n handleOnSubmit() {\n if (!!this.formConfig && !!this.formConfig.handleOnSubmit) {\n const customFunc = new Function(this.formConfig.handleOnSubmit);\n customFunc.call(this);\n }\n },\n\n handleOnMounted() {\n if (!!this.formConfig && !!this.formConfig.onFormMounted) {\n const customFunc = new Function(this.formConfig.onFormMounted);\n customFunc.call(this);\n }\n },\n\n findWidgetAndSetDisabled(widgetName, disabledFlag) {\n const foundW = this.getWidgetRef(widgetName);\n if (!!foundW && !!foundW.setDisabled) {\n foundW.setDisabled(disabledFlag);\n } else {\n //没找到,可能是子表单中的组件\n this.findWidgetOfSubFormAndSetDisabled(widgetName, disabledFlag);\n }\n },\n\n findWidgetOfSubFormAndSetDisabled(widgetName, disabledFlag) {\n const widgetSchema = getFieldWidgetByName(\n this.formJsonObj.widgetList,\n widgetName,\n true\n );\n if (\n !!widgetSchema &&\n !!widgetSchema.options &&\n widgetSchema.options.hasOwnProperty('disabled')\n ) {\n widgetSchema.options.disabled = disabledFlag;\n }\n\n this.findWidgetNameInSubForm(widgetName).forEach(wn => {\n const sw = this.getWidgetRef(wn);\n if (!!sw && !!sw.setDisabled) {\n sw.setDisabled(disabledFlag);\n }\n });\n },\n\n findWidgetAndSetHidden(widgetName, hiddenFlag) {\n const foundW = this.getWidgetRef(widgetName);\n if (!!foundW && !!foundW.setDisabled) {\n foundW.setHidden(hiddenFlag);\n } else {\n //没找到,可能是子表单中的组件\n this.findWidgetOfSubFormAndSetHidden(widgetName, hiddenFlag);\n }\n },\n\n findWidgetOfSubFormAndSetHidden(widgetName, hiddenFlag) {\n const widgetSchema = getFieldWidgetByName(\n this.formJsonObj.widgetList,\n widgetName,\n true\n );\n if (\n !!widgetSchema &&\n !!widgetSchema.options &&\n widgetSchema.options.hasOwnProperty('hidden')\n ) {\n widgetSchema.options.hidden = hiddenFlag;\n }\n\n this.findWidgetNameInSubForm(widgetName).forEach(wn => {\n const sw = this.getWidgetRef(wn);\n if (!!sw && !!sw.setDisabled) {\n sw.setHidden(hiddenFlag);\n }\n });\n },\n\n findWidgetNameInSubForm(widgetName) {\n const result = [];\n let subFormName = null;\n const handlerFn = (field, parent) => {\n if (!!field.options && field.options.name === widgetName) {\n subFormName = parent.options.name;\n }\n };\n traverseFieldWidgets(this.widgetList, handlerFn);\n\n if (!!subFormName) {\n const subFormRef = this.getWidgetRef(subFormName);\n if (!!subFormRef) {\n const rowIds = subFormRef.getRowIdData();\n if (!!rowIds && rowIds.length > 0) {\n rowIds.forEach(rid => {\n result.push(widgetName + '@row' + rid);\n });\n }\n }\n }\n\n return result;\n },\n\n initDataSetRequest() {\n const dsNameSet = new Set();\n this.getFieldWidgets().forEach(fw => {\n if (\n !!fw.field.options.dsEnabled &&\n !!fw.field.options.dsName &&\n !!fw.field.options.dataSetName\n ) {\n dsNameSet.add(fw.field.options.dsName);\n }\n });\n\n if (dsNameSet.size > 0) {\n dsNameSet.forEach(async dsName => {\n const curDS = getDSByName(this.formConfig, dsName);\n if (!!curDS) {\n const localDsv = new Object({});\n overwriteObj(localDsv, this.globalDsv || {});\n let dsResult = null;\n try {\n dsResult = await runDataSourceRequest(\n curDS,\n localDsv,\n this,\n false,\n this.$message\n );\n this.dsResultCache[dsName] = dsResult;\n this.broadcast('FieldWidget', 'loadOptionItemsFromDataSet', dsName); //注意:跟Vue2不同,事件参数不需要包含在数组中传递!!\n } catch (err) {\n this.$message.error(err.message);\n }\n }\n });\n }\n },\n\n //--------------------- 以下为组件支持外部调用的API方法 begin ------------------//\n /* 提示:用户可自行扩充这些方法!!! */\n\n changeLanguage(langName) {\n changeLocale(langName);\n },\n\n getLanguageName() {\n return localStorage.getItem('lowcode_local') || 'zh-CN';\n },\n\n getNativeForm() {\n //获取原生form引用\n return this.$refs['renderForm'];\n },\n\n getFormRef() {\n return this;\n },\n\n getWidgetRef(widgetName, showError = false) {\n const foundRef = this.widgetRefList[widgetName];\n if (!foundRef && !!showError) {\n this.$message.error(this.i18nt('render.hint.refNotFound') + widgetName);\n }\n return foundRef;\n },\n\n clearFormDataModel() {\n for (const pkey in this.formDataModel) {\n delete this.formDataModel[pkey];\n }\n },\n\n getFormJson() {\n return this.formJsonObj;\n },\n\n /**\n * 动态加载表单JSON\n * @param newFormJson\n */\n setFormJson(newFormJson) {\n if (!!newFormJson) {\n if (typeof newFormJson === 'string' || newFormJson.constructor === Object) {\n let newFormJsonObj = null;\n if (typeof newFormJson === 'string') {\n newFormJsonObj = JSON.parse(newFormJson);\n } else {\n newFormJsonObj = newFormJson;\n }\n\n if (!newFormJsonObj.formConfig || !newFormJsonObj.widgetList) {\n this.$message.error('Invalid format of form json.');\n return;\n }\n\n /* formDataModel必须在widgetList赋值完成初始化,因为widgetList赋值意味着子组件开始创建!!! */\n //this.formDataModel = {} //清空表单数据对象(有bug,会导致表单校验失败!!)\n this.clearFormDataModel(); //上行代码有问题,会导致表单校验失败,故保留原对象引用只清空对象属性!!\n this.buildFormModel(newFormJsonObj.widgetList);\n const defaultFormConfig = deepClone(getDefaultFormConfig());\n\n overwriteObj(defaultFormConfig, newFormJsonObj.formConfig); //\n\n this.formJsonObj['formConfig'] = defaultFormConfig; //newFormJsonObj.formConfig;\n this.formJsonObj['widgetList'] = newFormJsonObj.widgetList;\n\n this.insertCustomStyleAndScriptNode(); /* 必须先插入表单全局函数,否则VForm内部引用全局函数会报错!!! */\n this.$nextTick(() => {\n this.initFormObject(false);\n this.initDataSetRequest();\n this.handleOnMounted();\n });\n } else {\n this.$message.error('Set form json failed.');\n }\n }\n },\n\n /**\n * 重新加载选项数据\n * @param widgetNames 指定重新加载的组件名称或组件名数组,不传则重新加载所有选项字段\n */\n reloadOptionData(widgetNames) {\n let eventParams = [];\n if (!!widgetNames && typeof widgetNames === 'string') {\n eventParams = [widgetNames];\n } else if (!!widgetNames && Array.isArray(widgetNames)) {\n eventParams = [...widgetNames];\n }\n this.broadcast('FieldWidget', 'reloadOptionItems', eventParams);\n },\n\n getFormData(needValidation = true) {\n if (!needValidation) {\n return this.formDataModel;\n }\n\n let callback = function nullFunc() {};\n const promise = new window.Promise(function (resolve, reject) {\n callback = function (formData, error) {\n !error ? resolve(formData) : reject(error);\n };\n });\n\n console.log(this.formDataModel);\n this.$refs['renderForm']\n .validate()\n .then(res => {\n console.log(this.formDataModel);\n callback(this.formDataModel);\n })\n .catch(() => {\n callback(this.formDataModel, this.i18nt('render.hint.validationFailed'));\n });\n return promise;\n },\n\n setFormData(formData) {\n console.log('setFormData: ', formData);\n //设置表单数据\n Object.keys(this.formDataModel).forEach(propName => {\n if (!!formData && formData.hasOwnProperty(propName)) {\n this.formDataModel[propName] = deepClone(formData[propName]);\n }\n });\n\n // 通知SubForm组件:表单数据更新事件!!\n this.broadcast('ContainerItem', 'setFormData', this.formDataModel);\n // 通知FieldWidget组件:表单数据更新事件!!\n this.broadcast('FieldWidget', 'setFormData', this.formDataModel);\n },\n\n getFieldValue(fieldName) {\n //单个字段获取值\n const fieldRef = this.getWidgetRef(fieldName);\n if (!!fieldRef && !!fieldRef.getValue) {\n return fieldRef.getValue();\n }\n\n if (!fieldRef) {\n //如果是子表单字段\n const result = [];\n this.findWidgetNameInSubForm(fieldName).forEach(wn => {\n const sw = this.getWidgetRef(wn);\n if (!!sw && !!sw.getValue) {\n result.push(sw.getValue());\n }\n });\n\n return result;\n }\n },\n setTableRowDataValue(name, scope, value) {\n const {\n recordIndexs,\n column: { dataIndex }\n } = scope;\n this.formDataModel[name][recordIndexs[0]][dataIndex] = value;\n },\n setTableValue(name, value) {\n this.formDataModel[name] = value;\n },\n /**\n * 插入表格数据\n * @param name\n */\n insertTableValue(name, value) {\n this.formDataModel[name].push(value);\n },\n getTableValue(name) {\n return this.formDataModel[name];\n },\n setFieldValue(fieldName, fieldValue, disableChangeEvent = false) {\n //单个更新字段值\n const fieldRef = this.getWidgetRef(fieldName);\n if (!!fieldRef && !!fieldRef.setValue) {\n fieldRef.setValue(fieldValue, disableChangeEvent);\n }\n\n if (!fieldRef) {\n //如果是子表单字段\n this.findWidgetNameInSubForm(fieldName).forEach(wn => {\n const sw = this.getWidgetRef(wn);\n if (!!sw && !!sw.setValue) {\n sw.setValue(fieldValue, disableChangeEvent);\n }\n });\n }\n },\n\n getSubFormValues(subFormName, needValidation = true) {\n const foundSFRef = this.subFormRefList[subFormName];\n // if (!foundSFRef) {\n // return this.formDataModel[subFormName]\n // }\n return foundSFRef.getSubFormValues(needValidation);\n },\n\n disableForm() {\n const wNameList = Object.keys(this.widgetRefList);\n wNameList.forEach(wName => {\n const foundW = this.getWidgetRef(wName);\n if (!!foundW) {\n if (!!foundW.widget && foundW.widget.type === 'sub-form') {\n foundW.disableSubForm();\n } else if (!!foundW.widget && foundW.widget.type === 'grid-sub-form') {\n foundW.disableGridSubForm();\n } else {\n !!foundW.setDisabled && foundW.setDisabled(true);\n }\n }\n });\n },\n\n enableForm() {\n const wNameList = Object.keys(this.widgetRefList);\n wNameList.forEach(wName => {\n const foundW = this.getWidgetRef(wName);\n if (!!foundW) {\n if (!!foundW.widget && foundW.widget.type === 'sub-form') {\n foundW.enableSubForm();\n } else if (!!foundW.widget && foundW.widget.type === 'grid-sub-form') {\n foundW.enableGridSubForm();\n } else {\n !!foundW.setDisabled && foundW.setDisabled(false);\n }\n }\n });\n },\n\n resetForm() {\n //重置表单\n const subFormNames = Object.keys(this.subFormRefList);\n subFormNames.forEach(sfName => {\n if (!!this.subFormRefList[sfName].resetSubForm) {\n this.subFormRefList[sfName].resetSubForm();\n }\n });\n\n const wNameList = Object.keys(this.widgetRefList);\n wNameList.forEach(wName => {\n const foundW = this.getWidgetRef(wName);\n if (!!foundW && !foundW.subFormItemFlag && !!foundW.resetField) {\n // 跳过子表单字段!!\n foundW.resetField();\n }\n });\n\n this.$nextTick(() => {\n this.clearValidate(); /* 清除resetField方法触发的校验错误提示 */\n });\n },\n\n clearValidate(props) {\n this.$refs.renderForm.clearValidate(props);\n },\n\n /**\n * 校验表单\n * @param callback 回调函数\n */\n validateForm(callback) {\n this.$refs['renderForm'].validate(valid => {\n callback(valid);\n });\n },\n\n validateFields() {\n //TODO\n },\n\n disableWidgets(widgetNames) {\n if (!!widgetNames) {\n if (typeof widgetNames === 'string') {\n this.findWidgetAndSetDisabled(widgetNames, true);\n } else if (Array.isArray(widgetNames)) {\n widgetNames.forEach(wn => {\n this.findWidgetAndSetDisabled(wn, true);\n });\n }\n }\n },\n\n enableWidgets(widgetNames) {\n if (!!widgetNames) {\n if (typeof widgetNames === 'string') {\n this.findWidgetAndSetDisabled(widgetNames, false);\n } else if (Array.isArray(widgetNames)) {\n widgetNames.forEach(wn => {\n this.findWidgetAndSetDisabled(wn, false);\n });\n }\n }\n },\n\n hideWidgets(widgetNames) {\n if (!!widgetNames) {\n if (typeof widgetNames === 'string') {\n this.findWidgetAndSetHidden(widgetNames, true);\n } else if (Array.isArray(widgetNames)) {\n widgetNames.forEach(wn => {\n this.findWidgetAndSetHidden(wn, true);\n });\n }\n }\n },\n\n showWidgets(widgetNames) {\n if (!!widgetNames) {\n if (typeof widgetNames === 'string') {\n this.findWidgetAndSetHidden(widgetNames, false);\n } else if (Array.isArray(widgetNames)) {\n widgetNames.forEach(wn => {\n this.findWidgetAndSetHidden(wn, false);\n });\n }\n }\n },\n\n /**\n * 获取所有字段组件\n * @param staticWidgetsIncluded 是否包含按钮等静态组件,默认不包含\n * @returns {*[]}\n */\n getFieldWidgets(staticWidgetsIncluded = false) {\n return getAllFieldWidgets(this.formJsonObj.widgetList, staticWidgetsIncluded);\n },\n\n /**\n * 获取所有容器组件\n * @returns {*[]}\n */\n getContainerWidgets() {\n return getAllContainerWidgets(this.formJsonObj.widgetList);\n },\n\n /**\n * 增加外部组件引用,可通过getEC()方法获取外部组件,以便在VForm内部调用外部组件方法\n * @param componentName 外部组件名称\n * @param externalComponent 外部组件实例\n */\n addEC(componentName, externalComponent) {\n this.externalComponents[componentName] = externalComponent;\n },\n\n /**\n * 判断外部组件是否可获取\n * @param componentName 外部组件名称\n * @returns {boolean}\n */\n hasEC(componentName) {\n return this.externalComponents.hasOwnProperty(componentName);\n },\n\n /**\n * 获取外部组件实例\n * @param componentName\n * @returns {*}\n */\n getEC(componentName) {\n return this.externalComponents[componentName];\n },\n\n /**\n * 设置或取消设置表单为只读查看模式\n * @param readonlyFlag\n */\n setReadMode(readonlyFlag = true) {\n this.readModeFlag = readonlyFlag;\n },\n\n /**\n * 获取表单当前是否只读查看模式\n * @returns {boolean}\n */\n getReadMode() {\n return this.readModeFlag;\n },\n\n /**\n * 获取globalDsv对象\n * @returns {*}\n */\n getGlobalDsv() {\n return this.globalDsv;\n },\n\n /**\n * 执行数据源请求\n * @param dsName\n * @param localDsv\n */\n async executeDataSource(dsName, localDsv) {\n const ds = getDSByName(this.formJsonObj.formConfig, dsName);\n const newDsv = new Object({});\n overwriteObj(newDsv, this.globalDsv);\n overwriteObj(newDsv, localDsv);\n return await runDataSourceRequest(ds, newDsv, this, false, this.$message);\n },\n\n /**\n * 获取父级VFormRender组件实例\n * @returns {object}\n */\n getParentFormRef() {\n return this.parentForm;\n },\n\n /**\n * 当显示多级嵌套弹窗或抽屉时,获取最顶层VFormRender组件实例\n * @returns {object}\n */\n getTopFormRef() {\n if (!this.parentForm) {\n return this;\n }\n\n let topFormRef = this.parentForm;\n while (topFormRef.parentForm) {\n topFormRef = topFormRef.parentForm;\n }\n\n return topFormRef;\n },\n setChildFormRef(childFormRef) {\n this.childFormRef = childFormRef;\n },\n\n getChildFormRef() {\n return this.childFormRef;\n },\n\n /**\n * 是否弹窗、抽屉组件动态创建的v-form-render\n * @returns {boolean}\n */\n isDynamicCreation() {\n return this.dynamicCreation;\n },\n\n setDialogOrDrawerRef(ddRef) {\n this.dialogOrDrawerRef = ddRef;\n },\n\n /**\n * 获取子级VFormRender的包裹弹窗组件或抽屉组件实例ref\n * @returns {object}\n */\n getDialogOrDrawerRef() {\n return this.dialogOrDrawerRef;\n },\n\n /**\n * 显示弹窗表单,动态创建v-form-render组件,option-data、global-dsv等属性继承父级表单\n * @param dialogName\n * @param formData\n * @param extraData\n */\n showDialog(dialogName, formData = {}, extraData = {}) {\n console.log('showDialog', dialogName, formData, extraData);\n\n const topFormRef = this.getTopFormRef();\n const formRef = this.getFormRef();\n const dialogCon =\n getContainerWidgetByName(topFormRef.widgetList, dialogName) ||\n getContainerWidgetByName(formRef.widgetList, dialogName);\n\n if (!dialogName || dialogCon.type !== 'vf-dialog') {\n this.$message.error(this.i18nt('render.hint.refNotFound') + dialogName);\n return;\n }\n const dFormJson = {\n widgetList: deepClone(dialogCon.widgetList),\n formConfig: cloneFormConfigWithoutEventHandler(topFormRef.formConfig)\n };\n\n const wrapperDivId = generateId() + '';\n const dialogInstance = h(DynamicDialog, {\n options: dialogCon.options,\n formJson: dFormJson,\n formData: { ...formData },\n optionData: topFormRef.optionData,\n globalDsv: topFormRef.globalDsv,\n parentFormRef: this,\n extraData: extraData,\n wrapperId: wrapperDivId,\n vfCtx: { ...formData }\n });\n dialogInstance.appContext = this.$root.$.appContext; //非常重要, 覆盖应用上下文!!\n\n const wrapperDiv = document.createElement('div');\n wrapperDiv.id = 'vf-dynamic-dialog-wrapper' + wrapperDivId;\n document.body.appendChild(wrapperDiv);\n render(dialogInstance, wrapperDiv);\n document.body.appendChild(dialogInstance.el);\n dialogInstance.component.exposed.show();\n },\n\n showDrawer(drawerName, formData = {}, extraData = {}) {\n const topFormRef = this.getTopFormRef();\n const drawerCon = getContainerWidgetByName(topFormRef.widgetList, drawerName);\n if (!drawerCon || drawerCon.type !== 'vf-drawer') {\n this.$message.error(this.i18nt('render.hint.refNotFound') + drawerName);\n return;\n }\n const dFormJson = {\n widgetList: deepClone(drawerCon.widgetList),\n formConfig: cloneFormConfigWithoutEventHandler(topFormRef.formConfig)\n };\n\n const wrapperDivId = generateId() + '';\n const drawerInstance = createVNode(DynamicDrawer, {\n options: drawerCon.options,\n formJson: dFormJson,\n formData: formData || {},\n optionData: topFormRef.optionData,\n globalDsv: topFormRef.globalDsv,\n parentFormRef: this,\n extraData: extraData,\n wrapperId: wrapperDivId\n });\n drawerInstance.appContext = this.$root.$.appContext; //非常重要, 覆盖应用上下文!!\n\n const wrapperDiv = document.createElement('div');\n wrapperDiv.id = 'vf-dynamic-drawer-wrapper' + wrapperDivId;\n document.body.appendChild(wrapperDiv);\n render(drawerInstance, wrapperDiv);\n document.body.appendChild(drawerInstance.el);\n drawerInstance.component.ctx.show();\n },\n\n /**\n * 判断表单是否处于设计器预览状态\n * @return {boolean}\n */\n isPreviewState() {\n return this.previewState;\n },\n getFormModel() {\n return this.formDataModel;\n }\n //--------------------- 以上为组件支持外部调用的API方法 end ------------------//\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .ant-form {\n &.render-form {\n height: 100%;\n // overflow: auto;\n }\n }\n</style>\n"],"names":["_sfc_main","emitter","i18n","TpfConfigProvider","FieldComponents","buildDefaultFormJson","flag","_a","error","serveList","res","fmtHttpParams","modelForm","insertHtmlCodeFlag","generateId","widget","curLocale","insertCustomCssToHead","insertGlobalFunctionsToHtml","widgetList","wItem","name","deepClone","childItem","rowItem","colItem","tabItem","subFormName","initialValue","subFormDataRow","subFormItem","gridSubFormName","gsfFWList","traverseFieldWidgetsOfContainer","fw","gridSubFormDataRow","gridSubFormItem","fieldName","newValue","oldValue","subFormRowIndex","widgetName","disabledFlag","foundW","widgetSchema","getFieldWidgetByName","wn","sw","hiddenFlag","result","handlerFn","field","parent","traverseFieldWidgets","subFormRef","rowIds","rid","dsNameSet","dsName","curDS","getDSByName","localDsv","overwriteObj","dsResult","runDataSourceRequest","err","langName","changeLocale","showError","foundRef","pkey","newFormJson","newFormJsonObj","defaultFormConfig","getDefaultFormConfig","widgetNames","eventParams","needValidation","callback","promise","resolve","reject","formData","propName","fieldRef","scope","value","recordIndexs","dataIndex","fieldValue","disableChangeEvent","wName","sfName","props","valid","staticWidgetsIncluded","getAllFieldWidgets","getAllContainerWidgets","componentName","externalComponent","readonlyFlag","ds","newDsv","topFormRef","childFormRef","ddRef","dialogName","extraData","formRef","dialogCon","getContainerWidgetByName","dFormJson","cloneFormConfigWithoutEventHandler","wrapperDivId","dialogInstance","h","DynamicDialog","wrapperDiv","render","drawerName","drawerCon","drawerInstance","createVNode","DynamicDrawer","_createBlock","_component_TpfConfigProvider","_createVNode","_component_a_spin","$data","_createElementVNode","_component_a_form","$options","_normalizeClass","_openBlock","_createElementBlock","_Fragment","_renderList","index","_resolveDynamicComponent","_ctx","slot","_withCtx","_renderSlot","_mergeProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"refMixin.js","sources":["../../../../src/components/form-render/refMixin.js"],"sourcesContent":["export default {\n methods: {\n initRefList() {\n if (this.subFormRowIndex === -1 || this.subFormRowIndex === undefined) {\n //容器组件未被嵌套于多行子表单之内\n if (this.refList !== null && !!this.widget.options.name) {\n this.refList[this.widget.options.name] = this;\n }\n } else {\n //容器组件被嵌套于多行子表单之内\n if (this.refList !== null && !!this.widget.options.name) {\n this.refList[this.widget.options.name + '@row' + this.subFormRowId] = this;\n }\n }\n },\n\n getWidgetRef(widgetName, showError) {\n const foundRef = this.refList[widgetName];\n if (!foundRef && !!showError) {\n this.$message.error(this.i18nt('render.hint.refNotFound') + widgetName);\n }\n return foundRef;\n },\n\n getFormRef() {\n /* 获取VFrom引用,必须在VForm组件created之后方可调用 */\n return this.refList['v_form_ref'];\n },\n\n getComponentByContainer(con) {\n if (con.type === 'grid') {\n //grid-item跟VueGridLayout全局注册组件重名,故特殊处理!!\n return 'vf-grid-item';\n }\n\n return con.type + '-item';\n }\n }\n};\n"],"names":["refMixin","widgetName","showError","foundRef","con"],"mappings":"AAAA,MAAAA,IAAe;AAAA,EACX,SAAS;AAAA,IACL,cAAc;AACV,MAAI,KAAK,oBAAoB,MAAM,KAAK,oBAAoB,SAEpD,KAAK,YAAY,QAAU,KAAK,OAAO,QAAQ,SAC/C,KAAK,QAAQ,KAAK,OAAO,QAAQ,IAAI,IAAI,QAIzC,KAAK,YAAY,QAAU,KAAK,OAAO,QAAQ,SAC/C,KAAK,QAAQ,KAAK,OAAO,QAAQ,OAAO,SAAS,KAAK,YAAY,IAAI;AAAA,IAG1F;AAAA,IAEQ,aAAaC,GAAYC,GAAW;AAChC,YAAMC,IAAW,KAAK,QAAQF,CAAU;AACxC,aAAI,CAACE,KAAcD,KACf,KAAK,SAAS,MAAM,KAAK,MAAM,yBAAyB,IAAID,CAAU,GAEnEE;AAAA,IACnB;AAAA,IAEQ,aAAa;AAET,aAAO,KAAK,QAAQ;AAAA,IAChC;AAAA,IAEQ,wBAAwBC,GAAK;AACzB,aAAIA,EAAI,SAAS,SAEN,iBAGJA,EAAI,OAAO;AAAA,IAC9B;AAAA,EACA;AACA;"}
1
+ {"version":3,"file":"refMixin.js","sources":["../../../../src/components/form-render/refMixin.js"],"sourcesContent":["export default {\n methods: {\n initRefList() {\n if (this.subFormRowIndex === -1 || this.subFormRowIndex === undefined) {\n //容器组件未被嵌套于多行子表单之内\n if (this.refList !== null && !!this.widget.options.name) {\n this.refList[this.widget.options.name] = this;\n }\n } else {\n //容器组件被嵌套于多行子表单之内\n if (this.refList !== null && !!this.widget.options.name) {\n this.refList[this.widget.options.name + '@row' + this.subFormRowId] = this;\n }\n }\n },\n\n getWidgetRef(widgetName, showError) {\n const foundRef = this.refList[widgetName];\n if (!foundRef && !!showError) {\n this.$message.error(this.i18nt('render.hint.refNotFound') + widgetName);\n }\n return foundRef;\n },\n\n getFormRef() {\n /* 获取VFrom引用,必须在VForm组件created之后方可调用 */\n return this.refList['v_form_ref'];\n },\n\n getComponentByContainer(con) {\n if (con.type === 'grid') {\n //grid-item跟VueGridLayout全局注册组件重名,故特殊处理!!\n return 'vf-grid-item';\n }\n\n return con.type + '-item';\n }\n }\n};\n"],"names":["refMixin","widgetName","showError","foundRef","con"],"mappings":"AAAA,MAAAA,IAAe;AAAA,EACX,SAAS;AAAA,IACL,cAAc;AACV,MAAI,KAAK,oBAAoB,MAAM,KAAK,oBAAoB,SAEpD,KAAK,YAAY,QAAU,KAAK,OAAO,QAAQ,SAC/C,KAAK,QAAQ,KAAK,OAAO,QAAQ,IAAI,IAAI,QAIzC,KAAK,YAAY,QAAU,KAAK,OAAO,QAAQ,SAC/C,KAAK,QAAQ,KAAK,OAAO,QAAQ,OAAO,SAAS,KAAK,YAAY,IAAI;AAAA,IAGlF;AAAA,IAEA,aAAaC,GAAYC,GAAW;AAChC,YAAMC,IAAW,KAAK,QAAQF,CAAU;AACxC,aAAI,CAACE,KAAcD,KACf,KAAK,SAAS,MAAM,KAAK,MAAM,yBAAyB,IAAID,CAAU,GAEnEE;AAAA,IACX;AAAA,IAEA,aAAa;AAET,aAAO,KAAK,QAAQ;AAAA,IACxB;AAAA,IAEA,wBAAwBC,GAAK;AACzB,aAAIA,EAAI,SAAS,SAEN,iBAGJA,EAAI,OAAO;AAAA,IACtB;AAAA,EACR;AACA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue.js","sources":["../../../../src/components/http-editor/index.vue"],"sourcesContent":["<template>\n <a-form-item :label=\"label\" labelAlign=\"left\" label-width=\"150px\">\n <a-button shape=\"round\" @click=\"addDataSource\" :class=\"['button-text-highlight']\">\n {{ buttonName || label }}\n </a-button>\n </a-form-item>\n\n <TpfModal\n :title=\"drawerTitle || i18nt('designer.setting.dataSourceSetting')\"\n v-model:visible=\"showDataSourceDialogFlag\"\n width=\"800px\"\n :destroy-on-close=\"true\"\n :append-to-body=\"true\"\n >\n <TpfCodeEditor ref=\"CodeReqModalEditorRef\" fnParams=\"data\" @set-code=\"handeSaveCode\" />\n <a-form\n :model=\"optionModel.http\"\n :rules=\"formRules\"\n ref=\"dsForm\"\n :label-col=\"{ span: 4 }\"\n :wrapper-col=\"{ span: 16 }\"\n labelAlign=\"left\"\n class=\"ds-form tpf-form\"\n >\n <a-form-item :label=\"i18nt('designer.setting.dsRequestURL')\" name=\"url\">\n <a-input v-model:value=\"optionModel.http.url\" />\n </a-form-item>\n\n <a-form-item :label=\"i18nt('designer.setting.dsRequestMethod')\" name=\"method\">\n <a-radio-group v-model:value=\"optionModel.http.method\">\n <a-radio-button value=\"get\">get</a-radio-button>\n <a-radio-button value=\"post\">post</a-radio-button>\n <a-radio-button value=\"put\">put</a-radio-button>\n <a-radio-button value=\"delete\">delete</a-radio-button>\n </a-radio-group>\n </a-form-item>\n <a-form-item :label=\"i18nt('designer.setting.dsRequestParams')\">\n <a-row v-for=\"(rp, pIdx) in paramsList\" class=\"t-mb-3\" :gutter=\"[8, 8]\" :key=\"pIdx\">\n <a-col :span=\"10\">\n <a-input\n v-model:value=\"rp.name\"\n :placeholder=\"i18nt('designer.setting.dsRequestNameInputPlaceholder')\"\n />\n </a-col>\n <a-col :span=\"10\">\n <a-input\n v-model:value=\"rp.value\"\n :placeholder=\"i18nt('designer.setting.dsRequestValueInputPlaceholder')\"\n />\n </a-col>\n <a-col :span=\"3\" :key=\"paramsList.length\">\n <a-button type=\"primary\" @click=\"deleteRequestParam(pIdx)\"> 删除 </a-button>\n </a-col>\n </a-row>\n <a-row>\n <a-col :span=\"6\">\n <a-button type=\"primary\" @click=\"addRequestParam\">\n {{ i18nt('designer.setting.addRequestParam') }}\n </a-button>\n </a-col>\n </a-row>\n </a-form-item>\n <a-form-item :label=\"i18nt('designer.setting.dsRequestData')\">\n <a-row class=\"t-mb-3\" v-for=\"(rd, dIdx) of dataList\" :gutter=\"8\" :key=\"dIdx\">\n <a-col :span=\"10\">\n <a-input\n v-model:value=\"rd.name\"\n :placeholder=\"i18nt('designer.setting.dsRequestNameInputPlaceholder')\"\n />\n </a-col>\n <a-col :span=\"10\">\n <a-input\n v-model:value=\"rd.value\"\n :placeholder=\"i18nt('designer.setting.dsRequestValueInputPlaceholder')\"\n />\n </a-col>\n <a-col :span=\"3\" :key=\"dataList.length\">\n <a-button type=\"primary\" @click=\"deleteRequestData(dIdx)\"> 删除 </a-button>\n </a-col>\n </a-row>\n <a-row>\n <a-col :span=\"6\">\n <a-button type=\"primary\" @click=\"addRequestData\">\n {{ i18nt('designer.setting.addRequestData') }}\n </a-button>\n </a-col>\n </a-row>\n </a-form-item>\n <a-form-item :label=\"`请求前数据处理`\">\n <a-button\n shape=\"round\"\n @click=\"handleEditCode('dataReqHandlerCode')\"\n :class=\"[optionModel.dataReqHandlerCode?.length ? 'button-text-highlight' : '']\"\n >\n 处理函数配置\n </a-button>\n </a-form-item>\n <a-form-item :label=\"`接口响应数据处理`\">\n <a-button\n shape=\"round\"\n @click=\"handleEditCode('dataHandlerCode')\"\n :class=\"[optionModel.dataHandlerCode?.length ? 'button-text-highlight' : '']\"\n >\n 处理函数配置\n </a-button>\n </a-form-item>\n </a-form>\n <template #footerRight>\n <a-button size=\"middle\" @click=\"showDataSourceDialogFlag = false\">\n {{ i18nt('designer.hint.cancel') }}\n </a-button>\n <a-button size=\"middle\" type=\"primary\" @click=\"saveDataSource\">\n {{ i18nt('designer.hint.confirm') }}\n </a-button>\n </template>\n </TpfModal>\n</template>\n\n<script setup lang=\"ts\">\n import { useI18n } from '@/utils/i18n';\n import { isArray } from 'lodash-es';\n import { ref } from 'vue';\n import { TpfModal, TpfCodeEditor } from 'tmgc2-share';\n import type { PropType } from 'vue';\n\n export interface HttpConfig {\n url: string;\n method: 'get' | 'post' | 'put' | 'delete';\n params: Record<string, any>;\n data: Record<string, any>;\n }\n\n export interface HttpEditorOption {\n http: HttpConfig;\n dataReqHandlerCode?: string;\n dataHandlerCode?: string;\n [key: string]: any;\n }\n\n const { i18nt } = useI18n();\n\n const props = defineProps({\n optionModel: {\n type: Object as PropType<HttpEditorOption>,\n required: true,\n default: () => ({\n http: {\n url: '',\n method: 'get',\n params: {},\n data: {}\n },\n dataReqHandlerCode: '',\n dataHandlerCode: ''\n })\n },\n drawerTitle: {\n type: String,\n default: ''\n },\n buttonName: {\n type: String,\n default: ''\n },\n label: {\n type: String,\n default: '编辑接口配置'\n }\n });\n\n const CodeReqModalEditorRef = ref();\n const dsForm = ref();\n const currentType = ref('dataHandlerCode');\n const dataList = ref<{ name: string; value: any }[]>([]);\n const paramsList = ref<{ name: string; value: any }[]>([]);\n const showDataSourceDialogFlag = ref(false);\n const dsvJson = ref('{\\n \\n}');\n const dsResultJson = ref('');\n\n const formRules = {\n url: [\n {\n required: true,\n trigger: ['blur', 'change'],\n message: i18nt('designer.setting.fieldValueRequired')\n }\n ]\n };\n\n const handleEditCode = (type: string) => {\n currentType.value = type;\n CodeReqModalEditorRef.value.open(\n props.optionModel[type as keyof typeof props.optionModel] as string\n );\n };\n\n const handeSaveCode = (code: string) => {\n props.optionModel[currentType.value as keyof typeof props.optionModel] = code;\n };\n\n const addDataSource = () => {\n showDataSourceDialogFlag.value = true;\n dataList.value = Object.entries(props.optionModel.http.data || {}).map(([name, value]) => ({\n name,\n value\n }));\n paramsList.value = Object.entries(props.optionModel.http.params || {}).map(\n ([name, value]) => ({\n name,\n value\n })\n );\n };\n\n const saveHttpData = () => {\n let data = {};\n if (isArray(dataList.value) && dataList.value.length) {\n data = dataList.value.reduce((t, v) => {\n t[v.name] = v.value;\n return t;\n }, {} as Record<string, any>);\n }\n props.optionModel.http.data = data;\n };\n\n const saveHttpParams = () => {\n let params = {};\n if (isArray(paramsList.value) && paramsList.value.length) {\n params = paramsList.value.reduce((t, v) => {\n t[v.name] = v.value;\n return t;\n }, {} as Record<string, any>);\n }\n props.optionModel.http.params = params;\n };\n\n const saveDataSource = () => {\n saveHttpData();\n saveHttpParams();\n showDataSourceDialogFlag.value = false;\n };\n\n const addRequestParam = () => {\n paramsList.value.push({ name: '', value: '' });\n };\n\n const deleteRequestParam = (idx: number) => {\n paramsList.value.splice(idx, 1);\n };\n\n const addRequestData = () => {\n dataList.value.push({ name: '', value: '' });\n };\n\n const deleteRequestData = (idx: number) => {\n dataList.value.splice(idx, 1);\n };\n</script>\n\n<style lang=\"less\" scoped></style>\n"],"names":["i18nt","useI18n","props","__props","CodeReqModalEditorRef","ref","dsForm","currentType","dataList","paramsList","showDataSourceDialogFlag","formRules","handleEditCode","type","handeSaveCode","code","addDataSource","name","value","saveHttpData","data","isArray","t","v","saveHttpParams","params","saveDataSource","addRequestParam","deleteRequestParam","idx","addRequestData","deleteRequestData","_createVNode","_component_a_form_item","_component_a_button","_createTextVNode","_toDisplayString","_unref","TpfModal","$event","TpfCodeEditor","_component_a_form","_component_a_input","_component_a_radio_group","_component_a_radio_button","_cache","_openBlock","_createElementBlock","_Fragment","_renderList","rp","pIdx","_createBlock","_component_a_row","_component_a_col","rd","dIdx","_normalizeClass","_a"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue.js","sources":["../../../../src/components/http-editor/index.vue"],"sourcesContent":["<template>\n <a-form-item :label=\"label\" labelAlign=\"left\" label-width=\"150px\">\n <a-button shape=\"round\" @click=\"addDataSource\" :class=\"['button-text-highlight']\">\n {{ buttonName || label }}\n </a-button>\n </a-form-item>\n\n <TpfModal\n :title=\"drawerTitle || i18nt('designer.setting.dataSourceSetting')\"\n v-model:visible=\"showDataSourceDialogFlag\"\n width=\"800px\"\n :destroy-on-close=\"true\"\n :append-to-body=\"true\"\n >\n <TpfCodeEditor ref=\"CodeReqModalEditorRef\" fnParams=\"data\" @set-code=\"handeSaveCode\" />\n <a-form\n :model=\"optionModel.http\"\n :rules=\"formRules\"\n ref=\"dsForm\"\n :label-col=\"{ span: 4 }\"\n :wrapper-col=\"{ span: 16 }\"\n labelAlign=\"left\"\n class=\"ds-form tpf-form\"\n >\n <a-form-item :label=\"i18nt('designer.setting.dsRequestURL')\" name=\"url\">\n <a-input v-model:value=\"optionModel.http.url\" />\n </a-form-item>\n\n <a-form-item :label=\"i18nt('designer.setting.dsRequestMethod')\" name=\"method\">\n <a-radio-group v-model:value=\"optionModel.http.method\">\n <a-radio-button value=\"get\">get</a-radio-button>\n <a-radio-button value=\"post\">post</a-radio-button>\n <a-radio-button value=\"put\">put</a-radio-button>\n <a-radio-button value=\"delete\">delete</a-radio-button>\n </a-radio-group>\n </a-form-item>\n <a-form-item :label=\"i18nt('designer.setting.dsRequestParams')\">\n <a-row v-for=\"(rp, pIdx) in paramsList\" class=\"t-mb-3\" :gutter=\"[8, 8]\" :key=\"pIdx\">\n <a-col :span=\"10\">\n <a-input\n v-model:value=\"rp.name\"\n :placeholder=\"i18nt('designer.setting.dsRequestNameInputPlaceholder')\"\n />\n </a-col>\n <a-col :span=\"10\">\n <a-input\n v-model:value=\"rp.value\"\n :placeholder=\"i18nt('designer.setting.dsRequestValueInputPlaceholder')\"\n />\n </a-col>\n <a-col :span=\"3\" :key=\"paramsList.length\">\n <a-button type=\"primary\" @click=\"deleteRequestParam(pIdx)\"> 删除 </a-button>\n </a-col>\n </a-row>\n <a-row>\n <a-col :span=\"6\">\n <a-button type=\"primary\" @click=\"addRequestParam\">\n {{ i18nt('designer.setting.addRequestParam') }}\n </a-button>\n </a-col>\n </a-row>\n </a-form-item>\n <a-form-item :label=\"i18nt('designer.setting.dsRequestData')\">\n <a-row class=\"t-mb-3\" v-for=\"(rd, dIdx) of dataList\" :gutter=\"8\" :key=\"dIdx\">\n <a-col :span=\"10\">\n <a-input\n v-model:value=\"rd.name\"\n :placeholder=\"i18nt('designer.setting.dsRequestNameInputPlaceholder')\"\n />\n </a-col>\n <a-col :span=\"10\">\n <a-input\n v-model:value=\"rd.value\"\n :placeholder=\"i18nt('designer.setting.dsRequestValueInputPlaceholder')\"\n />\n </a-col>\n <a-col :span=\"3\" :key=\"dataList.length\">\n <a-button type=\"primary\" @click=\"deleteRequestData(dIdx)\"> 删除 </a-button>\n </a-col>\n </a-row>\n <a-row>\n <a-col :span=\"6\">\n <a-button type=\"primary\" @click=\"addRequestData\">\n {{ i18nt('designer.setting.addRequestData') }}\n </a-button>\n </a-col>\n </a-row>\n </a-form-item>\n <a-form-item :label=\"`请求前数据处理`\">\n <a-button\n shape=\"round\"\n @click=\"handleEditCode('dataReqHandlerCode')\"\n :class=\"[optionModel.dataReqHandlerCode?.length ? 'button-text-highlight' : '']\"\n >\n 处理函数配置\n </a-button>\n </a-form-item>\n <a-form-item :label=\"`接口响应数据处理`\">\n <a-button\n shape=\"round\"\n @click=\"handleEditCode('dataHandlerCode')\"\n :class=\"[optionModel.dataHandlerCode?.length ? 'button-text-highlight' : '']\"\n >\n 处理函数配置\n </a-button>\n </a-form-item>\n </a-form>\n <template #footerRight>\n <a-button size=\"middle\" @click=\"showDataSourceDialogFlag = false\">\n {{ i18nt('designer.hint.cancel') }}\n </a-button>\n <a-button size=\"middle\" type=\"primary\" @click=\"saveDataSource\">\n {{ i18nt('designer.hint.confirm') }}\n </a-button>\n </template>\n </TpfModal>\n</template>\n\n<script setup lang=\"ts\">\n import { useI18n } from '@/utils/i18n';\n import { isArray } from 'lodash-es';\n import { ref } from 'vue';\n import { TpfModal, TpfCodeEditor } from 'tmgc2-share';\n import type { PropType } from 'vue';\n\n export interface HttpConfig {\n url: string;\n method: 'get' | 'post' | 'put' | 'delete';\n params: Record<string, any>;\n data: Record<string, any>;\n }\n\n export interface HttpEditorOption {\n http: HttpConfig;\n dataReqHandlerCode?: string;\n dataHandlerCode?: string;\n [key: string]: any;\n }\n\n const { i18nt } = useI18n();\n\n const props = defineProps({\n optionModel: {\n type: Object as PropType<HttpEditorOption>,\n required: true,\n default: () => ({\n http: {\n url: '',\n method: 'get',\n params: {},\n data: {}\n },\n dataReqHandlerCode: '',\n dataHandlerCode: ''\n })\n },\n drawerTitle: {\n type: String,\n default: ''\n },\n buttonName: {\n type: String,\n default: ''\n },\n label: {\n type: String,\n default: '编辑接口配置'\n }\n });\n\n const CodeReqModalEditorRef = ref();\n const dsForm = ref();\n const currentType = ref('dataHandlerCode');\n const dataList = ref<{ name: string; value: any }[]>([]);\n const paramsList = ref<{ name: string; value: any }[]>([]);\n const showDataSourceDialogFlag = ref(false);\n const dsvJson = ref('{\\n \\n}');\n const dsResultJson = ref('');\n\n const formRules = {\n url: [\n {\n required: true,\n trigger: ['blur', 'change'],\n message: i18nt('designer.setting.fieldValueRequired')\n }\n ]\n };\n\n const handleEditCode = (type: string) => {\n currentType.value = type;\n CodeReqModalEditorRef.value.open(\n props.optionModel[type as keyof typeof props.optionModel] as string\n );\n };\n\n const handeSaveCode = (code: string) => {\n props.optionModel[currentType.value as keyof typeof props.optionModel] = code;\n };\n\n const addDataSource = () => {\n showDataSourceDialogFlag.value = true;\n dataList.value = Object.entries(props.optionModel.http.data || {}).map(([name, value]) => ({\n name,\n value\n }));\n paramsList.value = Object.entries(props.optionModel.http.params || {}).map(\n ([name, value]) => ({\n name,\n value\n })\n );\n };\n\n const saveHttpData = () => {\n let data = {};\n if (isArray(dataList.value) && dataList.value.length) {\n data = dataList.value.reduce((t, v) => {\n t[v.name] = v.value;\n return t;\n }, {} as Record<string, any>);\n }\n props.optionModel.http.data = data;\n };\n\n const saveHttpParams = () => {\n let params = {};\n if (isArray(paramsList.value) && paramsList.value.length) {\n params = paramsList.value.reduce((t, v) => {\n t[v.name] = v.value;\n return t;\n }, {} as Record<string, any>);\n }\n props.optionModel.http.params = params;\n };\n\n const saveDataSource = () => {\n saveHttpData();\n saveHttpParams();\n showDataSourceDialogFlag.value = false;\n };\n\n const addRequestParam = () => {\n paramsList.value.push({ name: '', value: '' });\n };\n\n const deleteRequestParam = (idx: number) => {\n paramsList.value.splice(idx, 1);\n };\n\n const addRequestData = () => {\n dataList.value.push({ name: '', value: '' });\n };\n\n const deleteRequestData = (idx: number) => {\n dataList.value.splice(idx, 1);\n };\n</script>\n\n<style lang=\"less\" scoped></style>\n"],"names":["i18nt","useI18n","props","__props","CodeReqModalEditorRef","ref","dsForm","currentType","dataList","paramsList","showDataSourceDialogFlag","formRules","handleEditCode","type","handeSaveCode","code","addDataSource","name","value","saveHttpData","data","isArray","t","v","saveHttpParams","params","saveDataSource","addRequestParam","deleteRequestParam","idx","addRequestData","deleteRequestData","_createVNode","_component_a_form_item","_component_a_button","_createTextVNode","_toDisplayString","_unref","TpfModal","$event","TpfCodeEditor","_component_a_form","_component_a_input","_component_a_radio_group","_component_a_radio_button","_cache","_openBlock","_createElementBlock","_Fragment","_renderList","rp","pIdx","_createBlock","_component_a_row","_component_a_col","rd","dIdx","_normalizeClass","_a"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import B from "./ActionButtonListDialog.vue2.js";
2
- import { resolveComponent as v, createElementBlock as z, openBlock as u, Fragment as U, createVNode as i, createElementVNode as $, withCtx as a, createBlock as p, createCommentVNode as r, createTextVNode as n, normalizeClass as g, toDisplayString as b } from "vue";
2
+ import { resolveComponent as v, createElementBlock as z, openBlock as u, Fragment as U, createVNode as i, createElementVNode as $, withCtx as a, createBlock as p, createCommentVNode as r, createTextVNode as n, normalizeClass as b, toDisplayString as g } from "vue";
3
3
  /* empty css */
4
4
  import E from "../../../_virtual/_plugin-vue_export-helper.js";
5
5
  const w = { class: "add-btn" };
6
- function D(e, t, S, V, H, N) {
7
- const m = v("a-input"), s = v("a-select-option"), C = v("a-select"), y = v("a-switch"), f = v("a-button"), _ = v("STable"), h = v("CodeModalEditor");
6
+ function D(e, t, V, H, N, S) {
7
+ const m = v("a-input"), s = v("a-select-option"), C = v("a-select"), y = v("a-switch"), f = v("a-button"), _ = v("s-table"), h = v("CodeModalEditor");
8
8
  return u(), z(U, null, [
9
9
  i(_, {
10
10
  deepWatchDataSource: "",
@@ -121,29 +121,29 @@ function D(e, t, S, V, H, N) {
121
121
  }, null, 8, ["checked", "onUpdate:checked"])) : r("", !0),
122
122
  d.dataIndex === "onHidden" ? (u(), p(f, {
123
123
  key: 5,
124
- class: g([{ "button-text-highlight": !!k.onHidden }]),
124
+ class: b([{ "button-text-highlight": !!k.onHidden }]),
125
125
  onClick: (o) => e.editClickEvent("onHidden", k, l),
126
126
  size: "small"
127
127
  }, {
128
128
  default: a(() => [
129
- n(b(e.i18nt("designer.setting.operationButtonHidden")), 1)
129
+ n(g(e.i18nt("designer.setting.operationButtonHidden")), 1)
130
130
  ]),
131
131
  _: 2
132
132
  }, 1032, ["class", "onClick"])) : r("", !0),
133
133
  d.dataIndex === "onDisabled" ? (u(), p(f, {
134
134
  key: 6,
135
- class: g([{ "button-text-highlight": !!k.onDisabled }]),
135
+ class: b([{ "button-text-highlight": !!k.onDisabled }]),
136
136
  onClick: (o) => e.editClickEvent("onDisabled", k, l),
137
137
  size: "small"
138
138
  }, {
139
139
  default: a(() => [
140
- n(b(e.i18nt("designer.setting.operationButtonDisabled")), 1)
140
+ n(g(e.i18nt("designer.setting.operationButtonDisabled")), 1)
141
141
  ]),
142
142
  _: 2
143
143
  }, 1032, ["class", "onClick"])) : r("", !0),
144
144
  d.dataIndex === "onClick" ? (u(), p(f, {
145
145
  key: 7,
146
- class: g([{ "button-text-highlight": !!k.onClick }]),
146
+ class: b([{ "button-text-highlight": !!k.onClick }]),
147
147
  onClick: (o) => e.editClickEvent("onClick", k, l),
148
148
  size: "small"
149
149
  }, {
@@ -175,7 +175,7 @@ function D(e, t, S, V, H, N) {
175
175
  onClick: e.addOperationButton
176
176
  }, {
177
177
  default: a(() => [
178
- n(b(e.i18nt("designer.setting.addOperationButton")), 1)
178
+ n(g(e.i18nt("designer.setting.addOperationButton")), 1)
179
179
  ]),
180
180
  _: 1
181
181
  }, 8, ["onClick"])
@@ -187,7 +187,7 @@ function D(e, t, S, V, H, N) {
187
187
  }, null, 8, ["onSave", "event-header"])
188
188
  ], 64);
189
189
  }
190
- const A = /* @__PURE__ */ E(B, [["render", D], ["__scopeId", "data-v-8d205c16"]]);
190
+ const A = /* @__PURE__ */ E(B, [["render", D], ["__scopeId", "data-v-2c6e1ba7"]]);
191
191
  export {
192
192
  A as default
193
193
  };