@kp-ui/lowcode 2.16.0-alpha.9 → 2.16.0
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/install.js +19 -21
- package/install.js.map +1 -1
- package/package.json +1 -1
- package/src/components/FormRender/FormContainer.vue.js +25 -27
- package/src/components/FormRender/FormContainer.vue.js.map +1 -1
- package/src/components/FormRender/useFormContext.js +56 -56
- package/src/components/FormRender/useFormContext.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/useField.js +111 -115
- package/src/components/form-designer/form-widget/field-widget/useField.js.map +1 -1
- package/src/components/form-designer/setting-panel/form-setting.vue.js +1 -1
- package/src/components/form-designer/setting-panel/form-setting.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/height-editor.vue2.js +16 -18
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/height-editor.vue2.js.map +1 -1
- package/src/components/form-render/container-items/data-table-widget.vue.js +3 -3
- package/src/components/form-render/container-items/data-table-widget.vue2.js +5 -7
- package/src/components/form-render/container-items/data-table-widget.vue2.js.map +1 -1
- package/src/components/form-render/dynamic-dialog.vue.js +63 -62
- package/src/components/form-render/dynamic-dialog.vue.js.map +1 -1
- package/src/components/public/ConfigView/CustomPageRender.vue.js +35 -27
- package/src/components/public/ConfigView/CustomPageRender.vue.js.map +1 -1
- package/src/components/public/CustomerModal/CustomerModal.vue2.js +63 -56
- package/src/components/public/CustomerModal/CustomerModal.vue2.js.map +1 -1
- package/src/utils/format.js +18 -11
- package/src/utils/format.js.map +1 -1
- package/src/utils/util.js +12 -22
- package/src/utils/util.js.map +1 -1
- package/stats.html +1 -1
- package/styles/style.css +1 -1
- package/src/components/form-render/SubmitButtonRender.vue.js +0 -92
- package/src/components/form-render/SubmitButtonRender.vue.js.map +0 -1
- package/src/components/form-render/SubmitButtonRender.vue2.js +0 -5
- package/src/components/form-render/SubmitButtonRender.vue2.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-setting.vue2.js","sources":["../../../../../src/components/form-designer/setting-panel/form-setting.vue"],"sourcesContent":["<template>\n <a-form\n :model=\"formConfig\"\n labelAlign=\"left\"\n label-width=\"120px\"\n class=\"setting-form\"\n @submit.prevent\n >\n <a-collapse v-model:activeKey=\"formActiveCollapseNames\" class=\"setting-collapse\">\n <a-collapse-panel key=\"1\" :header=\"i18nt('designer.setting.基本属性')\">\n <a-form-item :label=\"i18nt('designer.setting.formSize')\">\n <a-select\n v-model:value=\"formConfig.size\"\n :options=\"formSizes\"\n allowClear\n style=\"width: 120px\"\n />\n </a-form-item>\n <a-form-item :label=\"i18nt('designer.setting.labelPosition')\">\n <a-radio-group\n v-model:value=\"formConfig.labelPosition\"\n class=\"radio-group-custom\"\n >\n <a-radio-button value=\"horizontal\">\n {{ i18nt('designer.setting.horizontal') }}\n </a-radio-button>\n <a-radio-button value=\"vertical\">\n {{ i18nt('designer.setting.vertical') }}\n </a-radio-button>\n </a-radio-group>\n </a-form-item>\n <a-form-item :label=\"i18nt('designer.setting.labelAlign')\">\n <a-radio-group v-model:value=\"formConfig.labelAlign\" class=\"radio-group-custom\">\n <a-radio-button value=\"left\">\n {{ i18nt('designer.setting.leftAlign') }}\n </a-radio-button>\n <a-radio-button value=\"right\">\n {{ i18nt('designer.setting.rightAlign') }}\n </a-radio-button>\n </a-radio-group>\n </a-form-item>\n <a-form-item :label=\"i18nt('designer.setting.labelWidth')\">\n <a-input-number\n v-model:value=\"formConfig.labelWidth\"\n :min=\"0\"\n style=\"width: 100%\"\n allowClear\n />\n </a-form-item>\n <a-form-item :label=\"i18nt('designer.setting.formCss')\">\n <a-button\n shape=\"round\"\n @click=\"\n handleEditEvent({\n eventName: 'cssCode',\n isShowEventHeader: false,\n mode: 'css',\n title: i18nt('designer.setting.formCss')\n })\n \"\n :class=\"[{ 'button-text-highlight': !!formConfig.cssCode }]\"\n >\n {{ i18nt('designer.setting.addCss') }}\n </a-button>\n </a-form-item>\n <!-- -->\n <a-form-item :label=\"i18nt('designer.setting.customClass')\">\n <a-select\n v-model:value=\"formConfig.customClass\"\n allowClear\n mode=\"tags\"\n @change=\"extractCssClass\"\n :options=\"cssClassList\"\n />\n </a-form-item>\n <!-- 表单全局函数 -->\n <a-form-item :label=\"i18nt('designer.setting.globalFunctions')\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!formConfig.functions }]\"\n shape=\"round\"\n @click=\"\n handleEditEvent({\n eventName: 'functions',\n isShowEventHeader: false,\n mode: 'javascript',\n title: i18nt('designer.setting.globalFunctions')\n })\n \"\n >\n {{ i18nt('designer.setting.addEventHandler') }}\n </a-button>\n </a-form-item>\n <!-- <a-form-item :label=\"i18nt('designer.setting.cancelButtonLabel')\">\n <a-input type=\"text\" v-model:value=\"formConfig.cancelButtonLabel\" />\n </a-form-item>\n <CancelButtonHidden :optionModel=\"formConfig\" />\n <a-form-item :label=\"i18nt('designer.setting.okButtonLabel')\">\n <a-input type=\"text\" v-model:value=\"formConfig.okButtonLabel\" />\n </a-form-item>\n <OkButtonHiddenEditor :optionModel=\"formConfig\" /> -->\n <ButtonListEditor :optionModel=\"formConfig\" />\n </a-collapse-panel>\n\n <a-collapse-panel\n v-if=\"showEventCollapse()\"\n key=\"2\"\n class=\"eventPanel\"\n :header=\"i18nt('designer.setting.事件属性')\"\n >\n <MethodItem\n @click-item=\"handleEditEvent\"\n v-for=\"(value, key) in eventParamsMap\"\n :key=\"key\"\n :event-name=\"key\"\n v-model:value=\"formConfig[key]\"\n :get-form-event-handled=\"getFormEventHandled\"\n :event-params-map=\"eventParamsMap\"\n :form-config=\"formConfig\"\n />\n </a-collapse-panel>\n </a-collapse>\n </a-form>\n\n <a-config-provider componentSize=\"middle\">\n <TpfCodeEditor\n :isShowEventHeader=\"isShowEventHeader\"\n ref=\"codeEditorRef\"\n :event-header=\"eventHeader\"\n v-model=\"formEventHandlerCode\"\n :mode=\"mode\"\n :readonly=\"false\"\n :title=\"title\"\n @set-code=\"saveFormEventHandler\"\n /></a-config-provider>\n</template>\n\n<script lang=\"ts\" setup>\n import { ref, reactive, onMounted, inject, Ref } from 'vue';\n import { useI18n } from '@/utils/i18n';\n import { deepClone, insertCustomCssToHead } from '@/utils/util';\n import MethodItem from '@/components/public/methoad-item.vue';\n import OkButtonHiddenEditor from '@/components/form-designer/setting-panel/property-editor/container-vf-dialog/okButtonHidden-editor.vue';\n import CancelButtonHidden from '@/components/form-designer/setting-panel/property-editor/container-vf-dialog/cancelButtonHidden-editor.vue';\n import { ILanguageMode, TpfCodeEditor } from 'tmgc2-share';\n import { FormDesigner } from '@/types/designer';\n import { useDesigner } from '../form-widget/useFormDesigner';\n import ButtonListEditor from '@/components/form-designer/setting-panel/property-editor/button-list-editor.vue';\n // 定义类型\n interface FormSize {\n label: string;\n value: string;\n }\n\n interface EventParams {\n [key: string]: string;\n }\n\n const { formConfig } = useDesigner();\n interface EditEventParams {\n eventName: string;\n mode: ILanguageMode;\n isShowEventHeader: boolean;\n title: string;\n eventHeader?: string;\n }\n\n // 使用i18n\n const { i18nt } = useI18n();\n const designer = inject<Ref<FormDesigner>>('designer', ref({} as FormDesigner));\n // 注入依赖\n const getDesignerConfig = inject<() => any>('getDesignerConfig');\n const designerConfig = getDesignerConfig ? getDesignerConfig() : {};\n\n // 响应式状态\n const mode = ref<ILanguageMode>('javascript');\n const eventName = ref('');\n const title = ref('');\n const isShowEventHeader = ref(false);\n const eventHeader = ref('');\n const formActiveCollapseNames = ref(['1', '2']);\n const formCssCode = ref('');\n const cssClassList = ref<string[]>([]);\n const formEventHandlerCode = ref('');\n\n // 引用\n const codeEditorRef = ref<any>(null);\n\n // 常量数据\n const formSizes: FormSize[] = [\n { label: 'default', value: 'middle' },\n { label: 'large', value: 'large' },\n { label: 'small', value: 'small' }\n ];\n\n const eventParamsMap: EventParams = {\n onFormCreated: 'onFormCreated() {',\n onFormMounted: 'onFormMounted() {',\n onOkButtonClick: 'onOkButtonClick() {',\n onCancelButtonClick: 'onCancelButtonClick() {',\n onFormEnterKey: 'onFormEnterKey() {',\n onFormDataChange:\n 'onFormDataChange(fieldName, newValue, oldValue, formModel, subFormName, subFormRowIndex) {'\n //'onFormValidate': 'onFormValidate() {',\n };\n\n // 方法\n const saveFormEventHandler = (value: string) => {\n formConfig.value[eventName.value] = value;\n };\n\n const handleEditEvent = (params: EditEventParams) => {\n eventName.value = params.eventName;\n mode.value = params.mode;\n isShowEventHeader.value = params.isShowEventHeader;\n formEventHandlerCode.value = formConfig.value[params.eventName];\n title.value = params.title || i18nt('designer.setting.editWidgetEventHandler');\n eventHeader.value = params.eventHeader || '';\n codeEditorRef.value.open();\n };\n\n const getFormEventHandled = (eventName: string) => {\n return !!formConfig.value[eventName] && formConfig.value[eventName].length > 0;\n };\n\n const showEventCollapse = () => {\n if (designerConfig['eventCollapse'] === undefined) {\n return true;\n }\n return !!designerConfig['eventCollapse'];\n };\n\n const extractCssClass = () => {\n const regExp = /\\..*{/g;\n const result = formCssCode.value.match(regExp);\n const cssNameArray: string[] = [];\n\n if (!!result && result.length > 0) {\n result.forEach(rItem => {\n const classArray = rItem.split(','); // 切分逗号分割的多个class\n if (classArray.length > 0) {\n classArray.forEach(cItem => {\n const caItem = cItem.trim();\n if (caItem.indexOf('.', 1) !== -1) {\n // 查找第二个.位置\n const newClass = caItem.substring(\n caItem.indexOf('.') + 1,\n caItem.indexOf('.', 1)\n ); // 仅截取第一、二个.号之间的class\n if (!!newClass) {\n cssNameArray.push(newClass.trim());\n }\n } else if (caItem.indexOf(' ') !== -1) {\n // 查找第一个空格位置\n const newClass = caItem.substring(\n caItem.indexOf('.') + 1,\n caItem.indexOf(' ')\n ); // 仅截取第一、二个.号之间的class\n if (!!newClass) {\n cssNameArray.push(newClass.trim());\n }\n } else {\n if (caItem.indexOf('{') !== -1) {\n // 查找第一个{位置\n const newClass = caItem.substring(\n caItem.indexOf('.') + 1,\n caItem.indexOf('{')\n );\n cssNameArray.push(newClass.trim());\n } else {\n const newClass = caItem.substring(caItem.indexOf('.') + 1);\n cssNameArray.push(newClass.trim());\n }\n }\n });\n }\n });\n }\n\n // cssClassList.value = Array.from(new Set(cssNameArray)); // 数组去重\n };\n\n // 生命周期钩子\n onMounted(() => {\n // 导入表单JSON后需要重新加载自定义CSS样式\n designer.value.handleEvent('form-json-imported', () => {\n formCssCode.value = formConfig.value.cssCode;\n insertCustomCssToHead(formCssCode.value);\n extractCssClass();\n designer.value.emitEvent('form-css-updated', deepClone(cssClassList.value));\n });\n\n /* SettingPanel和FormWidget为兄弟组件, 在FormWidget加载formConfig时,\n 此处SettingPanel可能无法获取到formConfig.cssCode, 故加个延时函数! */\n setTimeout(() => {\n formCssCode.value = formConfig.value.cssCode;\n insertCustomCssToHead(formCssCode.value);\n extractCssClass();\n designer.value.emitEvent('form-css-updated', deepClone(cssClassList.value));\n }, 1200);\n });\n\n // 组件名称定义\n defineOptions({\n name: 'form-setting'\n });\n</script>\n\n<style lang=\"less\" scoped>\n .eventPanel {\n :deep(.ant-form-item-row) {\n flex: 1;\n .ant-form-item-control-input-content .ant-btn {\n border: 1px solid #eee;\n }\n .ant-form-item-label {\n flex: 1;\n }\n }\n :deep(.ant-col.ant-form-item-control) {\n flex: 0 0 80px;\n }\n }\n</style>\n"],"names":["formConfig","useDesigner","i18nt","useI18n","designer","inject","ref","getDesignerConfig","designerConfig","mode","eventName","title","isShowEventHeader","eventHeader","formActiveCollapseNames","formCssCode","cssClassList","formEventHandlerCode","codeEditorRef","formSizes","eventParamsMap","saveFormEventHandler","value","handleEditEvent","params","getFormEventHandled","showEventCollapse","extractCssClass","regExp","result","cssNameArray","rItem","classArray","cItem","caItem","newClass","onMounted","insertCustomCssToHead","deepClone","_createVNode","_component_a_form","_unref","_component_a_collapse","$event","_component_a_collapse_panel","_component_a_form_item","_component_a_select","_cache","_component_a_radio_group","_component_a_radio_button","_component_a_input_number","_component_a_button","_normalizeClass","ButtonListEditor","_createBlock","_openBlock","_createElementBlock","_Fragment","_renderList","key","MethodItem","_component_a_config_provider","TpfCodeEditor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-setting.vue2.js","sources":["../../../../../src/components/form-designer/setting-panel/form-setting.vue"],"sourcesContent":["<template>\n <a-form\n :model=\"formConfig\"\n labelAlign=\"left\"\n label-width=\"120px\"\n class=\"setting-form\"\n @submit.prevent\n >\n <a-collapse v-model:activeKey=\"formActiveCollapseNames\" class=\"setting-collapse\">\n <a-collapse-panel key=\"1\" :header=\"i18nt('designer.setting.基本属性')\">\n <a-form-item :label=\"i18nt('designer.setting.formSize')\">\n <a-select\n v-model:value=\"formConfig.size\"\n :options=\"formSizes\"\n allowClear\n style=\"width: 120px\"\n />\n </a-form-item>\n <a-form-item :label=\"i18nt('designer.setting.labelPosition')\">\n <a-radio-group\n v-model:value=\"formConfig.labelPosition\"\n class=\"radio-group-custom\"\n >\n <a-radio-button value=\"horizontal\">\n {{ i18nt('designer.setting.horizontal') }}\n </a-radio-button>\n <a-radio-button value=\"vertical\">\n {{ i18nt('designer.setting.vertical') }}\n </a-radio-button>\n </a-radio-group>\n </a-form-item>\n <a-form-item :label=\"i18nt('designer.setting.labelAlign')\">\n <a-radio-group v-model:value=\"formConfig.labelAlign\" class=\"radio-group-custom\">\n <a-radio-button value=\"left\">\n {{ i18nt('designer.setting.leftAlign') }}\n </a-radio-button>\n <a-radio-button value=\"right\">\n {{ i18nt('designer.setting.rightAlign') }}\n </a-radio-button>\n </a-radio-group>\n </a-form-item>\n <a-form-item :label=\"i18nt('designer.setting.labelWidth')\">\n <a-input-number\n v-model:value=\"formConfig.labelWidth\"\n :min=\"0\"\n style=\"width: 100%\"\n allowClear\n />\n </a-form-item>\n <a-form-item :label=\"i18nt('designer.setting.formCss')\">\n <a-button\n shape=\"round\"\n @click=\"\n handleEditEvent({\n eventName: 'cssCode',\n isShowEventHeader: false,\n mode: 'css',\n title: i18nt('designer.setting.formCss')\n })\n \"\n :class=\"[{ 'button-text-highlight': !!formConfig.cssCode }]\"\n >\n {{ i18nt('designer.setting.addCss') }}\n </a-button>\n </a-form-item>\n <!-- -->\n <a-form-item :label=\"i18nt('designer.setting.customClass')\">\n <a-select\n v-model:value=\"formConfig.customClass\"\n allowClear\n mode=\"tags\"\n @change=\"extractCssClass\"\n :options=\"cssClassList\"\n />\n </a-form-item>\n <!-- 表单全局函数 -->\n <a-form-item :label=\"i18nt('designer.setting.globalFunctions')\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!formConfig.functions }]\"\n shape=\"round\"\n @click=\"\n handleEditEvent({\n eventName: 'functions',\n isShowEventHeader: false,\n mode: 'javascript',\n title: i18nt('designer.setting.globalFunctions')\n })\n \"\n >\n {{ i18nt('designer.setting.addEventHandler') }}\n </a-button>\n </a-form-item>\n\n <ButtonListEditor :optionModel=\"formConfig\" />\n </a-collapse-panel>\n\n <a-collapse-panel\n v-if=\"showEventCollapse()\"\n key=\"2\"\n class=\"eventPanel\"\n :header=\"i18nt('designer.setting.事件属性')\"\n >\n <MethodItem\n @click-item=\"handleEditEvent\"\n v-for=\"(value, key) in eventParamsMap\"\n :key=\"key\"\n :event-name=\"key\"\n v-model:value=\"formConfig[key]\"\n :get-form-event-handled=\"getFormEventHandled\"\n :event-params-map=\"eventParamsMap\"\n :form-config=\"formConfig\"\n />\n </a-collapse-panel>\n </a-collapse>\n </a-form>\n\n <a-config-provider componentSize=\"middle\">\n <TpfCodeEditor\n :isShowEventHeader=\"isShowEventHeader\"\n ref=\"codeEditorRef\"\n :event-header=\"eventHeader\"\n v-model=\"formEventHandlerCode\"\n :mode=\"mode\"\n :readonly=\"false\"\n :title=\"title\"\n @set-code=\"saveFormEventHandler\"\n /></a-config-provider>\n</template>\n\n<script lang=\"ts\" setup>\n import { ref, reactive, onMounted, inject, Ref } from 'vue';\n import { useI18n } from '@/utils/i18n';\n import { deepClone, insertCustomCssToHead } from '@/utils/util';\n import MethodItem from '@/components/public/methoad-item.vue';\n import OkButtonHiddenEditor from '@/components/form-designer/setting-panel/property-editor/container-vf-dialog/okButtonHidden-editor.vue';\n import CancelButtonHidden from '@/components/form-designer/setting-panel/property-editor/container-vf-dialog/cancelButtonHidden-editor.vue';\n import { ILanguageMode, TpfCodeEditor } from 'tmgc2-share';\n import { FormDesigner } from '@/types/designer';\n import { useDesigner } from '../form-widget/useFormDesigner';\n import ButtonListEditor from '@/components/form-designer/setting-panel/property-editor/button-list-editor.vue';\n // 定义类型\n interface FormSize {\n label: string;\n value: string;\n }\n\n interface EventParams {\n [key: string]: string;\n }\n\n const { formConfig } = useDesigner();\n interface EditEventParams {\n eventName: string;\n mode: ILanguageMode;\n isShowEventHeader: boolean;\n title: string;\n eventHeader?: string;\n }\n\n // 使用i18n\n const { i18nt } = useI18n();\n const designer = inject<Ref<FormDesigner>>('designer', ref({} as FormDesigner));\n // 注入依赖\n const getDesignerConfig = inject<() => any>('getDesignerConfig');\n const designerConfig = getDesignerConfig ? getDesignerConfig() : {};\n\n // 响应式状态\n const mode = ref<ILanguageMode>('javascript');\n const eventName = ref('');\n const title = ref('');\n const isShowEventHeader = ref(false);\n const eventHeader = ref('');\n const formActiveCollapseNames = ref(['1', '2']);\n const formCssCode = ref('');\n const cssClassList = ref<string[]>([]);\n const formEventHandlerCode = ref('');\n\n // 引用\n const codeEditorRef = ref<any>(null);\n\n // 常量数据\n const formSizes: FormSize[] = [\n { label: 'default', value: 'middle' },\n { label: 'large', value: 'large' },\n { label: 'small', value: 'small' }\n ];\n\n const eventParamsMap: EventParams = {\n onFormCreated: 'onFormCreated() {',\n onFormMounted: 'onFormMounted() {',\n onOkButtonClick: 'onOkButtonClick() {',\n onCancelButtonClick: 'onCancelButtonClick() {',\n onFormEnterKey: 'onFormEnterKey() {',\n onFormDataChange:\n 'onFormDataChange(fieldName, newValue, oldValue, formModel, subFormName, subFormRowIndex) {'\n //'onFormValidate': 'onFormValidate() {',\n };\n\n // 方法\n const saveFormEventHandler = (value: string) => {\n formConfig.value[eventName.value] = value;\n };\n\n const handleEditEvent = (params: EditEventParams) => {\n eventName.value = params.eventName;\n mode.value = params.mode;\n isShowEventHeader.value = params.isShowEventHeader;\n formEventHandlerCode.value = formConfig.value[params.eventName];\n title.value = params.title || i18nt('designer.setting.editWidgetEventHandler');\n eventHeader.value = params.eventHeader || '';\n codeEditorRef.value.open();\n };\n\n const getFormEventHandled = (eventName: string) => {\n return !!formConfig.value[eventName] && formConfig.value[eventName].length > 0;\n };\n\n const showEventCollapse = () => {\n if (designerConfig['eventCollapse'] === undefined) {\n return true;\n }\n return !!designerConfig['eventCollapse'];\n };\n\n const extractCssClass = () => {\n const regExp = /\\..*{/g;\n const result = formCssCode.value.match(regExp);\n const cssNameArray: string[] = [];\n\n if (!!result && result.length > 0) {\n result.forEach(rItem => {\n const classArray = rItem.split(','); // 切分逗号分割的多个class\n if (classArray.length > 0) {\n classArray.forEach(cItem => {\n const caItem = cItem.trim();\n if (caItem.indexOf('.', 1) !== -1) {\n // 查找第二个.位置\n const newClass = caItem.substring(\n caItem.indexOf('.') + 1,\n caItem.indexOf('.', 1)\n ); // 仅截取第一、二个.号之间的class\n if (!!newClass) {\n cssNameArray.push(newClass.trim());\n }\n } else if (caItem.indexOf(' ') !== -1) {\n // 查找第一个空格位置\n const newClass = caItem.substring(\n caItem.indexOf('.') + 1,\n caItem.indexOf(' ')\n ); // 仅截取第一、二个.号之间的class\n if (!!newClass) {\n cssNameArray.push(newClass.trim());\n }\n } else {\n if (caItem.indexOf('{') !== -1) {\n // 查找第一个{位置\n const newClass = caItem.substring(\n caItem.indexOf('.') + 1,\n caItem.indexOf('{')\n );\n cssNameArray.push(newClass.trim());\n } else {\n const newClass = caItem.substring(caItem.indexOf('.') + 1);\n cssNameArray.push(newClass.trim());\n }\n }\n });\n }\n });\n }\n\n // cssClassList.value = Array.from(new Set(cssNameArray)); // 数组去重\n };\n\n // 生命周期钩子\n onMounted(() => {\n // 导入表单JSON后需要重新加载自定义CSS样式\n designer.value.handleEvent('form-json-imported', () => {\n formCssCode.value = formConfig.value.cssCode;\n insertCustomCssToHead(formCssCode.value);\n extractCssClass();\n designer.value.emitEvent('form-css-updated', deepClone(cssClassList.value));\n });\n\n /* SettingPanel和FormWidget为兄弟组件, 在FormWidget加载formConfig时,\n 此处SettingPanel可能无法获取到formConfig.cssCode, 故加个延时函数! */\n setTimeout(() => {\n formCssCode.value = formConfig.value.cssCode;\n insertCustomCssToHead(formCssCode.value);\n extractCssClass();\n designer.value.emitEvent('form-css-updated', deepClone(cssClassList.value));\n }, 1200);\n });\n\n // 组件名称定义\n defineOptions({\n name: 'form-setting'\n });\n</script>\n\n<style lang=\"less\" scoped>\n .eventPanel {\n :deep(.ant-form-item-row) {\n flex: 1;\n .ant-form-item-control-input-content .ant-btn {\n border: 1px solid #eee;\n }\n .ant-form-item-label {\n flex: 1;\n }\n }\n :deep(.ant-col.ant-form-item-control) {\n flex: 0 0 80px;\n }\n }\n</style>\n"],"names":["formConfig","useDesigner","i18nt","useI18n","designer","inject","ref","getDesignerConfig","designerConfig","mode","eventName","title","isShowEventHeader","eventHeader","formActiveCollapseNames","formCssCode","cssClassList","formEventHandlerCode","codeEditorRef","formSizes","eventParamsMap","saveFormEventHandler","value","handleEditEvent","params","getFormEventHandled","showEventCollapse","extractCssClass","regExp","result","cssNameArray","rItem","classArray","cItem","caItem","newClass","onMounted","insertCustomCssToHead","deepClone","_createVNode","_component_a_form","_unref","_component_a_collapse","$event","_component_a_collapse_panel","_component_a_form_item","_component_a_select","_cache","_component_a_radio_group","_component_a_radio_button","_component_a_input_number","_component_a_button","_normalizeClass","ButtonListEditor","_createBlock","_openBlock","_createElementBlock","_Fragment","_renderList","key","MethodItem","_component_a_config_provider","TpfCodeEditor"],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { defineComponent as a, useModel as
|
|
2
|
-
import { useI18n as
|
|
3
|
-
import { EditorTypeEnum as
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
name: M.heightEditor,
|
|
1
|
+
import { defineComponent as a, useModel as u, resolveComponent as o, createBlock as m, openBlock as d, unref as s, withCtx as c, createVNode as f } from "vue";
|
|
2
|
+
import { useI18n as _ } from "../../../../../utils/i18n.js";
|
|
3
|
+
import { EditorTypeEnum as h } from "../../../../../constants/EditorTypeEnum.js";
|
|
4
|
+
const C = /* @__PURE__ */ a({
|
|
5
|
+
name: h.heightEditor,
|
|
7
6
|
__name: "height-editor",
|
|
8
7
|
props: {
|
|
9
8
|
optionModel: {
|
|
@@ -14,20 +13,19 @@ const y = /* @__PURE__ */ a({
|
|
|
14
13
|
optionModelModifiers: {}
|
|
15
14
|
},
|
|
16
15
|
emits: ["update:optionModel"],
|
|
17
|
-
setup(
|
|
18
|
-
const e =
|
|
19
|
-
return (
|
|
20
|
-
const
|
|
21
|
-
return
|
|
22
|
-
label:
|
|
16
|
+
setup(n) {
|
|
17
|
+
const e = u(n, "optionModel"), { i18nt: i } = _();
|
|
18
|
+
return (M, t) => {
|
|
19
|
+
const p = o("a-input"), r = o("a-form-item");
|
|
20
|
+
return d(), m(r, {
|
|
21
|
+
label: s(i)("height") + "(px)"
|
|
23
22
|
}, {
|
|
24
|
-
default:
|
|
25
|
-
|
|
23
|
+
default: c(() => [
|
|
24
|
+
f(p, {
|
|
26
25
|
type: "text",
|
|
27
26
|
value: e.value.height,
|
|
28
|
-
"onUpdate:value": t[0] || (t[0] = (
|
|
29
|
-
|
|
30
|
-
}, null, 8, ["value", "onInput"])
|
|
27
|
+
"onUpdate:value": t[0] || (t[0] = (l) => e.value.height = l)
|
|
28
|
+
}, null, 8, ["value"])
|
|
31
29
|
]),
|
|
32
30
|
_: 1
|
|
33
31
|
}, 8, ["label"]);
|
|
@@ -35,6 +33,6 @@ const y = /* @__PURE__ */ a({
|
|
|
35
33
|
}
|
|
36
34
|
});
|
|
37
35
|
export {
|
|
38
|
-
|
|
36
|
+
C as default
|
|
39
37
|
};
|
|
40
38
|
//# sourceMappingURL=height-editor.vue2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"height-editor.vue2.js","sources":["../../../../../../../src/components/form-designer/setting-panel/property-editor/container-vf-dialog/height-editor.vue"],"sourcesContent":["<template>\n <a-form-item :label=\"i18nt('height') + '(px)'\">\n <a-input
|
|
1
|
+
{"version":3,"file":"height-editor.vue2.js","sources":["../../../../../../../src/components/form-designer/setting-panel/property-editor/container-vf-dialog/height-editor.vue"],"sourcesContent":["<template>\n <a-form-item :label=\"i18nt('height') + '(px)'\">\n <a-input type=\"text\" v-model:value=\"optionModel.height\" />\n </a-form-item>\n</template>\n\n<script lang=\"ts\" setup>\n import { useI18n } from '@/utils/i18n';\n import { EditorTypeEnum } from '@/constants/EditorTypeEnum';\n\n defineOptions({\n name: EditorTypeEnum.heightEditor\n });\n\n const optionModel = defineModel('optionModel', {\n type: Object,\n required: true,\n default: () => ({ customClass: '' })\n });\n\n const { i18nt } = useI18n();\n</script>\n\n<style scoped></style>\n"],"names":["optionModel","_useModel","__props","i18nt","useI18n","_createBlock","_component_a_form_item","_unref","_createVNode","_component_a_input","_cache","$event"],"mappings":";;;;;;;;;;;;;;;;AAcI,UAAMA,IAAcC,EAAWC,GAAC,aAI/B,GAEK,EAAE,OAAAC,EAAA,IAAUC,EAAA;;;kBAnBlBC,EAEcC,GAAA;AAAA,QAFA,OAAOC,EAAAJ,CAAA,EAAK,QAAA,IAAA;AAAA,MAAA;mBACtB,MAA0D;AAAA,UAA1DK,EAA0DC,GAAA;AAAA,YAAjD,MAAK;AAAA,YAAe,OAAOT,EAAA,MAAY;AAAA,YAAZ,kBAAAU,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAX,EAAA,MAAY,SAAMW;AAAA,UAAA;;;;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import t from "./data-table-widget.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import
|
|
4
|
-
const
|
|
3
|
+
import a from "../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const m = /* @__PURE__ */ a(t, [["__scopeId", "data-v-e792a706"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
m as default
|
|
7
7
|
};
|
|
8
8
|
//# sourceMappingURL=data-table-widget.vue.js.map
|
|
@@ -31,7 +31,7 @@ const te = /* @__PURE__ */ N({
|
|
|
31
31
|
onRunEvent: a,
|
|
32
32
|
onSortChange: S,
|
|
33
33
|
onCheckboxChange: x,
|
|
34
|
-
tableDefinExpoed:
|
|
34
|
+
tableDefinExpoed: E
|
|
35
35
|
} = U({
|
|
36
36
|
props: t,
|
|
37
37
|
fieldModel: f
|
|
@@ -43,7 +43,7 @@ const te = /* @__PURE__ */ N({
|
|
|
43
43
|
}), s.value.onChange = (e, F) => {
|
|
44
44
|
l();
|
|
45
45
|
};
|
|
46
|
-
const { tableRef: n, register:
|
|
46
|
+
const { tableRef: n, register: T, selectedRowInfo: i, sorts: c, selectRow: y, delSelectRow: D } = G({
|
|
47
47
|
props: {
|
|
48
48
|
rowKey: t.field.options.rowKey,
|
|
49
49
|
hasRowSelection: (d = t.field.options.rowSelection) == null ? void 0 : d.hasRowSelection,
|
|
@@ -64,12 +64,10 @@ const te = /* @__PURE__ */ N({
|
|
|
64
64
|
return p(() => {
|
|
65
65
|
n.value && v(n.value);
|
|
66
66
|
}), W(() => {
|
|
67
|
-
|
|
68
|
-
l();
|
|
69
|
-
}, 1e3);
|
|
67
|
+
l();
|
|
70
68
|
}), m({
|
|
71
69
|
...w,
|
|
72
|
-
...
|
|
70
|
+
...E,
|
|
73
71
|
delSelectRow: D,
|
|
74
72
|
getFieldEditor: M,
|
|
75
73
|
selectRow: y,
|
|
@@ -87,7 +85,7 @@ const te = /* @__PURE__ */ N({
|
|
|
87
85
|
style: H({ width: o(h) })
|
|
88
86
|
}, [
|
|
89
87
|
O(o(J), {
|
|
90
|
-
onRegister: o(
|
|
88
|
+
onRegister: o(T),
|
|
91
89
|
tableProps: o(R),
|
|
92
90
|
loading: o(C),
|
|
93
91
|
pagination: o(s)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table-widget.vue2.js","sources":["../../../../../src/components/form-render/container-items/data-table-widget.vue"],"sourcesContent":["<template>\n <container-wrapper v-bind=\"props\" :customClass=\"customClass\" v-if=\"!handleHidden\">\n <div class=\"talbe-wrapper\" :style=\"{ width: tableWidth }\">\n <Table\n @register=\"register\"\n :tableProps=\"tableProps\"\n :loading=\"isLoading\"\n :pagination=\"pagintion\"\n />\n </div>\n </container-wrapper>\n</template>\n\n<script lang=\"ts\" setup>\n import ContainerWrapper from './container-wrapper.vue';\n import { ContainerTypeEnum, ComponentNameEnum } from '@/constants/WidgetTypeEnum';\n import { onMounted, watchEffect } from 'vue';\n import { useVxeTable, Table } from 'tmgc2-share';\n import { WidgetProps } from '@/components/form-designer/form-widget/container-widget/useContainerWidget';\n import { DataTableWidget } from '@/components/form-designer/widget-panel/advanced';\n import { useField } from '@/components/form-designer/form-widget/field-widget/useField';\n import { useTableWidget } from '@/components/form-designer/form-widget/container-widget/useTableWidget';\n\n const props = defineProps<WidgetProps<DataTableWidget>>();\n defineOptions({\n name: ContainerTypeEnum.DataTable,\n componentName: ComponentNameEnum.FieldWidget\n });\n\n const { fieldModel, handleHidden, defineExposed, customClass } = useField(props);\n\n const {\n isLoading,\n tableProps,\n tableWidth,\n pagintion,\n setPagination,\n setTableRef,\n initTableSoureData,\n handleTableChange,\n onRunEvent,\n onSortChange,\n onCheckboxChange,\n tableDefinExpoed\n } = useTableWidget({\n props,\n fieldModel\n });\n\n watchEffect(() => {\n if (!props.field.options.showPagination) {\n setPagination({\n total: 0\n });\n }\n });\n\n pagintion.value.onChange = (current, pageSize) => {\n initTableSoureData();\n };\n\n const { tableRef, register, selectedRowInfo, sorts, selectRow, delSelectRow } = useVxeTable({\n props: {\n rowKey: props.field.options.rowKey,\n hasRowSelection: props.field.options.rowSelection?.hasRowSelection,\n clickRowCheck: props.field.options.colorRow\n },\n events: {\n dataChange: params => handleTableChange({ sorts: sorts.value }),\n cellDblclick: params => onRunEvent(params, 'onDblclick'),\n cellMouseenter: params => onRunEvent(params, 'onMouseenter'),\n cellMouseleave: params => onRunEvent(params, 'onMouseleave')\n },\n callbacks: {\n onCheckboxChange,\n onSortChange,\n cellClick: params => onRunEvent(params, 'onClick')\n }\n });\n\n const getSelectedRowKeys = () => {\n return selectedRowInfo.value.selectedRowKeys;\n };\n\n const getSelectedRows = () => {\n return selectedRowInfo.value.selectedRows;\n };\n\n /**\n * 获取字段编辑器\n * @returns 字段编辑器\n */\n const getFieldEditor = () => {\n // 获取内置的el表单组件\n return tableRef.value;\n };\n\n watchEffect(() => {\n if (tableRef.value) {\n setTableRef(tableRef.value);\n }\n });\n\n onMounted(() => {\n
|
|
1
|
+
{"version":3,"file":"data-table-widget.vue2.js","sources":["../../../../../src/components/form-render/container-items/data-table-widget.vue"],"sourcesContent":["<template>\n <container-wrapper v-bind=\"props\" :customClass=\"customClass\" v-if=\"!handleHidden\">\n <div class=\"talbe-wrapper\" :style=\"{ width: tableWidth }\">\n <Table\n @register=\"register\"\n :tableProps=\"tableProps\"\n :loading=\"isLoading\"\n :pagination=\"pagintion\"\n />\n </div>\n </container-wrapper>\n</template>\n\n<script lang=\"ts\" setup>\n import ContainerWrapper from './container-wrapper.vue';\n import { ContainerTypeEnum, ComponentNameEnum } from '@/constants/WidgetTypeEnum';\n import { onMounted, watchEffect } from 'vue';\n import { useVxeTable, Table } from 'tmgc2-share';\n import { WidgetProps } from '@/components/form-designer/form-widget/container-widget/useContainerWidget';\n import { DataTableWidget } from '@/components/form-designer/widget-panel/advanced';\n import { useField } from '@/components/form-designer/form-widget/field-widget/useField';\n import { useTableWidget } from '@/components/form-designer/form-widget/container-widget/useTableWidget';\n\n const props = defineProps<WidgetProps<DataTableWidget>>();\n defineOptions({\n name: ContainerTypeEnum.DataTable,\n componentName: ComponentNameEnum.FieldWidget\n });\n\n const { fieldModel, handleHidden, defineExposed, customClass } = useField(props);\n\n const {\n isLoading,\n tableProps,\n tableWidth,\n pagintion,\n setPagination,\n setTableRef,\n initTableSoureData,\n handleTableChange,\n onRunEvent,\n onSortChange,\n onCheckboxChange,\n tableDefinExpoed\n } = useTableWidget({\n props,\n fieldModel\n });\n\n watchEffect(() => {\n if (!props.field.options.showPagination) {\n setPagination({\n total: 0\n });\n }\n });\n\n pagintion.value.onChange = (current, pageSize) => {\n initTableSoureData();\n };\n\n const { tableRef, register, selectedRowInfo, sorts, selectRow, delSelectRow } = useVxeTable({\n props: {\n rowKey: props.field.options.rowKey,\n hasRowSelection: props.field.options.rowSelection?.hasRowSelection,\n clickRowCheck: props.field.options.colorRow\n },\n events: {\n dataChange: params => handleTableChange({ sorts: sorts.value }),\n cellDblclick: params => onRunEvent(params, 'onDblclick'),\n cellMouseenter: params => onRunEvent(params, 'onMouseenter'),\n cellMouseleave: params => onRunEvent(params, 'onMouseleave')\n },\n callbacks: {\n onCheckboxChange,\n onSortChange,\n cellClick: params => onRunEvent(params, 'onClick')\n }\n });\n\n const getSelectedRowKeys = () => {\n return selectedRowInfo.value.selectedRowKeys;\n };\n\n const getSelectedRows = () => {\n return selectedRowInfo.value.selectedRows;\n };\n\n /**\n * 获取字段编辑器\n * @returns 字段编辑器\n */\n const getFieldEditor = () => {\n // 获取内置的el表单组件\n return tableRef.value;\n };\n\n watchEffect(() => {\n if (tableRef.value) {\n setTableRef(tableRef.value);\n }\n });\n\n onMounted(() => {\n initTableSoureData();\n });\n\n defineExpose({\n ...defineExposed,\n ...tableDefinExpoed,\n delSelectRow,\n getFieldEditor,\n selectRow,\n getSelectedRowKeys,\n getSelectedRows,\n setPagination,\n sorts,\n selectedRowInfo,\n loadDataTableDataSource: initTableSoureData,\n fieldEditor: tableRef\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .talbe-wrapper {\n width: 100%;\n .vxe-grid {\n width: 100%;\n }\n &__pagination {\n margin-top: 10px;\n display: flex;\n justify-content: end;\n }\n }\n</style>\n"],"names":["props","__props","fieldModel","handleHidden","defineExposed","customClass","useField","isLoading","tableProps","tableWidth","pagintion","setPagination","setTableRef","initTableSoureData","handleTableChange","onRunEvent","onSortChange","onCheckboxChange","tableDefinExpoed","useTableWidget","watchEffect","current","pageSize","tableRef","register","selectedRowInfo","sorts","selectRow","delSelectRow","useVxeTable","_a","params","getSelectedRowKeys","getSelectedRows","getFieldEditor","onMounted","__expose","_unref","_openBlock","_createBlock","ContainerWrapper","_mergeProps","_createElementVNode","_createVNode","Table"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAuBI,UAAMA,IAAQC,GAMR,EAAE,YAAAC,GAAY,cAAAC,GAAc,eAAAC,GAAe,aAAAC,EAAA,IAAgBC,EAASN,CAAK,GAEzE;AAAA,MACF,WAAAO;AAAA,MACA,YAAAC;AAAA,MACA,YAAAC;AAAA,MACA,WAAAC;AAAA,MACA,eAAAC;AAAA,MACA,aAAAC;AAAA,MACA,oBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,YAAAC;AAAA,MACA,cAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,kBAAAC;AAAA,IAAA,IACAC,EAAe;AAAA,MACf,OAAAnB;AAAA,MACA,YAAAE;AAAA,IAAA,CACH;AAED,IAAAkB,EAAY,MAAM;AACd,MAAKpB,EAAM,MAAM,QAAQ,kBACrBW,EAAc;AAAA,QACV,OAAO;AAAA,MAAA,CACV;AAAA,IAET,CAAC,GAEDD,EAAU,MAAM,WAAW,CAACW,GAASC,MAAa;AAC9C,MAAAT,EAAA;AAAA,IACJ;AAEA,UAAM,EAAE,UAAAU,GAAU,UAAAC,GAAU,iBAAAC,GAAiB,OAAAC,GAAO,WAAAC,GAAW,cAAAC,EAAA,IAAiBC,EAAY;AAAA,MACxF,OAAO;AAAA,QACH,QAAQ7B,EAAM,MAAM,QAAQ;AAAA,QAC5B,kBAAiB8B,IAAA9B,EAAM,MAAM,QAAQ,iBAApB,gBAAA8B,EAAkC;AAAA,QACnD,eAAe9B,EAAM,MAAM,QAAQ;AAAA,MAAA;AAAA,MAEvC,QAAQ;AAAA,QACJ,YAAY,CAAA+B,MAAUjB,EAAkB,EAAE,OAAOY,EAAM,OAAO;AAAA,QAC9D,cAAc,CAAAK,MAAUhB,EAAWgB,GAAQ,YAAY;AAAA,QACvD,gBAAgB,CAAAA,MAAUhB,EAAWgB,GAAQ,cAAc;AAAA,QAC3D,gBAAgB,CAAAA,MAAUhB,EAAWgB,GAAQ,cAAc;AAAA,MAAA;AAAA,MAE/D,WAAW;AAAA,QACP,kBAAAd;AAAA,QACA,cAAAD;AAAA,QACA,WAAW,CAAAe,MAAUhB,EAAWgB,GAAQ,SAAS;AAAA,MAAA;AAAA,IACrD,CACH,GAEKC,IAAqB,MAChBP,EAAgB,MAAM,iBAG3BQ,IAAkB,MACbR,EAAgB,MAAM,cAO3BS,IAAiB,MAEZX,EAAS;AAGpB,WAAAH,EAAY,MAAM;AACd,MAAIG,EAAS,SACTX,EAAYW,EAAS,KAAK;AAAA,IAElC,CAAC,GAEDY,EAAU,MAAM;AACZ,MAAAtB,EAAA;AAAA,IACJ,CAAC,GAEDuB,EAAa;AAAA,MACT,GAAGhC;AAAA,MACH,GAAGc;AAAA,MACH,cAAAU;AAAA,MACA,gBAAAM;AAAA,MACA,WAAAP;AAAA,MACA,oBAAAK;AAAA,MACA,iBAAAC;AAAA,MACA,eAAAtB;AAAA,MACA,OAAAe;AAAA,MACA,iBAAAD;AAAA,MACA,yBAAyBZ;AAAA,MACzB,aAAaU;AAAA,IAAA,CAChB,aAvHmEc,EAAAlC,CAAA,iBAApEmC,KAAAC,EASoBC,GATpBC,EASoB,EAAA,KAAA,EAAA,GATOzC,GAAK,EAAG,aAAaqC,EAAAhC,CAAA,EAAA,CAAW,GAAA;AAAA,iBACvD,MAOM;AAAA,QAPNqC,EAOM,OAAA;AAAA,UAPD,OAAM;AAAA,UAAiB,kBAAgBL,EAAA5B,CAAA,GAAU;AAAA,QAAA;UAClDkC,EAKEN,EAAAO,CAAA,GAAA;AAAA,YAJG,YAAUP,EAAAb,CAAA;AAAA,YACV,YAAYa,EAAA7B,CAAA;AAAA,YACZ,SAAS6B,EAAA9B,CAAA;AAAA,YACT,YAAY8B,EAAA3B,CAAA;AAAA,UAAA;;;;;;;"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useExecFunction as
|
|
3
|
-
import { useLowcode as
|
|
4
|
-
import
|
|
5
|
-
import W from "../
|
|
6
|
-
|
|
1
|
+
import { defineComponent as J, computed as u, ref as c, onBeforeUnmount as P, createBlock as A, openBlock as U, unref as i, mergeProps as z, withCtx as x, createElementVNode as I, createVNode as C, nextTick as q } from "vue";
|
|
2
|
+
import { useExecFunction as G, TpfModal as K } from "tmgc2-share";
|
|
3
|
+
import { useLowcode as Q } from "../../hooks/useLowcode.js";
|
|
4
|
+
import { formatSize as h } from "../../utils/format.js";
|
|
5
|
+
import W from "../FormRender/index.vue.js";
|
|
6
|
+
import X from "../public/ActionButtonListRender.vue.js";
|
|
7
|
+
const Y = { class: "dialog-content" }, ae = /* @__PURE__ */ J({
|
|
7
8
|
name: "dynamic-dialog",
|
|
8
9
|
__name: "dynamic-dialog",
|
|
9
10
|
props: {
|
|
@@ -45,108 +46,108 @@ const X = { class: "dialog-content" }, oe = /* @__PURE__ */ H({
|
|
|
45
46
|
default: null
|
|
46
47
|
}
|
|
47
48
|
},
|
|
48
|
-
setup(n, { expose:
|
|
49
|
-
const t = n,
|
|
49
|
+
setup(n, { expose: O }) {
|
|
50
|
+
const t = n, R = u(() => h(t.options.height, "500px")), f = c(null), p = c(!1), s = c(!1), { context: r, asyncExecuteFunction: m, executeFunction: Z } = G(), { vfdRef: l, isLoading: v, getComponentJson: F } = Q({
|
|
50
51
|
formCode: t.options.formCode,
|
|
51
52
|
...t.vfCtx
|
|
52
|
-
}),
|
|
53
|
+
}), D = u(() => ({
|
|
53
54
|
...t.parentFormRef,
|
|
54
|
-
parentDom:
|
|
55
|
+
parentDom: r.value,
|
|
55
56
|
getParentFormRef: g
|
|
56
|
-
})),
|
|
57
|
-
|
|
57
|
+
})), k = u(() => t.options.cancelButtonHidden && t.options.okButtonHidden ? { footer: null } : {});
|
|
58
|
+
P(() => {
|
|
58
59
|
var e, o;
|
|
59
60
|
console.log(t.parentFormRef), (o = (e = t.parentFormRef) == null ? void 0 : e.setChildFormRef) == null || o.call(e, null);
|
|
60
61
|
});
|
|
61
|
-
const
|
|
62
|
+
const w = (e) => {
|
|
62
63
|
v.value = e;
|
|
63
|
-
},
|
|
64
|
+
}, B = (e) => {
|
|
64
65
|
t.options.title = e;
|
|
65
|
-
}, w = () => {
|
|
66
|
-
l.value = !0;
|
|
67
|
-
}, B = async ({ result: e }) => {
|
|
68
|
-
e !== !1 && await r();
|
|
69
66
|
}, j = () => {
|
|
70
|
-
|
|
67
|
+
s.value = !0;
|
|
68
|
+
}, E = async ({ result: e }) => {
|
|
69
|
+
e !== !1 && await d();
|
|
70
|
+
}, L = () => {
|
|
71
|
+
s.value = !0, q(async () => {
|
|
71
72
|
var e, o, a;
|
|
72
|
-
(e = t.options) != null && e.readMode && ((o =
|
|
73
|
+
(e = t.options) != null && e.readMode && ((o = l.value) == null || o.setReadMode(!0)), await F([], t.options.formCode), (a = l.value) == null || a.setDialogOrDrawerRef(r.value), t.parentFormRef && t.parentFormRef.setChildFormRef(l.value), y();
|
|
73
74
|
});
|
|
74
|
-
},
|
|
75
|
+
}, b = async () => {
|
|
75
76
|
if (t.options.onDialogBeforeClose)
|
|
76
77
|
return await m({
|
|
77
78
|
functionBody: t.options.onDialogBeforeClose
|
|
78
79
|
});
|
|
79
|
-
|
|
80
|
-
},
|
|
81
|
-
|
|
82
|
-
},
|
|
80
|
+
s.value = !1;
|
|
81
|
+
}, d = () => {
|
|
82
|
+
b();
|
|
83
|
+
}, y = async () => {
|
|
83
84
|
if (t.options.onDialogOpened)
|
|
84
85
|
return await m({
|
|
85
86
|
functionBody: t.options.onDialogOpened
|
|
86
87
|
});
|
|
87
|
-
}, g = () => t.parentFormRef,
|
|
88
|
+
}, g = () => t.parentFormRef, T = () => {
|
|
88
89
|
var e, o, a;
|
|
89
90
|
(a = (o = (e = t.vfCtx) == null ? void 0 : e.parent) == null ? void 0 : o.exposed) != null && a.updateTable && t.vfCtx.parent.exposed.updateTable();
|
|
90
|
-
},
|
|
91
|
+
}, M = () => t.extraData, S = (e) => {
|
|
91
92
|
f.value = e;
|
|
92
|
-
},
|
|
93
|
+
}, N = (e) => {
|
|
93
94
|
p.value = e;
|
|
94
|
-
},
|
|
95
|
+
}, V = () => l.value, H = () => {
|
|
95
96
|
var e;
|
|
96
|
-
return (e =
|
|
97
|
+
return (e = l.value) == null ? void 0 : e.context;
|
|
97
98
|
};
|
|
98
|
-
return
|
|
99
|
+
return O({
|
|
99
100
|
getParentFormRef: g,
|
|
100
|
-
getFormRef:
|
|
101
|
-
setDisabled:
|
|
102
|
-
setleftText:
|
|
103
|
-
setLoading:
|
|
104
|
-
setTitle:
|
|
105
|
-
beforeOpen:
|
|
106
|
-
show:
|
|
107
|
-
close:
|
|
108
|
-
handleCloseEvent:
|
|
109
|
-
handleOpenedEvent:
|
|
110
|
-
updateTable:
|
|
111
|
-
getExtraData:
|
|
112
|
-
}), (e, o) => (
|
|
101
|
+
getFormRef: V,
|
|
102
|
+
setDisabled: N,
|
|
103
|
+
setleftText: S,
|
|
104
|
+
setLoading: w,
|
|
105
|
+
setTitle: B,
|
|
106
|
+
beforeOpen: j,
|
|
107
|
+
show: L,
|
|
108
|
+
close: b,
|
|
109
|
+
handleCloseEvent: d,
|
|
110
|
+
handleOpenedEvent: y,
|
|
111
|
+
updateTable: T,
|
|
112
|
+
getExtraData: M
|
|
113
|
+
}), (e, o) => (U(), A(i(K), z({
|
|
113
114
|
class: "tpf-model design-model",
|
|
114
115
|
destroyOnClose: !0,
|
|
115
116
|
title: n.options.title,
|
|
116
117
|
bodyStyle: {
|
|
117
|
-
height:
|
|
118
|
+
height: R.value,
|
|
118
119
|
overflow: "auto",
|
|
119
120
|
...JSON.parse(n.options.bodyStyle || "{}")
|
|
120
121
|
},
|
|
121
122
|
centered: !0,
|
|
122
|
-
visible:
|
|
123
|
-
"onUpdate:visible": o[0] || (o[0] = (a) =>
|
|
124
|
-
width: n.options.width,
|
|
123
|
+
visible: s.value,
|
|
124
|
+
"onUpdate:visible": o[0] || (o[0] = (a) => s.value = a),
|
|
125
|
+
width: i(h)(n.options.width),
|
|
125
126
|
mask: n.options.showModal,
|
|
126
127
|
maskClosable: n.options.closeOnClickModal,
|
|
127
128
|
keyboard: n.options.closeOnPressEscape,
|
|
128
|
-
onCancel:
|
|
129
|
+
onCancel: d,
|
|
129
130
|
"left-num": f.value
|
|
130
|
-
},
|
|
131
|
-
footerRight:
|
|
132
|
-
|
|
131
|
+
}, k.value), {
|
|
132
|
+
footerRight: x(() => [
|
|
133
|
+
C(X, {
|
|
133
134
|
buttonList: n.options.buttonList || [],
|
|
134
|
-
ctx:
|
|
135
|
-
onOnClick:
|
|
135
|
+
ctx: H(),
|
|
136
|
+
onOnClick: E,
|
|
136
137
|
disabled: p.value
|
|
137
138
|
}, null, 8, ["buttonList", "ctx", "disabled"])
|
|
138
139
|
]),
|
|
139
|
-
default:
|
|
140
|
-
I("div",
|
|
141
|
-
|
|
140
|
+
default: x(() => [
|
|
141
|
+
I("div", Y, [
|
|
142
|
+
C(W, {
|
|
142
143
|
ref_key: "vfdRef",
|
|
143
|
-
ref:
|
|
144
|
-
loading:
|
|
144
|
+
ref: l,
|
|
145
|
+
loading: i(v),
|
|
145
146
|
vfCtx: {
|
|
146
147
|
...n.vfCtx,
|
|
147
|
-
instance:
|
|
148
|
+
instance: i(r)
|
|
148
149
|
},
|
|
149
|
-
"parent-form":
|
|
150
|
+
"parent-form": D.value,
|
|
150
151
|
"disabled-mode": n.options.disabledMode,
|
|
151
152
|
"dynamic-creation": !0
|
|
152
153
|
}, null, 8, ["loading", "vfCtx", "parent-form", "disabled-mode"])
|
|
@@ -157,6 +158,6 @@ const X = { class: "dialog-content" }, oe = /* @__PURE__ */ H({
|
|
|
157
158
|
}
|
|
158
159
|
});
|
|
159
160
|
export {
|
|
160
|
-
|
|
161
|
+
ae as default
|
|
161
162
|
};
|
|
162
163
|
//# sourceMappingURL=dynamic-dialog.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-dialog.vue.js","sources":["../../../../src/components/form-render/dynamic-dialog.vue"],"sourcesContent":["<template>\n <TpfModal\n class=\"tpf-model design-model\"\n :destroyOnClose=\"true\"\n :title=\"options.title\"\n :bodyStyle=\"{\n height: dialogHeight,\n overflow: 'auto',\n ...JSON.parse(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 :left-num=\"leftNum\"\n v-bind=\"otherAttrs\"\n >\n <div class=\"dialog-content\">\n <VFormRender\n ref=\"vfdRef\"\n :loading=\"isLoading\"\n :vfCtx=\"{\n ...vfCtx,\n instance: context\n }\"\n :parent-form=\"parentForm\"\n :disabled-mode=\"options.disabledMode\"\n :dynamic-creation=\"true\"\n />\n </div>\n <template #footerRight>\n <ActionButtonListRender\n :buttonList=\"options.buttonList || []\"\n :ctx=\"getFormContext()\"\n @on-click=\"handleBtnClick\"\n :disabled=\"isDisabled\"\n />\n </template>\n </TpfModal>\n</template>\n\n<script lang=\"ts\" setup>\n import { ref, computed, nextTick, onBeforeUnmount } from 'vue';\n import { TpfModal, useExecFunction } from 'tmgc2-share';\n import { useLowcode } from '@/hooks/useLowcode';\n import VFormRender from '../FormRender/index.vue';\n import ActionButtonListRender from '@/components/public/ActionButtonListRender.vue';\n defineOptions({\n name: 'dynamic-dialog'\n });\n\n const props = defineProps({\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\n const dialogHeight = computed(() => {\n return props.options.height || '500px';\n });\n const leftNum = ref(null);\n\n const isDisabled = ref(false);\n const dialogVisible = ref(false);\n\n const { context, asyncExecuteFunction, executeFunction } = useExecFunction();\n const { vfdRef, isLoading, getComponentJson } = useLowcode({\n formCode: props.options.formCode,\n ...props.vfCtx\n });\n // 计算属性\n const parentForm = computed(() => {\n return {\n ...props.parentFormRef,\n parentDom: context.value,\n getParentFormRef\n };\n });\n\n const otherAttrs = computed(() => {\n if (props.options.cancelButtonHidden && props.options.okButtonHidden) {\n return { footer: null };\n }\n return {};\n });\n\n // 生命周期钩子\n onBeforeUnmount(() => {\n console.log(props.parentFormRef);\n props.parentFormRef?.setChildFormRef?.(null);\n });\n\n const setLoading = status => {\n isLoading.value = status;\n };\n\n const setTitle = title => {\n props.options.title = title;\n };\n\n const beforeOpen = () => {\n dialogVisible.value = true;\n };\n\n const handleBtnClick = async ({ result }: any) => {\n if (result !== false) {\n await handleCloseEvent();\n }\n };\n\n const show = () => {\n dialogVisible.value = true;\n console.log(122121);\n\n //设置readMode模式\n nextTick(async () => {\n if (props.options?.readMode) {\n vfdRef.value?.setReadMode(true);\n }\n await getComponentJson([], props.options.formCode);\n vfdRef.value?.setDialogOrDrawerRef(context.value);\n if (props.parentFormRef) {\n props.parentFormRef.setChildFormRef(vfdRef.value);\n }\n handleOpenedEvent();\n });\n };\n\n const close = async () => {\n if (props.options.onDialogBeforeClose) {\n return await asyncExecuteFunction({\n functionBody: props.options.onDialogBeforeClose\n });\n }\n\n dialogVisible.value = false;\n };\n\n const handleCloseEvent = () => {\n dialogVisible.value = false;\n };\n\n const handleOpenedEvent = async () => {\n if (props.options.onDialogOpened) {\n return await asyncExecuteFunction({\n functionBody: props.options.onDialogOpened\n });\n }\n };\n\n const getParentFormRef = () => {\n return props.parentFormRef;\n };\n\n const updateTable = () => {\n if (props.vfCtx?.parent?.exposed?.updateTable) {\n props.vfCtx.parent.exposed.updateTable();\n }\n };\n\n const getExtraData = () => {\n return props.extraData;\n };\n\n const setleftText = number => {\n leftNum.value = number;\n };\n\n const setDisabled = status => {\n isDisabled.value = status;\n };\n\n const getFormRef = () => {\n return vfdRef.value;\n };\n\n const getFormContext = () => {\n return vfdRef.value?.context;\n };\n\n // 暴露方法给父组件\n defineExpose({\n getParentFormRef,\n getFormRef,\n setDisabled,\n setleftText,\n setLoading,\n setTitle,\n beforeOpen,\n show,\n close,\n handleCloseEvent,\n handleOpenedEvent,\n updateTable,\n getExtraData\n });\n</script>\n\n<style lang=\"less\">\n .dialog-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: 300px;\n }\n</style>\n"],"names":["props","__props","dialogHeight","computed","leftNum","ref","isDisabled","dialogVisible","context","asyncExecuteFunction","executeFunction","useExecFunction","vfdRef","isLoading","getComponentJson","useLowcode","parentForm","getParentFormRef","otherAttrs","onBeforeUnmount","_b","_a","setLoading","status","setTitle","title","beforeOpen","handleBtnClick","result","handleCloseEvent","show","nextTick","_c","handleOpenedEvent","close","updateTable","getExtraData","setleftText","number","setDisabled","getFormRef","getFormContext","__expose","_openBlock","_createBlock","_unref","_mergeProps","$event","_createVNode","ActionButtonListRender","_createElementVNode","_hoisted_1","VFormRender"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDI,UAAMA,IAAQC,GAwCRC,IAAeC,EAAS,MACnBH,EAAM,QAAQ,UAAU,OAClC,GACKI,IAAUC,EAAI,IAAI,GAElBC,IAAaD,EAAI,EAAK,GACtBE,IAAgBF,EAAI,EAAK,GAEzB,EAAE,SAAAG,GAAS,sBAAAC,GAAsB,iBAAAC,EAAA,IAAoBC,EAAA,GACrD,EAAE,QAAAC,GAAQ,WAAAC,GAAW,kBAAAC,EAAA,IAAqBC,EAAW;AAAA,MACvD,UAAUf,EAAM,QAAQ;AAAA,MACxB,GAAGA,EAAM;AAAA,IAAA,CACZ,GAEKgB,IAAab,EAAS,OACjB;AAAA,MACH,GAAGH,EAAM;AAAA,MACT,WAAWQ,EAAQ;AAAA,MACnB,kBAAAS;AAAA,IAAA,EAEP,GAEKC,IAAaf,EAAS,MACpBH,EAAM,QAAQ,sBAAsBA,EAAM,QAAQ,iBAC3C,EAAE,QAAQ,KAAA,IAEd,CAAA,CACV;AAGD,IAAAmB,EAAgB,MAAM;;AAClB,cAAQ,IAAInB,EAAM,aAAa,IAC/BoB,KAAAC,IAAArB,EAAM,kBAAN,gBAAAqB,EAAqB,oBAArB,QAAAD,EAAA,KAAAC,GAAuC;AAAA,IAC3C,CAAC;AAED,UAAMC,IAAa,CAAAC,MAAU;AACzB,MAAAV,EAAU,QAAQU;AAAA,IACtB,GAEMC,IAAW,CAAAC,MAAS;AACtB,MAAAzB,EAAM,QAAQ,QAAQyB;AAAA,IAC1B,GAEMC,IAAa,MAAM;AACrB,MAAAnB,EAAc,QAAQ;AAAA,IAC1B,GAEMoB,IAAiB,OAAO,EAAE,QAAAC,QAAkB;AAC9C,MAAIA,MAAW,MACX,MAAMC,EAAA;AAAA,IAEd,GAEMC,IAAO,MAAM;AACf,MAAAvB,EAAc,QAAQ,IACtB,QAAQ,IAAI,MAAM,GAGlBwB,EAAS,YAAY;;AACjB,SAAIV,IAAArB,EAAM,YAAN,QAAAqB,EAAe,cACfD,IAAAR,EAAO,UAAP,QAAAQ,EAAc,YAAY,MAE9B,MAAMN,EAAiB,CAAA,GAAId,EAAM,QAAQ,QAAQ,IACjDgC,IAAApB,EAAO,UAAP,QAAAoB,EAAc,qBAAqBxB,EAAQ,QACvCR,EAAM,iBACNA,EAAM,cAAc,gBAAgBY,EAAO,KAAK,GAEpDqB,EAAA;AAAA,MACJ,CAAC;AAAA,IACL,GAEMC,IAAQ,YAAY;AACtB,UAAIlC,EAAM,QAAQ;AACd,eAAO,MAAMS,EAAqB;AAAA,UAC9B,cAAcT,EAAM,QAAQ;AAAA,QAAA,CAC/B;AAGL,MAAAO,EAAc,QAAQ;AAAA,IAC1B,GAEMsB,IAAmB,MAAM;AAC3B,MAAAtB,EAAc,QAAQ;AAAA,IAC1B,GAEM0B,IAAoB,YAAY;AAClC,UAAIjC,EAAM,QAAQ;AACd,eAAO,MAAMS,EAAqB;AAAA,UAC9B,cAAcT,EAAM,QAAQ;AAAA,QAAA,CAC/B;AAAA,IAET,GAEMiB,IAAmB,MACdjB,EAAM,eAGXmC,IAAc,MAAM;;AACtB,OAAIH,KAAAZ,KAAAC,IAAArB,EAAM,UAAN,gBAAAqB,EAAa,WAAb,gBAAAD,EAAqB,YAArB,QAAAY,EAA8B,eAC9BhC,EAAM,MAAM,OAAO,QAAQ,YAAA;AAAA,IAEnC,GAEMoC,IAAe,MACVpC,EAAM,WAGXqC,IAAc,CAAAC,MAAU;AAC1B,MAAAlC,EAAQ,QAAQkC;AAAA,IACpB,GAEMC,IAAc,CAAAhB,MAAU;AAC1B,MAAAjB,EAAW,QAAQiB;AAAA,IACvB,GAEMiB,IAAa,MACR5B,EAAO,OAGZ6B,IAAiB,MAAM;;AACzB,cAAOpB,IAAAT,EAAO,UAAP,gBAAAS,EAAc;AAAA,IACzB;AAGA,WAAAqB,EAAa;AAAA,MACT,kBAAAzB;AAAA,MACA,YAAAuB;AAAA,MACA,aAAAD;AAAA,MACA,aAAAF;AAAA,MACA,YAAAf;AAAA,MACA,UAAAE;AAAA,MACA,YAAAE;AAAA,MACA,MAAAI;AAAA,MACA,OAAAI;AAAA,MACA,kBAAAL;AAAA,MACA,mBAAAI;AAAA,MACA,aAAAE;AAAA,MACA,cAAAC;AAAA,IAAA,CACH,cAvODO,KAAAC,EAwCWC,MAxCXC,EAwCW;AAAA,MAvCP,OAAM;AAAA,MACL,gBAAgB;AAAA,MAChB,OAAO7C,EAAA,QAAQ;AAAA,MACf,WAAS;AAAA,gBAAwBC,EAAA;AAAA;QAA2D,GAAA,KAAK,MAAMD,EAAA,QAAQ,aAAS,IAAA;AAAA,MAAA;AAAA,MAKxH,UAAU;AAAA,MACH,SAASM,EAAA;AAAA,iDAAAA,EAAa,QAAAwC;AAAA,MAC7B,OAAO9C,EAAA,QAAQ;AAAA,MACf,MAAMA,EAAA,QAAQ;AAAA,MACd,cAAcA,EAAA,QAAQ;AAAA,MACtB,UAAUA,EAAA,QAAQ;AAAA,MAClB,UAAQ4B;AAAA,MACR,YAAUzB,EAAA;AAAA,IAAA,GACHc,EAAA,KAAU,GAAA;AAAA,MAeP,eACP,MAKE;AAAA,QALF8B,EAKEC,GAAA;AAAA,UAJG,YAAYhD,EAAA,QAAQ,cAAU,CAAA;AAAA,UAC9B,KAAKwC,EAAA;AAAA,UACL,WAAUd;AAAA,UACV,UAAUrB,EAAA;AAAA,QAAA;;iBAlBnB,MAYM;AAAA,QAZN4C,EAYM,OAZNC,GAYM;AAAA,UAXFH,EAUEI,GAAA;AAAA,qBATM;AAAA,YAAJ,KAAIxC;AAAA,YACH,SAASiC,EAAAhC,CAAA;AAAA,YACT,OAAK;AAAA,iBAA2BZ,EAAA;AAAA,wBAAqC4C,EAAArC,CAAA;AAAA,YAAA;AAAA,YAIrE,eAAaQ,EAAA;AAAA,YACb,iBAAef,EAAA,QAAQ;AAAA,YACvB,oBAAkB;AAAA,UAAA;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"dynamic-dialog.vue.js","sources":["../../../../src/components/form-render/dynamic-dialog.vue"],"sourcesContent":["<template>\n <TpfModal\n class=\"tpf-model design-model\"\n :destroyOnClose=\"true\"\n :title=\"options.title\"\n :bodyStyle=\"{\n height: dialogHeight,\n overflow: 'auto',\n ...JSON.parse(options.bodyStyle || '{}')\n }\"\n :centered=\"true\"\n v-model:visible=\"dialogVisible\"\n :width=\"formatSize(options.width)\"\n :mask=\"options.showModal\"\n :maskClosable=\"options.closeOnClickModal\"\n :keyboard=\"options.closeOnPressEscape\"\n @cancel=\"handleCloseEvent\"\n :left-num=\"leftNum\"\n v-bind=\"otherAttrs\"\n >\n <div class=\"dialog-content\">\n <VFormRender\n ref=\"vfdRef\"\n :loading=\"isLoading\"\n :vfCtx=\"{\n ...vfCtx,\n instance: context\n }\"\n :parent-form=\"parentForm\"\n :disabled-mode=\"options.disabledMode\"\n :dynamic-creation=\"true\"\n />\n </div>\n <template #footerRight>\n <ActionButtonListRender\n :buttonList=\"options.buttonList || []\"\n :ctx=\"getFormContext()\"\n @on-click=\"handleBtnClick\"\n :disabled=\"isDisabled\"\n />\n </template>\n </TpfModal>\n</template>\n\n<script lang=\"ts\" setup>\n import { ref, computed, nextTick, onBeforeUnmount } from 'vue';\n import { TpfModal, useExecFunction } from 'tmgc2-share';\n import { useLowcode } from '@/hooks/useLowcode';\n import { formatSize } from '@/utils/format';\n import VFormRender from '../FormRender/index.vue';\n import ActionButtonListRender from '@/components/public/ActionButtonListRender.vue';\n defineOptions({\n name: 'dynamic-dialog'\n });\n\n const props = defineProps({\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\n const dialogHeight = computed(() => {\n return formatSize(props.options.height, '500px');\n });\n const leftNum = ref(null);\n\n const isDisabled = ref(false);\n const dialogVisible = ref(false);\n\n const { context, asyncExecuteFunction, executeFunction } = useExecFunction();\n const { vfdRef, isLoading, getComponentJson } = useLowcode({\n formCode: props.options.formCode,\n ...props.vfCtx\n });\n // 计算属性\n const parentForm = computed(() => {\n return {\n ...props.parentFormRef,\n parentDom: context.value,\n getParentFormRef\n };\n });\n\n const otherAttrs = computed(() => {\n if (props.options.cancelButtonHidden && props.options.okButtonHidden) {\n return { footer: null };\n }\n return {};\n });\n\n // 生命周期钩子\n onBeforeUnmount(() => {\n console.log(props.parentFormRef);\n props.parentFormRef?.setChildFormRef?.(null);\n });\n\n const setLoading = status => {\n isLoading.value = status;\n };\n\n const setTitle = title => {\n props.options.title = title;\n };\n\n const beforeOpen = () => {\n dialogVisible.value = true;\n };\n\n const handleBtnClick = async ({ result }: any) => {\n if (result !== false) {\n await handleCloseEvent();\n }\n };\n\n const show = () => {\n dialogVisible.value = true;\n\n //设置readMode模式\n nextTick(async () => {\n if (props.options?.readMode) {\n vfdRef.value?.setReadMode(true);\n }\n await getComponentJson([], props.options.formCode);\n vfdRef.value?.setDialogOrDrawerRef(context.value);\n if (props.parentFormRef) {\n props.parentFormRef.setChildFormRef(vfdRef.value);\n }\n handleOpenedEvent();\n });\n };\n\n const close = async () => {\n if (props.options.onDialogBeforeClose) {\n return await asyncExecuteFunction({\n functionBody: props.options.onDialogBeforeClose\n });\n }\n\n dialogVisible.value = false;\n };\n\n const handleCloseEvent = () => {\n close();\n };\n\n const handleOpenedEvent = async () => {\n if (props.options.onDialogOpened) {\n return await asyncExecuteFunction({\n functionBody: props.options.onDialogOpened\n });\n }\n };\n\n const getParentFormRef = () => {\n return props.parentFormRef;\n };\n\n const updateTable = () => {\n if (props.vfCtx?.parent?.exposed?.updateTable) {\n props.vfCtx.parent.exposed.updateTable();\n }\n };\n\n const getExtraData = () => {\n return props.extraData;\n };\n\n const setleftText = number => {\n leftNum.value = number;\n };\n\n const setDisabled = status => {\n isDisabled.value = status;\n };\n\n const getFormRef = () => {\n return vfdRef.value;\n };\n\n const getFormContext = () => {\n return vfdRef.value?.context;\n };\n\n // 暴露方法给父组件\n defineExpose({\n getParentFormRef,\n getFormRef,\n setDisabled,\n setleftText,\n setLoading,\n setTitle,\n beforeOpen,\n show,\n close,\n handleCloseEvent,\n handleOpenedEvent,\n updateTable,\n getExtraData\n });\n</script>\n\n<style lang=\"less\">\n .dialog-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: 300px;\n }\n</style>\n"],"names":["props","__props","dialogHeight","computed","formatSize","leftNum","ref","isDisabled","dialogVisible","context","asyncExecuteFunction","executeFunction","useExecFunction","vfdRef","isLoading","getComponentJson","useLowcode","parentForm","getParentFormRef","otherAttrs","onBeforeUnmount","_b","_a","setLoading","status","setTitle","title","beforeOpen","handleBtnClick","result","handleCloseEvent","show","nextTick","_c","handleOpenedEvent","close","updateTable","getExtraData","setleftText","number","setDisabled","getFormRef","getFormContext","__expose","_openBlock","_createBlock","_unref","_mergeProps","$event","_createVNode","ActionButtonListRender","_createElementVNode","_hoisted_1","VFormRender"],"mappings":"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"}
|
|
@@ -1,55 +1,63 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { getLocat as
|
|
3
|
-
import { TpfAddInfoLayout as
|
|
4
|
-
import { useLowcode as
|
|
5
|
-
import
|
|
1
|
+
import { defineComponent as _, onMounted as x, createElementBlock as B, openBlock as k, createVNode as o, unref as t, withCtx as d, createElementVNode as L } from "vue";
|
|
2
|
+
import { getLocat as l } from "@kp-ui/tool";
|
|
3
|
+
import { TpfAddInfoLayout as v } from "tmgc2-share";
|
|
4
|
+
import { useLowcode as R } from "../../../hooks/useLowcode.js";
|
|
5
|
+
import y from "../ActionButtonListRender.vue.js";
|
|
6
6
|
import b from "../../FormRender/index.vue.js";
|
|
7
7
|
const h = {
|
|
8
8
|
class: "t-bg-[#fff] t-h-full"
|
|
9
|
-
}, I = /* @__PURE__ */
|
|
9
|
+
}, I = /* @__PURE__ */ _({
|
|
10
10
|
__name: "CustomPageRender",
|
|
11
|
-
|
|
11
|
+
props: {
|
|
12
|
+
title: {
|
|
13
|
+
type: String,
|
|
14
|
+
default: ""
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
setup(m) {
|
|
12
18
|
const {
|
|
13
|
-
formCode:
|
|
14
|
-
id:
|
|
19
|
+
formCode: u = "",
|
|
20
|
+
id: a = "",
|
|
15
21
|
type: s = "edit"
|
|
16
|
-
} =
|
|
22
|
+
} = l(), {
|
|
17
23
|
vfdRef: e,
|
|
18
|
-
formConfig:
|
|
19
|
-
getComponentJson:
|
|
24
|
+
formConfig: p,
|
|
25
|
+
getComponentJson: C,
|
|
20
26
|
goBack: n
|
|
21
|
-
} =
|
|
22
|
-
formCode:
|
|
27
|
+
} = R({
|
|
28
|
+
formCode: u,
|
|
23
29
|
type: s
|
|
24
|
-
}),
|
|
30
|
+
}), g = ({
|
|
25
31
|
item: r
|
|
26
32
|
}) => {
|
|
27
33
|
r.name === "cancelButton" && n();
|
|
28
34
|
};
|
|
29
|
-
return
|
|
30
|
-
await
|
|
31
|
-
}), (r, f) => (
|
|
32
|
-
|
|
35
|
+
return x(async () => {
|
|
36
|
+
await C([]);
|
|
37
|
+
}), (r, f) => (k(), B("div", h, [o(t(v), {
|
|
38
|
+
title: m.title
|
|
39
|
+
}, {
|
|
40
|
+
footerRight: d(() => {
|
|
33
41
|
var i, c;
|
|
34
|
-
return [f[0] || (f[0] =
|
|
42
|
+
return [f[0] || (f[0] = L("div", {
|
|
35
43
|
id: "fromBtn"
|
|
36
|
-
}, null, -1)), o(
|
|
37
|
-
buttonList: ((i = t(
|
|
44
|
+
}, null, -1)), o(y, {
|
|
45
|
+
buttonList: ((i = t(p)) == null ? void 0 : i.buttonList) || [],
|
|
38
46
|
ctx: (c = t(e)) == null ? void 0 : c.context,
|
|
39
|
-
onOnClick:
|
|
47
|
+
onOnClick: g
|
|
40
48
|
}, null, 8, ["buttonList", "ctx"])];
|
|
41
49
|
}),
|
|
42
|
-
default:
|
|
50
|
+
default: d(() => [o(b, {
|
|
43
51
|
ref_key: "vfdRef",
|
|
44
52
|
ref: e,
|
|
45
53
|
vfCtx: {
|
|
46
|
-
_id: t(
|
|
47
|
-
...t(
|
|
54
|
+
_id: t(a),
|
|
55
|
+
...t(l)(),
|
|
48
56
|
goBack: t(n)
|
|
49
57
|
}
|
|
50
58
|
}, null, 8, ["vfCtx"])]),
|
|
51
59
|
_: 1
|
|
52
|
-
})]));
|
|
60
|
+
}, 8, ["title"])]));
|
|
53
61
|
}
|
|
54
62
|
});
|
|
55
63
|
export {
|