@kp-ui/lowcode 1.0.52 → 1.0.54
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.
- package/_virtual/virtual_svg-icons-register.js +2 -2
- package/_virtual/virtual_svg-icons-register.js.map +1 -1
- package/package.json +1 -1
- package/render.js +4 -1
- package/render.js.map +1 -1
- package/src/components/CustomRender/components/RenderBodyCell.js +1 -1
- package/src/components/CustomRender/components/RenderBodyCell.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js +6 -4
- package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue.js +15 -15
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/line-height-editor.vue.js +32 -0
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/line-height-editor.vue.js.map +1 -0
- package/src/components/form-designer/setting-panel/property-editor/index.js +2 -1
- package/src/components/form-designer/setting-panel/property-editor/index.js.map +1 -1
- package/src/components/form-designer/setting-panel/propertyRegister.js +1 -0
- package/src/components/form-designer/setting-panel/propertyRegister.js.map +1 -1
- package/src/components/form-designer/widget-panel/containers/data-table.js +1 -0
- package/src/components/form-designer/widget-panel/containers/data-table.js.map +1 -1
- package/src/components/form-render/SubmitButtonRender.vue.js +2 -2
- package/src/components/form-render/SubmitButtonRender.vue.js.map +1 -1
- package/src/components/form-render/container-item/data-table-item.vue.js +5 -6
- package/src/components/form-render/container-item/data-table-item.vue.js.map +1 -1
- package/src/components/form-render/dynamic-dialog.vue.js +10 -2
- package/src/components/form-render/dynamic-dialog.vue.js.map +1 -1
- package/src/components/public/ActionButtonListDialog.vue.js +1 -1
- package/src/components/public/ActionButtonListDialog.vue.js.map +1 -1
- package/src/components/public/ActionButtonListDialog.vue2.js +1 -1
- package/src/components/public/ActionButtonListDialog.vue2.js.map +1 -1
- package/src/components/public/ActionButtonListRender.vue.js +1 -1
- package/src/components/public/ActionButtonListRender.vue.js.map +1 -1
- package/src/components/public/ActionButtonListRender.vue2.js.map +1 -1
- package/src/mixins/useDataTableMixin.js +16 -9
- package/src/mixins/useDataTableMixin.js.map +1 -1
- package/styles/style.css +1 -1
- package/types/src/components/form-designer/setting-panel/index.d.ts +1 -0
- package/types/src/components/form-designer/widget-panel/containers/data-table.d.ts.map +1 -1
- package/types/src/components/form-render/SubmitButtonRender.d.ts +3 -3
- package/types/src/components/form-render/SubmitButtonRender.d.ts.map +1 -1
- package/types/src/components/form-render/dynamic-dialog.d.ts.map +1 -1
- package/types/src/components/form-render/index.d.ts +1 -0
- package/types/src/components/form-render/index.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-dialog.vue.js","sources":["../../../../src/components/form-render/dynamic-dialog.vue"],"sourcesContent":["<template>\n <a-config-provider :locale=\"elLocale\" :input=\"{ autocomplete: 'off' }\">\n <a-modal\n class=\"tpf-model design-model\"\n :transitionName=\"!dialogVisible ? '' : 'zoom'\"\n :maskTransitionName=\"!dialogVisible ? '' : 'fade'\"\n :destroyOnClose=\"true\"\n :title=\"options.title\"\n :bodyStyle=\"{\n height: options.height,\n overflow: 'auto',\n ...JSON.parse(this.options.bodyStyle || '{}')\n }\"\n :centered=\"true\"\n v-model:visible=\"dialogVisible\"\n :width=\"options.width\"\n :mask=\"options.showModal\"\n :maskClosable=\"options.closeOnClickModal\"\n :keyboard=\"options.closeOnPressEscape\"\n @cancel=\"handleCloseEvent\"\n v-bind=\"otherAttrs\"\n >\n <div v-loading=\"isLoading\" class=\"dialog-content\">\n <VFormRender\n :isLoading=\"isLoading\"\n ref=\"dFormRef\"\n :form-json=\"formJson\"\n :form-data=\"formData\"\n :vfCtx=\"vfCtx\"\n :option-data=\"optionData\"\n :global-dsv=\"globalDsv\"\n :parent-form=\"parentForm\"\n :disabled-mode=\"options.disabledMode\"\n :dynamic-creation=\"true\"\n />\n </div>\n <template #footer>\n <div class=\"footer-left\"></div>\n <div class=\"footer-right\">\n <!-- <a-button v-if=\"!options.cancelButtonHidden\" @click=\"handleCancelClick\">\n {{ cancelBtnLabel }}\n </a-button>\n <a-button v-if=\"!options.okButtonHidden\" type=\"primary\" @click=\"handleOkClick\">\n {{ okBtnLabel }}\n </a-button> -->\n </div>\n </template>\n </a-modal>\n </a-config-provider>\n</template>\n\n<script>\n import i18n from '@/utils/i18n';\n import zhCN from 'ant-design-vue/es/locale/zh_CN';\n import { defineAsyncComponent } from 'vue';\n\n export default {\n name: 'dynamic-dialog',\n mixins: [i18n],\n\n props: {\n options: {\n type: Object,\n default: () => ({})\n },\n formJson: {\n type: Object\n },\n formData: {\n type: Object,\n default: () => ({})\n },\n vfCtx: {\n type: Object,\n default: () => ({})\n },\n optionData: {\n //prop传入的选项数据\n type: Object,\n default: () => ({})\n },\n globalDsv: {\n // 全局数据源变量\n type: Object,\n default: () => ({})\n },\n parentFormRef: {\n type: Object,\n default: null\n },\n extraData: {\n type: Object,\n default: () => ({})\n },\n wrapperId: {\n type: String,\n default: null\n }\n },\n components: {\n VFormRender: defineAsyncComponent(() => import('@/components/form-render/index.vue'))\n },\n data() {\n /**\n * @type {{\n * 'zh-CN': typeof zhCN,\n * 'en-US': Record<string, any>\n * }}\n */\n const elLocaleMap = {\n 'zh-CN': { ...zhCN },\n 'en-US': {}\n };\n return {\n isSubmitting: false, // 添加提交状态标记\n isClosing: false, // 添加关闭状态标记\n isLoading: true,\n dialogVisible: false,\n elLocaleMap\n };\n },\n created() {},\n computed: {\n elLocale() {\n const curLocale = localStorage.getItem('lowcode_local') || 'zh-CN';\n return this.elLocaleMap[curLocale];\n },\n\n parentForm() {\n return {\n ...this.parentFormRef,\n parentDom: this,\n getParentFormRef: this.getParentFormRef\n };\n },\n otherAttrs() {\n if (this.options.cancelButtonHidden && this.options.okButtonHidden) {\n return { footer: null };\n }\n return {};\n },\n cancelBtnLabel() {\n return this.options.cancelButtonLabel || this.i18nt('designer.hint.cancel');\n },\n\n okBtnLabel() {\n return this.options.okButtonLabel || this.i18nt('designer.hint.confirm');\n }\n },\n mounted() {\n //\n },\n beforeUnmount() {\n this.parentFormRef.setChildFormRef(null);\n },\n methods: {\n async loadFormCode() {\n if (this.options.formCode) {\n this.isLoading = true;\n try {\n const res = await this.$http\n .get(`/api/tmgc2-query/dataQuery/detail/FormDefinitionManagement`, {\n params: { code: this.options.formCode }\n })\n .then(res => res.data.object.frontendDefinition || '{}');\n const formJson = JSON.parse(res);\n console.log('formJson: ', formJson);\n this.$refs.dFormRef.setFormJson(formJson);\n } catch (error) {}\n this.isLoading = false;\n }\n },\n setLoading(status) {\n this.isLoading = status;\n },\n setFormJson(formJson) {\n this.$refs.dFormRef.setFormJson(formJson);\n },\n setTitle(title) {\n this.options.title = title;\n },\n beforeOpen() {\n this.isLoading = true;\n this.dialogVisible = true;\n },\n show() {\n this.dialogVisible = true;\n\n //设置readMode模式\n this.$nextTick(() => {\n if (!!this.options.readMode) {\n this.$refs['dFormRef'].setReadMode(true);\n }\n this.loadFormCode();\n this.$refs['dFormRef']?.setDialogOrDrawerRef(this);\n if (this.parentFormRef) {\n this.parentFormRef.setChildFormRef(this.$refs['dFormRef']);\n }\n this.handleOpenedEvent();\n });\n },\n\n close() {\n if (!!this.options.onDialogBeforeClose) {\n const customFn = new Function('done', this.options.onDialogBeforeClose);\n const closeResult = customFn.call(this);\n if (closeResult === false) {\n return;\n }\n }\n\n this.dialogVisible = false;\n setTimeout(this.deleteWrapperNode, 150);\n },\n\n deleteWrapperNode() {\n const wrapperNode = document.getElementById(\n 'vf-dynamic-dialog-wrapper' + this.wrapperId\n );\n if (!!wrapperNode) {\n document.body.removeChild(wrapperNode);\n }\n },\n\n handleBeforeClose() {\n if (!!this.options.onDialogBeforeClose) {\n const customFn = new Function(this.options.onDialogBeforeClose);\n return customFn.call(this);\n }\n\n return true;\n },\n\n handleCloseEvent() {\n if (!this.handleBeforeClose()) return;\n this.dialogVisible = false;\n setTimeout(this.deleteWrapperNode, 150);\n },\n\n handleOpenedEvent() {\n if (!!this.options.onDialogOpened) {\n const customFn = new Function(this.options.onDialogOpened);\n customFn.call(this);\n }\n },\n\n handleCancelClick() {\n if (this.isClosing) return; // 防止重复关闭\n if (!this.handleBeforeClose()) return;\n try {\n this.isClosing = true;\n if (!!this.options.onCancelButtonClick) {\n const customFn = new Function(this.options.onCancelButtonClick);\n const clickResult = customFn.call(this);\n if (clickResult === false) {\n return;\n }\n }\n\n this.dialogVisible = false;\n setTimeout(this.deleteWrapperNode, 150);\n } catch (error) {\n console.log('error: ', error);\n } finally {\n this.isClosing = false;\n }\n },\n\n async handleOkClick() {\n if (this.isSubmitting) return; // 防止重复提交\n\n try {\n this.isSubmitting = true;\n if (!!this.options.onOkButtonClick) {\n const customFn = new Function(this.options.onOkButtonClick);\n const clickResult = await customFn.call(this);\n if (clickResult === false) {\n return;\n }\n }\n this.dialogVisible = false;\n setTimeout(this.deleteWrapperNode, 150);\n } catch (error) {\n console.log('error: ', error);\n } finally {\n this.isClosing = false;\n }\n },\n\n getParentFormRef() {\n return this.parentFormRef;\n },\n\n getFormRef() {\n console.log('getFormRef');\n return this.$refs['dFormRef'];\n },\n\n getWidgetRef(widgetName, showError = false) {\n return this.$refs['dFormRef'].getWidgetRef(widgetName, showError);\n },\n updateTable() {\n if (this.vfCtx?.parent?.exposed?.updateTable) {\n this.vfCtx.parent.exposed.updateTable();\n }\n },\n getExtraData() {\n return this.extraData;\n }\n }\n };\n</script>\n\n<style lang=\"less\">\n .design-model {\n .ant-modal-close-x {\n padding: 0 20px !important;\n }\n .dialog-content {\n min-height: 300px;\n }\n }\n</style>\n"],"names":["res","_createElementVNode","_createBlock","_createVNode","_mergeProps","_withDirectives","_openBlock","_createElementBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dynamic-dialog.vue.js","sources":["../../../../src/components/form-render/dynamic-dialog.vue"],"sourcesContent":["<template>\n <a-config-provider :locale=\"elLocale\" :input=\"{ autocomplete: 'off' }\">\n <a-modal\n class=\"tpf-model design-model\"\n :transitionName=\"!dialogVisible ? '' : 'zoom'\"\n :maskTransitionName=\"!dialogVisible ? '' : 'fade'\"\n :destroyOnClose=\"true\"\n :title=\"options.title\"\n :bodyStyle=\"{\n height: options.height,\n overflow: 'auto',\n ...JSON.parse(this.options.bodyStyle || '{}')\n }\"\n :centered=\"true\"\n v-model:visible=\"dialogVisible\"\n :width=\"options.width\"\n :mask=\"options.showModal\"\n :maskClosable=\"options.closeOnClickModal\"\n :keyboard=\"options.closeOnPressEscape\"\n @cancel=\"handleCloseEvent\"\n v-bind=\"otherAttrs\"\n >\n <div v-loading=\"isLoading\" class=\"dialog-content\">\n <VFormRender\n :isLoading=\"isLoading\"\n ref=\"dFormRef\"\n :form-json=\"formJson\"\n :form-data=\"formData\"\n :vfCtx=\"vfCtx\"\n :option-data=\"optionData\"\n :global-dsv=\"globalDsv\"\n :parent-form=\"parentForm\"\n :disabled-mode=\"options.disabledMode\"\n :dynamic-creation=\"true\"\n />\n </div>\n <template #footer>\n <div class=\"footer-left\"></div>\n <div class=\"footer-right\">\n <SubmitButtonRender :options=\"formJson.formConfig\" :ctx=\"this\" />\n </div>\n </template>\n </a-modal>\n </a-config-provider>\n</template>\n\n<script>\n import i18n from '@/utils/i18n';\n import zhCN from 'ant-design-vue/es/locale/zh_CN';\n import { defineAsyncComponent } from 'vue';\n import SubmitButtonRender from '@/components/form-render/SubmitButtonRender.vue';\n export default {\n name: 'dynamic-dialog',\n mixins: [i18n],\n props: {\n options: {\n type: Object,\n default: () => ({})\n },\n formJson: {\n type: Object\n },\n formData: {\n type: Object,\n default: () => ({})\n },\n vfCtx: {\n type: Object,\n default: () => ({})\n },\n optionData: {\n //prop传入的选项数据\n type: Object,\n default: () => ({})\n },\n globalDsv: {\n // 全局数据源变量\n type: Object,\n default: () => ({})\n },\n parentFormRef: {\n type: Object,\n default: null\n },\n extraData: {\n type: Object,\n default: () => ({})\n },\n wrapperId: {\n type: String,\n default: null\n }\n },\n components: {\n SubmitButtonRender,\n VFormRender: defineAsyncComponent(() => import('@/components/form-render/index.vue'))\n },\n data() {\n /**\n * @type {{\n * 'zh-CN': typeof zhCN,\n * 'en-US': Record<string, any>\n * }}\n */\n const elLocaleMap = {\n 'zh-CN': { ...zhCN },\n 'en-US': {}\n };\n return {\n isSubmitting: false, // 添加提交状态标记\n isClosing: false, // 添加关闭状态标记\n isLoading: true,\n dialogVisible: false,\n elLocaleMap\n };\n },\n created() {},\n computed: {\n elLocale() {\n const curLocale = localStorage.getItem('lowcode_local') || 'zh-CN';\n return this.elLocaleMap[curLocale];\n },\n\n parentForm() {\n return {\n ...this.parentFormRef,\n parentDom: this,\n getParentFormRef: this.getParentFormRef\n };\n },\n otherAttrs() {\n if (this.options.cancelButtonHidden && this.options.okButtonHidden) {\n return { footer: null };\n }\n return {};\n },\n cancelBtnLabel() {\n return this.options.cancelButtonLabel || this.i18nt('designer.hint.cancel');\n },\n\n okBtnLabel() {\n return this.options.okButtonLabel || this.i18nt('designer.hint.confirm');\n }\n },\n mounted() {\n //\n },\n beforeUnmount() {\n this.parentFormRef.setChildFormRef(null);\n },\n methods: {\n async loadFormCode() {\n if (this.options.formCode) {\n this.isLoading = true;\n try {\n const res = await this.$http\n .get(`/api/tmgc2-query/dataQuery/detail/FormDefinitionManagement`, {\n params: { code: this.options.formCode }\n })\n .then(res => res.data.object.frontendDefinition || '{}');\n const formJson = JSON.parse(res);\n console.log('formJson: ', formJson);\n this.$refs.dFormRef.setFormJson(formJson);\n } catch (error) {}\n this.isLoading = false;\n }\n },\n setLoading(status) {\n this.isLoading = status;\n },\n setFormJson(formJson) {\n this.$refs.dFormRef.setFormJson(formJson);\n },\n setTitle(title) {\n this.options.title = title;\n },\n beforeOpen() {\n this.isLoading = true;\n this.dialogVisible = true;\n },\n show() {\n this.dialogVisible = true;\n\n //设置readMode模式\n this.$nextTick(() => {\n if (!!this.options.readMode) {\n this.$refs['dFormRef'].setReadMode(true);\n }\n this.loadFormCode();\n this.$refs['dFormRef']?.setDialogOrDrawerRef(this);\n if (this.parentFormRef) {\n this.parentFormRef.setChildFormRef(this.$refs['dFormRef']);\n }\n this.handleOpenedEvent();\n });\n },\n\n close() {\n if (!!this.options.onDialogBeforeClose) {\n const customFn = new Function('done', this.options.onDialogBeforeClose);\n const closeResult = customFn.call(this);\n if (closeResult === false) {\n return;\n }\n }\n\n this.dialogVisible = false;\n setTimeout(this.deleteWrapperNode, 150);\n },\n\n deleteWrapperNode() {\n const wrapperNode = document.getElementById(\n 'vf-dynamic-dialog-wrapper' + this.wrapperId\n );\n if (!!wrapperNode) {\n document.body.removeChild(wrapperNode);\n }\n },\n\n handleBeforeClose() {\n if (!!this.options.onDialogBeforeClose) {\n const customFn = new Function(this.options.onDialogBeforeClose);\n return customFn.call(this);\n }\n\n return true;\n },\n\n handleCloseEvent() {\n if (!this.handleBeforeClose()) return;\n this.dialogVisible = false;\n setTimeout(this.deleteWrapperNode, 150);\n },\n\n handleOpenedEvent() {\n if (!!this.options.onDialogOpened) {\n const customFn = new Function(this.options.onDialogOpened);\n customFn.call(this);\n }\n },\n\n handleCancelClick() {\n if (this.isClosing) return; // 防止重复关闭\n if (!this.handleBeforeClose()) return;\n try {\n this.isClosing = true;\n if (!!this.options.onCancelButtonClick) {\n const customFn = new Function(this.options.onCancelButtonClick);\n const clickResult = customFn.call(this);\n if (clickResult === false) {\n return;\n }\n }\n\n this.dialogVisible = false;\n setTimeout(this.deleteWrapperNode, 150);\n } catch (error) {\n console.log('error: ', error);\n } finally {\n this.isClosing = false;\n }\n },\n\n async handleOkClick() {\n if (this.isSubmitting) return; // 防止重复提交\n\n try {\n this.isSubmitting = true;\n if (!!this.options.onOkButtonClick) {\n const customFn = new Function(this.options.onOkButtonClick);\n const clickResult = await customFn.call(this);\n if (clickResult === false) {\n return;\n }\n }\n this.dialogVisible = false;\n setTimeout(this.deleteWrapperNode, 150);\n } catch (error) {\n console.log('error: ', error);\n } finally {\n this.isClosing = false;\n }\n },\n\n getParentFormRef() {\n return this.parentFormRef;\n },\n\n getFormRef() {\n console.log('getFormRef');\n return this.$refs['dFormRef'];\n },\n\n getWidgetRef(widgetName, showError = false) {\n return this.$refs['dFormRef'].getWidgetRef(widgetName, showError);\n },\n updateTable() {\n if (this.vfCtx?.parent?.exposed?.updateTable) {\n this.vfCtx.parent.exposed.updateTable();\n }\n },\n getExtraData() {\n return this.extraData;\n }\n }\n };\n</script>\n\n<style lang=\"less\">\n .design-model {\n .ant-modal-close-x {\n padding: 0 20px !important;\n }\n .dialog-content {\n min-height: 300px;\n }\n }\n</style>\n"],"names":["SubmitButtonRender","res","_createElementVNode","_createBlock","_createVNode","_mergeProps","_withDirectives","_openBlock","_createElementBlock"],"mappings":";;;;;;AAmDI,MAAK,YAAU;AAAA,EACX,MAAM;AAAA,EACN,QAAQ,CAAC,IAAI;AAAA,EACb,OAAO;AAAA,IACH,SAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,OAAO,CAAE;AAAA,IACrB;AAAA,IACD,UAAU;AAAA,MACN,MAAM;AAAA,IACT;AAAA,IACD,UAAU;AAAA,MACN,MAAM;AAAA,MACN,SAAS,OAAO,CAAE;AAAA,IACrB;AAAA,IACD,OAAO;AAAA,MACH,MAAM;AAAA,MACN,SAAS,OAAO,CAAE;AAAA,IACrB;AAAA,IACD,YAAY;AAAA;AAAA,MAER,MAAM;AAAA,MACN,SAAS,OAAO,CAAE;AAAA,IACrB;AAAA,IACD,WAAW;AAAA;AAAA,MAEP,MAAM;AAAA,MACN,SAAS,OAAO,CAAE;AAAA,IACrB;AAAA,IACD,eAAe;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACZ;AAAA,IACD,WAAW;AAAA,MACP,MAAM;AAAA,MACN,SAAS,OAAO,CAAE;AAAA,IACrB;AAAA,IACD,WAAW;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACb;AAAA,EACH;AAAA,EACD,YAAY;AAAA,IACR,oBAAAA;AAAAA,IACA,aAAa,qBAAqB,MAAM,OAAO,oBAAoC,CAAC;AAAA,EACvF;AAAA,EACD,OAAO;AAOH,UAAM,cAAc;AAAA,MAChB,SAAS,EAAE,GAAG,KAAM;AAAA,MACpB,SAAS,CAAA;AAAA,IACZ;AACD,WAAO;AAAA,MACH,cAAc;AAAA;AAAA,MACd,WAAW;AAAA;AAAA,MACX,WAAW;AAAA,MACX,eAAe;AAAA,MACf;AAAA,IACH;AAAA,EACJ;AAAA,EACD,UAAU;AAAA,EAAE;AAAA,EACZ,UAAU;AAAA,IACN,WAAW;AACP,YAAM,YAAY,aAAa,QAAQ,eAAe,KAAK;AAC3D,aAAO,KAAK,YAAY,SAAS;AAAA,IACpC;AAAA,IAED,aAAa;AACT,aAAO;AAAA,QACH,GAAG,KAAK;AAAA,QACR,WAAW;AAAA,QACX,kBAAkB,KAAK;AAAA,MAC1B;AAAA,IACJ;AAAA,IACD,aAAa;AACT,UAAI,KAAK,QAAQ,sBAAsB,KAAK,QAAQ,gBAAgB;AAChE,eAAO,EAAE,QAAQ,KAAM;AAAA,MAC3B;AACA,aAAO,CAAE;AAAA,IACZ;AAAA,IACD,iBAAiB;AACb,aAAO,KAAK,QAAQ,qBAAqB,KAAK,MAAM,sBAAsB;AAAA,IAC7E;AAAA,IAED,aAAa;AACT,aAAO,KAAK,QAAQ,iBAAiB,KAAK,MAAM,uBAAuB;AAAA,IAC3E;AAAA,EACH;AAAA,EACD,UAAU;AAAA,EAET;AAAA,EACD,gBAAgB;AACZ,SAAK,cAAc,gBAAgB,IAAI;AAAA,EAC1C;AAAA,EACD,SAAS;AAAA,IACL,MAAM,eAAe;AACjB,UAAI,KAAK,QAAQ,UAAU;AACvB,aAAK,YAAY;AACjB,YAAI;AACA,gBAAM,MAAM,MAAM,KAAK,MAClB,IAAI,8DAA8D;AAAA,YAC/D,QAAQ,EAAE,MAAM,KAAK,QAAQ,SAAS;AAAA,UACzC,CAAA,EACA,KAAK,CAAAC,SAAOA,KAAI,KAAK,OAAO,sBAAsB,IAAI;AAC3D,gBAAM,WAAW,KAAK,MAAM,GAAG;AAC/B,kBAAQ,IAAI,cAAc,QAAQ;AAClC,eAAK,MAAM,SAAS,YAAY,QAAQ;AAAA,QAC5C,SAAS,OAAO;AAAA,QAAA;AAChB,aAAK,YAAY;AAAA,MACrB;AAAA,IACH;AAAA,IACD,WAAW,QAAQ;AACf,WAAK,YAAY;AAAA,IACpB;AAAA,IACD,YAAY,UAAU;AAClB,WAAK,MAAM,SAAS,YAAY,QAAQ;AAAA,IAC3C;AAAA,IACD,SAAS,OAAO;AACZ,WAAK,QAAQ,QAAQ;AAAA,IACxB;AAAA,IACD,aAAa;AACT,WAAK,YAAY;AACjB,WAAK,gBAAgB;AAAA,IACxB;AAAA,IACD,OAAO;AACH,WAAK,gBAAgB;AAGrB,WAAK,UAAU,MAAM;;AACjB,YAAI,CAAC,CAAC,KAAK,QAAQ,UAAU;AACzB,eAAK,MAAM,UAAU,EAAE,YAAY,IAAI;AAAA,QAC3C;AACA,aAAK,aAAc;AACnB,mBAAK,MAAM,UAAU,MAArB,mBAAwB,qBAAqB;AAC7C,YAAI,KAAK,eAAe;AACpB,eAAK,cAAc,gBAAgB,KAAK,MAAM,UAAU,CAAC;AAAA,QAC7D;AACA,aAAK,kBAAmB;AAAA,MAC5B,CAAC;AAAA,IACJ;AAAA,IAED,QAAQ;AACJ,UAAI,CAAC,CAAC,KAAK,QAAQ,qBAAqB;AACpC,cAAM,WAAW,IAAI,SAAS,QAAQ,KAAK,QAAQ,mBAAmB;AACtE,cAAM,cAAc,SAAS,KAAK,IAAI;AACtC,YAAI,gBAAgB,OAAO;AACvB;AAAA,QACJ;AAAA,MACJ;AAEA,WAAK,gBAAgB;AACrB,iBAAW,KAAK,mBAAmB,GAAG;AAAA,IACzC;AAAA,IAED,oBAAoB;AAChB,YAAM,cAAc,SAAS;AAAA,QACzB,8BAA8B,KAAK;AAAA,MACtC;AACD,UAAI,CAAC,CAAC,aAAa;AACf,iBAAS,KAAK,YAAY,WAAW;AAAA,MACzC;AAAA,IACH;AAAA,IAED,oBAAoB;AAChB,UAAI,CAAC,CAAC,KAAK,QAAQ,qBAAqB;AACpC,cAAM,WAAW,IAAI,SAAS,KAAK,QAAQ,mBAAmB;AAC9D,eAAO,SAAS,KAAK,IAAI;AAAA,MAC7B;AAEA,aAAO;AAAA,IACV;AAAA,IAED,mBAAmB;AACf,UAAI,CAAC,KAAK,oBAAqB;AAC/B,WAAK,gBAAgB;AACrB,iBAAW,KAAK,mBAAmB,GAAG;AAAA,IACzC;AAAA,IAED,oBAAoB;AAChB,UAAI,CAAC,CAAC,KAAK,QAAQ,gBAAgB;AAC/B,cAAM,WAAW,IAAI,SAAS,KAAK,QAAQ,cAAc;AACzD,iBAAS,KAAK,IAAI;AAAA,MACtB;AAAA,IACH;AAAA,IAED,oBAAoB;AAChB,UAAI,KAAK,UAAW;AACpB,UAAI,CAAC,KAAK,oBAAqB;AAC/B,UAAI;AACA,aAAK,YAAY;AACjB,YAAI,CAAC,CAAC,KAAK,QAAQ,qBAAqB;AACpC,gBAAM,WAAW,IAAI,SAAS,KAAK,QAAQ,mBAAmB;AAC9D,gBAAM,cAAc,SAAS,KAAK,IAAI;AACtC,cAAI,gBAAgB,OAAO;AACvB;AAAA,UACJ;AAAA,QACJ;AAEA,aAAK,gBAAgB;AACrB,mBAAW,KAAK,mBAAmB,GAAG;AAAA,MACxC,SAAO,OAAO;AACZ,gBAAQ,IAAI,WAAW,KAAK;AAAA,MAChC,UAAU;AACN,aAAK,YAAY;AAAA,MACrB;AAAA,IACH;AAAA,IAED,MAAM,gBAAgB;AAClB,UAAI,KAAK,aAAc;AAEvB,UAAI;AACA,aAAK,eAAe;AACpB,YAAI,CAAC,CAAC,KAAK,QAAQ,iBAAiB;AAChC,gBAAM,WAAW,IAAI,SAAS,KAAK,QAAQ,eAAe;AAC1D,gBAAM,cAAc,MAAM,SAAS,KAAK,IAAI;AAC5C,cAAI,gBAAgB,OAAO;AACvB;AAAA,UACJ;AAAA,QACJ;AACA,aAAK,gBAAgB;AACrB,mBAAW,KAAK,mBAAmB,GAAG;AAAA,MACxC,SAAO,OAAO;AACZ,gBAAQ,IAAI,WAAW,KAAK;AAAA,MAChC,UAAU;AACN,aAAK,YAAY;AAAA,MACrB;AAAA,IACH;AAAA,IAED,mBAAmB;AACf,aAAO,KAAK;AAAA,IACf;AAAA,IAED,aAAa;AACT,cAAQ,IAAI,YAAY;AACxB,aAAO,KAAK,MAAM,UAAU;AAAA,IAC/B;AAAA,IAED,aAAa,YAAY,YAAY,OAAO;AACxC,aAAO,KAAK,MAAM,UAAU,EAAE,aAAa,YAAY,SAAS;AAAA,IACnE;AAAA,IACD,cAAc;;AACV,WAAI,sBAAK,UAAL,mBAAY,WAAZ,mBAAoB,YAApB,mBAA6B,aAAa;AAC1C,aAAK,MAAM,OAAO,QAAQ,YAAa;AAAA,MAC3C;AAAA,IACH;AAAA,IACD,eAAe;AACX,aAAO,KAAK;AAAA,IAChB;AAAA,EACJ;AACH;AA3RkC,MAAA,aAAA,EAAA,OAAM,iBAAgB;mBAe7CC,mCAA+B,OAAA,EAA1B,OAAM,cAAa,GAAA,MAAA,EAAA;AACnB,MAAA,aAAA,EAAA,OAAM,eAAc;;;;;;;sBArCrCC,YA0CoB,8BAAA;AAAA,IA1CA,QAAQ,SAAQ;AAAA,IAAG,OAAO,EAAuB,cAAA,MAAA;AAAA;qBACjE,MAwCU;AAAA,MAxCVC,YAwCU,oBAxCVC,WAwCU;AAAA,QAvCN,OAAM;AAAA,QACL,iBAAiB,MAAa,gBAAA,KAAA;AAAA,QAC9B,qBAAqB,MAAa,gBAAA,KAAA;AAAA,QAClC,gBAAgB;AAAA,QAChB,OAAO,OAAO,QAAC;AAAA,QACf,WAAS;AAAA,UAA4B,QAAA,OAAA,QAAQ;AAAA;UAA6D,GAAA,KAAK,MAAW,KAAA,QAAQ,aAAS,IAAA;AAAA;QAK3I,UAAU;AAAA,QACH,SAAS,MAAa;AAAA,kEAAb,MAAa,gBAAA;AAAA,QAC7B,OAAO,OAAO,QAAC;AAAA,QACf,MAAM,OAAO,QAAC;AAAA,QACd,cAAc,OAAO,QAAC;AAAA,QACtB,UAAU,OAAO,QAAC;AAAA,QAClB,UAAQ,SAAgB;AAAA,SACjB,SAAU,UAAA,GAAA;AAAA,QAgBP,gBACP,MAA+B;AAAA,UAA/B;AAAA,UACAH,mBAEM,OAFN,YAEM;AAAA,YADFE,YAAiE,+BAAA;AAAA,cAA5C,SAAS,OAAQ,SAAC;AAAA,cAAa,KAAK;AAAA;;;yBAjBjE,MAaM;AAAA,UAbNE,gBAAAC,UAAA,GAAAC,mBAaM,OAbN,YAaM;AAAA,YAZFJ,YAWE,wBAAA;AAAA,cAVG,WAAW,MAAS;AAAA,cACrB,KAAI;AAAA,cACH,aAAW,OAAQ;AAAA,cACnB,aAAW,OAAQ;AAAA,cACnB,OAAO,OAAK;AAAA,cACZ,eAAa,OAAU;AAAA,cACvB,cAAY,OAAS;AAAA,cACrB,eAAa,SAAU;AAAA,cACvB,iBAAe,OAAO,QAAC;AAAA,cACvB,oBAAkB;AAAA;;iCAXX,MAAS,SAAA;AAAA;;;;;;;;;"}
|
|
@@ -182,7 +182,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
182
182
|
}, null, 8, ["onSave", "event-header"])
|
|
183
183
|
], 64);
|
|
184
184
|
}
|
|
185
|
-
const ActionButtonListDialog = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
185
|
+
const ActionButtonListDialog = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-f44ca272"]]);
|
|
186
186
|
export {
|
|
187
187
|
ActionButtonListDialog as default
|
|
188
188
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionButtonListDialog.vue.js","sources":["../../../../src/components/public/ActionButtonListDialog.vue"],"sourcesContent":["<template>\n <STable\n deepWatchDataSource\n :data-source=\"buttonList\"\n :pagination=\"false\"\n :resizable=\"true\"\n :columns=\"columns\"\n :row-key=\"record => record.name\"\n >\n <template #bodyCell=\"{ column, recordIndexs, record }\">\n <template v-if=\"column.dataIndex === 'label'\">\n <a-input\n v-model:value=\"buttonList[recordIndexs[0]].label\"\n :placeholder=\"i18nt('designer.setting.operationButtonLabel')\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'type'\">\n <a-select\n v-model:value=\"buttonList[recordIndexs[0]].type\"\n :placeholder=\"i18nt('designer.setting.operationButtonType')\"\n style=\"width: 100%\"\n >\n <a-select-option value=\"primary\">primary</a-select-option>\n <a-select-option value=\"ghost\">ghost</a-select-option>\n <a-select-option value=\"dashed\">dashed</a-select-option>\n <a-select-option value=\"text\">text</a-select-option>\n <a-select-option value=\"link\">link</a-select-option>\n <a-select-option value=\"default\">default</a-select-option>\n </a-select>\n </template>\n <template v-if=\"column.dataIndex === 'size'\">\n <a-select\n v-model:value=\"buttonList[recordIndexs[0]].size\"\n :placeholder=\"i18nt('designer.setting.size')\"\n style=\"width: 100%\"\n >\n <a-select-option value=\"default\">default</a-select-option>\n <a-select-option value=\"small\">small</a-select-option>\n <a-select-option value=\"large\">large</a-select-option>\n </a-select>\n </template>\n <template v-if=\"column.dataIndex === 'icon'\">\n <a-input\n v-model:value=\"buttonList[recordIndexs[0]].icon\"\n :placeholder=\"i18nt('designer.setting.operationButtonLabel')\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'danger'\">\n <a-switch\n :checkedValue=\"1\"\n :unCheckedValue=\"0\"\n v-model:checked=\"buttonList[recordIndexs[0]].danger\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'onHidden'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onHidden }]\"\n @click=\"editClickEvent('onHidden', record, recordIndexs)\"\n size=\"small\"\n >\n {{ i18nt('designer.setting.operationButtonHidden') }}\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'onDisabled'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onDisabled }]\"\n @click=\"editClickEvent('onDisabled', record, recordIndexs)\"\n size=\"small\"\n >\n {{ i18nt('designer.setting.operationButtonDisabled') }}\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'onClick'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onClick }]\"\n @click=\"editClickEvent('onClick', record, recordIndexs)\"\n size=\"small\"\n >\n 点击事件\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'action'\">\n <a-button type=\"link\" @click=\"deleteOperationButton(index)\" size=\"small\">\n 删除\n </a-button>\n </template>\n </template>\n </STable>\n <div class=\"add-btn\">\n <a-button type=\"primary\" size=\"default\" @click=\"addOperationButton\">\n {{ i18nt('designer.setting.addOperationButton') }}\n </a-button>\n </div>\n\n <CodeModalEditor\n ref=\"codeModalEditorRef\"\n @save=\"saveColumnRender\"\n :event-header=\"`${currentEditBtn}(${parmas}){`\"\n />\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, getCurrentInstance, ref, watch, watchEffect } from 'vue';\n import i18n, { useI18n } from '@/utils/i18n';\n import CodeModalEditor from '@/components/code-editor/code-modal-editor.vue';\n import { generateId } from '@/utils/util';\n export default defineComponent({\n name: 'ActionButtonList',\n props: {\n parmas: {\n type: String,\n default: ''\n },\n data: {\n type: Array,\n required: true\n }\n },\n components: { CodeModalEditor },\n mixins: [i18n],\n emits: ['update:data'],\n setup(props, { emit }) {\n const { i18nt } = useI18n();\n const currentEditBtn = ref();\n const codeModalEditorRef = ref(null);\n const currentRecordIndexs = ref();\n const columns = [\n {\n dataIndex: 'label',\n title: i18nt('designer.setting.operationButtonLabel'),\n width: 60\n },\n {\n dataIndex: 'type',\n title: i18nt('designer.setting.operationButtonType'),\n width: 120\n },\n {\n dataIndex: 'size',\n title: i18nt('designer.setting.operationButtonType'),\n width: 80\n },\n {\n dataIndex: 'danger',\n title: i18nt('designer.setting.danger'),\n width: 120\n },\n {\n dataIndex: 'icon',\n title: i18nt('designer.setting.buttonIcon'),\n width: 120\n },\n {\n dataIndex: 'onHidden',\n title: i18nt('designer.setting.operationButtonHidden'),\n width: 100\n },\n {\n dataIndex: 'onDisabled',\n title: i18nt('designer.setting.operationButtonDisabled'),\n width: 100\n },\n { dataIndex: 'onClick', title: '点击事件', width: 100 },\n { dataIndex: 'action', title: '操作', width: 80 }\n ];\n\n const buttonList = computed(() => props.data as any[]);\n\n watch(\n () => buttonList.value,\n () => {\n emit('update:data', buttonList.value);\n },\n {\n deep: true\n }\n );\n\n const deleteOperationButton = (index: number) => {\n buttonList.value.splice(index, 1);\n emit('update:data', buttonList.value);\n };\n\n const editClickEvent = (name, row, recordIndexs) => {\n currentRecordIndexs.value = recordIndexs[0];\n currentEditBtn.value = name;\n codeModalEditorRef.value?.open(row[name]);\n };\n\n const saveColumnRender = value => {\n console.log(buttonList.value, currentRecordIndexs.value, currentEditBtn.value);\n buttonList.value[currentRecordIndexs.value][currentEditBtn.value] = value;\n };\n\n const addOperationButton = () => {\n buttonList.value.push({\n name: 'btn' + generateId(),\n label: 'new btn',\n type: 'primary',\n size: 'small',\n shape: 'default',\n hidden: false,\n disabled: false,\n onClick: ''\n });\n };\n\n return {\n addOperationButton,\n saveColumnRender,\n columns,\n buttonList,\n editClickEvent,\n codeModalEditorRef,\n currentEditBtn,\n deleteOperationButton\n };\n }\n });\n</script>\n<style lang=\"less\" scoped>\n .add-btn {\n margin-top: 10px;\n text-align: center;\n }\n</style>\n"],"names":["_createVNode","_withCtx","_openBlock","_createBlock","_createCommentVNode","_createTextVNode","_normalizeClass","_toDisplayString","_createElementVNode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ActionButtonListDialog.vue.js","sources":["../../../../src/components/public/ActionButtonListDialog.vue"],"sourcesContent":["<template>\n <STable\n deepWatchDataSource\n :data-source=\"buttonList\"\n :pagination=\"false\"\n :resizable=\"true\"\n :columns=\"columns\"\n :row-key=\"record => record.name\"\n >\n <template #bodyCell=\"{ column, recordIndexs, record }\">\n <template v-if=\"column.dataIndex === 'label'\">\n <a-input\n v-model:value=\"buttonList[recordIndexs[0]].label\"\n :placeholder=\"i18nt('designer.setting.operationButtonLabel')\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'type'\">\n <a-select\n v-model:value=\"buttonList[recordIndexs[0]].type\"\n :placeholder=\"i18nt('designer.setting.operationButtonType')\"\n style=\"width: 100%\"\n >\n <a-select-option value=\"primary\">primary</a-select-option>\n <a-select-option value=\"ghost\">ghost</a-select-option>\n <a-select-option value=\"dashed\">dashed</a-select-option>\n <a-select-option value=\"text\">text</a-select-option>\n <a-select-option value=\"link\">link</a-select-option>\n <a-select-option value=\"default\">default</a-select-option>\n </a-select>\n </template>\n <template v-if=\"column.dataIndex === 'size'\">\n <a-select\n v-model:value=\"buttonList[recordIndexs[0]].size\"\n :placeholder=\"i18nt('designer.setting.size')\"\n style=\"width: 100%\"\n >\n <a-select-option value=\"default\">default</a-select-option>\n <a-select-option value=\"small\">small</a-select-option>\n <a-select-option value=\"large\">large</a-select-option>\n </a-select>\n </template>\n <template v-if=\"column.dataIndex === 'icon'\">\n <a-input\n v-model:value=\"buttonList[recordIndexs[0]].icon\"\n :placeholder=\"i18nt('designer.setting.operationButtonLabel')\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'danger'\">\n <a-switch\n :checkedValue=\"1\"\n :unCheckedValue=\"0\"\n v-model:checked=\"buttonList[recordIndexs[0]].danger\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'onHidden'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onHidden }]\"\n @click=\"editClickEvent('onHidden', record, recordIndexs)\"\n size=\"small\"\n >\n {{ i18nt('designer.setting.operationButtonHidden') }}\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'onDisabled'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onDisabled }]\"\n @click=\"editClickEvent('onDisabled', record, recordIndexs)\"\n size=\"small\"\n >\n {{ i18nt('designer.setting.operationButtonDisabled') }}\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'onClick'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onClick }]\"\n @click=\"editClickEvent('onClick', record, recordIndexs)\"\n size=\"small\"\n >\n 点击事件\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'action'\">\n <a-button type=\"link\" @click=\"deleteOperationButton(index)\" size=\"small\">\n 删除\n </a-button>\n </template>\n </template>\n </STable>\n <div class=\"add-btn\">\n <a-button type=\"primary\" size=\"default\" @click=\"addOperationButton\">\n {{ i18nt('designer.setting.addOperationButton') }}\n </a-button>\n </div>\n\n <CodeModalEditor\n ref=\"codeModalEditorRef\"\n @save=\"saveColumnRender\"\n :event-header=\"`${currentEditBtn}(${parmas}){`\"\n />\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, getCurrentInstance, ref, watch, watchEffect } from 'vue';\n import i18n, { useI18n } from '@/utils/i18n';\n import CodeModalEditor from '@/components/code-editor/code-modal-editor.vue';\n import { generateId } from '@/utils/util';\n export default defineComponent({\n name: 'ActionButtonList',\n props: {\n parmas: {\n type: String,\n default: ''\n },\n data: {\n type: Array,\n required: true\n }\n },\n components: { CodeModalEditor },\n mixins: [i18n],\n emits: ['update:data'],\n setup(props, { emit }) {\n const { i18nt } = useI18n();\n const currentEditBtn = ref();\n const codeModalEditorRef = ref(null);\n const currentRecordIndexs = ref();\n const columns = [\n {\n dataIndex: 'label',\n title: i18nt('designer.setting.operationButtonLabel'),\n width: 60\n },\n {\n dataIndex: 'type',\n title: i18nt('designer.setting.operationButtonType'),\n width: 120\n },\n {\n dataIndex: 'size',\n title: i18nt('designer.setting.operationButtonType'),\n width: 80\n },\n {\n dataIndex: 'danger',\n title: i18nt('designer.setting.danger'),\n width: 120\n },\n {\n dataIndex: 'icon',\n title: i18nt('designer.setting.buttonIcon'),\n width: 120\n },\n {\n dataIndex: 'onHidden',\n title: i18nt('designer.setting.operationButtonHidden'),\n width: 100\n },\n {\n dataIndex: 'onDisabled',\n title: i18nt('designer.setting.operationButtonDisabled'),\n width: 100\n },\n { dataIndex: 'onClick', title: '点击事件', width: 100 },\n { dataIndex: 'action', title: '操作', width: 80 }\n ];\n\n const buttonList = computed(() => props.data as any[]);\n\n watch(\n () => buttonList.value,\n () => {\n emit('update:data', buttonList.value);\n },\n {\n deep: true\n }\n );\n\n const deleteOperationButton = (index: number) => {\n console.log(index);\n buttonList.value.splice(index, 1);\n };\n\n const editClickEvent = (name, row, recordIndexs) => {\n currentRecordIndexs.value = recordIndexs[0];\n currentEditBtn.value = name;\n codeModalEditorRef.value?.open(row[name]);\n };\n\n const saveColumnRender = value => {\n console.log(buttonList.value, currentRecordIndexs.value, currentEditBtn.value);\n buttonList.value[currentRecordIndexs.value][currentEditBtn.value] = value;\n };\n\n const addOperationButton = () => {\n buttonList.value.push({\n name: 'btn' + generateId(),\n label: 'new btn',\n type: 'primary',\n size: 'small',\n shape: 'default',\n hidden: false,\n disabled: false,\n onClick: ''\n });\n };\n\n return {\n addOperationButton,\n saveColumnRender,\n columns,\n buttonList,\n editClickEvent,\n codeModalEditorRef,\n currentEditBtn,\n deleteOperationButton\n };\n }\n });\n</script>\n<style lang=\"less\" scoped>\n .add-btn {\n margin-top: 10px;\n text-align: center;\n }\n</style>\n"],"names":["_createVNode","_withCtx","_openBlock","_createBlock","_createCommentVNode","_createTextVNode","_normalizeClass","_toDisplayString","_createElementVNode"],"mappings":"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"}
|
|
@@ -72,8 +72,8 @@ const _sfc_main = defineComponent({
|
|
|
72
72
|
}
|
|
73
73
|
);
|
|
74
74
|
const deleteOperationButton = (index) => {
|
|
75
|
+
console.log(index);
|
|
75
76
|
buttonList.value.splice(index, 1);
|
|
76
|
-
emit("update:data", buttonList.value);
|
|
77
77
|
};
|
|
78
78
|
const editClickEvent = (name, row, recordIndexs) => {
|
|
79
79
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionButtonListDialog.vue2.js","sources":["../../../../src/components/public/ActionButtonListDialog.vue"],"sourcesContent":["<template>\n <STable\n deepWatchDataSource\n :data-source=\"buttonList\"\n :pagination=\"false\"\n :resizable=\"true\"\n :columns=\"columns\"\n :row-key=\"record => record.name\"\n >\n <template #bodyCell=\"{ column, recordIndexs, record }\">\n <template v-if=\"column.dataIndex === 'label'\">\n <a-input\n v-model:value=\"buttonList[recordIndexs[0]].label\"\n :placeholder=\"i18nt('designer.setting.operationButtonLabel')\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'type'\">\n <a-select\n v-model:value=\"buttonList[recordIndexs[0]].type\"\n :placeholder=\"i18nt('designer.setting.operationButtonType')\"\n style=\"width: 100%\"\n >\n <a-select-option value=\"primary\">primary</a-select-option>\n <a-select-option value=\"ghost\">ghost</a-select-option>\n <a-select-option value=\"dashed\">dashed</a-select-option>\n <a-select-option value=\"text\">text</a-select-option>\n <a-select-option value=\"link\">link</a-select-option>\n <a-select-option value=\"default\">default</a-select-option>\n </a-select>\n </template>\n <template v-if=\"column.dataIndex === 'size'\">\n <a-select\n v-model:value=\"buttonList[recordIndexs[0]].size\"\n :placeholder=\"i18nt('designer.setting.size')\"\n style=\"width: 100%\"\n >\n <a-select-option value=\"default\">default</a-select-option>\n <a-select-option value=\"small\">small</a-select-option>\n <a-select-option value=\"large\">large</a-select-option>\n </a-select>\n </template>\n <template v-if=\"column.dataIndex === 'icon'\">\n <a-input\n v-model:value=\"buttonList[recordIndexs[0]].icon\"\n :placeholder=\"i18nt('designer.setting.operationButtonLabel')\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'danger'\">\n <a-switch\n :checkedValue=\"1\"\n :unCheckedValue=\"0\"\n v-model:checked=\"buttonList[recordIndexs[0]].danger\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'onHidden'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onHidden }]\"\n @click=\"editClickEvent('onHidden', record, recordIndexs)\"\n size=\"small\"\n >\n {{ i18nt('designer.setting.operationButtonHidden') }}\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'onDisabled'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onDisabled }]\"\n @click=\"editClickEvent('onDisabled', record, recordIndexs)\"\n size=\"small\"\n >\n {{ i18nt('designer.setting.operationButtonDisabled') }}\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'onClick'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onClick }]\"\n @click=\"editClickEvent('onClick', record, recordIndexs)\"\n size=\"small\"\n >\n 点击事件\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'action'\">\n <a-button type=\"link\" @click=\"deleteOperationButton(index)\" size=\"small\">\n 删除\n </a-button>\n </template>\n </template>\n </STable>\n <div class=\"add-btn\">\n <a-button type=\"primary\" size=\"default\" @click=\"addOperationButton\">\n {{ i18nt('designer.setting.addOperationButton') }}\n </a-button>\n </div>\n\n <CodeModalEditor\n ref=\"codeModalEditorRef\"\n @save=\"saveColumnRender\"\n :event-header=\"`${currentEditBtn}(${parmas}){`\"\n />\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, getCurrentInstance, ref, watch, watchEffect } from 'vue';\n import i18n, { useI18n } from '@/utils/i18n';\n import CodeModalEditor from '@/components/code-editor/code-modal-editor.vue';\n import { generateId } from '@/utils/util';\n export default defineComponent({\n name: 'ActionButtonList',\n props: {\n parmas: {\n type: String,\n default: ''\n },\n data: {\n type: Array,\n required: true\n }\n },\n components: { CodeModalEditor },\n mixins: [i18n],\n emits: ['update:data'],\n setup(props, { emit }) {\n const { i18nt } = useI18n();\n const currentEditBtn = ref();\n const codeModalEditorRef = ref(null);\n const currentRecordIndexs = ref();\n const columns = [\n {\n dataIndex: 'label',\n title: i18nt('designer.setting.operationButtonLabel'),\n width: 60\n },\n {\n dataIndex: 'type',\n title: i18nt('designer.setting.operationButtonType'),\n width: 120\n },\n {\n dataIndex: 'size',\n title: i18nt('designer.setting.operationButtonType'),\n width: 80\n },\n {\n dataIndex: 'danger',\n title: i18nt('designer.setting.danger'),\n width: 120\n },\n {\n dataIndex: 'icon',\n title: i18nt('designer.setting.buttonIcon'),\n width: 120\n },\n {\n dataIndex: 'onHidden',\n title: i18nt('designer.setting.operationButtonHidden'),\n width: 100\n },\n {\n dataIndex: 'onDisabled',\n title: i18nt('designer.setting.operationButtonDisabled'),\n width: 100\n },\n { dataIndex: 'onClick', title: '点击事件', width: 100 },\n { dataIndex: 'action', title: '操作', width: 80 }\n ];\n\n const buttonList = computed(() => props.data as any[]);\n\n watch(\n () => buttonList.value,\n () => {\n emit('update:data', buttonList.value);\n },\n {\n deep: true\n }\n );\n\n const deleteOperationButton = (index: number) => {\n buttonList.value.splice(index, 1);\n emit('update:data', buttonList.value);\n };\n\n const editClickEvent = (name, row, recordIndexs) => {\n currentRecordIndexs.value = recordIndexs[0];\n currentEditBtn.value = name;\n codeModalEditorRef.value?.open(row[name]);\n };\n\n const saveColumnRender = value => {\n console.log(buttonList.value, currentRecordIndexs.value, currentEditBtn.value);\n buttonList.value[currentRecordIndexs.value][currentEditBtn.value] = value;\n };\n\n const addOperationButton = () => {\n buttonList.value.push({\n name: 'btn' + generateId(),\n label: 'new btn',\n type: 'primary',\n size: 'small',\n shape: 'default',\n hidden: false,\n disabled: false,\n onClick: ''\n });\n };\n\n return {\n addOperationButton,\n saveColumnRender,\n columns,\n buttonList,\n editClickEvent,\n codeModalEditorRef,\n currentEditBtn,\n deleteOperationButton\n };\n }\n });\n</script>\n<style lang=\"less\" scoped>\n .add-btn {\n margin-top: 10px;\n text-align: center;\n }\n</style>\n"],"names":[],"mappings":";;;;AA0GI,MAAA,YAAe,gBAAgB;AAAA,EAC3B,MAAM;AAAA,EACN,OAAO;AAAA,IACH,QAAQ;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACb;AAAA,IACA,MAAM;AAAA,MACF,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,EAElB;AAAA,EACA,YAAY,EAAE,gBAAgB;AAAA,EAC9B,QAAQ,CAAC,IAAI;AAAA,EACb,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAO,EAAE,QAAQ;AACb,UAAA,EAAE,MAAM,IAAI,QAAQ;AAC1B,UAAM,iBAAiB,IAAI;AACrB,UAAA,qBAAqB,IAAI,IAAI;AACnC,UAAM,sBAAsB,IAAI;AAChC,UAAM,UAAU;AAAA,MACZ;AAAA,QACI,WAAW;AAAA,QACX,OAAO,MAAM,uCAAuC;AAAA,QACpD,OAAO;AAAA,MACX;AAAA,MACA;AAAA,QACI,WAAW;AAAA,QACX,OAAO,MAAM,sCAAsC;AAAA,QACnD,OAAO;AAAA,MACX;AAAA,MACA;AAAA,QACI,WAAW;AAAA,QACX,OAAO,MAAM,sCAAsC;AAAA,QACnD,OAAO;AAAA,MACX;AAAA,MACA;AAAA,QACI,WAAW;AAAA,QACX,OAAO,MAAM,yBAAyB;AAAA,QACtC,OAAO;AAAA,MACX;AAAA,MACA;AAAA,QACI,WAAW;AAAA,QACX,OAAO,MAAM,6BAA6B;AAAA,QAC1C,OAAO;AAAA,MACX;AAAA,MACA;AAAA,QACI,WAAW;AAAA,QACX,OAAO,MAAM,wCAAwC;AAAA,QACrD,OAAO;AAAA,MACX;AAAA,MACA;AAAA,QACI,WAAW;AAAA,QACX,OAAO,MAAM,0CAA0C;AAAA,QACvD,OAAO;AAAA,MACX;AAAA,MACA,EAAE,WAAW,WAAW,OAAO,QAAQ,OAAO,IAAI;AAAA,MAClD,EAAE,WAAW,UAAU,OAAO,MAAM,OAAO,GAAG;AAAA,IAClD;AAEA,UAAM,aAAa,SAAS,MAAM,MAAM,IAAa;AAErD;AAAA,MACI,MAAM,WAAW;AAAA,MACjB,MAAM;AACG,aAAA,eAAe,WAAW,KAAK;AAAA,MACxC;AAAA,MACA;AAAA,QACI,MAAM;AAAA,MAAA;AAAA,IAEd;AAEM,UAAA,wBAAwB,CAAC,UAAkB;AAClC,iBAAA,MAAM,OAAO,OAAO,CAAC;AAC3B,WAAA,eAAe,WAAW,KAAK;AAAA,IACxC;AAEA,UAAM,iBAAiB,CAAC,MAAM,KAAK,iBAAiB;;AAC5B,0BAAA,QAAQ,aAAa,CAAC;AAC1C,qBAAe,QAAQ;AACvB,+BAAmB,UAAnB,mBAA0B,KAAK,IAAI,IAAI;AAAA,IAC3C;AAEA,UAAM,mBAAmB,CAAS,UAAA;AAC9B,cAAQ,IAAI,WAAW,OAAO,oBAAoB,OAAO,eAAe,KAAK;AAC7E,iBAAW,MAAM,oBAAoB,KAAK,EAAE,eAAe,KAAK,IAAI;AAAA,IACxE;AAEA,UAAM,qBAAqB,MAAM;AAC7B,iBAAW,MAAM,KAAK;AAAA,QAClB,MAAM,QAAQ,WAAW;AAAA,QACzB,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,SAAS;AAAA,MAAA,CACZ;AAAA,IACL;AAEO,WAAA;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EAAA;AAER,CAAC;"}
|
|
1
|
+
{"version":3,"file":"ActionButtonListDialog.vue2.js","sources":["../../../../src/components/public/ActionButtonListDialog.vue"],"sourcesContent":["<template>\n <STable\n deepWatchDataSource\n :data-source=\"buttonList\"\n :pagination=\"false\"\n :resizable=\"true\"\n :columns=\"columns\"\n :row-key=\"record => record.name\"\n >\n <template #bodyCell=\"{ column, recordIndexs, record }\">\n <template v-if=\"column.dataIndex === 'label'\">\n <a-input\n v-model:value=\"buttonList[recordIndexs[0]].label\"\n :placeholder=\"i18nt('designer.setting.operationButtonLabel')\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'type'\">\n <a-select\n v-model:value=\"buttonList[recordIndexs[0]].type\"\n :placeholder=\"i18nt('designer.setting.operationButtonType')\"\n style=\"width: 100%\"\n >\n <a-select-option value=\"primary\">primary</a-select-option>\n <a-select-option value=\"ghost\">ghost</a-select-option>\n <a-select-option value=\"dashed\">dashed</a-select-option>\n <a-select-option value=\"text\">text</a-select-option>\n <a-select-option value=\"link\">link</a-select-option>\n <a-select-option value=\"default\">default</a-select-option>\n </a-select>\n </template>\n <template v-if=\"column.dataIndex === 'size'\">\n <a-select\n v-model:value=\"buttonList[recordIndexs[0]].size\"\n :placeholder=\"i18nt('designer.setting.size')\"\n style=\"width: 100%\"\n >\n <a-select-option value=\"default\">default</a-select-option>\n <a-select-option value=\"small\">small</a-select-option>\n <a-select-option value=\"large\">large</a-select-option>\n </a-select>\n </template>\n <template v-if=\"column.dataIndex === 'icon'\">\n <a-input\n v-model:value=\"buttonList[recordIndexs[0]].icon\"\n :placeholder=\"i18nt('designer.setting.operationButtonLabel')\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'danger'\">\n <a-switch\n :checkedValue=\"1\"\n :unCheckedValue=\"0\"\n v-model:checked=\"buttonList[recordIndexs[0]].danger\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'onHidden'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onHidden }]\"\n @click=\"editClickEvent('onHidden', record, recordIndexs)\"\n size=\"small\"\n >\n {{ i18nt('designer.setting.operationButtonHidden') }}\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'onDisabled'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onDisabled }]\"\n @click=\"editClickEvent('onDisabled', record, recordIndexs)\"\n size=\"small\"\n >\n {{ i18nt('designer.setting.operationButtonDisabled') }}\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'onClick'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onClick }]\"\n @click=\"editClickEvent('onClick', record, recordIndexs)\"\n size=\"small\"\n >\n 点击事件\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'action'\">\n <a-button type=\"link\" @click=\"deleteOperationButton(index)\" size=\"small\">\n 删除\n </a-button>\n </template>\n </template>\n </STable>\n <div class=\"add-btn\">\n <a-button type=\"primary\" size=\"default\" @click=\"addOperationButton\">\n {{ i18nt('designer.setting.addOperationButton') }}\n </a-button>\n </div>\n\n <CodeModalEditor\n ref=\"codeModalEditorRef\"\n @save=\"saveColumnRender\"\n :event-header=\"`${currentEditBtn}(${parmas}){`\"\n />\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, getCurrentInstance, ref, watch, watchEffect } from 'vue';\n import i18n, { useI18n } from '@/utils/i18n';\n import CodeModalEditor from '@/components/code-editor/code-modal-editor.vue';\n import { generateId } from '@/utils/util';\n export default defineComponent({\n name: 'ActionButtonList',\n props: {\n parmas: {\n type: String,\n default: ''\n },\n data: {\n type: Array,\n required: true\n }\n },\n components: { CodeModalEditor },\n mixins: [i18n],\n emits: ['update:data'],\n setup(props, { emit }) {\n const { i18nt } = useI18n();\n const currentEditBtn = ref();\n const codeModalEditorRef = ref(null);\n const currentRecordIndexs = ref();\n const columns = [\n {\n dataIndex: 'label',\n title: i18nt('designer.setting.operationButtonLabel'),\n width: 60\n },\n {\n dataIndex: 'type',\n title: i18nt('designer.setting.operationButtonType'),\n width: 120\n },\n {\n dataIndex: 'size',\n title: i18nt('designer.setting.operationButtonType'),\n width: 80\n },\n {\n dataIndex: 'danger',\n title: i18nt('designer.setting.danger'),\n width: 120\n },\n {\n dataIndex: 'icon',\n title: i18nt('designer.setting.buttonIcon'),\n width: 120\n },\n {\n dataIndex: 'onHidden',\n title: i18nt('designer.setting.operationButtonHidden'),\n width: 100\n },\n {\n dataIndex: 'onDisabled',\n title: i18nt('designer.setting.operationButtonDisabled'),\n width: 100\n },\n { dataIndex: 'onClick', title: '点击事件', width: 100 },\n { dataIndex: 'action', title: '操作', width: 80 }\n ];\n\n const buttonList = computed(() => props.data as any[]);\n\n watch(\n () => buttonList.value,\n () => {\n emit('update:data', buttonList.value);\n },\n {\n deep: true\n }\n );\n\n const deleteOperationButton = (index: number) => {\n console.log(index);\n buttonList.value.splice(index, 1);\n };\n\n const editClickEvent = (name, row, recordIndexs) => {\n currentRecordIndexs.value = recordIndexs[0];\n currentEditBtn.value = name;\n codeModalEditorRef.value?.open(row[name]);\n };\n\n const saveColumnRender = value => {\n console.log(buttonList.value, currentRecordIndexs.value, currentEditBtn.value);\n buttonList.value[currentRecordIndexs.value][currentEditBtn.value] = value;\n };\n\n const addOperationButton = () => {\n buttonList.value.push({\n name: 'btn' + generateId(),\n label: 'new btn',\n type: 'primary',\n size: 'small',\n shape: 'default',\n hidden: false,\n disabled: false,\n onClick: ''\n });\n };\n\n return {\n addOperationButton,\n saveColumnRender,\n columns,\n buttonList,\n editClickEvent,\n codeModalEditorRef,\n currentEditBtn,\n deleteOperationButton\n };\n }\n });\n</script>\n<style lang=\"less\" scoped>\n .add-btn {\n margin-top: 10px;\n text-align: center;\n }\n</style>\n"],"names":[],"mappings":";;;;AA0GI,MAAA,YAAe,gBAAgB;AAAA,EAC3B,MAAM;AAAA,EACN,OAAO;AAAA,IACH,QAAQ;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACb;AAAA,IACA,MAAM;AAAA,MACF,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,EAElB;AAAA,EACA,YAAY,EAAE,gBAAgB;AAAA,EAC9B,QAAQ,CAAC,IAAI;AAAA,EACb,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAO,EAAE,QAAQ;AACb,UAAA,EAAE,MAAM,IAAI,QAAQ;AAC1B,UAAM,iBAAiB,IAAI;AACrB,UAAA,qBAAqB,IAAI,IAAI;AACnC,UAAM,sBAAsB,IAAI;AAChC,UAAM,UAAU;AAAA,MACZ;AAAA,QACI,WAAW;AAAA,QACX,OAAO,MAAM,uCAAuC;AAAA,QACpD,OAAO;AAAA,MACX;AAAA,MACA;AAAA,QACI,WAAW;AAAA,QACX,OAAO,MAAM,sCAAsC;AAAA,QACnD,OAAO;AAAA,MACX;AAAA,MACA;AAAA,QACI,WAAW;AAAA,QACX,OAAO,MAAM,sCAAsC;AAAA,QACnD,OAAO;AAAA,MACX;AAAA,MACA;AAAA,QACI,WAAW;AAAA,QACX,OAAO,MAAM,yBAAyB;AAAA,QACtC,OAAO;AAAA,MACX;AAAA,MACA;AAAA,QACI,WAAW;AAAA,QACX,OAAO,MAAM,6BAA6B;AAAA,QAC1C,OAAO;AAAA,MACX;AAAA,MACA;AAAA,QACI,WAAW;AAAA,QACX,OAAO,MAAM,wCAAwC;AAAA,QACrD,OAAO;AAAA,MACX;AAAA,MACA;AAAA,QACI,WAAW;AAAA,QACX,OAAO,MAAM,0CAA0C;AAAA,QACvD,OAAO;AAAA,MACX;AAAA,MACA,EAAE,WAAW,WAAW,OAAO,QAAQ,OAAO,IAAI;AAAA,MAClD,EAAE,WAAW,UAAU,OAAO,MAAM,OAAO,GAAG;AAAA,IAClD;AAEA,UAAM,aAAa,SAAS,MAAM,MAAM,IAAa;AAErD;AAAA,MACI,MAAM,WAAW;AAAA,MACjB,MAAM;AACG,aAAA,eAAe,WAAW,KAAK;AAAA,MACxC;AAAA,MACA;AAAA,QACI,MAAM;AAAA,MAAA;AAAA,IAEd;AAEM,UAAA,wBAAwB,CAAC,UAAkB;AAC7C,cAAQ,IAAI,KAAK;AACN,iBAAA,MAAM,OAAO,OAAO,CAAC;AAAA,IACpC;AAEA,UAAM,iBAAiB,CAAC,MAAM,KAAK,iBAAiB;;AAC5B,0BAAA,QAAQ,aAAa,CAAC;AAC1C,qBAAe,QAAQ;AACvB,+BAAmB,UAAnB,mBAA0B,KAAK,IAAI,IAAI;AAAA,IAC3C;AAEA,UAAM,mBAAmB,CAAS,UAAA;AAC9B,cAAQ,IAAI,WAAW,OAAO,oBAAoB,OAAO,eAAe,KAAK;AAC7E,iBAAW,MAAM,oBAAoB,KAAK,EAAE,eAAe,KAAK,IAAI;AAAA,IACxE;AAEA,UAAM,qBAAqB,MAAM;AAC7B,iBAAW,MAAM,KAAK;AAAA,QAClB,MAAM,QAAQ,WAAW;AAAA,QACzB,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,SAAS;AAAA,MAAA,CACZ;AAAA,IACL;AAEO,WAAA;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EAAA;AAER,CAAC;"}
|
|
@@ -37,7 +37,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
37
37
|
})
|
|
38
38
|
], 6);
|
|
39
39
|
}
|
|
40
|
-
const ActionButtonListRender = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
40
|
+
const ActionButtonListRender = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-e0104a64"]]);
|
|
41
41
|
export {
|
|
42
42
|
ActionButtonListRender as default
|
|
43
43
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionButtonListRender.vue.js","sources":["../../../../src/components/public/ActionButtonListRender.vue"],"sourcesContent":["<template>\n <div\n ref=\"fieldEditor\"\n :class=\"['button-list-container', ...customClass]\"\n :style=\"containerStyle\"\n >\n <a-space :size=\"8\">\n <a-button\n v-for=\"item in visibleButtons\"\n :key=\"item.key\"\n :type=\"item.type\"\n :danger=\"item.danger\"\n :disabled=\"handleDisabled(item)\"\n @click=\"handleClick(item)\"\n >\n <template v-if=\"item.icon\">\n <SvgIcon :icon-class=\"item.icon\" class=\"button-icon\" />\n </template>\n {{ item.label }}\n </a-button>\n </a-space>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, computed, PropType } from 'vue';\n import { executeFunction } from '@/utils/executeFunction';\n import SvgIcon from '@/components/svg-icon';\n import type { ActionButton } from '@/types/button';\n\n export default defineComponent({\n name: 'ActionButtonListRender',\n components: { SvgIcon },\n props: {\n scope: {\n type: Object,\n default: () => {}\n },\n ctx: {\n type: Object\n },\n buttonList: {\n type: Array as PropType<ActionButton[]>,\n default: () => []\n },\n customClass: {\n type: Array as PropType<string[]>,\n default: () => []\n },\n flex: {\n type: String,\n default: 'center',\n validator: (value: string) =>\n ['start', 'center', 'end', 'space-between'].includes(value)\n }\n },\n setup(props) {\n const containerStyle = computed(() => ({\n '--flex': props.flex\n }));\n\n const visibleButtons = computed(() =>\n props.buttonList.filter(item => !handleHidden(item))\n );\n\n const handleClick = async (item: ActionButton) => {\n if (!item.onClick) return;\n\n try {\n await executeFunction({\n functionBody: item.onClick,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button click handler error:', error);\n }\n };\n\n const handleDisabled = (item: ActionButton): boolean => {\n if (!item.onDisabled) return false;\n\n try {\n return executeFunction({\n functionBody: item.onDisabled,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button disabled handler error:', error);\n return false;\n }\n };\n\n const handleHidden = (item: ActionButton): boolean => {\n if (!item.onHidden) return false;\n\n try {\n return executeFunction({\n functionBody: item.onHidden,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button hidden handler error:', error);\n return false;\n }\n };\n\n return {\n containerStyle,\n visibleButtons,\n handleClick,\n handleDisabled\n };\n }\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .button-list-container {\n flex: 1;\n display: flex;\n justify-content: var(--flex);\n\n .button-icon {\n margin-right: 4px;\n }\n }\n</style>\n"],"names":["_createElementBlock","_normalizeClass","_normalizeStyle","_createVNode","_withCtx","_openBlock","_Fragment","_renderList","_createBlock","_createCommentVNode","_toDisplayString"],"mappings":";;;;;;;;sBACIA,mBAoBM,OAAA;AAAA,IAnBF,KAAI;AAAA,IACH,OAAKC,4CAA+B,KAAW,WAAA,CAAA;AAAA,IAC/C,OAAKC,eAAE,KAAc,cAAA;AAAA,EAAA,GAAA;AAAA,IAEtBC,YAcU,oBAAA,EAdA,MAAM,EAAC,GAAA;AAAA,MAAA,SAAAC,QAET,MAA8B;AAAA,SAAAC,UAAA,IAAA,GADlCL,mBAYWM,UAAA,MAAAC,WAXQ,KAAc,gBAAA,CAAtB,SAAI;8BADfC,YAYW,qBAAA;AAAA,YAVN,KAAK,KAAK;AAAA,YACV,MAAM,KAAK;AAAA,YACX,QAAQ,KAAK;AAAA,YACb,UAAU,oBAAe,IAAI;AAAA,YAC7B,SAAK,CAAE,WAAA,KAAA,YAAY,IAAI;AAAA,UAAA,GAAA;AAAA,6BAExB,MAEW;AAAA,cAFK,KAAK,qBACjBA,YAAuD,oBAAA;AAAA,gBAAA,KAAA;AAAA,gBAA7C,cAAY,KAAK;AAAA,gBAAM,OAAM;AAAA,cAAA,GAAA,MAAA,GAAA,CAAA,YAAA,CAAA,KAAAC,mBAAA,IAAA,IAAA;AAAA,8BAChC,MACXC,gBAAG,KAAK,KAAK,GAAA,CAAA;AAAA,YAAA,CAAA;AAAA;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"ActionButtonListRender.vue.js","sources":["../../../../src/components/public/ActionButtonListRender.vue"],"sourcesContent":["<template>\n <div\n ref=\"fieldEditor\"\n :class=\"['button-list-container', ...customClass]\"\n :style=\"containerStyle\"\n >\n <a-space :size=\"8\">\n <a-button\n v-for=\"item in visibleButtons\"\n :key=\"item.key\"\n :type=\"item.type\"\n :danger=\"item.danger\"\n :disabled=\"handleDisabled(item)\"\n @click=\"handleClick(item)\"\n >\n <template v-if=\"item.icon\">\n <SvgIcon :icon-class=\"item.icon\" class=\"button-icon\" />\n </template>\n {{ item.label }}\n </a-button>\n </a-space>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, computed, PropType } from 'vue';\n import { executeFunction } from '@/utils/executeFunction';\n import SvgIcon from '@/components/svg-icon/index.vue';\n import type { ActionButton } from '@/types/button';\n\n export default defineComponent({\n name: 'ActionButtonListRender',\n components: { SvgIcon },\n props: {\n scope: {\n type: Object,\n default: () => {}\n },\n ctx: {\n type: Object\n },\n buttonList: {\n type: Array as PropType<ActionButton[]>,\n default: () => []\n },\n customClass: {\n type: Array as PropType<string[]>,\n default: () => []\n },\n flex: {\n type: String,\n default: 'center',\n validator: (value: string) =>\n ['start', 'center', 'end', 'space-between'].includes(value)\n }\n },\n setup(props) {\n const containerStyle = computed(() => ({\n '--flex': props.flex\n }));\n\n const visibleButtons = computed(() =>\n props.buttonList.filter(item => !handleHidden(item))\n );\n\n const handleClick = async (item: ActionButton) => {\n if (!item.onClick) return;\n\n try {\n await executeFunction({\n functionBody: item.onClick,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button click handler error:', error);\n }\n };\n\n const handleDisabled = (item: ActionButton): boolean => {\n if (!item.onDisabled) return false;\n\n try {\n return executeFunction({\n functionBody: item.onDisabled,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button disabled handler error:', error);\n return false;\n }\n };\n\n const handleHidden = (item: ActionButton): boolean => {\n if (!item.onHidden) return false;\n\n try {\n return executeFunction({\n functionBody: item.onHidden,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button hidden handler error:', error);\n return false;\n }\n };\n\n return {\n containerStyle,\n visibleButtons,\n handleClick,\n handleDisabled\n };\n }\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .button-list-container {\n flex: 1;\n display: flex;\n justify-content: var(--flex);\n\n .button-icon {\n margin-right: 4px;\n }\n }\n</style>\n"],"names":["_createElementBlock","_normalizeClass","_normalizeStyle","_createVNode","_withCtx","_openBlock","_Fragment","_renderList","_createBlock","_createCommentVNode","_toDisplayString"],"mappings":";;;;;;;;sBACIA,mBAoBM,OAAA;AAAA,IAnBF,KAAI;AAAA,IACH,OAAKC,4CAA+B,KAAW,WAAA,CAAA;AAAA,IAC/C,OAAKC,eAAE,KAAc,cAAA;AAAA,EAAA,GAAA;AAAA,IAEtBC,YAcU,oBAAA,EAdA,MAAM,EAAC,GAAA;AAAA,MAAA,SAAAC,QAET,MAA8B;AAAA,SAAAC,UAAA,IAAA,GADlCL,mBAYWM,UAAA,MAAAC,WAXQ,KAAc,gBAAA,CAAtB,SAAI;8BADfC,YAYW,qBAAA;AAAA,YAVN,KAAK,KAAK;AAAA,YACV,MAAM,KAAK;AAAA,YACX,QAAQ,KAAK;AAAA,YACb,UAAU,oBAAe,IAAI;AAAA,YAC7B,SAAK,CAAE,WAAA,KAAA,YAAY,IAAI;AAAA,UAAA,GAAA;AAAA,6BAExB,MAEW;AAAA,cAFK,KAAK,qBACjBA,YAAuD,oBAAA;AAAA,gBAAA,KAAA;AAAA,gBAA7C,cAAY,KAAK;AAAA,gBAAM,OAAM;AAAA,cAAA,GAAA,MAAA,GAAA,CAAA,YAAA,CAAA,KAAAC,mBAAA,IAAA,IAAA;AAAA,8BAChC,MACXC,gBAAG,KAAK,KAAK,GAAA,CAAA;AAAA,YAAA,CAAA;AAAA;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionButtonListRender.vue2.js","sources":["../../../../src/components/public/ActionButtonListRender.vue"],"sourcesContent":["<template>\n <div\n ref=\"fieldEditor\"\n :class=\"['button-list-container', ...customClass]\"\n :style=\"containerStyle\"\n >\n <a-space :size=\"8\">\n <a-button\n v-for=\"item in visibleButtons\"\n :key=\"item.key\"\n :type=\"item.type\"\n :danger=\"item.danger\"\n :disabled=\"handleDisabled(item)\"\n @click=\"handleClick(item)\"\n >\n <template v-if=\"item.icon\">\n <SvgIcon :icon-class=\"item.icon\" class=\"button-icon\" />\n </template>\n {{ item.label }}\n </a-button>\n </a-space>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, computed, PropType } from 'vue';\n import { executeFunction } from '@/utils/executeFunction';\n import SvgIcon from '@/components/svg-icon';\n import type { ActionButton } from '@/types/button';\n\n export default defineComponent({\n name: 'ActionButtonListRender',\n components: { SvgIcon },\n props: {\n scope: {\n type: Object,\n default: () => {}\n },\n ctx: {\n type: Object\n },\n buttonList: {\n type: Array as PropType<ActionButton[]>,\n default: () => []\n },\n customClass: {\n type: Array as PropType<string[]>,\n default: () => []\n },\n flex: {\n type: String,\n default: 'center',\n validator: (value: string) =>\n ['start', 'center', 'end', 'space-between'].includes(value)\n }\n },\n setup(props) {\n const containerStyle = computed(() => ({\n '--flex': props.flex\n }));\n\n const visibleButtons = computed(() =>\n props.buttonList.filter(item => !handleHidden(item))\n );\n\n const handleClick = async (item: ActionButton) => {\n if (!item.onClick) return;\n\n try {\n await executeFunction({\n functionBody: item.onClick,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button click handler error:', error);\n }\n };\n\n const handleDisabled = (item: ActionButton): boolean => {\n if (!item.onDisabled) return false;\n\n try {\n return executeFunction({\n functionBody: item.onDisabled,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button disabled handler error:', error);\n return false;\n }\n };\n\n const handleHidden = (item: ActionButton): boolean => {\n if (!item.onHidden) return false;\n\n try {\n return executeFunction({\n functionBody: item.onHidden,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button hidden handler error:', error);\n return false;\n }\n };\n\n return {\n containerStyle,\n visibleButtons,\n handleClick,\n handleDisabled\n };\n }\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .button-list-container {\n flex: 1;\n display: flex;\n justify-content: var(--flex);\n\n .button-icon {\n margin-right: 4px;\n }\n }\n</style>\n"],"names":[],"mappings":";;;AA8BI,MAAA,YAAe,gBAAgB;AAAA,EAC3B,MAAM;AAAA,EACN,YAAY,EAAE,QAAQ;AAAA,EACtB,OAAO;AAAA,IACH,OAAO;AAAA,MACH,MAAM;AAAA,MACN,SAAS,MAAM;AAAA,MAAA;AAAA,IACnB;AAAA,IACA,KAAK;AAAA,MACD,MAAM;AAAA,IACV;AAAA,IACA,YAAY;AAAA,MACR,MAAM;AAAA,MACN,SAAS,MAAM,CAAA;AAAA,IACnB;AAAA,IACA,aAAa;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAM,CAAA;AAAA,IACnB;AAAA,IACA,MAAM;AAAA,MACF,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAC,UACR,CAAC,SAAS,UAAU,OAAO,eAAe,EAAE,SAAS,KAAK;AAAA,IAAA;AAAA,EAEtE;AAAA,EACA,MAAM,OAAO;AACH,UAAA,iBAAiB,SAAS,OAAO;AAAA,MACnC,UAAU,MAAM;AAAA,IAAA,EAClB;AAEF,UAAM,iBAAiB;AAAA,MAAS,MAC5B,MAAM,WAAW,OAAO,UAAQ,CAAC,aAAa,IAAI,CAAC;AAAA,IACvD;AAEM,UAAA,cAAc,OAAO,SAAuB;AAC1C,UAAA,CAAC,KAAK,QAAS;AAEf,UAAA;AACA,cAAM,gBAAgB;AAAA,UAClB,cAAc,KAAK;AAAA,UACnB,SAAS,MAAM;AAAA,UACf,QAAQ,MAAM;AAAA,QAAA,CACjB;AAAA,eACI,OAAO;AACJ,gBAAA,MAAM,+BAA+B,KAAK;AAAA,MAAA;AAAA,IAE1D;AAEM,UAAA,iBAAiB,CAAC,SAAgC;AAChD,UAAA,CAAC,KAAK,WAAmB,QAAA;AAEzB,UAAA;AACA,eAAO,gBAAgB;AAAA,UACnB,cAAc,KAAK;AAAA,UACnB,SAAS,MAAM;AAAA,UACf,QAAQ,MAAM;AAAA,QAAA,CACjB;AAAA,eACI,OAAO;AACJ,gBAAA,MAAM,kCAAkC,KAAK;AAC9C,eAAA;AAAA,MAAA;AAAA,IAEf;AAEM,UAAA,eAAe,CAAC,SAAgC;AAC9C,UAAA,CAAC,KAAK,SAAiB,QAAA;AAEvB,UAAA;AACA,eAAO,gBAAgB;AAAA,UACnB,cAAc,KAAK;AAAA,UACnB,SAAS,MAAM;AAAA,UACf,QAAQ,MAAM;AAAA,QAAA,CACjB;AAAA,eACI,OAAO;AACJ,gBAAA,MAAM,gCAAgC,KAAK;AAC5C,eAAA;AAAA,MAAA;AAAA,IAEf;AAEO,WAAA;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EAAA;AAER,CAAC;"}
|
|
1
|
+
{"version":3,"file":"ActionButtonListRender.vue2.js","sources":["../../../../src/components/public/ActionButtonListRender.vue"],"sourcesContent":["<template>\n <div\n ref=\"fieldEditor\"\n :class=\"['button-list-container', ...customClass]\"\n :style=\"containerStyle\"\n >\n <a-space :size=\"8\">\n <a-button\n v-for=\"item in visibleButtons\"\n :key=\"item.key\"\n :type=\"item.type\"\n :danger=\"item.danger\"\n :disabled=\"handleDisabled(item)\"\n @click=\"handleClick(item)\"\n >\n <template v-if=\"item.icon\">\n <SvgIcon :icon-class=\"item.icon\" class=\"button-icon\" />\n </template>\n {{ item.label }}\n </a-button>\n </a-space>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, computed, PropType } from 'vue';\n import { executeFunction } from '@/utils/executeFunction';\n import SvgIcon from '@/components/svg-icon/index.vue';\n import type { ActionButton } from '@/types/button';\n\n export default defineComponent({\n name: 'ActionButtonListRender',\n components: { SvgIcon },\n props: {\n scope: {\n type: Object,\n default: () => {}\n },\n ctx: {\n type: Object\n },\n buttonList: {\n type: Array as PropType<ActionButton[]>,\n default: () => []\n },\n customClass: {\n type: Array as PropType<string[]>,\n default: () => []\n },\n flex: {\n type: String,\n default: 'center',\n validator: (value: string) =>\n ['start', 'center', 'end', 'space-between'].includes(value)\n }\n },\n setup(props) {\n const containerStyle = computed(() => ({\n '--flex': props.flex\n }));\n\n const visibleButtons = computed(() =>\n props.buttonList.filter(item => !handleHidden(item))\n );\n\n const handleClick = async (item: ActionButton) => {\n if (!item.onClick) return;\n\n try {\n await executeFunction({\n functionBody: item.onClick,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button click handler error:', error);\n }\n };\n\n const handleDisabled = (item: ActionButton): boolean => {\n if (!item.onDisabled) return false;\n\n try {\n return executeFunction({\n functionBody: item.onDisabled,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button disabled handler error:', error);\n return false;\n }\n };\n\n const handleHidden = (item: ActionButton): boolean => {\n if (!item.onHidden) return false;\n\n try {\n return executeFunction({\n functionBody: item.onHidden,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button hidden handler error:', error);\n return false;\n }\n };\n\n return {\n containerStyle,\n visibleButtons,\n handleClick,\n handleDisabled\n };\n }\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .button-list-container {\n flex: 1;\n display: flex;\n justify-content: var(--flex);\n\n .button-icon {\n margin-right: 4px;\n }\n }\n</style>\n"],"names":[],"mappings":";;;AA8BI,MAAA,YAAe,gBAAgB;AAAA,EAC3B,MAAM;AAAA,EACN,YAAY,EAAE,QAAQ;AAAA,EACtB,OAAO;AAAA,IACH,OAAO;AAAA,MACH,MAAM;AAAA,MACN,SAAS,MAAM;AAAA,MAAA;AAAA,IACnB;AAAA,IACA,KAAK;AAAA,MACD,MAAM;AAAA,IACV;AAAA,IACA,YAAY;AAAA,MACR,MAAM;AAAA,MACN,SAAS,MAAM,CAAA;AAAA,IACnB;AAAA,IACA,aAAa;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAM,CAAA;AAAA,IACnB;AAAA,IACA,MAAM;AAAA,MACF,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAC,UACR,CAAC,SAAS,UAAU,OAAO,eAAe,EAAE,SAAS,KAAK;AAAA,IAAA;AAAA,EAEtE;AAAA,EACA,MAAM,OAAO;AACH,UAAA,iBAAiB,SAAS,OAAO;AAAA,MACnC,UAAU,MAAM;AAAA,IAAA,EAClB;AAEF,UAAM,iBAAiB;AAAA,MAAS,MAC5B,MAAM,WAAW,OAAO,UAAQ,CAAC,aAAa,IAAI,CAAC;AAAA,IACvD;AAEM,UAAA,cAAc,OAAO,SAAuB;AAC1C,UAAA,CAAC,KAAK,QAAS;AAEf,UAAA;AACA,cAAM,gBAAgB;AAAA,UAClB,cAAc,KAAK;AAAA,UACnB,SAAS,MAAM;AAAA,UACf,QAAQ,MAAM;AAAA,QAAA,CACjB;AAAA,eACI,OAAO;AACJ,gBAAA,MAAM,+BAA+B,KAAK;AAAA,MAAA;AAAA,IAE1D;AAEM,UAAA,iBAAiB,CAAC,SAAgC;AAChD,UAAA,CAAC,KAAK,WAAmB,QAAA;AAEzB,UAAA;AACA,eAAO,gBAAgB;AAAA,UACnB,cAAc,KAAK;AAAA,UACnB,SAAS,MAAM;AAAA,UACf,QAAQ,MAAM;AAAA,QAAA,CACjB;AAAA,eACI,OAAO;AACJ,gBAAA,MAAM,kCAAkC,KAAK;AAC9C,eAAA;AAAA,MAAA;AAAA,IAEf;AAEM,UAAA,eAAe,CAAC,SAAgC;AAC9C,UAAA,CAAC,KAAK,SAAiB,QAAA;AAEvB,UAAA;AACA,eAAO,gBAAgB;AAAA,UACnB,cAAc,KAAK;AAAA,UACnB,SAAS,MAAM;AAAA,UACf,QAAQ,MAAM;AAAA,QAAA,CACjB;AAAA,eACI,OAAO;AACJ,gBAAA,MAAM,gCAAgC,KAAK;AAC5C,eAAA;AAAA,MAAA;AAAA,IAEf;AAEO,WAAA;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EAAA;AAER,CAAC;"}
|
|
@@ -84,6 +84,10 @@ const useDataTableMixin = {
|
|
|
84
84
|
widgetSize() {
|
|
85
85
|
return this.widget.options.tableSize || "default";
|
|
86
86
|
},
|
|
87
|
+
lineHeight() {
|
|
88
|
+
console.log(this.widget.options.lineHeight);
|
|
89
|
+
return this.widget.options.lineHeight || 40;
|
|
90
|
+
},
|
|
87
91
|
fmtPagination() {
|
|
88
92
|
const {
|
|
89
93
|
showPagination
|
|
@@ -195,13 +199,14 @@ const useDataTableMixin = {
|
|
|
195
199
|
};
|
|
196
200
|
this.selectRow = {};
|
|
197
201
|
const val = isArray(list) ? list : [list];
|
|
198
|
-
this.widget.options.
|
|
202
|
+
this.getFormRef().setTableValue(this.widget.options.name, val);
|
|
199
203
|
},
|
|
200
204
|
setValue(list) {
|
|
201
205
|
console.log("list: ", list);
|
|
202
206
|
this.setDataSource(list);
|
|
203
207
|
},
|
|
204
208
|
setRowDataSource(scope, value) {
|
|
209
|
+
console.log(scope, value);
|
|
205
210
|
this.getFormRef().setTableRowDataValue(this.widget.options.name, scope, value);
|
|
206
211
|
},
|
|
207
212
|
getDataSource() {
|
|
@@ -214,14 +219,16 @@ const useDataTableMixin = {
|
|
|
214
219
|
if (!this.widget.options.dsEnabled) {
|
|
215
220
|
return;
|
|
216
221
|
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
222
|
+
setTimeout(async () => {
|
|
223
|
+
const ops = this.widget.options;
|
|
224
|
+
if (ops.dsEnabled && ops.http.url) {
|
|
225
|
+
this.loading = true;
|
|
226
|
+
const res = await fmtHttpParams.call(this, ops);
|
|
227
|
+
this.setPagination(res);
|
|
228
|
+
this.setDataSource(res.list);
|
|
229
|
+
this.loading = false;
|
|
230
|
+
}
|
|
231
|
+
}, 500);
|
|
225
232
|
},
|
|
226
233
|
handleCustomRow(record) {
|
|
227
234
|
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 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 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\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 this.widget.options.tableHeight || undefined;\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 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 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\n if (!colorRow) return '';\n return this.selectRow[rowKey] === record[rowKey] ? 'colorRowClassName' : '';\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 this.selectedRowInfo = { selectedRowKeys: [], selectedRows: [] };\n this.selectRow = {};\n const val = isArray(list) ? list : [list];\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.widget.options.dataSource;\n },\n getValue() {\n return this.getDataSource();\n },\n async loadDataTableDataSource() {\n if (!this.widget.options.dsEnabled) {\n return;\n }\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 },\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 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 // 处理列配置\n handleColumnItem(item) {\n const res = omit(item, ['customRender']);\n const customRenderFn = item.customRender;\n if (!customRenderFn) return item;\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 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":["data","selectedRowInfo","selectedRowKeys","selectedRows","selectRow","loading","components","RenderBodyCell","computed","columns","leftFixedColumns","optins","widget","options","showIndex","push","title","align","width","fixed","field","customRender","customRenderIndex","centerColumns","tableColumns","filter","item","show","map","handleColumnItem","rightFixedColumns","showButtonsColumn","operationButtons","buttonsColumnTitle","buttonsColumnWidth","scope","_createVNode","ActionButtonListRender","bodyCell","_columns","dataIndex","tableHeight","undefined","customClass","widgetSize","tableSize","fmtPagination","showPagination","pagination","showTotal","total","methods","isShowBodyCell","handleHidden","onHidden","hidden","onHiddenFn","Function","call","rowClassName","record","rowKey","colorRow","handleResizeColumn","w","col","newTableColumns","setTableColumns","disabledClick","hasRowSelection","rowSelection","isEmpty","getSelectedRowKeys","getSelectedRows","getTableColumns","list","delSelectRow","delKeys","TpfConfirm","content","length","getDataSource","newList","includes","setDataSource","$message","success","getPagination","setPagination","page","current","pageSize","val","isArray","dataSource","setValue","console","log","setRowDataSource","value","getFormRef","setTableRowDataValue","name","getValue","loadDataTableDataSource","dsEnabled","ops","http","url","res","fmtHttpParams","handleCustomRow","customRow","onClick","event","customFn","onDblclick","onMouseenter","onMouseleave","omit","customRenderFn","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","handlePageSizeChange","onPageSizeChange","handleTablePageChange","filters","sorter","currentDataSource","fn","onTableChange","changeFunc","handleRowSelection","info","onChange","rcFunc"],"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 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 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\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 this.widget.options.tableHeight || undefined;\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 console.log(this.widget.options.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 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\n if (!colorRow) return '';\n return this.selectRow[rowKey] === record[rowKey] ? 'colorRowClassName' : '';\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 this.selectedRowInfo = { selectedRowKeys: [], selectedRows: [] };\n this.selectRow = {};\n const val = isArray(list) ? list : [list];\n\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 console.log(scope, value);\n this.getFormRef().setTableRowDataValue(this.widget.options.name, scope, value);\n },\n getDataSource() {\n return this.widget.options.dataSource;\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 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 // 处理列配置\n handleColumnItem(item) {\n const res = omit(item, ['customRender']);\n const customRenderFn = item.customRender;\n if (!customRenderFn) return item;\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 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":["data","selectedRowInfo","selectedRowKeys","selectedRows","selectRow","loading","components","RenderBodyCell","computed","columns","leftFixedColumns","optins","widget","options","showIndex","push","title","align","width","fixed","field","customRender","customRenderIndex","centerColumns","tableColumns","filter","item","show","map","handleColumnItem","rightFixedColumns","showButtonsColumn","operationButtons","buttonsColumnTitle","buttonsColumnWidth","scope","_createVNode","ActionButtonListRender","bodyCell","_columns","dataIndex","tableHeight","undefined","customClass","widgetSize","tableSize","lineHeight","console","log","fmtPagination","showPagination","pagination","showTotal","total","methods","isShowBodyCell","handleHidden","onHidden","hidden","onHiddenFn","Function","call","rowClassName","record","rowKey","colorRow","handleResizeColumn","w","col","newTableColumns","setTableColumns","disabledClick","hasRowSelection","rowSelection","isEmpty","getSelectedRowKeys","getSelectedRows","getTableColumns","list","delSelectRow","delKeys","TpfConfirm","content","length","getDataSource","newList","includes","setDataSource","$message","success","getPagination","setPagination","page","current","pageSize","val","isArray","getFormRef","setTableValue","name","setValue","setRowDataSource","value","setTableRowDataValue","dataSource","getValue","loadDataTableDataSource","dsEnabled","setTimeout","ops","http","url","res","fmtHttpParams","handleCustomRow","customRow","onClick","event","customFn","onDblclick","onMouseenter","onMouseleave","omit","customRenderFn","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","handlePageSizeChange","onPageSizeChange","handleTablePageChange","filters","sorter","currentDataSource","fn","onTableChange","changeFunc","handleRowSelection","info","onChange","rcFunc"],"mappings":"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"}
|