@kp-ui/lowcode 1.0.94 → 1.0.96

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/_virtual/virtual_svg-icons-register.js.map +1 -1
  2. package/package.json +5 -5
  3. package/src/api/useFilesystemApi/filesystem/index.js.map +1 -1
  4. package/src/components/CustomRender/components/AttachmentRender.vue2.js.map +1 -1
  5. package/src/components/CustomRender/components/RenderBodyCell.js.map +1 -1
  6. package/src/components/CustomRender/useCustomRender.js.map +1 -1
  7. package/src/components/code-editor/code-modal-editor.vue.js.map +1 -1
  8. package/src/components/code-editor/index.vue2.js.map +1 -1
  9. package/src/components/form-designer/designer.js.map +1 -1
  10. package/src/components/form-designer/form-widget/container-widget/containerMixin.js.map +1 -1
  11. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js +22 -22
  12. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js.map +1 -1
  13. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js +2 -5
  14. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -1
  15. package/src/components/form-designer/form-widget/container-widget/grid-col-widget.vue.js.map +1 -1
  16. package/src/components/form-designer/form-widget/container-widget/grid-sub-form-widget.vue.js.map +1 -1
  17. package/src/components/form-designer/form-widget/container-widget/grid-widget.vue.js.map +1 -1
  18. package/src/components/form-designer/form-widget/container-widget/index.js.map +1 -1
  19. package/src/components/form-designer/form-widget/container-widget/sub-form-widget.vue.js.map +1 -1
  20. package/src/components/form-designer/form-widget/container-widget/tab-widget.vue.js.map +1 -1
  21. package/src/components/form-designer/form-widget/container-widget/table-cell-widget.vue.js.map +1 -1
  22. package/src/components/form-designer/form-widget/container-widget/table-widget.vue.js.map +1 -1
  23. package/src/components/form-designer/form-widget/container-widget/vf-box-item.vue.js.map +1 -1
  24. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue.js.map +1 -1
  25. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue2.js.map +1 -1
  26. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue.js.map +1 -1
  27. package/src/components/form-designer/form-widget/container-widget/vf-drawer-widget.vue.js.map +1 -1
  28. package/src/components/form-designer/form-widget/field-widget/attachment-render-widget.vue.js.map +1 -1
  29. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget.vue.js.map +1 -1
  30. package/src/components/form-designer/form-widget/field-widget/button-list-widget.vue.js.map +1 -1
  31. package/src/components/form-designer/form-widget/field-widget/button-widget.vue.js.map +1 -1
  32. package/src/components/form-designer/form-widget/field-widget/cascader-widget.vue.js.map +1 -1
  33. package/src/components/form-designer/form-widget/field-widget/checkbox-widget.vue.js.map +1 -1
  34. package/src/components/form-designer/form-widget/field-widget/code-editor-widget.vue.js.map +1 -1
  35. package/src/components/form-designer/form-widget/field-widget/color-widget.vue.js.map +1 -1
  36. package/src/components/form-designer/form-widget/field-widget/date-range-widget.vue.js.map +1 -1
  37. package/src/components/form-designer/form-widget/field-widget/date-widget.vue.js.map +1 -1
  38. package/src/components/form-designer/form-widget/field-widget/divider-widget.vue.js.map +1 -1
  39. package/src/components/form-designer/form-widget/field-widget/diy-compontent-widget.vue.js.map +1 -1
  40. package/src/components/form-designer/form-widget/field-widget/dropdown-widget.vue.js.map +1 -1
  41. package/src/components/form-designer/form-widget/field-widget/fieldMixin.js.map +1 -1
  42. package/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue2.js.map +1 -1
  43. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue.js.map +1 -1
  44. package/src/components/form-designer/form-widget/field-widget/html-text-widget.vue.js.map +1 -1
  45. package/src/components/form-designer/form-widget/field-widget/input-widget.vue.js.map +1 -1
  46. package/src/components/form-designer/form-widget/field-widget/number-widget.vue.js.map +1 -1
  47. package/src/components/form-designer/form-widget/field-widget/radio-widget.vue.js.map +1 -1
  48. package/src/components/form-designer/form-widget/field-widget/rate-widget.vue.js.map +1 -1
  49. package/src/components/form-designer/form-widget/field-widget/rich-editor-widget.vue.js.map +1 -1
  50. package/src/components/form-designer/form-widget/field-widget/select-widget.vue.js.map +1 -1
  51. package/src/components/form-designer/form-widget/field-widget/slider-widget.vue.js.map +1 -1
  52. package/src/components/form-designer/form-widget/field-widget/slot-widget.vue.js.map +1 -1
  53. package/src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue.js.map +1 -1
  54. package/src/components/form-designer/form-widget/field-widget/static-text-widget.vue.js.map +1 -1
  55. package/src/components/form-designer/form-widget/field-widget/switch-widget.vue.js.map +1 -1
  56. package/src/components/form-designer/form-widget/field-widget/textarea-widget.vue.js.map +1 -1
  57. package/src/components/form-designer/form-widget/field-widget/time-range-widget.vue.js.map +1 -1
  58. package/src/components/form-designer/form-widget/field-widget/time-widget.vue.js.map +1 -1
  59. package/src/components/form-designer/form-widget/field-widget/treeSelect-widget.vue.js.map +1 -1
  60. package/src/components/form-designer/form-widget/index.vue.js.map +1 -1
  61. package/src/components/form-designer/index.vue.js +91 -84
  62. package/src/components/form-designer/index.vue.js.map +1 -1
  63. package/src/components/form-designer/refMixinDesign.js.map +1 -1
  64. package/src/components/form-designer/setting-panel/form-setting.vue2.js.map +1 -1
  65. package/src/components/form-designer/setting-panel/index.vue.js.map +1 -1
  66. package/src/components/form-designer/setting-panel/option-items-setting.vue2.js.map +1 -1
  67. package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js.map +1 -1
  68. package/src/components/form-designer/setting-panel/property-editor/button-position-editor.vue2.js.map +1 -1
  69. package/src/components/form-designer/setting-panel/property-editor/code-editor/code-editor-mode.vue.js.map +1 -1
  70. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-customClass-editor.vue.js.map +1 -1
  71. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-dsEnabled-editor.vue.js.map +1 -1
  72. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-pagination-editor.vue.js.map +1 -1
  73. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-rowKey-editor.vue.js.map +1 -1
  74. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-selections-editor.vue.js.map +1 -1
  75. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue.js.map +1 -1
  76. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showIndex-editor.vue.js.map +1 -1
  77. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-stripe-editor.vue.js.map +1 -1
  78. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue.js +2 -2
  79. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js +70 -74
  80. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js.map +1 -1
  81. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableHeight-editor.vue.js.map +1 -1
  82. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableSize-editor.vue.js.map +1 -1
  83. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableWidth-editor.vue.js.map +1 -1
  84. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-treeDataEnabled-editor.vue.js.map +1 -1
  85. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue.js.map +1 -1
  86. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue.js.map +1 -1
  87. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-tabBarGutter-editor.vue.js.map +1 -1
  88. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-tabPosition-editor.vue.js.map +1 -1
  89. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-type-editor.vue.js.map +1 -1
  90. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/bodyStyle-editor.vue2.js.map +1 -1
  91. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/formCode-editor.vue.js.map +1 -1
  92. package/src/components/form-designer/setting-panel/property-editor/customClass-editor.vue.js.map +1 -1
  93. package/src/components/form-designer/setting-panel/property-editor/event-handler/eventMixin.js.map +1 -1
  94. package/src/components/form-designer/setting-panel/property-editor/field-dropdown/dropdown-menuList-editor.vue.js.map +1 -1
  95. package/src/components/form-designer/setting-panel/property-editor/field-select/mode-editor.vue.js.map +1 -1
  96. package/src/components/form-designer/setting-panel/property-editor/max-editor.vue.js.map +1 -1
  97. package/src/components/form-designer/setting-panel/property-editor/maxLength-editor.vue.js.map +1 -1
  98. package/src/components/form-designer/setting-panel/property-editor/min-editor.vue.js.map +1 -1
  99. package/src/components/form-designer/setting-panel/property-editor/minLength-editor.vue.js.map +1 -1
  100. package/src/components/form-designer/setting-panel/property-editor/name-editor.vue.js.map +1 -1
  101. package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue.js.map +1 -1
  102. package/src/components/form-designer/setting-panel/property-editor/placement-editor.vue.js.map +1 -1
  103. package/src/components/form-designer/setting-panel/property-editor/propertyMixin.js.map +1 -1
  104. package/src/components/form-designer/setting-panel/property-editor/rightSlotCss-editor.vue.js.map +1 -1
  105. package/src/components/form-designer/toolbar-panel/index.vue.js +2 -2
  106. package/src/components/form-designer/toolbar-panel/index.vue2.js +1 -5
  107. package/src/components/form-designer/toolbar-panel/index.vue2.js.map +1 -1
  108. package/src/components/form-designer/widget-panel/index.vue.js.map +1 -1
  109. package/src/components/form-render/SubmitButtonRender.vue.js.map +1 -1
  110. package/src/components/form-render/container-item/containerItemMixin.js.map +1 -1
  111. package/src/components/form-render/container-item/data-table-item.vue.js +4 -5
  112. package/src/components/form-render/container-item/data-table-item.vue.js.map +1 -1
  113. package/src/components/form-render/container-item/grid-col-item.vue.js.map +1 -1
  114. package/src/components/form-render/container-item/grid-item.vue.js.map +1 -1
  115. package/src/components/form-render/container-item/grid-sub-form-item.vue.js +10 -5
  116. package/src/components/form-render/container-item/grid-sub-form-item.vue.js.map +1 -1
  117. package/src/components/form-render/container-item/index.js.map +1 -1
  118. package/src/components/form-render/container-item/sub-form-item.vue.js.map +1 -1
  119. package/src/components/form-render/container-item/tab-item.vue.js.map +1 -1
  120. package/src/components/form-render/container-item/table-cell-item.vue.js.map +1 -1
  121. package/src/components/form-render/container-item/table-item.vue.js.map +1 -1
  122. package/src/components/form-render/container-item/vf-collapse-item.vue.js.map +1 -1
  123. package/src/components/form-render/dynamic-dialog.vue.js.map +1 -1
  124. package/src/components/form-render/dynamic-drawer.vue.js.map +1 -1
  125. package/src/components/form-render/index.vue.js +120 -106
  126. package/src/components/form-render/index.vue.js.map +1 -1
  127. package/src/components/form-render/refMixin.js.map +1 -1
  128. package/src/components/http-editor/index.vue.js.map +1 -1
  129. package/src/components/public/ActionButtonListDialog.vue.js +10 -10
  130. package/src/components/public/ActionButtonListDialog.vue.js.map +1 -1
  131. package/src/components/public/ActionButtonListDialog.vue2.js +24 -28
  132. package/src/components/public/ActionButtonListDialog.vue2.js.map +1 -1
  133. package/src/components/public/ActionButtonListRender.vue2.js.map +1 -1
  134. package/src/components/public/CustomerModal/CustomerModal.vue2.js.map +1 -1
  135. package/src/components/public/CustomerModal/useCustomerModal.js.map +1 -1
  136. package/src/components/public/QuillEditor/index.vue.js.map +1 -1
  137. package/src/components/public/methoad-item.vue.js.map +1 -1
  138. package/src/components/svg-icon/FileIcon.js.map +1 -1
  139. package/src/hooks/TpfConfirm.js.map +1 -1
  140. package/src/hooks/useFilePreview.js.map +1 -1
  141. package/src/hooks/useLowcode.js.map +1 -1
  142. package/src/lib/vuedraggable/src/core/componentBuilderHelper.js.map +1 -1
  143. package/src/lib/vuedraggable/src/core/componentStructure.js.map +1 -1
  144. package/src/lib/vuedraggable/src/util/string.js.map +1 -1
  145. package/src/lib/vuedraggable/src/vuedraggable.js.map +1 -1
  146. package/src/mixins/useDataTableMixin.js +2 -2
  147. package/src/mixins/useDataTableMixin.js.map +1 -1
  148. package/src/mixins/useSelectMixin.js.map +1 -1
  149. package/src/utils/emitter.js.map +1 -1
  150. package/src/utils/executeFunction.js.map +1 -1
  151. package/src/utils/format.js.map +1 -1
  152. package/src/utils/i18n.js.map +1 -1
  153. package/src/utils/request/fmtHttpParams.js.map +1 -1
  154. package/src/utils/request/handleAxiosError.js.map +1 -1
  155. package/src/utils/request/http.js.map +1 -1
  156. package/src/utils/smart-vue-i18n/index.js.map +1 -1
  157. package/src/utils/smart-vue-i18n/utils.js.map +1 -1
  158. package/src/utils/util.js.map +1 -1
  159. package/src/utils/validators.js.map +1 -1
  160. package/stats.html +1 -1
  161. package/styles/style.css +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"vuedraggable.js","sources":["../../../../../src/lib/vuedraggable/src/vuedraggable.js"],"sourcesContent":["import Sortable from 'sortablejs';\r\nimport { insertNodeAt, removeNode } from './util/htmlHelper';\r\nimport { console } from './util/console';\r\nimport {\r\n getComponentAttributes,\r\n createSortableOption,\r\n getValidSortableEntries\r\n} from './core/componentBuilderHelper';\r\nimport { computeComponentStructure } from './core/renderHelper';\r\nimport { events } from './core/sortableEvents';\r\nimport { h, defineComponent, nextTick } from 'vue';\r\n\r\nfunction emit(evtName, evtData) {\r\n nextTick(() => this.$emit(evtName.toLowerCase(), evtData));\r\n}\r\n\r\nfunction manage(evtName) {\r\n return (evtData, originalElement) => {\r\n if (this.realList !== null) {\r\n return this[`onDrag${evtName}`](evtData, originalElement);\r\n }\r\n };\r\n}\r\n\r\nfunction manageAndEmit(evtName) {\r\n const delegateCallBack = manage.call(this, evtName);\r\n return (evtData, originalElement) => {\r\n delegateCallBack.call(this, evtData, originalElement);\r\n emit.call(this, evtName, evtData);\r\n };\r\n}\r\n\r\nlet draggingElement = null;\r\n\r\nconst props = {\r\n list: {\r\n type: Array,\r\n required: false,\r\n default: null\r\n },\r\n modelValue: {\r\n type: Array,\r\n required: false,\r\n default: null\r\n },\r\n itemKey: {\r\n type: [String, Function],\r\n required: true\r\n },\r\n clone: {\r\n type: Function,\r\n default: original => {\r\n return original;\r\n }\r\n },\r\n tag: {\r\n type: String,\r\n default: 'div'\r\n },\r\n move: {\r\n type: Function,\r\n default: null\r\n },\r\n componentData: {\r\n type: Object,\r\n required: false,\r\n default: null\r\n }\r\n};\r\n\r\nconst emits = [\r\n 'update:modelValue',\r\n 'change',\r\n ...[...events.manageAndEmit, ...events.emit].map(evt => evt.toLowerCase())\r\n];\r\n\r\nconst draggableComponent = defineComponent({\r\n name: 'draggable',\r\n\r\n inheritAttrs: false,\r\n\r\n props,\r\n\r\n emits,\r\n\r\n data() {\r\n return {\r\n error: false\r\n };\r\n },\r\n\r\n render() {\r\n try {\r\n this.error = false;\r\n const { $slots, $attrs, tag, componentData, realList, getKey } = this;\r\n const componentStructure = computeComponentStructure({\r\n $slots,\r\n tag,\r\n realList,\r\n getKey\r\n });\r\n this.componentStructure = componentStructure;\r\n const attributes = getComponentAttributes({ $attrs, componentData });\r\n return componentStructure.render(h, attributes);\r\n } catch (err) {\r\n this.error = true;\r\n return h('pre', { style: { color: 'red' } }, err.stack);\r\n }\r\n },\r\n\r\n created() {\r\n if (this.list !== null && this.modelValue !== null) {\r\n console.error('modelValue and list props are mutually exclusive! Please set one or another.');\r\n }\r\n },\r\n\r\n mounted() {\r\n if (this.error) {\r\n return;\r\n }\r\n\r\n const { $attrs, $el, componentStructure } = this;\r\n componentStructure.updated();\r\n\r\n const sortableOptions = createSortableOption({\r\n $attrs,\r\n callBackBuilder: {\r\n manageAndEmit: event => manageAndEmit.call(this, event),\r\n emit: event => emit.bind(this, event),\r\n manage: event => manage.call(this, event)\r\n }\r\n });\r\n const targetDomElement = $el.nodeType === 1 ? $el : $el.parentElement;\r\n this._sortable = new Sortable(targetDomElement, sortableOptions);\r\n this.targetDomElement = targetDomElement;\r\n targetDomElement.__draggable_component__ = this;\r\n },\r\n\r\n updated() {\r\n this.componentStructure.updated();\r\n },\r\n\r\n beforeUnmount() {\r\n if (this._sortable !== undefined) this._sortable.destroy();\r\n },\r\n\r\n computed: {\r\n realList() {\r\n const { list } = this;\r\n return list ? list : this.modelValue;\r\n },\r\n\r\n getKey() {\r\n const { itemKey } = this;\r\n if (typeof itemKey === 'function') {\r\n return itemKey;\r\n }\r\n return element => element[itemKey];\r\n }\r\n },\r\n\r\n watch: {\r\n $attrs: {\r\n handler(newOptionValue) {\r\n const { _sortable } = this;\r\n if (!_sortable) return;\r\n getValidSortableEntries(newOptionValue).forEach(([key, value]) => {\r\n _sortable.option(key, value);\r\n });\r\n },\r\n deep: true\r\n }\r\n },\r\n\r\n methods: {\r\n getUnderlyingVm(domElement) {\r\n return this.componentStructure.getUnderlyingVm(domElement) || null;\r\n },\r\n\r\n getUnderlyingPotencialDraggableComponent(htmElement) {\r\n //TODO check case where you need to see component children\r\n return htmElement.__draggable_component__;\r\n },\r\n\r\n emitChanges(evt) {\r\n nextTick(() => this.$emit('change', evt));\r\n },\r\n\r\n alterList(onList) {\r\n if (this.list) {\r\n onList(this.list);\r\n return;\r\n }\r\n const newList = [...this.modelValue];\r\n onList(newList);\r\n this.$emit('update:modelValue', newList);\r\n },\r\n\r\n spliceList() {\r\n const spliceList = list => list.splice(...arguments);\r\n this.alterList(spliceList);\r\n },\r\n\r\n updatePosition(oldIndex, newIndex) {\r\n const updatePosition = list => list.splice(newIndex, 0, list.splice(oldIndex, 1)[0]);\r\n this.alterList(updatePosition);\r\n },\r\n\r\n getRelatedContextFromMoveEvent({ to, related }) {\r\n const component = this.getUnderlyingPotencialDraggableComponent(to);\r\n if (!component) {\r\n return { component };\r\n }\r\n const list = component.realList;\r\n const context = { list, component };\r\n if (to !== related && list) {\r\n const destination = component.getUnderlyingVm(related) || {};\r\n return { ...destination, ...context };\r\n }\r\n return context;\r\n },\r\n\r\n getVmIndexFromDomIndex(domIndex) {\r\n return this.componentStructure.getVmIndexFromDomIndex(domIndex, this.targetDomElement);\r\n },\r\n\r\n onDragStart(evt) {\r\n this.context = this.getUnderlyingVm(evt.item);\r\n evt.item._underlying_vm_ = this.clone(this.context.element);\r\n draggingElement = evt.item;\r\n },\r\n\r\n onDragAdd(evt) {\r\n const element = evt.item._underlying_vm_;\r\n if (element === undefined) {\r\n return;\r\n }\r\n removeNode(evt.item);\r\n const newIndex = this.getVmIndexFromDomIndex(evt.newIndex);\r\n this.spliceList(newIndex, 0, element);\r\n const added = { element, newIndex };\r\n this.emitChanges({ added });\r\n },\r\n\r\n onDragRemove(evt) {\r\n // insertNodeAt(this.$el, evt.item, evt.oldIndex);\r\n insertNodeAt(evt.from, evt.item, evt.oldIndex);\r\n if (evt.pullMode === 'clone') {\r\n removeNode(evt.clone);\r\n return;\r\n }\r\n const { index: oldIndex, element } = this.context;\r\n this.spliceList(oldIndex, 1);\r\n const removed = { element, oldIndex };\r\n this.emitChanges({ removed });\r\n },\r\n\r\n onDragUpdate(evt) {\r\n removeNode(evt.item);\r\n insertNodeAt(evt.from, evt.item, evt.oldIndex);\r\n const oldIndex = this.context.index;\r\n const newIndex = this.getVmIndexFromDomIndex(evt.newIndex);\r\n this.updatePosition(oldIndex, newIndex);\r\n const moved = { element: this.context.element, oldIndex, newIndex };\r\n this.emitChanges({ moved });\r\n },\r\n\r\n computeFutureIndex(relatedContext, evt) {\r\n if (!relatedContext.element) {\r\n return 0;\r\n }\r\n const domChildren = [...evt.to.children].filter(el => el.style['display'] !== 'none');\r\n const currentDomIndex = domChildren.indexOf(evt.related);\r\n const currentIndex = relatedContext.component.getVmIndexFromDomIndex(currentDomIndex);\r\n const draggedInList = domChildren.indexOf(draggingElement) !== -1;\r\n return draggedInList || !evt.willInsertAfter ? currentIndex : currentIndex + 1;\r\n },\r\n\r\n onDragMove(evt, originalEvent) {\r\n const { move, realList } = this;\r\n if (!move || !realList) {\r\n return true;\r\n }\r\n\r\n const relatedContext = this.getRelatedContextFromMoveEvent(evt);\r\n const futureIndex = this.computeFutureIndex(relatedContext, evt);\r\n const draggedContext = {\r\n ...this.context,\r\n futureIndex\r\n };\r\n const sendEvent = {\r\n ...evt,\r\n relatedContext,\r\n draggedContext\r\n };\r\n return move(sendEvent, originalEvent);\r\n },\r\n\r\n onDragEnd() {\r\n draggingElement = null;\r\n }\r\n }\r\n});\r\n\r\nexport default draggableComponent;\r\n"],"names":["emit","evtName","evtData","nextTick","manage","originalElement","manageAndEmit","delegateCallBack","draggingElement","props","original","emits","events","evt","draggableComponent","defineComponent","$slots","$attrs","tag","componentData","realList","getKey","componentStructure","computeComponentStructure","attributes","getComponentAttributes","h","err","console","$el","sortableOptions","createSortableOption","event","targetDomElement","Sortable","list","itemKey","element","newOptionValue","_sortable","getValidSortableEntries","key","value","domElement","htmElement","onList","newList","spliceList","oldIndex","newIndex","updatePosition","to","related","component","context","domIndex","removeNode","added","insertNodeAt","removed","moved","relatedContext","domChildren","el","currentDomIndex","currentIndex","originalEvent","move","futureIndex","draggedContext","sendEvent"],"mappings":"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"}
1
+ {"version":3,"file":"vuedraggable.js","sources":["../../../../../src/lib/vuedraggable/src/vuedraggable.js"],"sourcesContent":["import Sortable from 'sortablejs';\r\nimport { insertNodeAt, removeNode } from './util/htmlHelper';\r\nimport { console } from './util/console';\r\nimport {\r\n getComponentAttributes,\r\n createSortableOption,\r\n getValidSortableEntries\r\n} from './core/componentBuilderHelper';\r\nimport { computeComponentStructure } from './core/renderHelper';\r\nimport { events } from './core/sortableEvents';\r\nimport { h, defineComponent, nextTick } from 'vue';\r\n\r\nfunction emit(evtName, evtData) {\r\n nextTick(() => this.$emit(evtName.toLowerCase(), evtData));\r\n}\r\n\r\nfunction manage(evtName) {\r\n return (evtData, originalElement) => {\r\n if (this.realList !== null) {\r\n return this[`onDrag${evtName}`](evtData, originalElement);\r\n }\r\n };\r\n}\r\n\r\nfunction manageAndEmit(evtName) {\r\n const delegateCallBack = manage.call(this, evtName);\r\n return (evtData, originalElement) => {\r\n delegateCallBack.call(this, evtData, originalElement);\r\n emit.call(this, evtName, evtData);\r\n };\r\n}\r\n\r\nlet draggingElement = null;\r\n\r\nconst props = {\r\n list: {\r\n type: Array,\r\n required: false,\r\n default: null\r\n },\r\n modelValue: {\r\n type: Array,\r\n required: false,\r\n default: null\r\n },\r\n itemKey: {\r\n type: [String, Function],\r\n required: true\r\n },\r\n clone: {\r\n type: Function,\r\n default: original => {\r\n return original;\r\n }\r\n },\r\n tag: {\r\n type: String,\r\n default: 'div'\r\n },\r\n move: {\r\n type: Function,\r\n default: null\r\n },\r\n componentData: {\r\n type: Object,\r\n required: false,\r\n default: null\r\n }\r\n};\r\n\r\nconst emits = [\r\n 'update:modelValue',\r\n 'change',\r\n ...[...events.manageAndEmit, ...events.emit].map(evt => evt.toLowerCase())\r\n];\r\n\r\nconst draggableComponent = defineComponent({\r\n name: 'draggable',\r\n\r\n inheritAttrs: false,\r\n\r\n props,\r\n\r\n emits,\r\n\r\n data() {\r\n return {\r\n error: false\r\n };\r\n },\r\n\r\n render() {\r\n try {\r\n this.error = false;\r\n const { $slots, $attrs, tag, componentData, realList, getKey } = this;\r\n const componentStructure = computeComponentStructure({\r\n $slots,\r\n tag,\r\n realList,\r\n getKey\r\n });\r\n this.componentStructure = componentStructure;\r\n const attributes = getComponentAttributes({ $attrs, componentData });\r\n return componentStructure.render(h, attributes);\r\n } catch (err) {\r\n this.error = true;\r\n return h('pre', { style: { color: 'red' } }, err.stack);\r\n }\r\n },\r\n\r\n created() {\r\n if (this.list !== null && this.modelValue !== null) {\r\n console.error('modelValue and list props are mutually exclusive! Please set one or another.');\r\n }\r\n },\r\n\r\n mounted() {\r\n if (this.error) {\r\n return;\r\n }\r\n\r\n const { $attrs, $el, componentStructure } = this;\r\n componentStructure.updated();\r\n\r\n const sortableOptions = createSortableOption({\r\n $attrs,\r\n callBackBuilder: {\r\n manageAndEmit: event => manageAndEmit.call(this, event),\r\n emit: event => emit.bind(this, event),\r\n manage: event => manage.call(this, event)\r\n }\r\n });\r\n const targetDomElement = $el.nodeType === 1 ? $el : $el.parentElement;\r\n this._sortable = new Sortable(targetDomElement, sortableOptions);\r\n this.targetDomElement = targetDomElement;\r\n targetDomElement.__draggable_component__ = this;\r\n },\r\n\r\n updated() {\r\n this.componentStructure.updated();\r\n },\r\n\r\n beforeUnmount() {\r\n if (this._sortable !== undefined) this._sortable.destroy();\r\n },\r\n\r\n computed: {\r\n realList() {\r\n const { list } = this;\r\n return list ? list : this.modelValue;\r\n },\r\n\r\n getKey() {\r\n const { itemKey } = this;\r\n if (typeof itemKey === 'function') {\r\n return itemKey;\r\n }\r\n return element => element[itemKey];\r\n }\r\n },\r\n\r\n watch: {\r\n $attrs: {\r\n handler(newOptionValue) {\r\n const { _sortable } = this;\r\n if (!_sortable) return;\r\n getValidSortableEntries(newOptionValue).forEach(([key, value]) => {\r\n _sortable.option(key, value);\r\n });\r\n },\r\n deep: true\r\n }\r\n },\r\n\r\n methods: {\r\n getUnderlyingVm(domElement) {\r\n return this.componentStructure.getUnderlyingVm(domElement) || null;\r\n },\r\n\r\n getUnderlyingPotencialDraggableComponent(htmElement) {\r\n //TODO check case where you need to see component children\r\n return htmElement.__draggable_component__;\r\n },\r\n\r\n emitChanges(evt) {\r\n nextTick(() => this.$emit('change', evt));\r\n },\r\n\r\n alterList(onList) {\r\n if (this.list) {\r\n onList(this.list);\r\n return;\r\n }\r\n const newList = [...this.modelValue];\r\n onList(newList);\r\n this.$emit('update:modelValue', newList);\r\n },\r\n\r\n spliceList() {\r\n const spliceList = list => list.splice(...arguments);\r\n this.alterList(spliceList);\r\n },\r\n\r\n updatePosition(oldIndex, newIndex) {\r\n const updatePosition = list => list.splice(newIndex, 0, list.splice(oldIndex, 1)[0]);\r\n this.alterList(updatePosition);\r\n },\r\n\r\n getRelatedContextFromMoveEvent({ to, related }) {\r\n const component = this.getUnderlyingPotencialDraggableComponent(to);\r\n if (!component) {\r\n return { component };\r\n }\r\n const list = component.realList;\r\n const context = { list, component };\r\n if (to !== related && list) {\r\n const destination = component.getUnderlyingVm(related) || {};\r\n return { ...destination, ...context };\r\n }\r\n return context;\r\n },\r\n\r\n getVmIndexFromDomIndex(domIndex) {\r\n return this.componentStructure.getVmIndexFromDomIndex(domIndex, this.targetDomElement);\r\n },\r\n\r\n onDragStart(evt) {\r\n this.context = this.getUnderlyingVm(evt.item);\r\n evt.item._underlying_vm_ = this.clone(this.context.element);\r\n draggingElement = evt.item;\r\n },\r\n\r\n onDragAdd(evt) {\r\n const element = evt.item._underlying_vm_;\r\n if (element === undefined) {\r\n return;\r\n }\r\n removeNode(evt.item);\r\n const newIndex = this.getVmIndexFromDomIndex(evt.newIndex);\r\n this.spliceList(newIndex, 0, element);\r\n const added = { element, newIndex };\r\n this.emitChanges({ added });\r\n },\r\n\r\n onDragRemove(evt) {\r\n // insertNodeAt(this.$el, evt.item, evt.oldIndex);\r\n insertNodeAt(evt.from, evt.item, evt.oldIndex);\r\n if (evt.pullMode === 'clone') {\r\n removeNode(evt.clone);\r\n return;\r\n }\r\n const { index: oldIndex, element } = this.context;\r\n this.spliceList(oldIndex, 1);\r\n const removed = { element, oldIndex };\r\n this.emitChanges({ removed });\r\n },\r\n\r\n onDragUpdate(evt) {\r\n removeNode(evt.item);\r\n insertNodeAt(evt.from, evt.item, evt.oldIndex);\r\n const oldIndex = this.context.index;\r\n const newIndex = this.getVmIndexFromDomIndex(evt.newIndex);\r\n this.updatePosition(oldIndex, newIndex);\r\n const moved = { element: this.context.element, oldIndex, newIndex };\r\n this.emitChanges({ moved });\r\n },\r\n\r\n computeFutureIndex(relatedContext, evt) {\r\n if (!relatedContext.element) {\r\n return 0;\r\n }\r\n const domChildren = [...evt.to.children].filter(el => el.style['display'] !== 'none');\r\n const currentDomIndex = domChildren.indexOf(evt.related);\r\n const currentIndex = relatedContext.component.getVmIndexFromDomIndex(currentDomIndex);\r\n const draggedInList = domChildren.indexOf(draggingElement) !== -1;\r\n return draggedInList || !evt.willInsertAfter ? currentIndex : currentIndex + 1;\r\n },\r\n\r\n onDragMove(evt, originalEvent) {\r\n const { move, realList } = this;\r\n if (!move || !realList) {\r\n return true;\r\n }\r\n\r\n const relatedContext = this.getRelatedContextFromMoveEvent(evt);\r\n const futureIndex = this.computeFutureIndex(relatedContext, evt);\r\n const draggedContext = {\r\n ...this.context,\r\n futureIndex\r\n };\r\n const sendEvent = {\r\n ...evt,\r\n relatedContext,\r\n draggedContext\r\n };\r\n return move(sendEvent, originalEvent);\r\n },\r\n\r\n onDragEnd() {\r\n draggingElement = null;\r\n }\r\n }\r\n});\r\n\r\nexport default draggableComponent;\r\n"],"names":["emit","evtName","evtData","nextTick","manage","originalElement","manageAndEmit","delegateCallBack","draggingElement","props","original","emits","events","evt","draggableComponent","defineComponent","$slots","$attrs","tag","componentData","realList","getKey","componentStructure","computeComponentStructure","attributes","getComponentAttributes","h","err","console","$el","sortableOptions","createSortableOption","event","targetDomElement","Sortable","list","itemKey","element","newOptionValue","_sortable","getValidSortableEntries","key","value","domElement","htmElement","onList","newList","spliceList","oldIndex","newIndex","updatePosition","to","related","component","context","domIndex","removeNode","added","insertNodeAt","removed","moved","relatedContext","domChildren","el","currentDomIndex","currentIndex","originalEvent","move","futureIndex","draggedContext","sendEvent"],"mappings":"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"}
@@ -224,7 +224,7 @@ const I = {
224
224
  // 处理列配置
225
225
  handleColumnItem(t) {
226
226
  const e = r(t, ["customRender"]), o = t.customRender;
227
- return t.minWidth = 50, t.maxWidth = 1200, t.isAutoWidth ? (t.width = null, delete t.width) : t.width = isNaN(Number(t.width)) ? t.width : Number(t.width), o ? (console.log(this), {
227
+ return t.minWidth = 50, t.maxWidth = 1200, t.isAutoWidth ? (t.width = null, delete t.width) : t.width = isNaN(Number(t.width)) ? t.width : Number(t.width), o ? {
228
228
  ...e,
229
229
  bodyCell: (s) => l({
230
230
  functionBody: o,
@@ -234,7 +234,7 @@ const I = {
234
234
  console.error("Custom render error:", n);
235
235
  }
236
236
  })
237
- }) : t;
237
+ } : t;
238
238
  },
239
239
  getOperationButtonLabel(t, e, o) {
240
240
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"useDataTableMixin.js","sources":["../../../src/mixins/useDataTableMixin.jsx"],"sourcesContent":["import { omit, isEmpty, isArray } from 'lodash-es';\nimport { fmtHttpParams } from '@/utils/request/fmtHttpParams';\nimport { TpfConfirm } from '@/hooks/TpfConfirm';\nimport RenderBodyCell from '@/components/CustomRender/components/RenderBodyCell.tsx';\nimport { executeFunction } from '@/utils/executeFunction';\nimport ActionButtonListRender from '@/components/public/ActionButtonListRender.vue';\nexport default {\n data() {\n return {\n selectedRowInfo: { selectedRowKeys: [], selectedRows: [] },\n selectRow: {},\n loading: false\n };\n },\n components: {\n RenderBodyCell\n },\n inject: ['refList'],\n computed: {\n columns() {\n const leftFixedColumns = [];\n const optins = this.widget?.options ?? {};\n if (optins.showIndex) {\n leftFixedColumns.push({\n title: '序号',\n align: 'left',\n width: 90,\n fixed: 'left',\n maxWidth: 100,\n field: 'dataIndex',\n customRender: this.customRenderIndex\n });\n }\n const centerColumns = optins.tableColumns\n .filter(item => item.show)\n .map(item => ({\n ...item,\n ...this.handleColumnItem(item)\n }));\n const rightFixedColumns = [];\n if (optins.showButtonsColumn) {\n const operationButtons = optins.operationButtons ?? [];\n let _this = this;\n rightFixedColumns.push({\n fixed: 'right',\n align: 'center',\n title: optins.buttonsColumnTitle,\n width: optins.buttonsColumnWidth,\n customRender(scope) {\n return (\n <ActionButtonListRender\n buttonList={operationButtons}\n flex=\"center\"\n scope={scope}\n ctx={_this}\n />\n );\n }\n });\n }\n\n let bodyCell = {};\n\n // 把customRender渲染成 bodyCell 插槽\n let _columns = [...leftFixedColumns, ...centerColumns, ...rightFixedColumns].map(\n item => {\n if (item.bodyCell) {\n bodyCell[item.dataIndex] = item.bodyCell;\n delete item.customRender;\n }\n return item;\n }\n );\n\n return {\n columns: _columns,\n bodyCell\n };\n },\n tableHeight() {\n return parseFloat(this.widget.options.tableHeight || 0);\n },\n // rowClassName() {\n // if (this.widget.options.stripe) {\n // return (_record, index) => (index % 2 === 1 ? 'table-striped' : null);\n // }\n // return null;\n // },\n customClass() {\n return this.widget.options.customClass || '';\n },\n widgetSize() {\n return this.widget.options.tableSize || 'default';\n },\n lineHeight() {\n return this.widget.options.lineHeight || 40;\n },\n fmtPagination() {\n const { showPagination } = this.widget.options;\n if (!showPagination) return false;\n return {\n ...this.widget.options.pagination,\n showTotal: total => `共 ${total} 条`\n };\n }\n },\n watch: {\n 'widget.options.dataSource': {\n handler(newVal) {\n if (newVal && newVal.length) {\n console.log('DataTable dataSource changed:', newVal);\n this.widget.options.dataSource = newVal;\n console.log(this.getFormRef());\n this.getFormRef()?.setTableValue(this.widget.options.name, newVal);\n }\n },\n deep: true\n }\n },\n methods: {\n isShowBodyCell(dataIndex) {\n return this.columns?.bodyCell?.[dataIndex];\n },\n handleHidden() {\n const { onHidden, hidden } = this.widget.options;\n if (hidden) return true;\n if (onHidden) {\n const onHiddenFn = new Function(onHidden);\n return onHiddenFn.call(this);\n }\n return false;\n },\n rowClassName(record) {\n const { rowKey, colorRow } = this.widget.options;\n if (!colorRow) return '';\n return this.selectRow[rowKey] === record[rowKey]\n ? 'colorRowClassName surely-table-row-selected'\n : '';\n },\n handleResizeColumn(w, col) {\n const { tableColumns } = this.widget.options;\n const newTableColumns = tableColumns.map(item => {\n if (item.dataIndex === col.dataIndex) {\n item.width = w;\n }\n return { ...item };\n });\n this.setTableColumns(newTableColumns);\n },\n disabledClick() {\n const { hasRowSelection } = this.widget.options.rowSelection;\n if (hasRowSelection) {\n return isEmpty(this.selectedRowInfo.selectedRowKeys);\n }\n return isEmpty(this.selectRow);\n },\n getSelectedRowKeys() {\n return this.selectedRowInfo.selectedRowKeys;\n },\n getSelectedRows() {\n return this.selectedRowInfo.getSelectedRows;\n },\n getTableColumns() {\n return this.widget.options.tableColumns;\n },\n setTableColumns(list) {\n this.widget.options.tableColumns = list;\n return;\n },\n async delSelectRow(delKeys) {\n await TpfConfirm({ content: '确定删除选中的数据吗' });\n delKeys = delKeys || this.selectedRowInfo.selectedRowKeys;\n if (!delKeys.length) return;\n const { rowKey } = this.widget.options;\n const data = this.getDataSource();\n const newList = data.filter(item => !delKeys?.includes(item[rowKey]));\n this.setDataSource(newList);\n\n this.$message.success('操作成功');\n },\n\n getPagination() {\n return this.widget.options.pagination;\n },\n /**\n * 设置表格分页\n * @param pagination\n */\n setPagination(pagination) {\n if (pagination.page !== undefined) {\n this.widget.options.pagination.current = pagination.page;\n }\n\n if (pagination.pageSize !== undefined) {\n this.widget.options.pagination.pageSize = pagination.pageSize;\n }\n\n if (pagination.total !== undefined) {\n this.widget.options.pagination.total = pagination.total;\n }\n },\n setDataSource(list) {\n list = list || [];\n this.selectedRowInfo = { selectedRowKeys: [], selectedRows: [] };\n this.selectRowe = {};\n const val = isArray(list) ? list : [list];\n console.log('setDataSource: ', val);\n this.getFormRef()?.setTableValue(this.widget.options.name, val);\n // this.widget.options.dataSource = [...val];\n },\n setValue(list) {\n console.log('list: ', list);\n this.setDataSource(list);\n },\n setRowDataSource(scope, value) {\n this.getFormRef()?.setTableRowDataValue(this.widget.options.name, scope, value);\n },\n getDataSource() {\n return this.getFormRef()?.getTableValue(this.widget.options.name) || [];\n },\n getValue() {\n return this.getDataSource();\n },\n async loadDataTableDataSource() {\n if (!this.widget.options.dsEnabled) {\n return;\n }\n setTimeout(async () => {\n const ops = this.widget.options;\n if (ops.dsEnabled && ops.http.url) {\n this.loading = true;\n const res = await fmtHttpParams.call(this, ops);\n this.setPagination(res);\n this.setDataSource(res.list);\n this.loading = false;\n }\n }, 500);\n },\n handleCustomRow(record) {\n const { customRow, colorRow } = this.widget.options;\n const { hasRowSelection } = this.widget.options.rowSelection;\n // if (!customRow) return {};\n return {\n onClick: event => {\n if (colorRow) {\n this.selectRow = record;\n }\n if (hasRowSelection) {\n this.selectTableRow(record);\n }\n const customFn = new Function('record', 'event', customRow.onClick);\n customFn.call(this, record, event);\n },\n onDblclick: event => {\n const customFn = new Function('record', 'event', customRow.onDblclick);\n customFn.call(this, record, event);\n },\n onMouseenter: event => {\n const customFn = new Function('record', 'event', customRow.onMouseenter);\n customFn.call(this, record, event);\n },\n onMouseleave: event => {\n const customFn = new Function('record', 'event', customRow.onMouseleave);\n customFn.call(this, record, event);\n }\n };\n },\n selectTableRow(record) {\n const rowKey = this.widget.options.rowKey;\n const rowKeys = this.selectedRowInfo.selectedRowKeys;\n console.log(this.selectedRowInfo.selectedRowKeys);\n\n if (rowKeys.includes(record[rowKey])) {\n this.selectedRowInfo.selectedRowKeys.splice(rowKeys.indexOf(record[rowKey]), 1);\n } else {\n this.selectedRowInfo.selectedRowKeys.push(record[rowKey]);\n }\n },\n // 处理列配置\n handleColumnItem(item) {\n const res = omit(item, ['customRender']);\n const customRenderFn = item.customRender;\n item.minWidth = 50;\n item.maxWidth = 1200;\n if (item.isAutoWidth) {\n item.width = null;\n delete item.width;\n } else {\n item.width = isNaN(Number(item.width)) ? item.width : Number(item.width);\n }\n if (!customRenderFn) return item;\n console.log(this);\n\n return {\n ...res,\n bodyCell: scope => {\n return executeFunction({\n functionBody: customRenderFn,\n params: scope,\n context: this,\n errorCallback: error => {\n console.error('Custom render error:', error);\n }\n });\n }\n };\n },\n getOperationButtonLabel(buttonConfig, rowIndex, row) {\n const { onGetOperationButtonLabel } = this.widget.options;\n if (!!onGetOperationButtonLabel) {\n const customFn = new Function(\n 'buttonConfig',\n 'rowIndex',\n 'row',\n onGetOperationButtonLabel\n );\n return customFn.call(this, buttonConfig, rowIndex, row);\n } else {\n return buttonConfig.label;\n }\n },\n // 处理操作按钮点击\n async handleOperationButtonClick(btnName, rowIndex, row, scope, ob) {\n this.skipSelectionChangeEvent = true;\n\n try {\n if (ob.onClick) {\n await executeFunction({\n functionBody: ob.onClick,\n params: { record: row, index: rowIndex, column: scope.column, btn: ob },\n context: this\n });\n return;\n }\n\n const { onOperationButtonClick } = this.widget.options;\n if (onOperationButtonClick) {\n await executeFunction({\n functionBody: onOperationButtonClick,\n params: { buttonName: btnName, rowIndex, row },\n context: this\n });\n } else {\n this.dispatch('VFormRender', 'operationButtonClick', [\n this,\n btnName,\n rowIndex,\n row\n ]);\n }\n } finally {\n this.skipSelectionChangeEvent = false;\n }\n },\n showOperationButton(buttonConfig, rowIndex, row) {\n const { onHideOperationButton } = this.widget.options;\n if (!!onHideOperationButton) {\n const customFn = new Function(\n 'buttonConfig',\n 'rowIndex',\n 'row',\n onHideOperationButton\n );\n return !!customFn.call(this, buttonConfig, rowIndex, row);\n } else {\n return !buttonConfig.hidden;\n }\n },\n disableOperationButton(buttonConfig, rowIndex, row) {\n const { onDisableOperationButton } = this.widget.options;\n if (!!onDisableOperationButton) {\n const customFn = new Function(\n 'buttonConfig',\n 'rowIndex',\n 'row',\n onDisableOperationButton\n );\n return customFn.call(this, buttonConfig, rowIndex, row);\n } else {\n return buttonConfig.disabled;\n }\n },\n customRenderIndex({ index }) {\n return index + 1;\n },\n handleCurrentPageChange(currentPage) {\n this.currentPage = currentPage;\n // if (!!this.widget.options.dsEnabled && !!this.widget.options.dsName) {\n // this.loadDataFromDS();\n // }\n\n const { onCurrentPageChange } = this.widget.options;\n\n if (!!onCurrentPageChange) {\n const customFn = new Function('pageSize', 'currentPage', onCurrentPageChange);\n customFn.call(this, this.pageSize, currentPage);\n } else {\n this.dispatch('VFormRender', 'dataTablePageChange', [\n this,\n this.pageSize,\n currentPage\n ]);\n }\n },\n getFormRef() {\n /* 获取VFrom引用,必须在VForm组件created之后方可调用 */\n return this.refList['v_form_ref'];\n },\n handlePageSizeChange(pageSize) {\n this.pageSize = pageSize;\n // if (!!this.widget.options.dsEnabled && !!this.widget.options.dsName) {\n // this.loadDataFromDS();\n // }\n const { onPageSizeChange } = this.widget.options;\n if (!!onPageSizeChange) {\n const customFn = new Function('pageSize', 'currentPage', onPageSizeChange);\n customFn.call(this, pageSize, this.currentPage);\n } else {\n this.dispatch('VFormRender', 'dataTablePageSizeChange', [\n this,\n pageSize,\n this.currentPage\n ]);\n }\n },\n handleTablePageChange(pagination, filters, sorter, { currentDataSource }) {\n const fn = this.widget.options.onTableChange;\n this.widget.options.pagination.current = pagination.current;\n this.widget.options.pagination.pageSize = pagination.pageSize;\n if (fn) {\n const changeFunc = new Function(\n 'pagination',\n 'filters',\n 'sorter',\n 'currentDataSource',\n fn\n );\n changeFunc.call(this, pagination, filters, sorter, { currentDataSource });\n }\n this.loadDataTableDataSource();\n },\n handleRowSelection() {\n const info = this.widget.options.rowSelection;\n if (!info.hasRowSelection) {\n return undefined;\n }\n return {\n ...omit(info, ['onChange']),\n onChange: (selectedRowKeys, selectedRows) => {\n this.selectedRowInfo = { selectedRowKeys, selectedRows };\n const rcFunc = new Function('selectedRowKeys', 'selectedRows', info.onChange);\n rcFunc.call(this, selectedRowKeys, selectedRows);\n }\n };\n }\n }\n};\n"],"names":["useDataTableMixin","data","selectedRowInfo","selectedRowKeys","selectedRows","selectRow","loading","components","RenderBodyCell","inject","computed","columns","leftFixedColumns","optins","_a","widget","options","showIndex","push","title","align","width","fixed","maxWidth","field","customRender","customRenderIndex","centerColumns","tableColumns","filter","item","show","map","handleColumnItem","rightFixedColumns","showButtonsColumn","operationButtons","_this","buttonsColumnTitle","buttonsColumnWidth","scope","_createVNode","ActionButtonListRender","bodyCell","dataIndex","tableHeight","parseFloat","customClass","widgetSize","tableSize","lineHeight","fmtPagination","showPagination","pagination","showTotal","total","watch","handler","newVal","length","console","log","dataSource","getFormRef","setTableValue","name","deep","methods","isShowBodyCell","_b","handleHidden","onHidden","hidden","Function","call","rowClassName","record","rowKey","colorRow","handleResizeColumn","w","col","newTableColumns","setTableColumns","disabledClick","hasRowSelection","rowSelection","isEmpty","getSelectedRowKeys","getSelectedRows","getTableColumns","list","delSelectRow","delKeys","TpfConfirm","content","newList","getDataSource","includes","setDataSource","$message","success","getPagination","setPagination","page","undefined","current","pageSize","selectRowe","val","isArray","setValue","setRowDataSource","value","setTableRowDataValue","getTableValue","getValue","loadDataTableDataSource","dsEnabled","setTimeout","ops","http","url","res","fmtHttpParams","handleCustomRow","customRow","onClick","event","selectTableRow","onDblclick","customFn","onMouseenter","onMouseleave","rowKeys","splice","indexOf","omit","customRenderFn","minWidth","isAutoWidth","isNaN","Number","executeFunction","functionBody","params","context","errorCallback","error","getOperationButtonLabel","buttonConfig","rowIndex","row","onGetOperationButtonLabel","label","handleOperationButtonClick","btnName","ob","skipSelectionChangeEvent","index","column","btn","onOperationButtonClick","buttonName","dispatch","showOperationButton","onHideOperationButton","disableOperationButton","onDisableOperationButton","disabled","handleCurrentPageChange","currentPage","onCurrentPageChange","refList","handlePageSizeChange","onPageSizeChange","handleTablePageChange","filters","sorter","currentDataSource","fn","onTableChange","handleRowSelection","info","onChange"],"mappings":"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"}
1
+ {"version":3,"file":"useDataTableMixin.js","sources":["../../../src/mixins/useDataTableMixin.jsx"],"sourcesContent":["import { omit, isEmpty, isArray } from 'lodash-es';\nimport { fmtHttpParams } from '@/utils/request/fmtHttpParams';\nimport { TpfConfirm } from '@/hooks/TpfConfirm';\nimport RenderBodyCell from '@/components/CustomRender/components/RenderBodyCell.tsx';\nimport { executeFunction } from '@/utils/executeFunction';\nimport ActionButtonListRender from '@/components/public/ActionButtonListRender.vue';\nexport default {\n data() {\n return {\n selectedRowInfo: { selectedRowKeys: [], selectedRows: [] },\n selectRow: {},\n loading: false\n };\n },\n components: {\n RenderBodyCell\n },\n inject: ['refList'],\n computed: {\n columns() {\n const leftFixedColumns = [];\n const optins = this.widget?.options ?? {};\n if (optins.showIndex) {\n leftFixedColumns.push({\n title: '序号',\n align: 'left',\n width: 90,\n fixed: 'left',\n maxWidth: 100,\n field: 'dataIndex',\n customRender: this.customRenderIndex\n });\n }\n const centerColumns = optins.tableColumns\n .filter(item => item.show)\n .map(item => ({\n ...item,\n ...this.handleColumnItem(item)\n }));\n const rightFixedColumns = [];\n if (optins.showButtonsColumn) {\n const operationButtons = optins.operationButtons ?? [];\n let _this = this;\n rightFixedColumns.push({\n fixed: 'right',\n align: 'center',\n title: optins.buttonsColumnTitle,\n width: optins.buttonsColumnWidth,\n customRender(scope) {\n return (\n <ActionButtonListRender\n buttonList={operationButtons}\n flex=\"center\"\n scope={scope}\n ctx={_this}\n />\n );\n }\n });\n }\n\n let bodyCell = {};\n\n // 把customRender渲染成 bodyCell 插槽\n let _columns = [...leftFixedColumns, ...centerColumns, ...rightFixedColumns].map(\n item => {\n if (item.bodyCell) {\n bodyCell[item.dataIndex] = item.bodyCell;\n delete item.customRender;\n }\n return item;\n }\n );\n\n return {\n columns: _columns,\n bodyCell\n };\n },\n tableHeight() {\n return parseFloat(this.widget.options.tableHeight || 0);\n },\n // rowClassName() {\n // if (this.widget.options.stripe) {\n // return (_record, index) => (index % 2 === 1 ? 'table-striped' : null);\n // }\n // return null;\n // },\n customClass() {\n return this.widget.options.customClass || '';\n },\n widgetSize() {\n return this.widget.options.tableSize || 'default';\n },\n lineHeight() {\n return this.widget.options.lineHeight || 40;\n },\n fmtPagination() {\n const { showPagination } = this.widget.options;\n if (!showPagination) return false;\n return {\n ...this.widget.options.pagination,\n showTotal: total => `共 ${total} 条`\n };\n }\n },\n watch: {\n 'widget.options.dataSource': {\n handler(newVal) {\n if (newVal && newVal.length) {\n console.log('DataTable dataSource changed:', newVal);\n this.widget.options.dataSource = newVal;\n console.log(this.getFormRef());\n this.getFormRef()?.setTableValue(this.widget.options.name, newVal);\n }\n },\n deep: true\n }\n },\n methods: {\n isShowBodyCell(dataIndex) {\n return this.columns?.bodyCell?.[dataIndex];\n },\n handleHidden() {\n const { onHidden, hidden } = this.widget.options;\n if (hidden) return true;\n if (onHidden) {\n const onHiddenFn = new Function(onHidden);\n return onHiddenFn.call(this);\n }\n return false;\n },\n rowClassName(record) {\n const { rowKey, colorRow } = this.widget.options;\n if (!colorRow) return '';\n return this.selectRow[rowKey] === record[rowKey]\n ? 'colorRowClassName surely-table-row-selected'\n : '';\n },\n handleResizeColumn(w, col) {\n const { tableColumns } = this.widget.options;\n const newTableColumns = tableColumns.map(item => {\n if (item.dataIndex === col.dataIndex) {\n item.width = w;\n }\n return { ...item };\n });\n this.setTableColumns(newTableColumns);\n },\n disabledClick() {\n const { hasRowSelection } = this.widget.options.rowSelection;\n if (hasRowSelection) {\n return isEmpty(this.selectedRowInfo.selectedRowKeys);\n }\n return isEmpty(this.selectRow);\n },\n getSelectedRowKeys() {\n return this.selectedRowInfo.selectedRowKeys;\n },\n getSelectedRows() {\n return this.selectedRowInfo.getSelectedRows;\n },\n getTableColumns() {\n return this.widget.options.tableColumns;\n },\n setTableColumns(list) {\n this.widget.options.tableColumns = list;\n return;\n },\n async delSelectRow(delKeys) {\n await TpfConfirm({ content: '确定删除选中的数据吗' });\n delKeys = delKeys || this.selectedRowInfo.selectedRowKeys;\n if (!delKeys.length) return;\n const { rowKey } = this.widget.options;\n const data = this.getDataSource();\n const newList = data.filter(item => !delKeys?.includes(item[rowKey]));\n this.setDataSource(newList);\n\n this.$message.success('操作成功');\n },\n\n getPagination() {\n return this.widget.options.pagination;\n },\n /**\n * 设置表格分页\n * @param pagination\n */\n setPagination(pagination) {\n if (pagination.page !== undefined) {\n this.widget.options.pagination.current = pagination.page;\n }\n\n if (pagination.pageSize !== undefined) {\n this.widget.options.pagination.pageSize = pagination.pageSize;\n }\n\n if (pagination.total !== undefined) {\n this.widget.options.pagination.total = pagination.total;\n }\n },\n setDataSource(list) {\n list = list || [];\n this.selectedRowInfo = { selectedRowKeys: [], selectedRows: [] };\n this.selectRowe = {};\n const val = isArray(list) ? list : [list];\n console.log('setDataSource: ', val);\n this.getFormRef()?.setTableValue(this.widget.options.name, val);\n // this.widget.options.dataSource = [...val];\n },\n setValue(list) {\n console.log('list: ', list);\n this.setDataSource(list);\n },\n setRowDataSource(scope, value) {\n this.getFormRef()?.setTableRowDataValue(this.widget.options.name, scope, value);\n },\n getDataSource() {\n return this.getFormRef()?.getTableValue(this.widget.options.name) || [];\n },\n getValue() {\n return this.getDataSource();\n },\n async loadDataTableDataSource() {\n if (!this.widget.options.dsEnabled) {\n return;\n }\n setTimeout(async () => {\n const ops = this.widget.options;\n if (ops.dsEnabled && ops.http.url) {\n this.loading = true;\n const res = await fmtHttpParams.call(this, ops);\n this.setPagination(res);\n this.setDataSource(res.list);\n this.loading = false;\n }\n }, 500);\n },\n handleCustomRow(record) {\n const { customRow, colorRow } = this.widget.options;\n const { hasRowSelection } = this.widget.options.rowSelection;\n // if (!customRow) return {};\n return {\n onClick: event => {\n if (colorRow) {\n this.selectRow = record;\n }\n if (hasRowSelection) {\n this.selectTableRow(record);\n }\n const customFn = new Function('record', 'event', customRow.onClick);\n customFn.call(this, record, event);\n },\n onDblclick: event => {\n const customFn = new Function('record', 'event', customRow.onDblclick);\n customFn.call(this, record, event);\n },\n onMouseenter: event => {\n const customFn = new Function('record', 'event', customRow.onMouseenter);\n customFn.call(this, record, event);\n },\n onMouseleave: event => {\n const customFn = new Function('record', 'event', customRow.onMouseleave);\n customFn.call(this, record, event);\n }\n };\n },\n selectTableRow(record) {\n const rowKey = this.widget.options.rowKey;\n const rowKeys = this.selectedRowInfo.selectedRowKeys;\n console.log(this.selectedRowInfo.selectedRowKeys);\n\n if (rowKeys.includes(record[rowKey])) {\n this.selectedRowInfo.selectedRowKeys.splice(rowKeys.indexOf(record[rowKey]), 1);\n } else {\n this.selectedRowInfo.selectedRowKeys.push(record[rowKey]);\n }\n },\n // 处理列配置\n handleColumnItem(item) {\n const res = omit(item, ['customRender']);\n const customRenderFn = item.customRender;\n item.minWidth = 50;\n item.maxWidth = 1200;\n if (item.isAutoWidth) {\n item.width = null;\n delete item.width;\n } else {\n item.width = isNaN(Number(item.width)) ? item.width : Number(item.width);\n }\n if (!customRenderFn) return item;\n\n return {\n ...res,\n bodyCell: scope => {\n return executeFunction({\n functionBody: customRenderFn,\n params: scope,\n context: this,\n errorCallback: error => {\n console.error('Custom render error:', error);\n }\n });\n }\n };\n },\n getOperationButtonLabel(buttonConfig, rowIndex, row) {\n const { onGetOperationButtonLabel } = this.widget.options;\n if (!!onGetOperationButtonLabel) {\n const customFn = new Function(\n 'buttonConfig',\n 'rowIndex',\n 'row',\n onGetOperationButtonLabel\n );\n return customFn.call(this, buttonConfig, rowIndex, row);\n } else {\n return buttonConfig.label;\n }\n },\n // 处理操作按钮点击\n async handleOperationButtonClick(btnName, rowIndex, row, scope, ob) {\n this.skipSelectionChangeEvent = true;\n\n try {\n if (ob.onClick) {\n await executeFunction({\n functionBody: ob.onClick,\n params: { record: row, index: rowIndex, column: scope.column, btn: ob },\n context: this\n });\n return;\n }\n\n const { onOperationButtonClick } = this.widget.options;\n if (onOperationButtonClick) {\n await executeFunction({\n functionBody: onOperationButtonClick,\n params: { buttonName: btnName, rowIndex, row },\n context: this\n });\n } else {\n this.dispatch('VFormRender', 'operationButtonClick', [\n this,\n btnName,\n rowIndex,\n row\n ]);\n }\n } finally {\n this.skipSelectionChangeEvent = false;\n }\n },\n showOperationButton(buttonConfig, rowIndex, row) {\n const { onHideOperationButton } = this.widget.options;\n if (!!onHideOperationButton) {\n const customFn = new Function(\n 'buttonConfig',\n 'rowIndex',\n 'row',\n onHideOperationButton\n );\n return !!customFn.call(this, buttonConfig, rowIndex, row);\n } else {\n return !buttonConfig.hidden;\n }\n },\n disableOperationButton(buttonConfig, rowIndex, row) {\n const { onDisableOperationButton } = this.widget.options;\n if (!!onDisableOperationButton) {\n const customFn = new Function(\n 'buttonConfig',\n 'rowIndex',\n 'row',\n onDisableOperationButton\n );\n return customFn.call(this, buttonConfig, rowIndex, row);\n } else {\n return buttonConfig.disabled;\n }\n },\n customRenderIndex({ index }) {\n return index + 1;\n },\n handleCurrentPageChange(currentPage) {\n this.currentPage = currentPage;\n // if (!!this.widget.options.dsEnabled && !!this.widget.options.dsName) {\n // this.loadDataFromDS();\n // }\n\n const { onCurrentPageChange } = this.widget.options;\n\n if (!!onCurrentPageChange) {\n const customFn = new Function('pageSize', 'currentPage', onCurrentPageChange);\n customFn.call(this, this.pageSize, currentPage);\n } else {\n this.dispatch('VFormRender', 'dataTablePageChange', [\n this,\n this.pageSize,\n currentPage\n ]);\n }\n },\n getFormRef() {\n /* 获取VFrom引用,必须在VForm组件created之后方可调用 */\n return this.refList['v_form_ref'];\n },\n handlePageSizeChange(pageSize) {\n this.pageSize = pageSize;\n // if (!!this.widget.options.dsEnabled && !!this.widget.options.dsName) {\n // this.loadDataFromDS();\n // }\n const { onPageSizeChange } = this.widget.options;\n if (!!onPageSizeChange) {\n const customFn = new Function('pageSize', 'currentPage', onPageSizeChange);\n customFn.call(this, pageSize, this.currentPage);\n } else {\n this.dispatch('VFormRender', 'dataTablePageSizeChange', [\n this,\n pageSize,\n this.currentPage\n ]);\n }\n },\n handleTablePageChange(pagination, filters, sorter, { currentDataSource }) {\n const fn = this.widget.options.onTableChange;\n this.widget.options.pagination.current = pagination.current;\n this.widget.options.pagination.pageSize = pagination.pageSize;\n if (fn) {\n const changeFunc = new Function(\n 'pagination',\n 'filters',\n 'sorter',\n 'currentDataSource',\n fn\n );\n changeFunc.call(this, pagination, filters, sorter, { currentDataSource });\n }\n this.loadDataTableDataSource();\n },\n handleRowSelection() {\n const info = this.widget.options.rowSelection;\n if (!info.hasRowSelection) {\n return undefined;\n }\n return {\n ...omit(info, ['onChange']),\n onChange: (selectedRowKeys, selectedRows) => {\n this.selectedRowInfo = { selectedRowKeys, selectedRows };\n const rcFunc = new Function('selectedRowKeys', 'selectedRows', info.onChange);\n rcFunc.call(this, selectedRowKeys, selectedRows);\n }\n };\n }\n }\n};\n"],"names":["useDataTableMixin","data","selectedRowInfo","selectedRowKeys","selectedRows","selectRow","loading","components","RenderBodyCell","inject","computed","columns","leftFixedColumns","optins","_a","widget","options","showIndex","push","title","align","width","fixed","maxWidth","field","customRender","customRenderIndex","centerColumns","tableColumns","filter","item","show","map","handleColumnItem","rightFixedColumns","showButtonsColumn","operationButtons","_this","buttonsColumnTitle","buttonsColumnWidth","scope","_createVNode","ActionButtonListRender","bodyCell","dataIndex","tableHeight","parseFloat","customClass","widgetSize","tableSize","lineHeight","fmtPagination","showPagination","pagination","showTotal","total","watch","handler","newVal","length","console","log","dataSource","getFormRef","setTableValue","name","deep","methods","isShowBodyCell","_b","handleHidden","onHidden","hidden","Function","call","rowClassName","record","rowKey","colorRow","handleResizeColumn","w","col","newTableColumns","setTableColumns","disabledClick","hasRowSelection","rowSelection","isEmpty","getSelectedRowKeys","getSelectedRows","getTableColumns","list","delSelectRow","delKeys","TpfConfirm","content","newList","getDataSource","includes","setDataSource","$message","success","getPagination","setPagination","page","undefined","current","pageSize","selectRowe","val","isArray","setValue","setRowDataSource","value","setTableRowDataValue","getTableValue","getValue","loadDataTableDataSource","dsEnabled","setTimeout","ops","http","url","res","fmtHttpParams","handleCustomRow","customRow","onClick","event","selectTableRow","onDblclick","customFn","onMouseenter","onMouseleave","rowKeys","splice","indexOf","omit","customRenderFn","minWidth","isAutoWidth","isNaN","Number","executeFunction","functionBody","params","context","errorCallback","error","getOperationButtonLabel","buttonConfig","rowIndex","row","onGetOperationButtonLabel","label","handleOperationButtonClick","btnName","ob","skipSelectionChangeEvent","index","column","btn","onOperationButtonClick","buttonName","dispatch","showOperationButton","onHideOperationButton","disableOperationButton","onDisableOperationButton","disabled","handleCurrentPageChange","currentPage","onCurrentPageChange","refList","handlePageSizeChange","onPageSizeChange","handleTablePageChange","filters","sorter","currentDataSource","fn","onTableChange","handleRowSelection","info","onChange"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectMixin.js","sources":["../../../src/mixins/useSelectMixin.js"],"sourcesContent":["import { debounce } from 'lodash-es';\n\nexport default {\n data() {\n return {\n keyword: '',\n pager: {\n page: 1,\n pageSize: 20,\n totalPage: 0,\n total: 0\n }\n };\n },\n computed: {\n fieldNames() {\n return {\n label: this.field.options.labelKey || 'label',\n value: this.field.options.valueKey || 'value',\n options: 'options'\n };\n },\n selectOps() {\n const showSearch = true; //this.field.options.showSearch;\n const useServer = this.field.options.showSearch;\n return {\n fieldNames: this.fieldNames,\n showSearch,\n onPopupScroll: this.onPopupScroll,\n onSearch: showSearch ? this.remoteQuery : void 0,\n filterOption: !useServer && this.filterOption,\n listHeight: 240\n };\n }\n },\n methods: {\n filterOption(inputValue, option) {\n return option[this.fieldNames.label].toLowerCase().indexOf(inputValue.toLowerCase()) >= 0;\n },\n initPager() {\n this.pager = { page: 1, pageSize: 20, total: 0, totalPage: 0 };\n this.loadOptions([]);\n },\n remoteQuery(keyword) {\n const useServer = this.field.options.showSearch;\n if (!useServer) return;\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n // if (!!this.field.options.onRemoteQuery) {\n this.initPager();\n this.keyword = keyword;\n this.initOptionItems(true);\n // const remoteFn = new Function('keyword', this.field.options.onRemoteQuery);\n // remoteFn.call(this, keyword);\n // }\n },\n onPopupScroll(e) {\n if (!this.field.options.loadingPage) return;\n const { target } = e;\n const { scrollTop, scrollHeight, clientHeight } = target;\n if (scrollHeight - (scrollTop + clientHeight) <= 30) {\n if (this.pager.totalPage > this.pager.page) {\n if (this.pager.totalPage === this.pager.page) {\n return;\n }\n this.changePager();\n }\n }\n },\n changePager: debounce(function () {\n this.pager.page += 1;\n this.initOptionItems(true);\n }, 500)\n }\n};\n"],"names":["useSelectMixin","useServer","inputValue","option","keyword","target","scrollTop","scrollHeight","clientHeight","debounce"],"mappings":";AAEA,MAAAA,IAAe;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,SAAS;AAAA,MACT,OAAO;AAAA,QACL,MAAM;AAAA,QACN,UAAU;AAAA,QACV,WAAW;AAAA,QACX,OAAO;AAAA,MACf;AAAA,IACA;AAAA,EACA;AAAA,EACE,UAAU;AAAA,IACR,aAAa;AACX,aAAO;AAAA,QACL,OAAO,KAAK,MAAM,QAAQ,YAAY;AAAA,QACtC,OAAO,KAAK,MAAM,QAAQ,YAAY;AAAA,QACtC,SAAS;AAAA,MACjB;AAAA,IACA;AAAA,IACI,YAAY;AAEV,YAAMC,IAAY,KAAK,MAAM,QAAQ;AACrC,aAAO;AAAA,QACL,YAAY,KAAK;AAAA,QACjB;AAAA,QACA,eAAe,KAAK;AAAA,QACpB,UAAuB,KAAK;AAAA,QAC5B,cAAc,CAACA,KAAa,KAAK;AAAA,QACjC,YAAY;AAAA,MACpB;AAAA,IACA;AAAA,EACA;AAAA,EACE,SAAS;AAAA,IACP,aAAaC,GAAYC,GAAQ;AAC/B,aAAOA,EAAO,KAAK,WAAW,KAAK,EAAE,YAAW,EAAG,QAAQD,EAAW,YAAW,CAAE,KAAK;AAAA,IAC9F;AAAA,IACI,YAAY;AACV,WAAK,QAAQ,EAAE,MAAM,GAAG,UAAU,IAAI,OAAO,GAAG,WAAW,EAAC,GAC5D,KAAK,YAAY,EAAE;AAAA,IACzB;AAAA,IACI,YAAYE,GAAS;AAEnB,MADkB,KAAK,MAAM,QAAQ,eAE/B,KAAK,gBAMX,KAAK,UAAS,GACd,KAAK,UAAUA,GACf,KAAK,gBAAgB,EAAI;AAAA,IAI/B;AAAA,IACI,cAAc,GAAG;AACf,UAAI,CAAC,KAAK,MAAM,QAAQ,YAAa;AACrC,YAAM,EAAE,QAAAC,EAAM,IAAK,GACb,EAAE,WAAAC,GAAW,cAAAC,GAAc,cAAAC,EAAY,IAAKH;AAClD,UAAIE,KAAgBD,IAAYE,MAAiB,MAC3C,KAAK,MAAM,YAAY,KAAK,MAAM,MAAM;AAC1C,YAAI,KAAK,MAAM,cAAc,KAAK,MAAM;AACtC;AAEF,aAAK,YAAW;AAAA,MAC1B;AAAA,IAEA;AAAA,IACI,aAAaC,EAAS,WAAY;AAChC,WAAK,MAAM,QAAQ,GACnB,KAAK,gBAAgB,EAAI;AAAA,IAC/B,GAAO,GAAG;AAAA,EACV;AACA;"}
1
+ {"version":3,"file":"useSelectMixin.js","sources":["../../../src/mixins/useSelectMixin.js"],"sourcesContent":["import { debounce } from 'lodash-es';\n\nexport default {\n data() {\n return {\n keyword: '',\n pager: {\n page: 1,\n pageSize: 20,\n totalPage: 0,\n total: 0\n }\n };\n },\n computed: {\n fieldNames() {\n return {\n label: this.field.options.labelKey || 'label',\n value: this.field.options.valueKey || 'value',\n options: 'options'\n };\n },\n selectOps() {\n const showSearch = true; //this.field.options.showSearch;\n const useServer = this.field.options.showSearch;\n return {\n fieldNames: this.fieldNames,\n showSearch,\n onPopupScroll: this.onPopupScroll,\n onSearch: showSearch ? this.remoteQuery : void 0,\n filterOption: !useServer && this.filterOption,\n listHeight: 240\n };\n }\n },\n methods: {\n filterOption(inputValue, option) {\n return option[this.fieldNames.label].toLowerCase().indexOf(inputValue.toLowerCase()) >= 0;\n },\n initPager() {\n this.pager = { page: 1, pageSize: 20, total: 0, totalPage: 0 };\n this.loadOptions([]);\n },\n remoteQuery(keyword) {\n const useServer = this.field.options.showSearch;\n if (!useServer) return;\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n // if (!!this.field.options.onRemoteQuery) {\n this.initPager();\n this.keyword = keyword;\n this.initOptionItems(true);\n // const remoteFn = new Function('keyword', this.field.options.onRemoteQuery);\n // remoteFn.call(this, keyword);\n // }\n },\n onPopupScroll(e) {\n if (!this.field.options.loadingPage) return;\n const { target } = e;\n const { scrollTop, scrollHeight, clientHeight } = target;\n if (scrollHeight - (scrollTop + clientHeight) <= 30) {\n if (this.pager.totalPage > this.pager.page) {\n if (this.pager.totalPage === this.pager.page) {\n return;\n }\n this.changePager();\n }\n }\n },\n changePager: debounce(function () {\n this.pager.page += 1;\n this.initOptionItems(true);\n }, 500)\n }\n};\n"],"names":["useSelectMixin","useServer","inputValue","option","keyword","target","scrollTop","scrollHeight","clientHeight","debounce"],"mappings":";AAEA,MAAAA,IAAe;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,SAAS;AAAA,MACT,OAAO;AAAA,QACL,MAAM;AAAA,QACN,UAAU;AAAA,QACV,WAAW;AAAA,QACX,OAAO;AAAA,MACf;AAAA,IACA;AAAA,EACE;AAAA,EACA,UAAU;AAAA,IACR,aAAa;AACX,aAAO;AAAA,QACL,OAAO,KAAK,MAAM,QAAQ,YAAY;AAAA,QACtC,OAAO,KAAK,MAAM,QAAQ,YAAY;AAAA,QACtC,SAAS;AAAA,MACjB;AAAA,IACI;AAAA,IACA,YAAY;AAEV,YAAMC,IAAY,KAAK,MAAM,QAAQ;AACrC,aAAO;AAAA,QACL,YAAY,KAAK;AAAA,QACjB;AAAA,QACA,eAAe,KAAK;AAAA,QACpB,UAAuB,KAAK;AAAA,QAC5B,cAAc,CAACA,KAAa,KAAK;AAAA,QACjC,YAAY;AAAA,MACpB;AAAA,IACI;AAAA,EACJ;AAAA,EACE,SAAS;AAAA,IACP,aAAaC,GAAYC,GAAQ;AAC/B,aAAOA,EAAO,KAAK,WAAW,KAAK,EAAE,YAAW,EAAG,QAAQD,EAAW,YAAW,CAAE,KAAK;AAAA,IAC1F;AAAA,IACA,YAAY;AACV,WAAK,QAAQ,EAAE,MAAM,GAAG,UAAU,IAAI,OAAO,GAAG,WAAW,EAAC,GAC5D,KAAK,YAAY,EAAE;AAAA,IACrB;AAAA,IACA,YAAYE,GAAS;AAEnB,MADkB,KAAK,MAAM,QAAQ,eAE/B,KAAK,gBAMX,KAAK,UAAS,GACd,KAAK,UAAUA,GACf,KAAK,gBAAgB,EAAI;AAAA,IAI3B;AAAA,IACA,cAAc,GAAG;AACf,UAAI,CAAC,KAAK,MAAM,QAAQ,YAAa;AACrC,YAAM,EAAE,QAAAC,EAAM,IAAK,GACb,EAAE,WAAAC,GAAW,cAAAC,GAAc,cAAAC,EAAY,IAAKH;AAClD,UAAIE,KAAgBD,IAAYE,MAAiB,MAC3C,KAAK,MAAM,YAAY,KAAK,MAAM,MAAM;AAC1C,YAAI,KAAK,MAAM,cAAc,KAAK,MAAM;AACtC;AAEF,aAAK,YAAW;AAAA,MAClB;AAAA,IAEJ;AAAA,IACA,aAAaC,EAAS,WAAY;AAChC,WAAK,MAAM,QAAQ,GACnB,KAAK,gBAAgB,EAAI;AAAA,IAC3B,GAAG,GAAG;AAAA,EACV;AACA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sources":["../../../src/utils/emitter.js"],"sourcesContent":["function _broadcast(componentName, eventName, params) {\n this.$children.forEach(function (child) {\n const name = child.$options.componentName;\n if (name === componentName) {\n //child.$emit.apply(child, [eventName].concat(params));\n if (!!child.emit$) {\n child.emit$.call(child, eventName, params);\n }\n } else {\n _broadcast.apply(child, [componentName, eventName].concat([params]));\n }\n });\n}\n\nexport default {\n data() {\n return {\n vfEvents: {}\n };\n },\n\n methods: {\n emit$(eventName, data) {\n if (this.vfEvents[eventName]) {\n this.vfEvents[eventName].forEach(fn => {\n fn(data);\n });\n }\n },\n\n on$(eventName, fn) {\n this.vfEvents[eventName] = this.vfEvents[eventName] || [];\n this.vfEvents[eventName].push(fn);\n },\n\n off$(eventName, fn) {\n if (this.vfEvents[eventName]) {\n if (fn === undefined || fn === null) {\n this.vfEvents[eventName].length = 0;\n return;\n }\n\n for (let i = 0; i < this.vfEvents[eventName].length; i++) {\n if (this.vfEvents[eventName][i] === fn) {\n this.vfEvents[eventName].splice(i, 1);\n break;\n }\n }\n }\n },\n\n dispatch: function dispatch(componentName, eventName, params) {\n let parent = this.$parent || this.$root;\n let name = parent.$options.componentName;\n\n while (parent && (!name || name !== componentName)) {\n parent = parent.$parent;\n\n if (parent) {\n name = parent.$options.componentName;\n }\n }\n if (parent) {\n if (!!parent.emit$) {\n parent.emit$.call(parent, eventName, params);\n\n if (componentName === 'VFormRender') {\n parent.$emit(eventName, ...params); //执行原生$emit,以便可以用@进行声明式事件处理!!\n }\n }\n }\n },\n\n broadcast: function broadcast(componentName, eventName, params) {\n /* Vue3移除了$children属性,_broadcast方法已不能使用!! */\n //_broadcast.call(this, componentName, eventName, params);\n\n if (!!this.widgetRefList) {\n //FormRender只需遍历自身的widgetRefList属性\n Object.keys(this.widgetRefList).forEach(refName => {\n const cmpName = this.widgetRefList[refName].$options.componentName;\n if (cmpName === componentName) {\n const foundRef = this.widgetRefList[refName];\n foundRef.emit$.call(foundRef, eventName, params);\n }\n });\n }\n\n if (!!this.refList) {\n //其他组件遍历inject的refList属性\n Object.keys(this.refList).forEach(refName => {\n const cmpName = this.refList[refName].$options.componentName;\n if (cmpName === componentName) {\n const foundRef = this.refList[refName];\n foundRef.emit$.call(foundRef, eventName, params);\n }\n });\n }\n }\n }\n};\n"],"names":["emitter","eventName","data","fn","i","componentName","params","parent","name","refName","foundRef"],"mappings":"AAcA,MAAAA,IAAe;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,UAAU,CAAA;AAAA,IAChB;AAAA,EACA;AAAA,EAEE,SAAS;AAAA,IACP,MAAMC,GAAWC,GAAM;AACrB,MAAI,KAAK,SAASD,CAAS,KACzB,KAAK,SAASA,CAAS,EAAE,QAAQ,CAAAE,MAAM;AACrC,QAAAA,EAAGD,CAAI;AAAA,MACjB,CAAS;AAAA,IAET;AAAA,IAEI,IAAID,GAAWE,GAAI;AACjB,WAAK,SAASF,CAAS,IAAI,KAAK,SAASA,CAAS,KAAK,CAAA,GACvD,KAAK,SAASA,CAAS,EAAE,KAAKE,CAAE;AAAA,IACtC;AAAA,IAEI,KAAKF,GAAWE,GAAI;AAClB,UAAI,KAAK,SAASF,CAAS,GAAG;AAC5B,YAAwBE,KAAO,MAAM;AACnC,eAAK,SAASF,CAAS,EAAE,SAAS;AAClC;AAAA,QACV;AAEQ,iBAASG,IAAI,GAAGA,IAAI,KAAK,SAASH,CAAS,EAAE,QAAQG;AACnD,cAAI,KAAK,SAASH,CAAS,EAAEG,CAAC,MAAMD,GAAI;AACtC,iBAAK,SAASF,CAAS,EAAE,OAAOG,GAAG,CAAC;AACpC;AAAA,UACZ;AAAA,MAEA;AAAA,IACA;AAAA,IAEI,UAAU,SAAkBC,GAAeJ,GAAWK,GAAQ;AAC5D,UAAIC,IAAS,KAAK,WAAW,KAAK,OAC9BC,IAAOD,EAAO,SAAS;AAE3B,aAAOA,MAAW,CAACC,KAAQA,MAASH;AAClC,QAAAE,IAASA,EAAO,SAEZA,MACFC,IAAOD,EAAO,SAAS;AAG3B,MAAIA,KACIA,EAAO,UACXA,EAAO,MAAM,KAAKA,GAAQN,GAAWK,CAAM,GAEvCD,MAAkB,iBACpBE,EAAO,MAAMN,GAAW,GAAGK,CAAM;AAAA,IAI7C;AAAA,IAEI,WAAW,SAAmBD,GAAeJ,GAAWK,GAAQ;AAI9D,MAAM,KAAK,iBAET,OAAO,KAAK,KAAK,aAAa,EAAE,QAAQ,CAAAG,MAAW;AAEjD,YADgB,KAAK,cAAcA,CAAO,EAAE,SAAS,kBACrCJ,GAAe;AAC7B,gBAAMK,IAAW,KAAK,cAAcD,CAAO;AAC3C,UAAAC,EAAS,MAAM,KAAKA,GAAUT,GAAWK,CAAM;AAAA,QAC3D;AAAA,MACA,CAAS,GAGG,KAAK,WAET,OAAO,KAAK,KAAK,OAAO,EAAE,QAAQ,CAAAG,MAAW;AAE3C,YADgB,KAAK,QAAQA,CAAO,EAAE,SAAS,kBAC/BJ,GAAe;AAC7B,gBAAMK,IAAW,KAAK,QAAQD,CAAO;AACrC,UAAAC,EAAS,MAAM,KAAKA,GAAUT,GAAWK,CAAM;AAAA,QAC3D;AAAA,MACA,CAAS;AAAA,IAET;AAAA,EACA;AACA;"}
1
+ {"version":3,"file":"emitter.js","sources":["../../../src/utils/emitter.js"],"sourcesContent":["function _broadcast(componentName, eventName, params) {\n this.$children.forEach(function (child) {\n const name = child.$options.componentName;\n if (name === componentName) {\n //child.$emit.apply(child, [eventName].concat(params));\n if (!!child.emit$) {\n child.emit$.call(child, eventName, params);\n }\n } else {\n _broadcast.apply(child, [componentName, eventName].concat([params]));\n }\n });\n}\n\nexport default {\n data() {\n return {\n vfEvents: {}\n };\n },\n\n methods: {\n emit$(eventName, data) {\n if (this.vfEvents[eventName]) {\n this.vfEvents[eventName].forEach(fn => {\n fn(data);\n });\n }\n },\n\n on$(eventName, fn) {\n this.vfEvents[eventName] = this.vfEvents[eventName] || [];\n this.vfEvents[eventName].push(fn);\n },\n\n off$(eventName, fn) {\n if (this.vfEvents[eventName]) {\n if (fn === undefined || fn === null) {\n this.vfEvents[eventName].length = 0;\n return;\n }\n\n for (let i = 0; i < this.vfEvents[eventName].length; i++) {\n if (this.vfEvents[eventName][i] === fn) {\n this.vfEvents[eventName].splice(i, 1);\n break;\n }\n }\n }\n },\n\n dispatch: function dispatch(componentName, eventName, params) {\n let parent = this.$parent || this.$root;\n let name = parent.$options.componentName;\n\n while (parent && (!name || name !== componentName)) {\n parent = parent.$parent;\n\n if (parent) {\n name = parent.$options.componentName;\n }\n }\n if (parent) {\n if (!!parent.emit$) {\n parent.emit$.call(parent, eventName, params);\n\n if (componentName === 'VFormRender') {\n parent.$emit(eventName, ...params); //执行原生$emit,以便可以用@进行声明式事件处理!!\n }\n }\n }\n },\n\n broadcast: function broadcast(componentName, eventName, params) {\n /* Vue3移除了$children属性,_broadcast方法已不能使用!! */\n //_broadcast.call(this, componentName, eventName, params);\n\n if (!!this.widgetRefList) {\n //FormRender只需遍历自身的widgetRefList属性\n Object.keys(this.widgetRefList).forEach(refName => {\n const cmpName = this.widgetRefList[refName].$options.componentName;\n if (cmpName === componentName) {\n const foundRef = this.widgetRefList[refName];\n foundRef.emit$.call(foundRef, eventName, params);\n }\n });\n }\n\n if (!!this.refList) {\n //其他组件遍历inject的refList属性\n Object.keys(this.refList).forEach(refName => {\n const cmpName = this.refList[refName].$options.componentName;\n if (cmpName === componentName) {\n const foundRef = this.refList[refName];\n foundRef.emit$.call(foundRef, eventName, params);\n }\n });\n }\n }\n }\n};\n"],"names":["emitter","eventName","data","fn","i","componentName","params","parent","name","refName","foundRef"],"mappings":"AAcA,MAAAA,IAAe;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,UAAU,CAAA;AAAA,IAChB;AAAA,EACE;AAAA,EAEA,SAAS;AAAA,IACP,MAAMC,GAAWC,GAAM;AACrB,MAAI,KAAK,SAASD,CAAS,KACzB,KAAK,SAASA,CAAS,EAAE,QAAQ,CAAAE,MAAM;AACrC,QAAAA,EAAGD,CAAI;AAAA,MACT,CAAC;AAAA,IAEL;AAAA,IAEA,IAAID,GAAWE,GAAI;AACjB,WAAK,SAASF,CAAS,IAAI,KAAK,SAASA,CAAS,KAAK,CAAA,GACvD,KAAK,SAASA,CAAS,EAAE,KAAKE,CAAE;AAAA,IAClC;AAAA,IAEA,KAAKF,GAAWE,GAAI;AAClB,UAAI,KAAK,SAASF,CAAS,GAAG;AAC5B,YAAwBE,KAAO,MAAM;AACnC,eAAK,SAASF,CAAS,EAAE,SAAS;AAClC;AAAA,QACF;AAEA,iBAASG,IAAI,GAAGA,IAAI,KAAK,SAASH,CAAS,EAAE,QAAQG;AACnD,cAAI,KAAK,SAASH,CAAS,EAAEG,CAAC,MAAMD,GAAI;AACtC,iBAAK,SAASF,CAAS,EAAE,OAAOG,GAAG,CAAC;AACpC;AAAA,UACF;AAAA,MAEJ;AAAA,IACF;AAAA,IAEA,UAAU,SAAkBC,GAAeJ,GAAWK,GAAQ;AAC5D,UAAIC,IAAS,KAAK,WAAW,KAAK,OAC9BC,IAAOD,EAAO,SAAS;AAE3B,aAAOA,MAAW,CAACC,KAAQA,MAASH;AAClC,QAAAE,IAASA,EAAO,SAEZA,MACFC,IAAOD,EAAO,SAAS;AAG3B,MAAIA,KACIA,EAAO,UACXA,EAAO,MAAM,KAAKA,GAAQN,GAAWK,CAAM,GAEvCD,MAAkB,iBACpBE,EAAO,MAAMN,GAAW,GAAGK,CAAM;AAAA,IAIzC;AAAA,IAEA,WAAW,SAAmBD,GAAeJ,GAAWK,GAAQ;AAI9D,MAAM,KAAK,iBAET,OAAO,KAAK,KAAK,aAAa,EAAE,QAAQ,CAAAG,MAAW;AAEjD,YADgB,KAAK,cAAcA,CAAO,EAAE,SAAS,kBACrCJ,GAAe;AAC7B,gBAAMK,IAAW,KAAK,cAAcD,CAAO;AAC3C,UAAAC,EAAS,MAAM,KAAKA,GAAUT,GAAWK,CAAM;AAAA,QACjD;AAAA,MACF,CAAC,GAGG,KAAK,WAET,OAAO,KAAK,KAAK,OAAO,EAAE,QAAQ,CAAAG,MAAW;AAE3C,YADgB,KAAK,QAAQA,CAAO,EAAE,SAAS,kBAC/BJ,GAAe;AAC7B,gBAAMK,IAAW,KAAK,QAAQD,CAAO;AACrC,UAAAC,EAAS,MAAM,KAAKA,GAAUT,GAAWK,CAAM;AAAA,QACjD;AAAA,MACF,CAAC;AAAA,IAEL;AAAA,EACJ;AACA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"executeFunction.js","sources":["../../../src/utils/executeFunction.ts"],"sourcesContent":["import { h } from 'vue';\n\ntype ExecuteFunctionContext = Record<string, any>;\n\ninterface ExecuteOptions {\n functionBody: string;\n params?: Record<string, any>;\n context?: ExecuteFunctionContext;\n errorCallback?: (error: Error) => void;\n}\n\n/**\n * 安全执行字符串形式的函数\n * @param options 执行配置项\n * @returns 函数执行结果\n */\nexport const executeFunction = ({\n functionBody,\n params = {},\n context = {},\n errorCallback\n}: ExecuteOptions) => {\n if (!functionBody?.trim()) return true;\n try {\n // 创建异步函数,传入单个对象参数\n const _function = new Function(\n 'scope',\n `return (()=> { \n ${functionBody}\n })();\n `\n );\n // 使用指定上下文执行函数,传入参数对象\n const result = _function.call(context, params);\n return result;\n } catch (error) {\n console.error('Execute function error:', error);\n errorCallback?.(error as Error);\n return h('span', '自定义渲染失败');\n }\n};\n"],"names":["executeFunction","functionBody","params","context","errorCallback","error","h"],"mappings":";AAgBO,MAAMA,IAAkB,CAAC;AAAA,EAC5B,cAAAC;AAAA,EACA,QAAAC,IAAS,CAAA;AAAA,EACT,SAAAC,IAAU,CAAA;AAAA,EACV,eAAAC;AACJ,MAAsB;AAClB,MAAI,EAACH,KAAA,QAAAA,EAAc,QAAQ,QAAO;AAClC,MAAI;AAWA,WATkB,IAAI;AAAA,MAClB;AAAA,MACA;AAAA,kBACMA,CAAY;AAAA;AAAA;AAAA,IAAA,EAKG,KAAKE,GAASD,CAAM;AAAA,EACtC,SACFG,GAAO;AACZ,mBAAQ,MAAM,2BAA2BA,CAAK,GAC9CD,KAAA,QAAAA,EAAgBC,IACTC,EAAE,QAAQ,SAAS;AAAA,EAAA;AAElC;"}
1
+ {"version":3,"file":"executeFunction.js","sources":["../../../src/utils/executeFunction.ts"],"sourcesContent":["import { h } from 'vue';\n\ntype ExecuteFunctionContext = Record<string, any>;\n\ninterface ExecuteOptions {\n functionBody: string;\n params?: Record<string, any>;\n context?: ExecuteFunctionContext;\n errorCallback?: (error: Error) => void;\n}\n\n/**\n * 安全执行字符串形式的函数\n * @param options 执行配置项\n * @returns 函数执行结果\n */\nexport const executeFunction = ({\n functionBody,\n params = {},\n context = {},\n errorCallback\n}: ExecuteOptions) => {\n if (!functionBody?.trim()) return true;\n try {\n // 创建异步函数,传入单个对象参数\n const _function = new Function(\n 'scope',\n `return (()=> { \n ${functionBody}\n })();\n `\n );\n // 使用指定上下文执行函数,传入参数对象\n const result = _function.call(context, params);\n return result;\n } catch (error) {\n console.error('Execute function error:', error);\n errorCallback?.(error as Error);\n return h('span', '自定义渲染失败');\n }\n};\n"],"names":["executeFunction","functionBody","params","context","errorCallback","error","h"],"mappings":";AAgBO,MAAMA,IAAkB,CAAC;AAAA,EAC5B,cAAAC;AAAA,EACA,QAAAC,IAAS,CAAA;AAAA,EACT,SAAAC,IAAU,CAAA;AAAA,EACV,eAAAC;AACJ,MAAsB;AAClB,MAAI,EAACH,KAAA,QAAAA,EAAc,QAAQ,QAAO;AAClC,MAAI;AAWA,WATkB,IAAI;AAAA,MAClB;AAAA,MACA;AAAA,kBACMA,CAAY;AAAA;AAAA;AAAA,IAAA,EAKG,KAAKE,GAASD,CAAM;AAAA,EAEjD,SAASG,GAAO;AACZ,mBAAQ,MAAM,2BAA2BA,CAAK,GAC9CD,KAAA,QAAAA,EAAgBC,IACTC,EAAE,QAAQ,SAAS;AAAA,EAC9B;AACJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sources":["../../../src/utils/format.js"],"sourcesContent":["import { isArray } from 'lodash-es';\n\nfunction validateDate(dateStr) {\n const date = new Date(Date.parse(dateStr));\n return date instanceof Date && !isNaN(date.getTime());\n}\n\nexport function formatDate1(date) {\n if (!validateDate(date)) {\n return date;\n }\n date = new Date(Date.parse(date)); //转换成Date\n const y = date.getFullYear();\n let m = date.getMonth() + 1;\n m = m < 10 ? '0' + m : m;\n let d = date.getDate();\n d = d < 10 ? '0' + d : d;\n return y + '-' + m + '-' + d;\n}\n\nexport function formatDate2(date) {\n if (!validateDate(date)) {\n return date;\n }\n date = new Date(Date.parse(date)); //转换成Date\n const y = date.getFullYear();\n let m = date.getMonth() + 1;\n m = m < 10 ? '0' + m : m;\n let d = date.getDate();\n d = d < 10 ? '0' + d : d;\n return y + '/' + m + '/' + d;\n}\n\nexport function formatDate3(date) {\n if (!validateDate(date)) {\n return date;\n }\n date = new Date(Date.parse(date)); //转换成Date\n const y = date.getFullYear();\n let m = date.getMonth() + 1;\n m = m < 10 ? '0' + m : m;\n let d = date.getDate();\n d = d < 10 ? '0' + d : d;\n return y + '年' + m + '月' + d + '日';\n}\n\nexport function formatDate4(date) {\n if (!validateDate(date)) {\n return date;\n }\n date = new Date(Date.parse(date)); //转换成Date\n return date.toLocaleString();\n}\n\nexport function formatDate5(date) {\n if (!validateDate(date)) {\n return date;\n }\n date = new Date(Date.parse(date)); //转换成Date\n return date.toLocaleString('chinese', { hour12: false });\n}\n\n// ###,###,###,##0.######\nexport function formatNumber1(v) {\n if (typeof v !== 'number') {\n return v;\n }\n\n const length = v.toString().split('.')[1].length;\n switch (length) {\n case 0:\n v = v.toFixed(0);\n break;\n case 1:\n v = v.toFixed(1);\n break;\n case 2:\n v = v.toFixed(2);\n break;\n case 3:\n v = v.toFixed(3);\n break;\n case 4:\n v = v.toFixed(4);\n break;\n case 5:\n v = v.toFixed(5);\n break;\n default:\n v = v.toFixed(6);\n }\n const res = v.toString().replace(/\\d+/, function (n) {\n // 先提取整数部分\n return n.replace(/(\\d)(?=(\\d{3})+$)/g, function ($1) {\n return $1 + ',';\n });\n });\n return res;\n}\n\n//###,###,###,##0.00####\nexport function formatNumber2(v) {\n if (typeof v !== 'number') {\n return v;\n }\n\n const length = v.toString().split('.')[1].length;\n switch (length) {\n case 0:\n case 1:\n case 2:\n v = v.toFixed(2);\n break;\n case 3:\n v = v.toFixed(3);\n break;\n case 4:\n v = v.toFixed(4);\n break;\n case 5:\n v = v.toFixed(5);\n break;\n default:\n v = v.toFixed(6);\n }\n\n const res = v.toString().replace(/\\d+/, function (n) {\n // 先提取整数部分\n return n.replace(/(\\d)(?=(\\d{3})+$)/g, function ($1) {\n return $1 + ',';\n });\n });\n return res;\n}\n\n// ###,###,###,##0.000000\nexport function formatNumber3(v) {\n if (typeof v !== 'number') {\n return v;\n }\n\n v = v.toFixed(6);\n const res = v.toString().replace(/\\d+/, function (n) {\n // 先提取整数部分\n return n.replace(/(\\d)(?=(\\d{3})+$)/g, function ($1) {\n return $1 + ',';\n });\n });\n return res;\n}\n// ###,###,###,##0.000\nexport function formatNumber4(v) {\n if (typeof v !== 'number') {\n return v;\n }\n\n v = v.toFixed(3);\n const res = v.toString().replace(/\\d+/, function (n) {\n // 先提取整数部分\n return n.replace(/(\\d)(?=(\\d{3})+$)/g, function ($1) {\n return $1 + ',';\n });\n });\n return res;\n}\n\n// ###,###,###,##0.00\nexport function formatNumber5(v) {\n if (typeof v !== 'number') {\n return v;\n }\n\n v = v.toFixed(2);\n const res = v.toString().replace(/\\d+/, function (n) {\n // 先提取整数部分\n return n.replace(/(\\d)(?=(\\d{3})+$)/g, function ($1) {\n return $1 + ',';\n });\n });\n return res;\n}\n\n// ###,###,###,##0\nexport function formatNumber6(v) {\n if (typeof v !== 'number') {\n return v;\n }\n\n v = v.toFixed(0);\n const res = v.toString().replace(/\\d+/, function (n) {\n // 先提取整数部分\n return n.replace(/(\\d)(?=(\\d{3})+$)/g, function ($1) {\n return $1 + ',';\n });\n });\n return res;\n}\n\n// ###,##0.00##%\nexport function formatNumber7(v) {\n if (typeof v !== 'number') {\n return v;\n }\n\n const length = v.toString().split('.')[1].length;\n v = v * 100;\n switch (length) {\n case 0:\n case 1:\n case 2:\n v = v.toFixed(2);\n break;\n case 3:\n v = v.toFixed(3);\n break;\n default:\n v = v.toFixed(4);\n }\n\n const res = v.toString().replace(/\\d+/, function (n) {\n // 先提取整数部分\n return n.replace(/(\\d)(?=(\\d{3})+$)/g, function ($1) {\n return $1 + ',';\n });\n });\n return res + '%';\n}\n\n/**\n * 将Cascader转义为汉字\n * @param codeList string[]\n * @param emblem 拼接符号\n * @returns\n */\nexport const formateCascaderCode = (\n arr = [],\n codeList,\n fieldNames = { label: 'label', value: 'value', children: 'children' },\n emblem = '/'\n) => {\n if (!codeList || codeList.length === 0) return;\n if (isArray(codeList[0])) {\n const res2 = codeList.map(item => getTreeName(arr, item, fieldNames).join(emblem));\n return res2.join(',');\n } else {\n const res = getTreeName(arr, codeList, fieldNames);\n return res.join(emblem);\n }\n};\n\nconst getTreeName = (\n list = [],\n val = [],\n fieldNames = { label: 'label', value: 'value', children: 'children' }\n) => {\n const nameList = [];\n list.forEach(item => {\n if (val.length === 0) return;\n if (item[fieldNames.value] === val[0]) {\n nameList.push(item[fieldNames.label]);\n if (isArray(item[fieldNames.children])) {\n const res = getTreeName(item[fieldNames.children], val.slice(1), fieldNames);\n nameList.push(...res);\n }\n }\n });\n return nameList;\n};\n/**\n * 将tree转义为汉字\n * @param codeList string[]\n * @param emblem 拼接符号\n * @returns\n */\nexport const formateTreeToName = (\n arr = [],\n codeList,\n fieldNames = { label: 'label', value: 'value', children: 'children' },\n emblem = ','\n) => {\n if (!codeList || codeList.length === 0) return;\n const str = arr.reduce((t, v) => {\n const res = getListName(v, codeList, fieldNames);\n t = [...t, res];\n return t;\n }, []);\n return str.map(item => item[fieldNames.label]).join(emblem);\n};\n\nconst getListName = (val, list, fieldNames) => {\n let res;\n list.forEach(it1 => {\n if (it1[fieldNames.value] === val) {\n res = it1;\n return;\n }\n const childrenList = it1[fieldNames.children] || [];\n if (childrenList.length) {\n res = getListName(val, childrenList, fieldNames);\n }\n });\n return res;\n};\n"],"names":["formateCascaderCode","arr","codeList","fieldNames","emblem","isArray","item","getTreeName","list","val","nameList","res","formateTreeToName","t","v","getListName","it1","childrenList"],"mappings":";AA0OY,MAACA,IAAsB,CACjCC,IAAM,CAAA,GACNC,GACAC,IAAa,EAAE,OAAO,SAAS,OAAO,SAAS,UAAU,WAAU,GACnEC,IAAS,QACN;AACH,MAAI,GAACF,KAAYA,EAAS,WAAW;AACrC,WAAIG,EAAQH,EAAS,CAAC,CAAC,IACRA,EAAS,IAAI,CAAAI,MAAQC,EAAYN,GAAKK,GAAMH,CAAU,EAAE,KAAKC,CAAM,CAAC,EACrE,KAAK,GAAG,IAERG,EAAYN,GAAKC,GAAUC,CAAU,EACtC,KAAKC,CAAM;AAE1B,GAEMG,IAAc,CAClBC,IAAO,CAAA,GACPC,IAAM,CAAA,GACNN,IAAa,EAAE,OAAO,SAAS,OAAO,SAAS,UAAU,WAAU,MAChE;AACH,QAAMO,IAAW,CAAA;AACjB,SAAAF,EAAK,QAAQ,CAAAF,MAAQ;AACnB,QAAIG,EAAI,WAAW,KACfH,EAAKH,EAAW,KAAK,MAAMM,EAAI,CAAC,MAClCC,EAAS,KAAKJ,EAAKH,EAAW,KAAK,CAAC,GAChCE,EAAQC,EAAKH,EAAW,QAAQ,CAAC,IAAG;AACtC,YAAMQ,IAAMJ,EAAYD,EAAKH,EAAW,QAAQ,GAAGM,EAAI,MAAM,CAAC,GAAGN,CAAU;AAC3E,MAAAO,EAAS,KAAK,GAAGC,CAAG;AAAA,IAC5B;AAAA,EAEA,CAAG,GACMD;AACT,GAOaE,IAAoB,CAC/BX,IAAM,CAAA,GACNC,GACAC,IAAa,EAAE,OAAO,SAAS,OAAO,SAAS,UAAU,WAAU,GACnEC,IAAS,QAEL,CAACF,KAAYA,EAAS,WAAW,IAAG,SAC5BD,EAAI,OAAO,CAACY,GAAGC,MAAM;AAC/B,QAAMH,IAAMI,EAAYD,GAAGZ,GAAUC,CAAU;AAC/C,SAAAU,IAAI,CAAC,GAAGA,GAAGF,CAAG,GACPE;AACX,GAAK,EAAE,EACM,IAAI,CAAAP,MAAQA,EAAKH,EAAW,KAAK,CAAC,EAAE,KAAKC,CAAM,GAGtDW,IAAc,CAACN,GAAKD,GAAML,MAAe;AAC7C,MAAIQ;AACJ,SAAAH,EAAK,QAAQ,CAAAQ,MAAO;AAClB,QAAIA,EAAIb,EAAW,KAAK,MAAMM,GAAK;AACjC,MAAAE,IAAMK;AACN;AAAA,IACN;AACI,UAAMC,IAAeD,EAAIb,EAAW,QAAQ,KAAK,CAAA;AACjD,IAAIc,EAAa,WACfN,IAAMI,EAAYN,GAAKQ,GAAcd,CAAU;AAAA,EAErD,CAAG,GACMQ;AACT;"}
1
+ {"version":3,"file":"format.js","sources":["../../../src/utils/format.js"],"sourcesContent":["import { isArray } from 'lodash-es';\n\nfunction validateDate(dateStr) {\n const date = new Date(Date.parse(dateStr));\n return date instanceof Date && !isNaN(date.getTime());\n}\n\nexport function formatDate1(date) {\n if (!validateDate(date)) {\n return date;\n }\n date = new Date(Date.parse(date)); //转换成Date\n const y = date.getFullYear();\n let m = date.getMonth() + 1;\n m = m < 10 ? '0' + m : m;\n let d = date.getDate();\n d = d < 10 ? '0' + d : d;\n return y + '-' + m + '-' + d;\n}\n\nexport function formatDate2(date) {\n if (!validateDate(date)) {\n return date;\n }\n date = new Date(Date.parse(date)); //转换成Date\n const y = date.getFullYear();\n let m = date.getMonth() + 1;\n m = m < 10 ? '0' + m : m;\n let d = date.getDate();\n d = d < 10 ? '0' + d : d;\n return y + '/' + m + '/' + d;\n}\n\nexport function formatDate3(date) {\n if (!validateDate(date)) {\n return date;\n }\n date = new Date(Date.parse(date)); //转换成Date\n const y = date.getFullYear();\n let m = date.getMonth() + 1;\n m = m < 10 ? '0' + m : m;\n let d = date.getDate();\n d = d < 10 ? '0' + d : d;\n return y + '年' + m + '月' + d + '日';\n}\n\nexport function formatDate4(date) {\n if (!validateDate(date)) {\n return date;\n }\n date = new Date(Date.parse(date)); //转换成Date\n return date.toLocaleString();\n}\n\nexport function formatDate5(date) {\n if (!validateDate(date)) {\n return date;\n }\n date = new Date(Date.parse(date)); //转换成Date\n return date.toLocaleString('chinese', { hour12: false });\n}\n\n// ###,###,###,##0.######\nexport function formatNumber1(v) {\n if (typeof v !== 'number') {\n return v;\n }\n\n const length = v.toString().split('.')[1].length;\n switch (length) {\n case 0:\n v = v.toFixed(0);\n break;\n case 1:\n v = v.toFixed(1);\n break;\n case 2:\n v = v.toFixed(2);\n break;\n case 3:\n v = v.toFixed(3);\n break;\n case 4:\n v = v.toFixed(4);\n break;\n case 5:\n v = v.toFixed(5);\n break;\n default:\n v = v.toFixed(6);\n }\n const res = v.toString().replace(/\\d+/, function (n) {\n // 先提取整数部分\n return n.replace(/(\\d)(?=(\\d{3})+$)/g, function ($1) {\n return $1 + ',';\n });\n });\n return res;\n}\n\n//###,###,###,##0.00####\nexport function formatNumber2(v) {\n if (typeof v !== 'number') {\n return v;\n }\n\n const length = v.toString().split('.')[1].length;\n switch (length) {\n case 0:\n case 1:\n case 2:\n v = v.toFixed(2);\n break;\n case 3:\n v = v.toFixed(3);\n break;\n case 4:\n v = v.toFixed(4);\n break;\n case 5:\n v = v.toFixed(5);\n break;\n default:\n v = v.toFixed(6);\n }\n\n const res = v.toString().replace(/\\d+/, function (n) {\n // 先提取整数部分\n return n.replace(/(\\d)(?=(\\d{3})+$)/g, function ($1) {\n return $1 + ',';\n });\n });\n return res;\n}\n\n// ###,###,###,##0.000000\nexport function formatNumber3(v) {\n if (typeof v !== 'number') {\n return v;\n }\n\n v = v.toFixed(6);\n const res = v.toString().replace(/\\d+/, function (n) {\n // 先提取整数部分\n return n.replace(/(\\d)(?=(\\d{3})+$)/g, function ($1) {\n return $1 + ',';\n });\n });\n return res;\n}\n// ###,###,###,##0.000\nexport function formatNumber4(v) {\n if (typeof v !== 'number') {\n return v;\n }\n\n v = v.toFixed(3);\n const res = v.toString().replace(/\\d+/, function (n) {\n // 先提取整数部分\n return n.replace(/(\\d)(?=(\\d{3})+$)/g, function ($1) {\n return $1 + ',';\n });\n });\n return res;\n}\n\n// ###,###,###,##0.00\nexport function formatNumber5(v) {\n if (typeof v !== 'number') {\n return v;\n }\n\n v = v.toFixed(2);\n const res = v.toString().replace(/\\d+/, function (n) {\n // 先提取整数部分\n return n.replace(/(\\d)(?=(\\d{3})+$)/g, function ($1) {\n return $1 + ',';\n });\n });\n return res;\n}\n\n// ###,###,###,##0\nexport function formatNumber6(v) {\n if (typeof v !== 'number') {\n return v;\n }\n\n v = v.toFixed(0);\n const res = v.toString().replace(/\\d+/, function (n) {\n // 先提取整数部分\n return n.replace(/(\\d)(?=(\\d{3})+$)/g, function ($1) {\n return $1 + ',';\n });\n });\n return res;\n}\n\n// ###,##0.00##%\nexport function formatNumber7(v) {\n if (typeof v !== 'number') {\n return v;\n }\n\n const length = v.toString().split('.')[1].length;\n v = v * 100;\n switch (length) {\n case 0:\n case 1:\n case 2:\n v = v.toFixed(2);\n break;\n case 3:\n v = v.toFixed(3);\n break;\n default:\n v = v.toFixed(4);\n }\n\n const res = v.toString().replace(/\\d+/, function (n) {\n // 先提取整数部分\n return n.replace(/(\\d)(?=(\\d{3})+$)/g, function ($1) {\n return $1 + ',';\n });\n });\n return res + '%';\n}\n\n/**\n * 将Cascader转义为汉字\n * @param codeList string[]\n * @param emblem 拼接符号\n * @returns\n */\nexport const formateCascaderCode = (\n arr = [],\n codeList,\n fieldNames = { label: 'label', value: 'value', children: 'children' },\n emblem = '/'\n) => {\n if (!codeList || codeList.length === 0) return;\n if (isArray(codeList[0])) {\n const res2 = codeList.map(item => getTreeName(arr, item, fieldNames).join(emblem));\n return res2.join(',');\n } else {\n const res = getTreeName(arr, codeList, fieldNames);\n return res.join(emblem);\n }\n};\n\nconst getTreeName = (\n list = [],\n val = [],\n fieldNames = { label: 'label', value: 'value', children: 'children' }\n) => {\n const nameList = [];\n list.forEach(item => {\n if (val.length === 0) return;\n if (item[fieldNames.value] === val[0]) {\n nameList.push(item[fieldNames.label]);\n if (isArray(item[fieldNames.children])) {\n const res = getTreeName(item[fieldNames.children], val.slice(1), fieldNames);\n nameList.push(...res);\n }\n }\n });\n return nameList;\n};\n/**\n * 将tree转义为汉字\n * @param codeList string[]\n * @param emblem 拼接符号\n * @returns\n */\nexport const formateTreeToName = (\n arr = [],\n codeList,\n fieldNames = { label: 'label', value: 'value', children: 'children' },\n emblem = ','\n) => {\n if (!codeList || codeList.length === 0) return;\n const str = arr.reduce((t, v) => {\n const res = getListName(v, codeList, fieldNames);\n t = [...t, res];\n return t;\n }, []);\n return str.map(item => item[fieldNames.label]).join(emblem);\n};\n\nconst getListName = (val, list, fieldNames) => {\n let res;\n list.forEach(it1 => {\n if (it1[fieldNames.value] === val) {\n res = it1;\n return;\n }\n const childrenList = it1[fieldNames.children] || [];\n if (childrenList.length) {\n res = getListName(val, childrenList, fieldNames);\n }\n });\n return res;\n};\n"],"names":["formateCascaderCode","arr","codeList","fieldNames","emblem","isArray","item","getTreeName","list","val","nameList","res","formateTreeToName","t","v","getListName","it1","childrenList"],"mappings":";AA0OY,MAACA,IAAsB,CACjCC,IAAM,CAAA,GACNC,GACAC,IAAa,EAAE,OAAO,SAAS,OAAO,SAAS,UAAU,WAAU,GACnEC,IAAS,QACN;AACH,MAAI,GAACF,KAAYA,EAAS,WAAW;AACrC,WAAIG,EAAQH,EAAS,CAAC,CAAC,IACRA,EAAS,IAAI,CAAAI,MAAQC,EAAYN,GAAKK,GAAMH,CAAU,EAAE,KAAKC,CAAM,CAAC,EACrE,KAAK,GAAG,IAERG,EAAYN,GAAKC,GAAUC,CAAU,EACtC,KAAKC,CAAM;AAE1B,GAEMG,IAAc,CAClBC,IAAO,CAAA,GACPC,IAAM,CAAA,GACNN,IAAa,EAAE,OAAO,SAAS,OAAO,SAAS,UAAU,WAAU,MAChE;AACH,QAAMO,IAAW,CAAA;AACjB,SAAAF,EAAK,QAAQ,CAAAF,MAAQ;AACnB,QAAIG,EAAI,WAAW,KACfH,EAAKH,EAAW,KAAK,MAAMM,EAAI,CAAC,MAClCC,EAAS,KAAKJ,EAAKH,EAAW,KAAK,CAAC,GAChCE,EAAQC,EAAKH,EAAW,QAAQ,CAAC,IAAG;AACtC,YAAMQ,IAAMJ,EAAYD,EAAKH,EAAW,QAAQ,GAAGM,EAAI,MAAM,CAAC,GAAGN,CAAU;AAC3E,MAAAO,EAAS,KAAK,GAAGC,CAAG;AAAA,IACtB;AAAA,EAEJ,CAAC,GACMD;AACT,GAOaE,IAAoB,CAC/BX,IAAM,CAAA,GACNC,GACAC,IAAa,EAAE,OAAO,SAAS,OAAO,SAAS,UAAU,WAAU,GACnEC,IAAS,QAEL,CAACF,KAAYA,EAAS,WAAW,IAAG,SAC5BD,EAAI,OAAO,CAACY,GAAGC,MAAM;AAC/B,QAAMH,IAAMI,EAAYD,GAAGZ,GAAUC,CAAU;AAC/C,SAAAU,IAAI,CAAC,GAAGA,GAAGF,CAAG,GACPE;AACT,GAAG,CAAA,CAAE,EACM,IAAI,CAAAP,MAAQA,EAAKH,EAAW,KAAK,CAAC,EAAE,KAAKC,CAAM,GAGtDW,IAAc,CAACN,GAAKD,GAAML,MAAe;AAC7C,MAAIQ;AACJ,SAAAH,EAAK,QAAQ,CAAAQ,MAAO;AAClB,QAAIA,EAAIb,EAAW,KAAK,MAAMM,GAAK;AACjC,MAAAE,IAAMK;AACN;AAAA,IACF;AACA,UAAMC,IAAeD,EAAIb,EAAW,QAAQ,KAAK,CAAA;AACjD,IAAIc,EAAa,WACfN,IAAMI,EAAYN,GAAKQ,GAAcd,CAAU;AAAA,EAEnD,CAAC,GACMQ;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sources":["../../../src/utils/i18n.ts"],"sourcesContent":["import { createI18n } from './smart-vue-i18n';\n\nconst i18n = createI18n({\n locale: localStorage.getItem('lowcode_local') || 'zh-CN'\n});\n\nexport const changeLocale = async function (langName: string) {\n await i18n.setLang(langName);\n localStorage.setItem('lowcode_local', langName);\n};\n\nexport const translate = function (key: string): string {\n return i18n.$st(key);\n};\n\nexport default {\n methods: {\n i18nt(key: string): string {\n return i18n.$st(key);\n },\n\n /* 如果key1不存在,则查找key2 */\n i18n2t(key1: string, key2: string): string {\n return i18n.$st2(key1, key2);\n }\n }\n};\n\nexport function useI18n() {\n const i18nt = (key: string): string => {\n return i18n.$st(key);\n };\n const i18n2t = (key1: string, key2: string): string => {\n return i18n.$st2(key1, key2);\n };\n return {\n i18nt,\n i18n2t\n };\n}\n"],"names":["i18n","createI18n","changeLocale","langName","i18n$1","key","key1","key2","useI18n"],"mappings":";AAEA,MAAMA,IAAOC,EAAW;AAAA,EACpB,QAAQ,aAAa,QAAQ,eAAe,KAAK;AACrD,CAAC,GAEYC,IAAe,eAAgBC,GAAkB;AAC1D,QAAMH,EAAK,QAAQG,CAAQ,GAC3B,aAAa,QAAQ,iBAAiBA,CAAQ;AAClD,GAMAC,IAAe;AAAA,EACX,SAAS;AAAA,IACL,MAAMC,GAAqB;AACvB,aAAOL,EAAK,IAAIK,CAAG;AAAA,IAAA;AAAA;AAAA,IAIvB,OAAOC,GAAcC,GAAsB;AACvC,aAAOP,EAAK,KAAKM,GAAMC,CAAI;AAAA,IAAA;AAAA,EAC/B;AAER;AAEO,SAASC,IAAU;AAOtB,SAAO;AAAA,IACH,OAPU,CAACH,MACJL,EAAK,IAAIK,CAAG;AAAA,IAOnB,QALW,CAACC,GAAcC,MACnBP,EAAK,KAAKM,GAAMC,CAAI;AAAA,EAI3B;AAER;"}
1
+ {"version":3,"file":"i18n.js","sources":["../../../src/utils/i18n.ts"],"sourcesContent":["import { createI18n } from './smart-vue-i18n';\n\nconst i18n = createI18n({\n locale: localStorage.getItem('lowcode_local') || 'zh-CN'\n});\n\nexport const changeLocale = async function (langName: string) {\n await i18n.setLang(langName);\n localStorage.setItem('lowcode_local', langName);\n};\n\nexport const translate = function (key: string): string {\n return i18n.$st(key);\n};\n\nexport default {\n methods: {\n i18nt(key: string): string {\n return i18n.$st(key);\n },\n\n /* 如果key1不存在,则查找key2 */\n i18n2t(key1: string, key2: string): string {\n return i18n.$st2(key1, key2);\n }\n }\n};\n\nexport function useI18n() {\n const i18nt = (key: string): string => {\n return i18n.$st(key);\n };\n const i18n2t = (key1: string, key2: string): string => {\n return i18n.$st2(key1, key2);\n };\n return {\n i18nt,\n i18n2t\n };\n}\n"],"names":["i18n","createI18n","changeLocale","langName","i18n$1","key","key1","key2","useI18n"],"mappings":";AAEA,MAAMA,IAAOC,EAAW;AAAA,EACpB,QAAQ,aAAa,QAAQ,eAAe,KAAK;AACrD,CAAC,GAEYC,IAAe,eAAgBC,GAAkB;AAC1D,QAAMH,EAAK,QAAQG,CAAQ,GAC3B,aAAa,QAAQ,iBAAiBA,CAAQ;AAClD,GAMAC,IAAe;AAAA,EACX,SAAS;AAAA,IACL,MAAMC,GAAqB;AACvB,aAAOL,EAAK,IAAIK,CAAG;AAAA,IACvB;AAAA;AAAA,IAGA,OAAOC,GAAcC,GAAsB;AACvC,aAAOP,EAAK,KAAKM,GAAMC,CAAI;AAAA,IAC/B;AAAA,EAAA;AAER;AAEO,SAASC,IAAU;AAOtB,SAAO;AAAA,IACH,OAPU,CAACH,MACJL,EAAK,IAAIK,CAAG;AAAA,IAOnB,QALW,CAACC,GAAcC,MACnBP,EAAK,KAAKM,GAAMC,CAAI;AAAA,EAI3B;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"fmtHttpParams.js","sources":["../../../../src/utils/request/fmtHttpParams.js"],"sourcesContent":["import { getLocat } from '@kp-ui/tool';\nimport { default as request } from './http';\n\nconst replaceVars = (sendParams, paramsMap) => {\n Object.entries(sendParams).forEach(([key, value]) => {\n if (key) {\n Object.keys(value).forEach(field => {\n if (paramsMap[field] !== undefined) {\n // 更严谨的undefined判断\n sendParams[key][field] = paramsMap[field];\n } else {\n sendParams[key][field] = sendParams[key][field] ?? null;\n }\n });\n }\n });\n return sendParams;\n};\n\nexport async function fmtHttpParams(req, params = {}) {\n const { data, vfCtx, ...args } = params;\n const { http, dataHandlerCode, dataReqHandlerCode } = req;\n\n if (!http.url) return;\n\n const paramsMap = { ...getLocat(), ...data, ...vfCtx, ...args };\n\n const method = http.method || 'get';\n\n let sendParams = {\n params: http.method === 'get' ? { ...http.params, ...data } : { ...http.params },\n data: http.method === 'post' ? { ...http.data, ...data } : { ...http.data }\n };\n sendParams = replaceVars(sendParams, paramsMap);\n let p = {\n ...http,\n method,\n ...sendParams\n };\n if (dataReqHandlerCode) {\n const dataReqHandlerCodeFn = new Function('data', dataReqHandlerCode);\n p = dataReqHandlerCodeFn.call(this, p);\n }\n if (!p) return;\n let dsResult = await request(p);\n if (dataHandlerCode) {\n const dhFn = new Function('data', dataHandlerCode);\n dsResult = dhFn.call(this, dsResult);\n }\n return dsResult;\n}\n"],"names":["replaceVars","sendParams","paramsMap","key","value","field","fmtHttpParams","req","params","data","vfCtx","args","http","dataHandlerCode","dataReqHandlerCode","getLocat","method","p","dsResult","request"],"mappings":";;AAGA,MAAMA,IAAc,CAACC,GAAYC,OAC7B,OAAO,QAAQD,CAAU,EAAE,QAAQ,CAAC,CAACE,GAAKC,CAAK,MAAM;AACjD,EAAID,KACA,OAAO,KAAKC,CAAK,EAAE,QAAQ,CAAAC,MAAS;AAChC,IAAIH,EAAUG,CAAK,MAAM,SAErBJ,EAAWE,CAAG,EAAEE,CAAK,IAAIH,EAAUG,CAAK,IAExCJ,EAAWE,CAAG,EAAEE,CAAK,IAAIJ,EAAWE,CAAG,EAAEE,CAAK,KAAK;AAAA,EAEvE,CAAa;AAEb,CAAK,GACMJ;AAGJ,eAAeK,EAAcC,GAAKC,IAAS,IAAI;AAClD,QAAM,EAAE,MAAAC,GAAM,OAAAC,GAAO,GAAGC,EAAI,IAAKH,GAC3B,QAAEI,GAAM,iBAAAC,GAAiB,oBAAAC,EAAkB,IAAKP;AAEtD,MAAI,CAACK,EAAK,IAAK;AAEf,QAAMV,IAAY,EAAE,GAAGa,EAAQ,GAAI,GAAGN,GAAM,GAAGC,GAAO,GAAGC,EAAI,GAEvDK,IAASJ,EAAK,UAAU;AAE9B,MAAIX,IAAa;AAAA,IACb,QAAQW,EAAK,WAAW,QAAQ,EAAE,GAAGA,EAAK,QAAQ,GAAGH,EAAI,IAAK,EAAE,GAAGG,EAAK,OAAM;AAAA,IAC9E,MAAMA,EAAK,WAAW,SAAS,EAAE,GAAGA,EAAK,MAAM,GAAGH,EAAI,IAAK,EAAE,GAAGG,EAAK,KAAI;AAAA,EACjF;AACI,EAAAX,IAAaD,EAAYC,GAAYC,CAAS;AAC9C,MAAIe,IAAI;AAAA,IACJ,GAAGL;AAAAA,IACH,QAAAI;AAAA,IACA,GAAGf;AAAA,EACX;AAKI,MAJIa,MAEAG,IAD6B,IAAI,SAAS,QAAQH,CAAkB,EAC3C,KAAK,MAAMG,CAAC,IAErC,CAACA,EAAG;AACR,MAAIC,IAAW,MAAMC,EAAQF,CAAC;AAC9B,SAAIJ,MAEAK,IADa,IAAI,SAAS,QAAQL,CAAe,EACjC,KAAK,MAAMK,CAAQ,IAEhCA;AACX;"}
1
+ {"version":3,"file":"fmtHttpParams.js","sources":["../../../../src/utils/request/fmtHttpParams.js"],"sourcesContent":["import { getLocat } from '@kp-ui/tool';\nimport { default as request } from './http';\n\nconst replaceVars = (sendParams, paramsMap) => {\n Object.entries(sendParams).forEach(([key, value]) => {\n if (key) {\n Object.keys(value).forEach(field => {\n if (paramsMap[field] !== undefined) {\n // 更严谨的undefined判断\n sendParams[key][field] = paramsMap[field];\n } else {\n sendParams[key][field] = sendParams[key][field] ?? null;\n }\n });\n }\n });\n return sendParams;\n};\n\nexport async function fmtHttpParams(req, params = {}) {\n const { data, vfCtx, ...args } = params;\n const { http, dataHandlerCode, dataReqHandlerCode } = req;\n\n if (!http.url) return;\n\n const paramsMap = { ...getLocat(), ...data, ...vfCtx, ...args };\n\n const method = http.method || 'get';\n\n let sendParams = {\n params: http.method === 'get' ? { ...http.params, ...data } : { ...http.params },\n data: http.method === 'post' ? { ...http.data, ...data } : { ...http.data }\n };\n sendParams = replaceVars(sendParams, paramsMap);\n let p = {\n ...http,\n method,\n ...sendParams\n };\n if (dataReqHandlerCode) {\n const dataReqHandlerCodeFn = new Function('data', dataReqHandlerCode);\n p = dataReqHandlerCodeFn.call(this, p);\n }\n if (!p) return;\n let dsResult = await request(p);\n if (dataHandlerCode) {\n const dhFn = new Function('data', dataHandlerCode);\n dsResult = dhFn.call(this, dsResult);\n }\n return dsResult;\n}\n"],"names":["replaceVars","sendParams","paramsMap","key","value","field","fmtHttpParams","req","params","data","vfCtx","args","http","dataHandlerCode","dataReqHandlerCode","getLocat","method","p","dsResult","request"],"mappings":";;AAGA,MAAMA,IAAc,CAACC,GAAYC,OAC7B,OAAO,QAAQD,CAAU,EAAE,QAAQ,CAAC,CAACE,GAAKC,CAAK,MAAM;AACjD,EAAID,KACA,OAAO,KAAKC,CAAK,EAAE,QAAQ,CAAAC,MAAS;AAChC,IAAIH,EAAUG,CAAK,MAAM,SAErBJ,EAAWE,CAAG,EAAEE,CAAK,IAAIH,EAAUG,CAAK,IAExCJ,EAAWE,CAAG,EAAEE,CAAK,IAAIJ,EAAWE,CAAG,EAAEE,CAAK,KAAK;AAAA,EAE3D,CAAC;AAET,CAAC,GACMJ;AAGJ,eAAeK,EAAcC,GAAKC,IAAS,IAAI;AAClD,QAAM,EAAE,MAAAC,GAAM,OAAAC,GAAO,GAAGC,EAAI,IAAKH,GAC3B,QAAEI,GAAM,iBAAAC,GAAiB,oBAAAC,EAAkB,IAAKP;AAEtD,MAAI,CAACK,EAAK,IAAK;AAEf,QAAMV,IAAY,EAAE,GAAGa,EAAQ,GAAI,GAAGN,GAAM,GAAGC,GAAO,GAAGC,EAAI,GAEvDK,IAASJ,EAAK,UAAU;AAE9B,MAAIX,IAAa;AAAA,IACb,QAAQW,EAAK,WAAW,QAAQ,EAAE,GAAGA,EAAK,QAAQ,GAAGH,EAAI,IAAK,EAAE,GAAGG,EAAK,OAAM;AAAA,IAC9E,MAAMA,EAAK,WAAW,SAAS,EAAE,GAAGA,EAAK,MAAM,GAAGH,EAAI,IAAK,EAAE,GAAGG,EAAK,KAAI;AAAA,EACjF;AACI,EAAAX,IAAaD,EAAYC,GAAYC,CAAS;AAC9C,MAAIe,IAAI;AAAA,IACJ,GAAGL;AAAAA,IACH,QAAAI;AAAA,IACA,GAAGf;AAAA,EACX;AAKI,MAJIa,MAEAG,IAD6B,IAAI,SAAS,QAAQH,CAAkB,EAC3C,KAAK,MAAMG,CAAC,IAErC,CAACA,EAAG;AACR,MAAIC,IAAW,MAAMC,EAAQF,CAAC;AAC9B,SAAIJ,MAEAK,IADa,IAAI,SAAS,QAAQL,CAAe,EACjC,KAAK,MAAMK,CAAQ,IAEhCA;AACX;"}
@@ -1 +1 @@
1
- {"version":3,"file":"handleAxiosError.js","sources":["../../../../src/utils/request/handleAxiosError.ts"],"sourcesContent":["import { message } from 'ant-design-vue';\nimport type { AxiosResponse } from 'axios';\nimport { goLogin } from 'tmgc2-share';\n\nexport const handleErrorStatus = {\n 401: (data: AxiosResponse) => {\n //无权限\n message.error(data.statusText);\n goLogin();\n },\n 403: (data: AxiosResponse) => {\n message.error(data.statusText);\n },\n 404: (data: AxiosResponse) => {\n message.error(data.statusText);\n },\n 418: (data: AxiosResponse) => {\n // 平台错误\n message.error(data.statusText);\n },\n 429: (data: AxiosResponse) => {\n // 频率过快\n message.error(data.statusText);\n },\n 500: (data: AxiosResponse) => {\n // 未定义错误\n message.error('网络繁忙');\n },\n 510: (data: AxiosResponse) => {\n // 未定义错误\n message.error(data.data.errorMessage || data.statusText);\n },\n 599: (data: AxiosResponse) => {\n // 未定义错误\n message.error(data.data.errorMessage);\n }\n};\n"],"names":["handleErrorStatus","data","message","goLogin"],"mappings":";;AAIO,MAAMA,IAAoB;AAAA,EAC7B,KAAK,CAACC,MAAwB;AAE1B,IAAAC,EAAQ,MAAMD,EAAK,UAAU,GAC7BE,EAAA;AAAA,EAAQ;AAAA,EAEZ,KAAK,CAACF,MAAwB;AAC1B,IAAAC,EAAQ,MAAMD,EAAK,UAAU;AAAA,EAAA;AAAA,EAEjC,KAAK,CAACA,MAAwB;AAC1B,IAAAC,EAAQ,MAAMD,EAAK,UAAU;AAAA,EAAA;AAAA,EAEjC,KAAK,CAACA,MAAwB;AAE1B,IAAAC,EAAQ,MAAMD,EAAK,UAAU;AAAA,EAAA;AAAA,EAEjC,KAAK,CAACA,MAAwB;AAE1B,IAAAC,EAAQ,MAAMD,EAAK,UAAU;AAAA,EAAA;AAAA,EAEjC,KAAK,CAACA,MAAwB;AAE1B,IAAAC,EAAQ,MAAM,MAAM;AAAA,EAAA;AAAA,EAExB,KAAK,CAACD,MAAwB;AAE1B,IAAAC,EAAQ,MAAMD,EAAK,KAAK,gBAAgBA,EAAK,UAAU;AAAA,EAAA;AAAA,EAE3D,KAAK,CAACA,MAAwB;AAE1B,IAAAC,EAAQ,MAAMD,EAAK,KAAK,YAAY;AAAA,EAAA;AAE5C;"}
1
+ {"version":3,"file":"handleAxiosError.js","sources":["../../../../src/utils/request/handleAxiosError.ts"],"sourcesContent":["import { message } from 'ant-design-vue';\nimport type { AxiosResponse } from 'axios';\nimport { goLogin } from 'tmgc2-share';\n\nexport const handleErrorStatus = {\n 401: (data: AxiosResponse) => {\n //无权限\n message.error(data.statusText);\n goLogin();\n },\n 403: (data: AxiosResponse) => {\n message.error(data.statusText);\n },\n 404: (data: AxiosResponse) => {\n message.error(data.statusText);\n },\n 418: (data: AxiosResponse) => {\n // 平台错误\n message.error(data.statusText);\n },\n 429: (data: AxiosResponse) => {\n // 频率过快\n message.error(data.statusText);\n },\n 500: (data: AxiosResponse) => {\n // 未定义错误\n message.error('网络繁忙');\n },\n 510: (data: AxiosResponse) => {\n // 未定义错误\n message.error(data.data.errorMessage || data.statusText);\n },\n 599: (data: AxiosResponse) => {\n // 未定义错误\n message.error(data.data.errorMessage);\n }\n};\n"],"names":["handleErrorStatus","data","message","goLogin"],"mappings":";;AAIO,MAAMA,IAAoB;AAAA,EAC7B,KAAK,CAACC,MAAwB;AAE1B,IAAAC,EAAQ,MAAMD,EAAK,UAAU,GAC7BE,EAAA;AAAA,EACJ;AAAA,EACA,KAAK,CAACF,MAAwB;AAC1B,IAAAC,EAAQ,MAAMD,EAAK,UAAU;AAAA,EACjC;AAAA,EACA,KAAK,CAACA,MAAwB;AAC1B,IAAAC,EAAQ,MAAMD,EAAK,UAAU;AAAA,EACjC;AAAA,EACA,KAAK,CAACA,MAAwB;AAE1B,IAAAC,EAAQ,MAAMD,EAAK,UAAU;AAAA,EACjC;AAAA,EACA,KAAK,CAACA,MAAwB;AAE1B,IAAAC,EAAQ,MAAMD,EAAK,UAAU;AAAA,EACjC;AAAA,EACA,KAAK,CAACA,MAAwB;AAE1B,IAAAC,EAAQ,MAAM,MAAM;AAAA,EACxB;AAAA,EACA,KAAK,CAACD,MAAwB;AAE1B,IAAAC,EAAQ,MAAMD,EAAK,KAAK,gBAAgBA,EAAK,UAAU;AAAA,EAC3D;AAAA,EACA,KAAK,CAACA,MAAwB;AAE1B,IAAAC,EAAQ,MAAMD,EAAK,KAAK,YAAY;AAAA,EACxC;AACJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sources":["../../../../src/utils/request/http.ts"],"sourcesContent":["import { getUserInfo } from '@kp-ui/tool';\nimport axios from 'axios';\nimport { message } from 'ant-design-vue';\nimport { handleErrorStatus } from './handleAxiosError';\nimport type { AxiosInstance, AxiosRequestHeaders } from 'axios';\nimport JSONBig from 'json-bigint';\n\nconst http = axios.create({\n timeout: 600000,\n baseURL: import.meta.env.VITE_API_BASE_URL as string,\n withCredentials: true,\n // transformResponse: [\n // function (data) {\n // try {\n // return JSONBig.parse(data);\n // } catch (error) {\n // console.log(error);\n // return data;\n // }\n // }\n // ],\n validateStatus(status) {\n return status <= 600; // 状态码在大于或等于500时才会 reject\n }\n});\n\nhttp.interceptors.request.use(config => {\n const { tokenId, tenantId, employeeId } = getUserInfo();\n\n config.withCredentials = true;\n\n if (!config.headers) {\n config.headers = {} as AxiosRequestHeaders;\n }\n config.headers['mes-user'] = '{}';\n config.headers['imeclient-type'] = 'PC';\n config.headers['imeclient-source'] = 'tmgc2';\n config.headers['imeclient-version'] = '1.0';\n\n config.headers['accept-language'] = 'zh-CN';\n\n if (tokenId) {\n config.headers['Authorization'] = 'Bearer ' + tokenId;\n }\n\n if (tenantId) {\n config.headers['imeclient-tenant-id'] = tenantId;\n }\n if (employeeId) {\n config.headers['imeclient-employee-id'] = employeeId;\n }\n return config;\n});\n\nhttp.interceptors.response.use(\n data => {\n if ([200].includes(data.status)) {\n const resData = data.data;\n if (data.config.responseType === 'blob') {\n return data;\n }\n\n if (resData.success === true) {\n return resData;\n }\n message.error(resData.errorMessage || '接口报错');\n\n return Promise.reject(data);\n } else {\n if (handleErrorStatus[Number(data.status)]) {\n handleErrorStatus[Number(data.status)](data);\n } else {\n message.error(data.statusText);\n }\n\n return Promise.reject(data);\n }\n },\n error => {\n // NProgress.done();\n if (error.name === 'CanceledError') {\n // 取消请求的\n return Promise.reject(error);\n }\n\n if (!error.response) {\n // message.error('网络异常');\n return Promise.reject(error);\n }\n console.log(error);\n // message.error(error.response.statusText);\n\n // 对响应错误做点什么\n return Promise.reject(error);\n }\n);\n\nexport const getHttp = (): AxiosInstance => {\n return window.$vform?.$http || http;\n};\n\nexport default http;\n"],"names":["http","axios","status","config","tokenId","tenantId","employeeId","getUserInfo","data","resData","message","handleErrorStatus","error","getHttp","_a"],"mappings":";;;;AAOA,MAAMA,IAAOC,EAAM,OAAO;AAAA,EACtB,SAAS;AAAA,EACT,SAAS;AAAA,EACT,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWjB,eAAeC,GAAQ;AACnB,WAAOA,KAAU;AAAA,EAAA;AAEzB,CAAC;AAEDF,EAAK,aAAa,QAAQ,IAAI,CAAAG,MAAU;AACpC,QAAM,EAAE,SAAAC,GAAS,UAAAC,GAAU,YAAAC,EAAA,IAAeC,EAAA;AAE1C,SAAAJ,EAAO,kBAAkB,IAEpBA,EAAO,YACRA,EAAO,UAAU,CAAA,IAErBA,EAAO,QAAQ,UAAU,IAAI,MAC7BA,EAAO,QAAQ,gBAAgB,IAAI,MACnCA,EAAO,QAAQ,kBAAkB,IAAI,SACrCA,EAAO,QAAQ,mBAAmB,IAAI,OAEtCA,EAAO,QAAQ,iBAAiB,IAAI,SAEhCC,MACAD,EAAO,QAAQ,gBAAmB,YAAYC,IAG9CC,MACAF,EAAO,QAAQ,qBAAqB,IAAIE,IAExCC,MACAH,EAAO,QAAQ,uBAAuB,IAAIG,IAEvCH;AACX,CAAC;AAEDH,EAAK,aAAa,SAAS;AAAA,EACvB,CAAAQ,MAAQ;AACJ,QAAI,CAAC,GAAG,EAAE,SAASA,EAAK,MAAM,GAAG;AAC7B,YAAMC,IAAUD,EAAK;AACrB,aAAIA,EAAK,OAAO,iBAAiB,SACtBA,IAGPC,EAAQ,YAAY,KACbA,KAEXC,EAAQ,MAAMD,EAAQ,gBAAgB,MAAM,GAErC,QAAQ,OAAOD,CAAI;AAAA,IAAA;AAE1B,aAAIG,EAAkB,OAAOH,EAAK,MAAM,CAAC,IACrCG,EAAkB,OAAOH,EAAK,MAAM,CAAC,EAAEA,CAAI,IAE3CE,EAAQ,MAAMF,EAAK,UAAU,GAG1B,QAAQ,OAAOA,CAAI;AAAA,EAC9B;AAAA,EAEJ,CAAAI,OAEQA,EAAM,SAAS,mBAKf,CAACA,EAAM,YAIX,QAAQ,IAAIA,CAAK,GAIV,QAAQ,OAAOA,CAAK;AAEnC;AAEO,MAAMC,IAAU,MAAqB;;AACxC,WAAOC,IAAA,OAAO,WAAP,gBAAAA,EAAe,UAASd;AACnC;"}
1
+ {"version":3,"file":"http.js","sources":["../../../../src/utils/request/http.ts"],"sourcesContent":["import { getUserInfo } from '@kp-ui/tool';\nimport axios from 'axios';\nimport { message } from 'ant-design-vue';\nimport { handleErrorStatus } from './handleAxiosError';\nimport type { AxiosInstance, AxiosRequestHeaders } from 'axios';\nimport JSONBig from 'json-bigint';\n\nconst http = axios.create({\n timeout: 600000,\n baseURL: import.meta.env.VITE_API_BASE_URL as string,\n withCredentials: true,\n // transformResponse: [\n // function (data) {\n // try {\n // return JSONBig.parse(data);\n // } catch (error) {\n // console.log(error);\n // return data;\n // }\n // }\n // ],\n validateStatus(status) {\n return status <= 600; // 状态码在大于或等于500时才会 reject\n }\n});\n\nhttp.interceptors.request.use(config => {\n const { tokenId, tenantId, employeeId } = getUserInfo();\n\n config.withCredentials = true;\n\n if (!config.headers) {\n config.headers = {} as AxiosRequestHeaders;\n }\n config.headers['mes-user'] = '{}';\n config.headers['imeclient-type'] = 'PC';\n config.headers['imeclient-source'] = 'tmgc2';\n config.headers['imeclient-version'] = '1.0';\n\n config.headers['accept-language'] = 'zh-CN';\n\n if (tokenId) {\n config.headers['Authorization'] = 'Bearer ' + tokenId;\n }\n\n if (tenantId) {\n config.headers['imeclient-tenant-id'] = tenantId;\n }\n if (employeeId) {\n config.headers['imeclient-employee-id'] = employeeId;\n }\n return config;\n});\n\nhttp.interceptors.response.use(\n data => {\n if ([200].includes(data.status)) {\n const resData = data.data;\n if (data.config.responseType === 'blob') {\n return data;\n }\n\n if (resData.success === true) {\n return resData;\n }\n message.error(resData.errorMessage || '接口报错');\n\n return Promise.reject(data);\n } else {\n if (handleErrorStatus[Number(data.status)]) {\n handleErrorStatus[Number(data.status)](data);\n } else {\n message.error(data.statusText);\n }\n\n return Promise.reject(data);\n }\n },\n error => {\n // NProgress.done();\n if (error.name === 'CanceledError') {\n // 取消请求的\n return Promise.reject(error);\n }\n\n if (!error.response) {\n // message.error('网络异常');\n return Promise.reject(error);\n }\n console.log(error);\n // message.error(error.response.statusText);\n\n // 对响应错误做点什么\n return Promise.reject(error);\n }\n);\n\nexport const getHttp = (): AxiosInstance => {\n return window.$vform?.$http || http;\n};\n\nexport default http;\n"],"names":["http","axios","status","config","tokenId","tenantId","employeeId","getUserInfo","data","resData","message","handleErrorStatus","error","getHttp","_a"],"mappings":";;;;AAOA,MAAMA,IAAOC,EAAM,OAAO;AAAA,EACtB,SAAS;AAAA,EACT,SAAS;AAAA,EACT,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWjB,eAAeC,GAAQ;AACnB,WAAOA,KAAU;AAAA,EACrB;AACJ,CAAC;AAEDF,EAAK,aAAa,QAAQ,IAAI,CAAAG,MAAU;AACpC,QAAM,EAAE,SAAAC,GAAS,UAAAC,GAAU,YAAAC,EAAA,IAAeC,EAAA;AAE1C,SAAAJ,EAAO,kBAAkB,IAEpBA,EAAO,YACRA,EAAO,UAAU,CAAA,IAErBA,EAAO,QAAQ,UAAU,IAAI,MAC7BA,EAAO,QAAQ,gBAAgB,IAAI,MACnCA,EAAO,QAAQ,kBAAkB,IAAI,SACrCA,EAAO,QAAQ,mBAAmB,IAAI,OAEtCA,EAAO,QAAQ,iBAAiB,IAAI,SAEhCC,MACAD,EAAO,QAAQ,gBAAmB,YAAYC,IAG9CC,MACAF,EAAO,QAAQ,qBAAqB,IAAIE,IAExCC,MACAH,EAAO,QAAQ,uBAAuB,IAAIG,IAEvCH;AACX,CAAC;AAEDH,EAAK,aAAa,SAAS;AAAA,EACvB,CAAAQ,MAAQ;AACJ,QAAI,CAAC,GAAG,EAAE,SAASA,EAAK,MAAM,GAAG;AAC7B,YAAMC,IAAUD,EAAK;AACrB,aAAIA,EAAK,OAAO,iBAAiB,SACtBA,IAGPC,EAAQ,YAAY,KACbA,KAEXC,EAAQ,MAAMD,EAAQ,gBAAgB,MAAM,GAErC,QAAQ,OAAOD,CAAI;AAAA,IAC9B;AACI,aAAIG,EAAkB,OAAOH,EAAK,MAAM,CAAC,IACrCG,EAAkB,OAAOH,EAAK,MAAM,CAAC,EAAEA,CAAI,IAE3CE,EAAQ,MAAMF,EAAK,UAAU,GAG1B,QAAQ,OAAOA,CAAI;AAAA,EAElC;AAAA,EACA,CAAAI,OAEQA,EAAM,SAAS,mBAKf,CAACA,EAAM,YAIX,QAAQ,IAAIA,CAAK,GAIV,QAAQ,OAAOA,CAAK;AAEnC;AAEO,MAAMC,IAAU,MAAqB;;AACxC,WAAOC,IAAA,OAAO,WAAP,gBAAAA,EAAe,UAASd;AACnC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/utils/smart-vue-i18n/index.ts"],"sourcesContent":["import { reactive } from 'vue';\nimport { get } from './utils';\n\nconst locale = reactive({\n lang: localStorage.getItem('lowcode_local') || 'zh-CN',\n messages: {}\n});\n\ntype i18nOptionsType = {\n locale: string;\n};\n\nconst langLoaders = {\n 'zh-CN': async () => {\n const [zhCN, zhLocale, zhLocale_render, zhLocale_extension] = await Promise.all([\n import('ant-design-vue/es/locale/zh_CN'),\n import('../../lang/zh-CN'),\n import('../../lang/zh-CN_render'),\n import('../../lang/zh-CN_extension')\n ]);\n return {\n ...zhCN.default,\n ...zhLocale.default,\n ...zhLocale_render.default,\n ...zhLocale_extension.default\n };\n },\n 'en-US': async () => {\n const [enUS, enLocale, enLocale_render, enLocale_extension] = await Promise.all([\n import('ant-design-vue/es/locale/en_US'),\n import('../../lang/en-US'),\n import('../../lang/en-US_render'),\n import('../../lang/en-US_extension')\n ]);\n return {\n ...enUS.default,\n ...enLocale.default,\n ...enLocale_render.default,\n ...enLocale_extension.default\n };\n }\n};\n\nexport function createI18n(options: i18nOptionsType) {\n const methoad = {\n get messages() {\n return locale.messages;\n },\n\n $st(path, ...args) {\n const message = get(this.messages[locale.lang], path);\n return typeof message === 'function'\n ? message(...args)\n : message !== null\n ? message\n : path;\n },\n\n $st2(path, path2) {\n const messages = this.messages[locale.lang];\n const message = get(messages, path);\n return message !== null ? message : get(messages, path2);\n },\n\n async setLang(lang) {\n locale.lang = lang;\n if (!(lang in locale.messages)) {\n if (lang in langLoaders) {\n const messages = await langLoaders[lang]();\n locale.messages[lang] = messages;\n }\n }\n locale.lang = lang;\n }\n };\n\n methoad.setLang(options.locale);\n\n return methoad;\n}\n"],"names":["locale","reactive","langLoaders","zhCN","zhLocale","zhLocale_render","zhLocale_extension","enUS","enLocale","enLocale_render","enLocale_extension","createI18n","options","methoad","path","args","message","get","path2","messages","lang"],"mappings":";;AAGA,MAAMA,IAASC,EAAS;AAAA,EACpB,MAAM,aAAa,QAAQ,eAAe,KAAK;AAAA,EAC/C,UAAU,CAAA;AACd,CAAC,GAMKC,IAAc;AAAA,EAChB,SAAS,YAAY;AACjB,UAAM,CAACC,GAAMC,GAAUC,GAAiBC,CAAkB,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC5E,OAAO,gCAAgC;AAAA,MACvC,OAAO,qBAAkB;AAAA,MACzB,OAAO,4BAAyB;AAAA,MAChC,OAAO,+BAA4B;AAAA,IAAA,CACtC;AACD,WAAO;AAAA,MACH,GAAGH,EAAK;AAAA,MACR,GAAGC,EAAS;AAAA,MACZ,GAAGC,EAAgB;AAAA,MACnB,GAAGC,EAAmB;AAAA,IAAA;AAAA,EAC1B;AAAA,EAEJ,SAAS,YAAY;AACjB,UAAM,CAACC,GAAMC,GAAUC,GAAiBC,CAAkB,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC5E,OAAO,gCAAgC;AAAA,MACvC,OAAO,qBAAkB;AAAA,MACzB,OAAO,4BAAyB;AAAA,MAChC,OAAO,+BAA4B;AAAA,IAAA,CACtC;AACD,WAAO;AAAA,MACH,GAAGH,EAAK;AAAA,MACR,GAAGC,EAAS;AAAA,MACZ,GAAGC,EAAgB;AAAA,MACnB,GAAGC,EAAmB;AAAA,IAAA;AAAA,EAC1B;AAER;AAEO,SAASC,EAAWC,GAA0B;AACjD,QAAMC,IAAU;AAAA,IACZ,IAAI,WAAW;AACX,aAAOb,EAAO;AAAA,IAAA;AAAA,IAGlB,IAAIc,MAASC,GAAM;AACf,YAAMC,IAAUC,EAAI,KAAK,SAASjB,EAAO,IAAI,GAAGc,CAAI;AACpD,aAAO,OAAOE,KAAY,aACpBA,EAAQ,GAAGD,CAAI,IACfC,MAAY,OACZA,IACAF;AAAA,IAAA;AAAA,IAGV,KAAKA,GAAMI,GAAO;AACd,YAAMC,IAAW,KAAK,SAASnB,EAAO,IAAI,GACpCgB,IAAUC,EAAIE,GAAUL,CAAI;AAClC,aAAOE,MAAY,OAAOA,IAAUC,EAAIE,GAAUD,CAAK;AAAA,IAAA;AAAA,IAG3D,MAAM,QAAQE,GAAM;AAEhB,UADApB,EAAO,OAAOoB,GACV,EAAEA,KAAQpB,EAAO,aACboB,KAAQlB,GAAa;AACrB,cAAMiB,IAAW,MAAMjB,EAAYkB,CAAI,EAAA;AACvC,QAAApB,EAAO,SAASoB,CAAI,IAAID;AAAA,MAAA;AAGhC,MAAAnB,EAAO,OAAOoB;AAAA,IAAA;AAAA,EAClB;AAGJ,SAAAP,EAAQ,QAAQD,EAAQ,MAAM,GAEvBC;AACX;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/utils/smart-vue-i18n/index.ts"],"sourcesContent":["import { reactive } from 'vue';\nimport { get } from './utils';\n\nconst locale = reactive({\n lang: localStorage.getItem('lowcode_local') || 'zh-CN',\n messages: {}\n});\n\ntype i18nOptionsType = {\n locale: string;\n};\n\nconst langLoaders = {\n 'zh-CN': async () => {\n const [zhCN, zhLocale, zhLocale_render, zhLocale_extension] = await Promise.all([\n import('ant-design-vue/es/locale/zh_CN'),\n import('../../lang/zh-CN'),\n import('../../lang/zh-CN_render'),\n import('../../lang/zh-CN_extension')\n ]);\n return {\n ...zhCN.default,\n ...zhLocale.default,\n ...zhLocale_render.default,\n ...zhLocale_extension.default\n };\n },\n 'en-US': async () => {\n const [enUS, enLocale, enLocale_render, enLocale_extension] = await Promise.all([\n import('ant-design-vue/es/locale/en_US'),\n import('../../lang/en-US'),\n import('../../lang/en-US_render'),\n import('../../lang/en-US_extension')\n ]);\n return {\n ...enUS.default,\n ...enLocale.default,\n ...enLocale_render.default,\n ...enLocale_extension.default\n };\n }\n};\n\nexport function createI18n(options: i18nOptionsType) {\n const methoad = {\n get messages() {\n return locale.messages;\n },\n\n $st(path, ...args) {\n const message = get(this.messages[locale.lang], path);\n return typeof message === 'function'\n ? message(...args)\n : message !== null\n ? message\n : path;\n },\n\n $st2(path, path2) {\n const messages = this.messages[locale.lang];\n const message = get(messages, path);\n return message !== null ? message : get(messages, path2);\n },\n\n async setLang(lang) {\n locale.lang = lang;\n if (!(lang in locale.messages)) {\n if (lang in langLoaders) {\n const messages = await langLoaders[lang]();\n locale.messages[lang] = messages;\n }\n }\n locale.lang = lang;\n }\n };\n\n methoad.setLang(options.locale);\n\n return methoad;\n}\n"],"names":["locale","reactive","langLoaders","zhCN","zhLocale","zhLocale_render","zhLocale_extension","enUS","enLocale","enLocale_render","enLocale_extension","createI18n","options","methoad","path","args","message","get","path2","messages","lang"],"mappings":";;AAGA,MAAMA,IAASC,EAAS;AAAA,EACpB,MAAM,aAAa,QAAQ,eAAe,KAAK;AAAA,EAC/C,UAAU,CAAA;AACd,CAAC,GAMKC,IAAc;AAAA,EAChB,SAAS,YAAY;AACjB,UAAM,CAACC,GAAMC,GAAUC,GAAiBC,CAAkB,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC5E,OAAO,gCAAgC;AAAA,MACvC,OAAO,qBAAkB;AAAA,MACzB,OAAO,4BAAyB;AAAA,MAChC,OAAO,+BAA4B;AAAA,IAAA,CACtC;AACD,WAAO;AAAA,MACH,GAAGH,EAAK;AAAA,MACR,GAAGC,EAAS;AAAA,MACZ,GAAGC,EAAgB;AAAA,MACnB,GAAGC,EAAmB;AAAA,IAAA;AAAA,EAE9B;AAAA,EACA,SAAS,YAAY;AACjB,UAAM,CAACC,GAAMC,GAAUC,GAAiBC,CAAkB,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC5E,OAAO,gCAAgC;AAAA,MACvC,OAAO,qBAAkB;AAAA,MACzB,OAAO,4BAAyB;AAAA,MAChC,OAAO,+BAA4B;AAAA,IAAA,CACtC;AACD,WAAO;AAAA,MACH,GAAGH,EAAK;AAAA,MACR,GAAGC,EAAS;AAAA,MACZ,GAAGC,EAAgB;AAAA,MACnB,GAAGC,EAAmB;AAAA,IAAA;AAAA,EAE9B;AACJ;AAEO,SAASC,EAAWC,GAA0B;AACjD,QAAMC,IAAU;AAAA,IACZ,IAAI,WAAW;AACX,aAAOb,EAAO;AAAA,IAClB;AAAA,IAEA,IAAIc,MAASC,GAAM;AACf,YAAMC,IAAUC,EAAI,KAAK,SAASjB,EAAO,IAAI,GAAGc,CAAI;AACpD,aAAO,OAAOE,KAAY,aACpBA,EAAQ,GAAGD,CAAI,IACfC,MAAY,OACZA,IACAF;AAAA,IACV;AAAA,IAEA,KAAKA,GAAMI,GAAO;AACd,YAAMC,IAAW,KAAK,SAASnB,EAAO,IAAI,GACpCgB,IAAUC,EAAIE,GAAUL,CAAI;AAClC,aAAOE,MAAY,OAAOA,IAAUC,EAAIE,GAAUD,CAAK;AAAA,IAC3D;AAAA,IAEA,MAAM,QAAQE,GAAM;AAEhB,UADApB,EAAO,OAAOoB,GACV,EAAEA,KAAQpB,EAAO,aACboB,KAAQlB,GAAa;AACrB,cAAMiB,IAAW,MAAMjB,EAAYkB,CAAI,EAAA;AACvC,QAAApB,EAAO,SAASoB,CAAI,IAAID;AAAA,MAC5B;AAEJ,MAAAnB,EAAO,OAAOoB;AAAA,IAClB;AAAA,EAAA;AAGJ,SAAAP,EAAQ,QAAQD,EAAQ,MAAM,GAEvBC;AACX;"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/utils/smart-vue-i18n/utils.js"],"sourcesContent":["// 值存在\nexport function isDef(value) {\n return value !== undefined && value !== null\n}\n\n// 对象映射 'a.b' {a: {b: 'val'}}\nexport function get(object, path) {\n const keys = path.split('.')\n let result = object\n\n keys.forEach(key => {\n result = isDef(result) && isDef(result[key]) ? result[key] : null\n })\n\n return result\n}\n\n// 是否是对象\nexport function isObj(x) {\n const type = typeof x\n return x !== null && (type === 'object' || type === 'function')\n}\n\n// 深拷贝\nconst { hasOwnProperty } = Object.prototype\n\nfunction assignKey(to, from, key) {\n const val = from[key]\n\n if (!isDef(val)) {\n return\n }\n\n if (!hasOwnProperty.call(to, key) || !isObj(val)) {\n to[key] = val\n } else {\n to[key] = deepAssign(Object(to[key]), from[key])\n }\n}\n\nexport function deepAssign(to, from) {\n Object.keys(from).forEach(key => {\n assignKey(to, from, key)\n })\n\n return to\n}\n"],"names":["isDef","value","get","object","path","keys","result","key"],"mappings":"AACO,SAASA,EAAMC,GAAO;AAC3B,SAA8BA,KAAU;AAC1C;AAGO,SAASC,EAAIC,GAAQC,GAAM;AAChC,QAAMC,IAAOD,EAAK,MAAM,GAAG;AAC3B,MAAIE,IAASH;AAEb,SAAAE,EAAK,QAAQ,CAAAE,MAAO;AAChB,IAAAD,IAASN,EAAMM,CAAM,KAAKN,EAAMM,EAAOC,CAAG,CAAC,IAAID,EAAOC,CAAG,IAAI;AAAA,EACnE,CAAG,GAEMD;AACT;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/utils/smart-vue-i18n/utils.js"],"sourcesContent":["// 值存在\nexport function isDef(value) {\n return value !== undefined && value !== null\n}\n\n// 对象映射 'a.b' {a: {b: 'val'}}\nexport function get(object, path) {\n const keys = path.split('.')\n let result = object\n\n keys.forEach(key => {\n result = isDef(result) && isDef(result[key]) ? result[key] : null\n })\n\n return result\n}\n\n// 是否是对象\nexport function isObj(x) {\n const type = typeof x\n return x !== null && (type === 'object' || type === 'function')\n}\n\n// 深拷贝\nconst { hasOwnProperty } = Object.prototype\n\nfunction assignKey(to, from, key) {\n const val = from[key]\n\n if (!isDef(val)) {\n return\n }\n\n if (!hasOwnProperty.call(to, key) || !isObj(val)) {\n to[key] = val\n } else {\n to[key] = deepAssign(Object(to[key]), from[key])\n }\n}\n\nexport function deepAssign(to, from) {\n Object.keys(from).forEach(key => {\n assignKey(to, from, key)\n })\n\n return to\n}\n"],"names":["isDef","value","get","object","path","keys","result","key"],"mappings":"AACO,SAASA,EAAMC,GAAO;AAC3B,SAA8BA,KAAU;AAC1C;AAGO,SAASC,EAAIC,GAAQC,GAAM;AAChC,QAAMC,IAAOD,EAAK,MAAM,GAAG;AAC3B,MAAIE,IAASH;AAEb,SAAAE,EAAK,QAAQ,CAAAE,MAAO;AAChB,IAAAD,IAASN,EAAMM,CAAM,KAAKN,EAAMM,EAAOC,CAAG,CAAC,IAAID,EAAOC,CAAG,IAAI;AAAA,EACjE,CAAC,GAEMD;AACT;"}