@baosight/er4j 0.0.69 → 0.0.70
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/er4j-dist/ErAdvanceFilter-ByFv7lkj.js +1663 -0
- package/er4j-dist/ErAdvanceFilter-ByFv7lkj.js.map +1 -0
- package/er4j-dist/{ErLayoutDesign-DFZZkx9P.js → ErLayoutDesign-C_XUd93K.js} +2 -2
- package/er4j-dist/{ErLayoutDesign-DFZZkx9P.js.map → ErLayoutDesign-C_XUd93K.js.map} +1 -1
- package/er4j-dist/ErPopFree-BpCe_t4q.js +5 -0
- package/er4j-dist/ErPopFree-BpCe_t4q.js.map +1 -0
- package/er4j-dist/ErPopQuery-D6GNMo_R.js +5 -0
- package/er4j-dist/ErPopQuery-D6GNMo_R.js.map +1 -0
- package/er4j-dist/ErPopRichEditor-Bk7UGbWg.js +5 -0
- package/er4j-dist/ErPopRichEditor-Bk7UGbWg.js.map +1 -0
- package/er4j-dist/ErPopTree-FgmWr3Jx.js +5 -0
- package/er4j-dist/ErPopTree-FgmWr3Jx.js.map +1 -0
- package/er4j-dist/er4j.css +1 -1
- package/er4j-dist/er4j.es.js +10 -10
- package/er4j-dist/er4j.umd.js +53 -53
- package/er4j-dist/er4j.umd.js.map +1 -1
- package/er4j-dist/{index-ofQiDhL3.js → index-B5cf3vBZ.js} +17060 -16462
- package/er4j-dist/index-B5cf3vBZ.js.map +1 -0
- package/er4j-dist/types/components/ErAdvanceFilter/ErAdvanceFilter.vue.d.ts +18627 -0
- package/er4j-dist/types/components/ErAdvanceFilter/GridToolbar.vue.d.ts +1109 -0
- package/er4j-dist/types/components/ErGrid/ErGrid.vue.d.ts +5253 -3160
- package/er4j-dist/types/components/ErGridStatusBar/PaginationPanel.vue.d.ts +1342 -16
- package/er4j-dist/types/components/ErLayoutDesign/ErLayoutDesign.vue.d.ts +2 -2
- package/er4j-dist/types/components/ErMenuDevPlat/ErMenuDevPlat.vue.d.ts +4922 -2829
- package/er4j-dist/types/locales/erLocale/locale.ar.d.ts +1 -0
- package/er4j-dist/types/locales/erLocale/locale.en.d.ts +1 -0
- package/er4j-dist/types/locales/erLocale/locale.id.d.ts +1 -0
- package/er4j-dist/types/locales/erLocale/locale.zh_Hans.d.ts +1 -0
- package/er4j-dist/types/locales/erLocale/locale.zh_Hant.d.ts +1 -0
- package/er4j-dist/types/utils/er.d.ts +133 -2
- package/er4j-dist/types/utils/i18n.d.ts +2 -2
- package/package.json +1 -1
- package/src/views/JA/ER/JAER02.vue +1 -2
- package/er4j-dist/ErPopFree-BUnRYMy4.js +0 -5
- package/er4j-dist/ErPopFree-BUnRYMy4.js.map +0 -1
- package/er4j-dist/ErPopQuery-BOnM155Y.js +0 -5
- package/er4j-dist/ErPopQuery-BOnM155Y.js.map +0 -1
- package/er4j-dist/ErPopRichEditor-CTN8uO-e.js +0 -5
- package/er4j-dist/ErPopRichEditor-CTN8uO-e.js.map +0 -1
- package/er4j-dist/ErPopTree-KMcjQqPw.js +0 -5
- package/er4j-dist/ErPopTree-KMcjQqPw.js.map +0 -1
- package/er4j-dist/index-ofQiDhL3.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErAdvanceFilter-ByFv7lkj.js","sources":["../packages/components/ErAdvanceFilter/GridToolbar.vue","../packages/components/ErAdvanceFilter/ErAdvanceFilter.vue"],"sourcesContent":["<template>\n <div style=\"display:inline-block\">\n <a-config-providver\n :theme=\"antdTheme\" \n :locale=\"antdLocale\" \n componentSize=\"small\"> \n <a-tooltip v-for=\"item in getDefaultButtons()\"\n :key=\"item.name + 'tooltip'\"\n :title=\"item.caption\">\n <a-button\n :key=\"item.name\"\n :id=\"item.name\"\n :icon=\"props.params?.showIco !== false ? item.icon : undefined\"\n :type=\"item.type || 'primary'\"\n @click=\"toolbarClick(item)\"\n style=\"height:20px; padding: 0px 5px; margin: 1px; font-size: 13px;\"\n >{{ props.params?.showText ? item.caption : ''}}\n </a-button>\n </a-tooltip>\n </a-config-providver>\n </div>\n </template>\n \n <script lang=\"ts\">\n import { onMounted, defineComponent, h, isRef, ref } from 'vue';\n import { Button, ConfigProvider, Tooltip } from 'ant-design-vue';\n import { getAntdLocale } from \"@/locales/localeConfig\";\n import { getAntdTheme } from \"@/utils/theme\";\n import { ER } from '@/utils/er';\n import {\n PlusOutlined,\n CopyOutlined,\n CloseOutlined,\n CheckOutlined,\n InsertRowAboveOutlined,\n MoreOutlined\n } from '@ant-design/icons-vue';\n export default defineComponent({\n name: 'GridToolbar',\n components: {\n 'a-button': Button,\n 'a-tooltip': Tooltip,\n 'a-config-providver': ConfigProvider\n }\n })\n \n </script>\n <script lang=\"ts\" setup>\n const props = defineProps({\n params: {\n type: Object,\n default: () => { }\n }\n });\n \n const antdLocale = ref(getAntdLocale());\n const antdTheme = ref(getAntdTheme());\n if ((window as any).$wujie) {\n (window as any).$wujie.bus?.$on(\"changeThemeEmit\", (e: any) => {\n antdTheme.value = getAntdTheme();\n });\n }\n\n const getDefaultButtons = () => {\n const defaultButtons: any[] = [\n { name: \"addrow\", caption: ER.Core.$t('ERX.ErGridStatusBar.ToolbarPanel.AddRow') || '新增行', icon: h(PlusOutlined), type: 'primary' },\n { name: \"insertrow\", caption: ER.Core.$t('ERX.ErGridStatusBar.ToolbarPanel.InsertRow') || '插入行', icon: h(InsertRowAboveOutlined), type: 'primary' },\n { name: \"copyrow\", caption: ER.Core.$t('ERX.ErGridStatusBar.ToolbarPanel.CopyRow') || '复制行', icon: h(CopyOutlined), type: 'primary' },\n { name: \"delete\", caption: ER.Core.$t('ERX.ErGridStatusBar.ToolbarPanel.Delete') || '删除行', icon: h(CloseOutlined), type: 'primary' },\n { name: \"save\", caption: ER.Core.$t('ERX.ErGridStatusBar.ToolbarPanel.Save') || '保存', icon: h(CheckOutlined), type: 'primary' },\n ];\n const buttonList: any[] = [];\n if (props.params.defaultButtons) {\n defaultButtons.forEach((button: any) => {\n if (props.params.defaultButtons.includes(button.name)) {\n buttonList.push(button);\n }\n });\n }\n if (props.params.customButtons) {\n props.params.customButtons.forEach((button: any) => {\n if (button.name?.trim().length > 0 && button.caption?.trim().length > 0) {\n buttonList.push(button);\n }\n });\n }\n return buttonList;\n }\n \n const toolbarClick = async (btnInfo: any) => {\n let bindingTable: ER.DataTable | undefined = undefined;\n if (props.params.api?.getBindingTable) {\n bindingTable = props.params.api.getBindingTable();\n }\n switch (btnInfo.name) {\n case 'addrow': {\n if (props.params.defaultFunction?.addRow && props.params.defaultFunction.addRow instanceof Function) {\n props.params.defaultFunction.addRow(props.params);\n } else {\n bindingTable?.add();\n }\n break;\n }\n case 'insertrow': {\n if (props.params.defaultFunction?.insertRow && props.params.defaultFunction.insertRow instanceof Function) {\n props.params.defaultFunction.insertRow(props.params);\n } else {\n if (bindingTable?.Current) {\n const index = bindingTable.indexOf(bindingTable.Current);\n bindingTable.insert(index, {});\n } else {\n bindingTable?.insert(0, {});\n }\n }\n break;\n }\n case 'copyrow': {\n if (props.params.defaultFunction?.copyRow && props.params.defaultFunction.copyRow instanceof Function) {\n props.params.defaultFunction.copyRow(props.params);\n } else {\n if (bindingTable?.Current) {\n const index = bindingTable.indexOf(bindingTable.Current);\n bindingTable.insert(index + 1, bindingTable.Current.toJSON());\n } else {\n bindingTable?.add();\n }\n }\n break;\n }\n case 'delete': {\n if (props.params.defaultFunction?.deleteRow && props.params.defaultFunction.deleteRow instanceof Function) {\n props.params.defaultFunction.deleteRow(props.params);\n } else {\n if (bindingTable?.Current) {\n bindingTable.remove(bindingTable.Current);\n }\n }\n break;\n }\n case 'save': {\n if (props.params.defaultFunction?.save && props.params.defaultFunction.save instanceof Function) {\n props.params.defaultFunction.save(props.params);\n } \n break;\n }\n default: {\n if (props.params.defaultFunction?.[btnInfo.name] && props.params.defaultFunction[btnInfo.name] instanceof Function) {\n props.params.defaultFunction[btnInfo.name](props.params);\n }\n }\n }\n };\n onMounted(() => {\n \n });\n </script>\n \n <style lang=\"scss\">\n </style>\n ","<template>\n <er-dialog ref=\"modalRef\" v-model:visible=\"props.popAdvanceFilterHelperProps.WindowOpened.value\"\n :title=\"ER.Core.$t('ERX.AdvanceFilter') || '高级过滤'\"\n :default-footer=\"true\"\n :show-confirm=\"false\"\n :show-cancel=\"false\"\n :height=\"props.options.height || '630px' \" \n :width=\"props.options.width || (props.popAdvanceFilterHelperProps.Options?.devMode ? '630px' : '960px') \" \n :destroy-on-close=\"props.popAdvanceFilterHelperProps.UnMountWhenCloseDialog\"\n @open=\"onOpen\"\n @click-close-icon=\"closeClick\">\n <div style=\"display: flex; height: 100%; flex-direction: column;\">\n <div style=\"flex: 1\">\n <Splitpanes \n :horizontal=\"!horizontal\"\n @resize=\"mainViewSize = $event[0].size\">\n <Pane :size=\"mainViewSize\">\n <er-panel\n :title=\"ER.Core.$t('ERX.TemplateList') || '方案列表'\"\n :open-header-show=\"false\"\n style=\"height: 100%\"\n >\n <template #contentSlot>\n <Splitpanes \n :horizontal=\"true\">\n <Pane :size=\"mainViewStateSize\">\n <ag-grid-vue\n ref=\"agGridVueTemplateMainRef\"\n :id=\"$attrs?.id + '_group_template_main_grid'\"\n class=\"ag-theme-balham er-grid\"\n style=\"height: 100%; width: 100%;\"\n rowSelection=\"single\"\n :rowHeight=\"30\"\n :headerHeight=\"0\"\n :enableRtl=\"isRTL()\"\n :localeText=\"getAgLocaleText()\"\n :stopEditingWhenCellsLoseFocus=\"true\"\n :enableBrowserTooltips=\"false\"\n :tooltipInteraction=\"true\"\n :columnDefs=\"templateMainGridColumnDefs\"\n :statusBar=\"gridTemplateMainStatusBar\"\n @grid-ready=\"gridTemplateMainReady\"\n ></ag-grid-vue>\n </Pane>\n </Splitpanes>\n </template>\n </er-panel>\n </Pane>\n <Pane :size=\"100-mainViewSize\" style=\"padding-bottom: 5px;\">\n <div style=\"display: flex; height: 100%; flex-direction: column;\">\n <er-panel\n :title=\"ER.Core.$t('ERX.TemplateDetail') || '方案明细'\"\n :open-header-show=\"false\"\n style=\"height: 75px\"\n >\n <template #contentSlot>\n <div style=\"display: flex; justify-content:flex-start; align-items: center;\">\n <a-input :disabled=\"props.popAdvanceFilterHelperProps.Options.devMode\" style=\"width: 200px; height: 25px;\" v-model:value=\"templateName\" :placeholder=\"ER.Core.$t('ERX.TemplateNameEmptyMessage') || '请输入方案名称'\" />\n <a-checkbox v-if=\"!props.popAdvanceFilterHelperProps.Options.devMode\" style=\"margin-left: 10px;\" v-model:checked=\"isDefault\">{{ ER.Core.$t('ERX.Default') || '默认' }}</a-checkbox>\n <a-checkbox v-if=\"!props.popAdvanceFilterHelperProps.Options.devMode\" style=\"margin-left: 2px;\" v-model:checked=\"isPublic\">{{ ER.Core.$t('ERX.Public') || '公共' }}</a-checkbox>\n <a-button :icon=\"h(CheckOutlined)\" class=\"er-button\" style=\"margin-left: 5px;\" @click=\"saveClick\">{{ ER.Core.$t('ERX.Save') || '保存'}}</a-button>\n <a-button v-if=\"!props.popAdvanceFilterHelperProps.Options.devMode\" :icon=\"h(CloseOutlined)\" class=\"xr-ef-button\" style=\"margin-left: 2px;\" @click=\"resetClick\">{{ ER.Core.$t('ERX.Reset') || '重置'}}</a-button>\n <a-button v-if=\"!props.popAdvanceFilterHelperProps.Options.devMode\" :icon=\"h(CopyOutlined)\" class=\"xr-ef-button\" style=\"margin-left: 2px;\" @click=\"copyClick\">{{ ER.Core.$t('ERX.Copy') || '复制'}}</a-button>\n </div>\n </template>\n </er-panel>\n <a-tabs style=\"height: calc(100% - 75px)\" type=\"card\" v-model:activeKey=\"activeKey\">\n <a-tab-pane\n force-render\n :key=\"'filter'\"\n :tab=\"ER.Core.$t('ERX.Filter') || '条件'\"\n style=\"height: 100%\"\n >\n <ag-grid-vue\n ref=\"agGridVueTemplateFilterRef\"\n :id=\"$attrs?.id + '_group_template_filter_grid'\"\n class=\"ag-theme-balham er-grid\"\n style=\"height: 100%; width: 100%;\"\n rowSelection=\"multiple\"\n :rowDragManaged=\"true\"\n :grid-id=\"ER.Core.guid()\"\n :enableRtl=\"isRTL()\"\n :localeText=\"getAgLocaleText()\"\n :singleClickEdit=\"true\"\n :stopEditingWhenCellsLoseFocus=\"true\"\n :enableBrowserTooltips=\"false\"\n :tooltipInteraction=\"true\"\n :defaultColDef=\"defaultColDef\"\n :columnDefs=\"templateFilterGridColumnDefs\"\n :statusBar=\"gridTemplateFilterStatusBar\"\n @grid-ready=\"gridTemplateFilterReady\"\n @row-drag-end=\"onRowDragEnd\"\n ></ag-grid-vue>\n </a-tab-pane>\n <a-tab-pane\n v-if=\"!props.popAdvanceFilterHelperProps.Options.devMode\"\n force-render\n :key=\"'sort'\"\n :tab=\"ER.Core.$t('ERX.Sort') || '排序'\"\n style=\"height: 100%\">\n <ag-grid-vue\n ref=\"agGridVueTemplateSortRef\"\n :id=\"$attrs?.id + '_group_template_sort_grid'\"\n class=\"ag-theme-balham er-grid\"\n style=\"height: 100%; width: 100%;\"\n rowSelection=\"multiple\"\n :rowDragManaged=\"true\"\n :grid-id=\"ER.Core.guid()\"\n :enableRtl=\"isRTL()\"\n :localeText=\"getAgLocaleText()\"\n :singleClickEdit=\"true\"\n :stopEditingWhenCellsLoseFocus=\"true\"\n :enableBrowserTooltips=\"true\"\n :defaultColDef=\"defaultColDef\"\n :columnDefs=\"templateSortGridColumnDefs\"\n :statusBar=\"gridTemplateFilterStatusBar\"\n @grid-ready=\"gridTemplateSortReady\"\n @row-drag-end=\"onRowDragEnd\"\n ></ag-grid-vue>\n </a-tab-pane>\n <a-tab-pane\n v-if=\"!props.popAdvanceFilterHelperProps.Options.devMode\"\n force-render\n :key=\"'display'\"\n :tab=\"ER.Core.$t('ERX.Display') || '显示'\"\n style=\"height: 100%\"\n >\n <ag-grid-vue\n ref=\"agGridVueTemplateDisplayRef\"\n :id=\"$attrs?.id + '_group_template_display_grid'\"\n class=\"ag-theme-balham er-grid\"\n style=\"height: 100%; width: 100%;\"\n rowSelection=\"multiple\"\n :rowDragManaged=\"true\"\n :rowDragMultiRow=\"true\"\n :grid-id=\"ER.Core.guid()\"\n :enableRtl=\"isRTL()\"\n :localeText=\"getAgLocaleText()\"\n :stopEditingWhenCellsLoseFocus=\"true\"\n :enableBrowserTooltips=\"true\"\n :defaultColDef=\"defaultColDef\"\n :columnDefs=\"templateDisplayGridColumnDefs\"\n :statusBar=\"gridTemplateDisplayStatusBar\"\n @filterChanged=\"onFilterChanged\"\n @row-drag-end=\"onRowDragEnd\"\n @grid-ready=\"gridTemplateDisplayReady\"\n ></ag-grid-vue>\n </a-tab-pane>\n </a-tabs>\n </div>\n </Pane>\n </Splitpanes>\n </div>\n </div>\n <template #footer-left>\n <button class=\"er-button\" @click=\"confirmClick\">{{ ER.Core.$t('ERX.Filter') || '过滤'}}</button>\n <button class=\"er-button\" @click=\"cancelClick\">{{ ER.Core.$t('ERX.Close') || '关闭' }}</button>\n </template>\n </er-dialog>\n</template>\n\n<script lang=\"ts\">\nimport { defineProps, onMounted, ref, computed, defineComponent} from 'vue';\nimport { ER } from '../../utils/er';\nimport GridToolbar from './GridToolbar.vue';\nimport DropdownEditor from '../ErGridCellEditor/DropdownEditor.vue';\nimport NumberEditor from '../ErGridCellEditor/NumberEditor.vue';\nimport TextEditor from '../ErGridCellEditor/TextEditor.vue';\nimport LargeTextEditor from '../ErGridCellEditor/LargeTextEditor.vue';\nimport DatetimeEditor from '../ErGridCellEditor/DatetimeEditor.vue';\nimport DefaultCellRender from \"../ErGridCellRender/DefaultRender.vue\";\nimport ErDialog from '../ErDialog/ErDialog.vue';\nimport ErPanel from '../ErPanel/ErPanel.vue';\nimport { getAgLocaleText, isRTL } from \"@/locales/localeConfig\";\nimport { Splitpanes, Pane } from \"splitpanes\";\nimport \"splitpanes/dist/splitpanes.css\";\nimport { getAntdTheme } from \"@/utils/theme\";\nimport dayjs, { Dayjs } from 'dayjs';\nimport { CheckOutlined, CloseOutlined, CopyOutlined, DeleteOutlined } from '@ant-design/icons-vue';\nimport { nextTick, h, createVNode } from 'vue';\nimport { EiBlock, EiInfo } from '@eplat/ei';\nexport default defineComponent({\n name: 'ErAdvanceFilter',\n components: {\n ErDialog,\n ErPanel,\n GridToolbar,\n DropdownEditor,\n NumberEditor,\n TextEditor,\n LargeTextEditor,\n DatetimeEditor,\n CheckOutlined,\n CloseOutlined,\n CopyOutlined,\n DeleteOutlined\n }\n});\n</script>\n\n<script lang=\"ts\" setup>\nconst props = defineProps({\n popAdvanceFilterHelperProps: {\n type: ER.PopAdvanceFilterHelper,\n default: null,\n require: true\n },\n options: {\n type: Object as () => { [key: string]: any },\n default: {},\n require: false\n }\n});\n\nconst antdTheme = ref(getAntdTheme());\nif ((window as any).$wujie) {\n (window as any).$wujie.bus?.$on(\"changeThemeEmit\", (e: any) => {\n antdTheme.value = getAntdTheme();\n });\n}\nconst agGridVueTemplateMainRef = ref<any>(null);\nconst agGridVueTemplateFilterRef = ref<any>(null);\nconst agGridVueTemplateSortRef = ref<any>(null);\nconst agGridVueTemplateDisplayRef = ref<any>(null);\nconst horizontal = ref(true);\nconst activeKey = ref('filter');\nconst mainViewSize = props.popAdvanceFilterHelperProps.Options.devMode ? ref(0) : ref(35);\nconst templateName = ref(props.popAdvanceFilterHelperProps.Options.devMode ? 'SystemDefault' : '');\nconst isDefault = ref(false);\nconst isPublic = ref(false);\nconst gridOriginColumns: any[] = [];\nlet mainViewStateSize = 35;\nlet templateBillNo = '';\nlet templateUserId = ER.SysInfo.UserId;\nlet haveUserDisplay = false;\nlet currentBillNo = '';\n\nconst filterDataTable = props.popAdvanceFilterHelperProps.FilterDataStructure?.clone();\nconst sortDataTable = props.popAdvanceFilterHelperProps.FilterDataStructure?.clone();\nconst displayDataTable = props.popAdvanceFilterHelperProps.FilterDataStructure?.clone();\nconst templateDataTable = props.popAdvanceFilterHelperProps.FilterDataStructure?.clone();\nconst defaultFilter = props.popAdvanceFilterHelperProps.FilterDataStructure?.clone();\nconst defaultColDef = {\n resizable: true,\n sortable: false,\n filter: false,\n cellStyle: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n suppressMenu: true,\n};\n\nconst operatorList: any[] = [{\n CODE: '',\n CODE_DESC_1_CONTENT: ''\n }, {\n CODE: 'Equal',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterEqual') || '等于'\n }, {\n CODE: 'NotEqual',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterNotEqual') || '不等于'\n }, {\n CODE: 'GreaterThan',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterGreaterThan') || '大于'\n }, {\n CODE: 'GreaterThanOrEqual',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterGreaterThanOrEqual') || '大于等于'\n }, {\n CODE: 'LessThan',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterLessThan') || '小于'\n }, {\n CODE: 'LessThanOrEqual',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterLessThanOrEqual') || '小于等于'\n }, {\n CODE: 'IsNull',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterIsNull') || '为空'\n }, {\n CODE: 'IsNotNull',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterIsNotNull') || '不为空'\n }, {\n CODE: 'IsZero',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterIsZero') || '为零'\n }, {\n CODE: 'IsNotZero',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterIsNotZero') || '不为零'\n }, {\n CODE: 'IsTrue',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterIsTrue') || '为真'\n }, {\n CODE: 'IsFalse',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterIsFalse') || '为假'\n }, {\n CODE: 'BeginWith',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterBeginWith') || '开始于'\n }, {\n CODE: 'NotBeginWith',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterNotBeginWith') || '不开始于'\n }, {\n CODE: 'EndWith',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterEndWith') || '结束于'\n }, {\n CODE: 'NotEndWith',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterNotEndWith') || '不结束于'\n },{\n CODE: 'Contains',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterContains') || '包含'\n }, {\n CODE: 'NotContains',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterNotContains') || '不包含'\n }, {\n CODE: 'In',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterIn') || '在'\n }, {\n CODE: 'NotIn',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterNotIn') || '不在'\n }, {\n CODE: 'Today',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterToday') || '今天'\n }, {\n CODE: 'Yesterday',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterYesterday') || '昨天'\n }, {\n CODE: 'CurrentMonth',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterCurrentMonth') || '本月'\n }, {\n CODE: 'LastMonth',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterLastMonth') || '上月'\n }, {\n CODE: 'CurrentYear',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterCurrentYear') || '本年'\n }, {\n CODE: 'LastYear',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterLastYear') || '去年'\n }, {\n CODE: 'RecentWeek',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterRecentWeek') || '最近一周'\n }, {\n CODE: 'RecentMonth',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterRecentMonth') || '最近一个月'\n }, {\n CODE: 'RecentQuarter',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterRecentQuarter') || '最近三个月'\n }, {\n CODE: 'RecentHalfYear',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterRecentHalfYear') || '最近半年'\n }, {\n CODE: 'RecentYear',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterRecentYear') || '最近一年'\n }];\n\nconst operatorMap: any = {};\noperatorList.forEach((item: any) => {\n operatorMap[item.CODE] = item.CODE_DESC_1_CONTENT;\n});\n\nconst gridDragColumn = {\n colId: ER.SysInfo.GridCheckColumnFieldName,\n pinned: isRTL() ? 'right' : 'left',\n rowDrag: true,\n checkboxSelection: false,\n headerName: '',\n width: 60,\n minWidth: 40,\n suppressColumnsToolPanel: true,\n suppressSizeToFit: true,\n suppressMenu: true,\n resizable: true,\n sortable: false,\n suppressMovable: true,\n floatingFilter: false,\n lockPosition: isRTL() ? 'right' : 'left',\n headerCheckboxSelection: false,\n headerCheckboxSelectionFilteredOnly: false,\n headerCheckboxSelectionCurrentPageOnly: false,\n valueFormatter: (params: any) => {\n if (params.node.rowPinned || params.node.footer || params.node.group) {\n return '';\n } else {\n return params.node?.childIndex + 1;\n }\n }\n};\n\nconst getGridFilterValueRender = (params: any) => {\n if (params.data?.OPERATOR_NOTE && ['Today', 'Yesterday', 'CurrentMonth', 'LastMonth', 'CurrentYear', 'LastYear', 'RecentWeek', 'RecentMonth', 'RecentQuarter', 'RecentHalfYear', 'RecentYear'].includes(params.data.OPERATOR_NOTE)) {\n return '';\n } else if (params.value !== void 0 && params.value !== null && params.value !== '') {\n const colDef = props.popAdvanceFilterHelperProps?.GridColumnMap[params.data.ITEM_CODE]?.colDef;\n if (colDef?.cellEditor?.name === 'DatetimeEditor' && dayjs(params.value).isValid()) {\n const dataTimeFormat = colDef.context?.columnConfig?.DATE_TIME_FORMAT?.trim() || 'YYYYMMDD';\n if (dataTimeFormat.includes('HHmmss')) {\n return dayjs(params.value).format('YYYY-MM-DD HH:mm:ss');\n } else if (dataTimeFormat.includes('HHmm')) {\n return dayjs(params.value).format('YYYY-MM-DD HH:mm');\n } else if (dataTimeFormat.includes('HH')) {\n return dayjs(params.value).format('YYYY-MM-DD HH');\n } else {\n return dayjs(params.value).format('YYYY-MM-DD');\n }\n } else if (colDef?.cellEditor?.name === 'DropdownEditor' && colDef.refData) {\n const valueArray = params.value.trim().split(',');\n let textString = '';\n valueArray.map((value: string) => {\n const text = ER.Core.toString(colDef.refData[value] || value);\n textString = textString.length === 0 ? text : textString + ',' + text;\n });\n return textString;\n } else {\n return params.value;\n }\n } else {\n return '';\n }\n}\n\nconst templateMainGridColumnDefs: any = [\n // {\n // colId: ER.SysInfo.GridCheckColumnFieldName,\n // pinned: isRTL() ? 'right' : 'left',\n // rowDrag: false,\n // checkboxSelection: true,\n // headerName: '',\n // width: 30,\n // suppressColumnsToolPanel: true,\n // suppressSizeToFit: true,\n // suppressMenu: true,\n // resizable: false,\n // sortable: false,\n // suppressMovable: true,\n // floatingFilter: false,\n // lockPosition: isRTL()? 'right' : 'left'\n // },\n {\n colId: 'CDESC',\n field: 'CDESC',\n headerName: ER.Core.$t('ERX.TemplateName') || '方案名称',\n width: 150,\n sortable: false,\n editable: false,\n resizable: true,\n filter: 'agTextColumnFilter',\n suppressMenu: true,\n tooltipField: void 0,\n cellStyle: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start'\n },\n tooltipValueGetter: (params: any) => { return params.value },\n cellRenderer: (params: any) => {\n if (params.value) {\n let fontIcon = '';\n let fontColor = '#1296db';\n let tagText = '';\n let tagColor = '#FF951C';\n let tagAfterText = true;\n if (params.node.data.DEFAULT_FLAG === '1' || params.node.data.DEFAULT_FLAG === true) {\n fontIcon = 'default';\n } else if (params.node.data.MATCH_FLAG === '0') {\n fontIcon = 'public';\n // 绿色\n fontColor = '#00a88b';\n if (params.node.data.USER_ID !== ER.SysInfo.UserId) {\n tagText = params.node.data.USER_ID;\n tagAfterText = true;\n }\n } else {\n fontIcon = 'private';\n // 黄色\n fontColor = '#FF951C';\n }\n return ER.Core.createVNodeElement(createVNode(DefaultCellRender, {\n params: {\n ...params,\n fontIcon: fontIcon,\n displayText: params.value,\n justifyContent: 'flex-start',\n // textStyle: { fontWeight: 'bold' },\n fontColor: fontColor,\n tagText: tagText,\n tagColor: tagColor,\n tagAfterText: tagAfterText\n }\n }));\n }\n }\n }\n];\n\nconst templateFilterGridColumnDefs: any = [\n {\n ...gridDragColumn,\n },\n {\n colId: 'LEFT_BRACKETS',\n field: 'LEFT_BRACKETS',\n headerName: '(',\n width: 30,\n sortable: false,\n resizable: true,\n editable: (params: any) => {\n return !params.node.rowPinned;\n },\n cellEditorPopup: true,\n cellEditor: DropdownEditor,\n cellEditorParams: {\n readonly: false,\n multiple: false,\n dataSource: [{\n CODE: '',\n CODE_DESC_1_CONTENT: ''\n }, {\n CODE: '(',\n CODE_DESC_1_CONTENT: '('\n }, {\n CODE: '((',\n CODE_DESC_1_CONTENT: '(('\n }, {\n CODE: '(((',\n CODE_DESC_1_CONTENT: '((('\n }, {\n CODE: '((((',\n CODE_DESC_1_CONTENT: '(((('\n }],\n displayColumns: [{\n colId: 'CODE_DESC_1_CONTENT',\n field: 'CODE_DESC_1_CONTENT',\n headerName: '描述',\n width: 150,\n sortable: true,\n }]\n },\n suppressMenu: true\n },\n {\n colId: 'ITEM_CODE',\n field: 'ITEM_CODE',\n headerName: ER.Core.$t('ERX.Field') || '字段',\n headerClass: 'er-grid-header-red-star',\n width: 140,\n sortable: false,\n resizable: true,\n editable: (params: any) => {\n return !params.node.rowPinned;\n },\n cellEditor: DropdownEditor,\n cellEditorParams: {\n readonly: false,\n multiple: false,\n dataSource: props.popAdvanceFilterHelperProps?.GridColumnFieldList,\n displayColumns: [{\n colId: 'CODE_DESC_1_CONTENT',\n field: 'CODE_DESC_1_CONTENT',\n headerName: ER.Core.$t('ERX.Field') || '字段',\n width: 150,\n sortable: true,\n }]\n },\n cellStyle: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start'\n },\n cellRenderer: (params: any) => {\n if (params.data.ITEM_CODE?.trim().length > 0) {\n return props.popAdvanceFilterHelperProps?.GridColumnMap[params.data.ITEM_CODE]?.colDef?.headerName.replaceAll('<br>', '').replaceAll('</br>', '').replaceAll('<br/>', '') || params.data.ITEM_CODE;\n } else {\n return '';\n }\n },\n suppressMenu: true\n },\n {\n colId: 'OPERATOR_NOTE',\n field: 'OPERATOR_NOTE',\n headerName: ER.Core.$t('ERX.FilterOperator') || '比较',\n headerClass: 'er-grid-header-red-star',\n width: 80,\n sortable: false,\n resizable: true,\n editable: (params: any) => {\n return params.data.ITEM_CODE?.trim().length > 0 && !params.node.rowPinned;\n },\n cellEditorSelector: (params: any) => {\n const colDef = props.popAdvanceFilterHelperProps?.GridColumnMap[params.data.ITEM_CODE]?.colDef;\n const dataSource: any[] = [];\n if (colDef?.cellEditor?.name) {\n dataSource.push({\n CODE: 'Equal',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterEqual') || '等于'\n }, {\n CODE: 'NotEqual',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterNotEqual') || '不等于'\n }, {\n CODE: 'GreaterThan',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterGreaterThan') || '大于'\n }, {\n CODE: 'GreaterThanOrEqual',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterGreaterThanOrEqual') || '大于等于'\n }, {\n CODE: 'LessThan',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterLessThan') || '小于'\n }, {\n CODE: 'LessThanOrEqual',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterLessThanOrEqual') || '小于等于'\n });\n if (colDef?.cellEditor?.name === 'NumberEditor') {\n dataSource.push({\n CODE: 'IsZero',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterIsZero') || '为零'\n }, {\n CODE: 'IsNotZero',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterIsNotZero') || '不为零'\n });\n } else {\n dataSource.push({\n CODE: 'IsNull',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterIsNull') || '为空'\n }, {\n CODE: 'IsNotNull',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterIsNotNull') || '不为空'\n });\n }\n } else if (colDef?.cellEditor === 'agCheckboxCellEditor') {\n dataSource.push({\n CODE: 'IsTrue',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterIsTrue') || '为真'\n }, {\n CODE: 'IsFalse',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterIsFalse') || '为假'\n });\n }\n if (colDef?.cellEditor?.name === 'DropdownEditor' || colDef?.cellEditor?.name === 'TextEditor' || colDef?.cellEditor?.name === 'LargeTextEditor') {\n dataSource.push({\n CODE: 'In',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterIn') || '在'\n }, {\n CODE: 'NotIn',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterNotIn') || '不在'\n });\n }\n if (colDef?.cellEditor?.name === 'TextEditor' || colDef?.cellEditor?.name === 'LargeTextEditor') {\n dataSource.push({\n CODE: 'BeginWith',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterBeginWith') || '开始于'\n },\n {\n CODE: 'NotBeginWith',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterNotBeginWith') || '不开始于'\n }, \n {\n CODE: 'EndWith',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterEndWith') || '结束于'\n },\n {\n CODE: 'NotEndWith',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterNotEndWith') || '不结束于'\n },\n {\n CODE: 'Contains',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterContains') || '包含'\n },\n {\n CODE: 'NotContains',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterNotContains') || '不包含'\n });\n }\n if (colDef?.cellEditor?.name === 'DatetimeEditor') {\n dataSource.push({\n CODE: 'Today',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterToday') || '今天'\n },{\n CODE: 'Yesterday',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterYesterday') || '昨天'\n }, {\n CODE: 'CurrentMonth',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterCurrentMonth') || '本月'\n }, {\n CODE: 'LastMonth',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterLastMonth') || '上月'\n }, {\n CODE: 'CurrentYear',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterCurrentYear') || '本年'\n }, {\n CODE: 'LastYear',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterLastYear') || '去年'\n }, {\n CODE: 'RecentWeek',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterRecentWeek') || '最近一周'\n }, {\n CODE: 'RecentMonth',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterRecentMonth') || '最近一个月'\n }, {\n CODE: 'RecentQuarter',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterRecentQuarter') || '最近三个月'\n }, {\n CODE: 'RecentHalfYear',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterRecentHalfYear') || '最近半年'\n }, {\n CODE: 'RecentYear',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterRecentYear') || '最近一年'\n });\n }\n return {\n component: DropdownEditor,\n params: {\n readonly: false,\n multiple: false,\n dataSource: dataSource,\n displayColumns: [{\n colId: 'CODE_DESC_1_CONTENT',\n field: 'CODE_DESC_1_CONTENT',\n headerName: ER.Core.$t('ERX.FilterOperator') || '比较',\n width: 180,\n sortable: true,\n }]\n }\n }\n },\n cellRenderer: (params: any) => {\n return operatorMap[params.data.OPERATOR_NOTE] || '';\n },\n suppressMenu: true\n },\n {\n colId: 'OP_VALUE',\n field: 'OP_VALUE',\n headerName: ER.Core.$t('ERX.FilterValue') || '过滤值',\n width: 140,\n sortable: false,\n resizable: true,\n editable: (params: any) => {\n return !params.node.rowPinned && params.data.ITEM_CODE?.trim().length > 0 && params.data.OPERATOR_NOTE\n && !['IsNull', 'IsNotNull', 'IsZero', 'IsNotZero', 'IsTrue', 'IsFalse', 'Today', 'Yesterday', 'CurrentMonth', 'LastMonth', 'RecentWeek', 'RecentMonth', 'RecentQuarter', 'RecentHalfYear', 'RecentYear', 'CurrentYear', 'LastYear'].includes(params.data.OPERATOR_NOTE);\n },\n valueFormatter: (params: any) => {\n return params.value;\n },\n valueParser: (params: any) => {\n return params.value;\n },\n cellEditorSelector: (params: any) => {\n const colDef = props.popAdvanceFilterHelperProps?.GridColumnMap[params.data.ITEM_CODE]?.colDef;\n if (colDef?.cellEditor?.name === 'DropdownEditor') {\n const bindSource = colDef?.cellEditorParams.formHelper.DropDownBindSource[colDef?.cellEditorParams.configId][colDef.colId];\n return {\n component: DropdownEditor,\n params: {\n readonly: false,\n multiple: params.data.OPERATOR_NOTE === 'In' || params.data.OPERATOR_NOTE === 'NotIn',\n displayColumns: bindSource.columns,\n dataSource: bindSource.dataSource,\n displayFormat: bindSource.displayFormat,\n valueField: bindSource.dataValueField,\n textField: bindSource.dataTextField\n }\n }\n } else if (colDef?.cellEditor?.name === 'NumberEditor') {\n return {\n component: NumberEditor,\n params: {\n zeroDisplayEmpty: false,\n readonly: false\n }\n }\n } else if (colDef?.cellEditor?.name === 'LargeTextEditor') {\n return {\n component: LargeTextEditor,\n popup: true,\n params: {\n readonly: false,\n rows: 10,\n cols: 50\n }\n } \n } else if (colDef?.cellEditor?.name === 'DatetimeEditor') {\n const formatString = colDef.context?.columnConfig?.FORMAT_STRING?.trim() || 'YYYY-MM-DD HH:mm:ss';\n const dataTimeFormat = colDef.context?.columnConfig?.DATE_TIME_FORMAT?.trim() || 'YYYYMMDD';\n return {\n component: DatetimeEditor,\n params: {\n readonly: false,\n type: 'datetime', // ['HH:mm:ss','HH:mm', 'HH'].includes(formatString) ? 'time' : 'datetime',\n showTime: dataTimeFormat.includes('HH'),\n format: formatString.replaceAll('y', 'Y').replaceAll('d', 'D').replaceAll('/', '-'),\n picker: ['YYYY-MM', 'YYYY/MM'].includes(formatString.toUpperCase()) ? 'month' : formatString.toUpperCase() === 'YYYY' ? 'year' : undefined\n }\n }\n } else {\n return {\n component: TextEditor,\n params: {\n readonly: false\n }\n }\n }\n },\n cellRenderer: getGridFilterValueRender,\n tooltipField: void 0,\n tooltipValueGetter: getGridFilterValueRender,\n filter: 'agTextColumnFilter',\n suppressMenu: true\n },\n {\n colId: 'RIGHT_BRACKETS',\n field: 'RIGHT_BRACKETS',\n headerName: ')',\n width: 30,\n sortable: false,\n resizable: true,\n editable: (params: any) => {\n return !params.node.rowPinned;\n },\n cellEditorPopup: true,\n cellEditor: DropdownEditor,\n cellEditorParams: {\n readonly: false,\n multiple: false,\n dataSource: [{\n CODE: '',\n CODE_DESC_1_CONTENT: ''\n }, {\n CODE: ')',\n CODE_DESC_1_CONTENT: ')'\n }, {\n CODE: '))',\n CODE_DESC_1_CONTENT: '))'\n }, {\n CODE: ')))',\n CODE_DESC_1_CONTENT: ')))'\n }, {\n CODE: '))))',\n CODE_DESC_1_CONTENT: '))))'\n }],\n displayColumns: [{\n colId: 'CODE_DESC_1_CONTENT',\n field: 'CODE_DESC_1_CONTENT',\n headerName: '描述',\n width: 150,\n sortable: true,\n }]\n },\n suppressMenu: true\n },\n {\n colId: 'LOGIC',\n field: 'LOGIC',\n headerName: ER.Core.$t('ERX.FilterAndOrCaption') || '并且/或者',\n width: 75,\n sortable: false,\n resizable: true,\n editable: (params: any) => {\n return !params.node.rowPinned;\n },\n cellEditorPopup: true,\n cellEditor: DropdownEditor,\n cellEditorParams: {\n readonly: false,\n multiple: false,\n dataSource: [{\n CODE: 'AND',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterAnd') || '并且',\n }, {\n CODE: 'OR',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.FilterOr') || '或者'\n }],\n displayColumns: [{\n colId: 'CODE_DESC_1_CONTENT',\n field: 'CODE_DESC_1_CONTENT',\n headerName: ER.Core.$t('ERX.FilterAndOrCaption') || '并且/或者',\n width: 100,\n sortable: true,\n }]\n },\n cellRenderer: (params: any) => {\n return params.data.LOGIC === 'AND' ? (ER.Core.$t('ERX.FilterAnd') || '并且') : params.data.LOGIC === 'OR' ? (ER.Core.$t('ERX.FilterOr') || '或者') : '';\n },\n suppressMenu: true\n },\n {\n colId: 'IS_VISIBLE',\n field: 'IS_VISIBLE',\n headerName: ER.Core.$t('ERX.Valid') || '生效',\n width: 50,\n sortable: false,\n resizable: true,\n editable: (params: any) => {\n return !params.node.rowPinned;\n },\n cellEditor: 'agCheckboxCellEditor',\n cellDataType: 'boolean',\n suppressMenu: true\n },\n {\n colId: 'RESERVE1',\n field: 'RESERVE1',\n headerName: ER.Core.$t('ERX.Default') || '默认',\n width: 150,\n sortable: false,\n resizable: true,\n editable: (params: any) => {\n return !params.node.rowPinned;\n },\n suppressMenu: true,\n cellEditor: LargeTextEditor,\n cellEditorPopup: true,\n cellEditorParams: {\n readonly: false,\n maxLength: 100,\n rows: 5,\n cols: 30\n },\n cellStyle: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start'\n }\n }\n];\n\nconst templateSortGridColumnDefs: any = [\n {\n ...gridDragColumn,\n },\n {\n colId: 'ITEM_CODE',\n field: 'ITEM_CODE',\n headerName: ER.Core.$t('ERX.Field') || '字段',\n width: 250,\n sortable: false,\n resizable: true,\n editable: true,\n cellEditor: DropdownEditor,\n cellEditorParams: {\n readonly: false,\n multiple: false,\n dataSource: props.popAdvanceFilterHelperProps?.GridColumnFieldList,\n displayColumns: [{\n colId: 'CODE_DESC_1_CONTENT',\n field: 'CODE_DESC_1_CONTENT',\n headerName: ER.Core.$t('ERX.Field') || '字段',\n width: 150,\n sortable: true,\n filter: 'agTextColumnFilter',\n }]\n },\n cellRenderer: (params: any) => {\n if (params.data.ITEM_CODE?.trim().length > 0) {\n return props.popAdvanceFilterHelperProps?.GridColumnMap[params.data.ITEM_CODE]?.colDef?.headerName.replaceAll('<br>', '').replaceAll('</br>', '').replaceAll('<br/>', '') || params.data.ITEM_CODE;\n } else {\n return '';\n }\n },\n cellStyle: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start'\n },\n suppressMenu: true\n },\n {\n colId: 'GROUP_SORT_TYPE',\n field: 'GROUP_SORT_TYPE',\n headerName: ER.Core.$t('ERX.Sort') || '排序',\n width: 80,\n sortable: false,\n resizable: true,\n editable: true,\n cellEditor: DropdownEditor,\n cellEditorParams: {\n readonly: false,\n multiple: false,\n dataSource: [{\n CODE: '1',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.SortAsc') || '升序'\n }, {\n CODE: '2',\n CODE_DESC_1_CONTENT: ER.Core.$t('ERX.SortDesc') || '降序'\n }],\n displayColumns: [{\n colId: 'CODE_DESC_1_CONTENT',\n field: 'CODE_DESC_1_CONTENT',\n headerName: ER.Core.$t('ERX.Sort') || '排序',\n width: 150, \n sortable: true,\n }]\n },\n cellRenderer: (params: any) => {\n return params.data.GROUP_SORT_TYPE === '1' ? (ER.Core.$t('ERX.SortAsc') || '升序') : params.data.GROUP_SORT_TYPE === '2' ? (ER.Core.$t('ERX.SortDesc') || '降序') : '';\n },\n suppressMenu: true\n },\n {\n colId: 'IS_VISIBLE',\n field: 'IS_VISIBLE',\n headerName: ER.Core.$t('ERX.Valid') || '生效',\n width: 80,\n sortable: false,\n resizable: true,\n editable: true,\n cellEditor: 'agCheckboxCellEditor',\n cellDataType: 'boolean',\n suppressMenu: true\n }\n];\n\nconst templateDisplayGridColumnDefs: any = [\n {\n ...gridDragColumn,\n },\n {\n colId: 'COL_CAPTION',\n field: 'COL_CAPTION',\n tooltipField: ER.Core.$t('ERX.Field') || '字段',\n headerName: ER.Core.$t('ERX.Field') || '字段',\n width: 260,\n sortable: false,\n resizable: true,\n filter: 'agTextColumnFilter',\n floatingFilter: true,\n suppressMenu: true,\n cellStyle: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start'\n }\n },\n {\n colId: 'IS_VISIBLE',\n field: 'IS_VISIBLE',\n headerName: ER.Core.$t('ERX.Visible') || '显示',\n width: 80,\n sortable: false,\n resizable: true,\n editable: true,\n cellEditor: 'agCheckboxCellEditor',\n cellDataType: 'boolean',\n suppressMenu: true\n },\n // {\n // colId: 'IS_AGGREGATE',\n // field: 'IS_AGGREGATE',\n // headerName: ER.Core.$t('ERX.CaptionName') || '聚合',\n // width: 60,\n // sortable: true,\n // resizable: true,\n // editable: true,\n // cellDataType: 'boolean',\n // cellEditor: 'agCheckboxCellEditor',\n // filter: 'agTextColumnFilter',\n // suppressMenu: true\n // }\n];\n\nconst gridTemplateSortReady = (e: any) => {\n sortDataTable?.setBindingInfo(null, '', 'Grid', agGridVueTemplateSortRef.value);\n e.api.setRowData([]);\n};\n\nconst gridTemplateDisplayReady = (e: any) => {\n e.api.addEventListener('rowDragEnd', (params: any) => {\n const columnsToMoveKeys: string[] = [];\n if (params.nodes.length > 0) {\n for (let i = 0; i < params.nodes.length; i++) {\n if (columnsToMoveKeys.includes(params.nodes[i].data.ITEM_CODE)) {\n continue;\n }\n columnsToMoveKeys.push(params.nodes[i].data.ITEM_CODE);\n }\n props.popAdvanceFilterHelperProps.ErGrid?.gridOptions?.columnApi.moveColumns(columnsToMoveKeys, params.nodes[0].rowIndex + 1);\n }\n });\n e.api.addEventListener('cellValueChanged', (params: any) => {\n if (params.colDef.colId === 'IS_VISIBLE') {\n props.popAdvanceFilterHelperProps.ErGrid?.gridOptions?.columnApi.applyColumnState({\n state: [{\n colId: params.node.data.ITEM_CODE,\n hide: params.node.data.IS_VISIBLE === '0' || params.node.data.IS_VISIBLE === false\n }]\n })\n }\n params.data.dirty = true;\n params.data.dirtyFields[params.colDef.field] = true;\n });\n \n displayDataTable?.setBindingInfo(null, '', 'Grid', agGridVueTemplateDisplayRef.value);\n e.api.setRowData([]);\n};\n\nconst onRowDragEnd = (params: any) => {\n let seqNo = 1;\n params.api.forEachNodeAfterFilterAndSort((node: any) => {\n node.data.set('C_SEQ_ID', String(seqNo).padStart(3, '0'));\n seqNo++;\n });\n params.api?.refreshCells({ columns: [ER.SysInfo.GridCheckColumnFieldName] });\n};\n\nconst onFilterChanged = (params: any) => {\n params.api?.redrawRows({ force: true });\n};\n\nconst gridTemplateMainReady = (e: any) => {\n templateDataTable?.setBindingInfo(null, '', 'Grid', agGridVueTemplateMainRef.value);\n e.api.addEventListener('selectionChanged', async (params: any) => {\n const selectedRows = params.api.getSelectedRows();\n if (selectedRows.length > 0) {\n currentBillNo = selectedRows[0].BILL_NO;\n const userId = selectedRows[0].USER_ID;\n templateName.value = selectedRows[0].CDESC;\n isDefault.value = selectedRows[0].DEFAULT_FLAG === '1';\n isPublic.value = selectedRows[0].MATCH_FLAG === '0';\n queryTemplateDetail(userId, currentBillNo);\n } else {\n currentBillNo = '';\n }\n });\n e.api.sizeColumnsToFit();\n e.api.setRowData([]);\n};\n\nconst gridTemplateFilterReady = (e: any) => {\n filterDataTable?.setBindingInfo(null, '', 'Grid', agGridVueTemplateFilterRef.value);\n e.api.addEventListener('cellValueChanged', async (params: any) => {\n if (params.colDef.colId === 'ITEM_CODE') {\n params.node.setDataValue('OP_VALUE', null);\n } else if (params.colDef.colId === 'OPERATOR_NOTE'\n && ['Today', 'Yesterday', 'CurrentMonth', 'LastMonth', 'CurrentYear', 'LastYear', 'RecentWeek', 'RecentMonth', 'RecentQuarter', 'RecentHalfYear', 'RecentYear'].includes(params.node.data.OPERATOR_NOTE)\n ) {\n params.node.setDataValue('OP_VALUE', null);\n }\n });\n e.api.setRowData([]);\n};\n\nconst gridTemplateMainStatusBar = computed(() => {\n const statusPanels: any[] = [];\n statusPanels.push({\n statusPanel: 'GridToolbar',\n statusPanelParams: {\n showText: true,\n defaultButtons: [],\n customButtons: [{\n name: 'deleteTemplate',\n icon: ER.Core.createErIconVNode('delete', { color: '#FF595A' }),\n caption: ER.Core.$t('ERX.DeleteTemplate') || '删除方案'\n },\n {\n name: 'shareTemplate',\n icon: ER.Core.createErIconVNode('share', { color: '#09BB07' }),\n caption: ER.Core.$t('ERX.ShareTemplate') || '分享方案'\n }],\n defaultFunction: {\n deleteTemplate: async (params: any) => {\n const selectedRows = params.api.getSelectedRows();\n if (selectedRows.length > 0) {\n if (selectedRows[0].USER_ID !== ER.SysInfo.UserId) {\n ER.Core.messageError(ER.Core.$t('TemplateNotAllowOperateOtherPersonMessage') || '不允许操作其他人的方案');\n return;\n }\n if (!(await ER.Core.messageConfirm(ER.Core.$t('TemplateDeleteConfirmMessage') || '确定删除方案吗?'))) {\n return;\n }\n const inInfo = ER.Core.buildEiInfo(selectedRows[0].toJSON(), 'TSI00FORMVALUES_DELETE');\n const outInfo = await ER.Core.callService(ER.SysInfo.saveDevConfigService, inInfo);\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError((ER.Core.$t('TemplateDeleteFailedMessage') || '方案删除失败') + ':' + outInfo.getMsg());\n } else {\n ER.Core.messageInfo(ER.Core.$t('TemplateDeleteSuccessMessage') || '方案删除成功');\n queryTemplateList(ER.SysInfo.UserId);\n props.popAdvanceFilterHelperProps.doEvent('templateChanged', selectedRows[0].toJSON());\n }\n }\n },\n shareTemplate: async (params: any) => {\n const selectedRows = params.api.getSelectedRows();\n if (selectedRows.length > 0) {\n if (selectedRows[0].USER_ID !== ER.SysInfo.UserId) {\n ER.Core.messageError(ER.Core.$t('TemplateNotAllowOperateOtherPersonMessage') || '不允许操作其他人的方案');\n return;\n }\n const inInfo = ER.Core.buildEiInfo({\n QUERY_TYPE: 'system_user'\n });\n const outUserInfo = await ER.Core.callService(ER.SysInfo.queryDevConfigService, inInfo);\n if (outUserInfo.getStatus() < 0) {\n ER.Core.messageError((ER.Core.$t('TemplateShareFailedMessage') || '方案分享失败') + ':' + outUserInfo.getMsg());\n return;\n }\n const userInfo = outUserInfo.getBlockByIndex(0)?.getMappedRows()?.[0] || {};\n if (!userInfo || userInfo.length === 0) {\n // ER.Core.messageWarning('No User');\n return;\n }\n\n const popRichEditor = new ER.PopRichEditor({\n title: ER.Core.$t('ERX.ShareTemplate') || '分享方案',\n extension: 'dropdown',\n placeholder: ER.Core.$t('ERX.SelectUserMessage') || '请选择用户',\n dropdownDataSource: userInfo,\n dropdownColumns:[{ title: 'ID', field: 'ENAME'}, { title: 'Name', field: 'CNAME'} ],\n dropdownOptions: { valueField: 'ENAME', textField: 'CNAME', multiple: true },\n width: 300,\n height: 150,\n })\n popRichEditor.BordStyle = 'Fixed';\n popRichEditor.setEvent('ok', async () => {\n if (popRichEditor.Content?.length > 0) {\n const userArray = popRichEditor.Content;\n let successCount = 0;\n for (let i = 0; i < userArray.length; i++) {\n if (userArray[i].trim().length === 0 || userArray[i].trim() === ER.SysInfo.UserId) {\n continue;\n }\n const templateNo = currentBillNo.trim().length > 0 ? currentBillNo : dayjs().format('YYYYMMDDHHmmss') + ER.Core.guid().substring(0, 6).toUpperCase();\n const templateDesc = selectedRows[0].CDESC + '[' + ER.SysInfo.UserId + '|' + ER.SysInfo.UserName + ']';\n \n const filterData = getFilterData(templateNo, templateDesc, userArray[i].trim());\n if (filterData === false) { \n return;\n }\n const sortData = getSortData(templateNo, templateDesc, userArray[i].trim()); \n if (sortData === false) {\n return;\n }\n const displayData = getDisplayData(templateNo, templateDesc, userArray[i].trim());\n if (displayData === false) {\n return;\n }\n // 将三个数组合并\n const allData = [...filterData, ...sortData, ...displayData];\n if (allData.length === 0) {\n ER.Core.messageInfo(ER.Core.$t('TemplateEmptyMessage') || '方案明细为空');\n return;\n }\n const inInfo = ER.Core.buildEiInfo(allData, 'TSI00FORMVALUES_ADD');\n const outInfo = await ER.Core.callService(ER.SysInfo.saveDevConfigService, inInfo);\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError((ER.Core.$t('TemplateShareFailedMessage') || '方案分享失败') + ':' + outInfo.getMsg());\n break;\n } \n successCount++;\n }\n if (successCount > 0) {\n ER.Core.messageInfo((ER.Core.$t('TemplateShareSuccessMessage') || '方案分享成功') + '[' + successCount + ']');\n }\n } else {\n ER.Core.messageInfo(ER.Core.$t('ERX.SelectUserMessage') || '请选择用户');\n return false;\n }\n });\n popRichEditor.show(null, '');\n }\n }\n }\n },\n key: 'GridToolbar',\n align: 'left'\n });\n statusPanels.push({\n statusPanel: 'agTotalAndFilteredRowCountComponent',\n align: 'right'\n });\n return { statusPanels: statusPanels };\n});\n\nconst gridTemplateFilterStatusBar = computed(() => {\n const statusPanels: any[] = [\n {\n statusPanel: 'GridToolbar',\n statusPanelParams: {\n showText: true,\n defaultButtons: ['addrow', 'insertrow', 'copyrow', 'delete']\n },\n key: 'GridToolbar',\n align: 'left'\n }\n ];\n statusPanels.push({\n statusPanel: 'agTotalAndFilteredRowCountComponent',\n align: 'right'\n });\n return { statusPanels: statusPanels };\n});\n\nconst gridTemplateDisplayStatusBar = computed(() => {\n const statusPanels: any[] = [\n {\n statusPanel: 'GridToolbar',\n statusPanelParams: {\n showText: true,\n defaultButtons: [],\n customButtons: [{\n name: 'default',\n caption: ER.Core.$t('ERX.Default') || '原始设置'\n },\n {\n name: 'clear',\n caption: ER.Core.$t('ERX.Clear') || '清空设置'\n }],\n defaultFunction: {\n default: (params: any) => {\n displayDataTable?.merge(gridOriginColumns);\n },\n clear: (params: any) => {\n displayDataTable?.clear();\n }\n }\n },\n key: 'GridToolbar',\n align: 'left'\n }\n ];\n statusPanels.push({\n statusPanel: 'agTotalAndFilteredRowCountComponent',\n align: 'right'\n });\n return { statusPanels: statusPanels };\n});\n\nconst getFilterData = (templateNo: string, templateDesc: string, userId?: string): any => {\n const gridFilterApi = agGridVueTemplateFilterRef.value?.gridOptions?.api;\n const gridFilterData: any[] = [];\n const requiredColumns = ['ITEM_CODE', 'OPERATOR_NOTE'];\n let checkError = false;\n let index = 0;\n let leftBracketCount = 0;\n let rightBracketCount = 0;\n gridFilterApi.forEachNodeAfterFilterAndSort((node: any) => {\n if (node.data && !checkError) {\n for (const column of requiredColumns) {\n if (node.data[column]?.trim().length === 0) {\n activeKey.value = 'filter';\n checkError = true;\n nextTick(() => {\n gridFilterApi.ensureNodeVisible(node, 'top');\n gridFilterApi.ensureColumnVisible(column, 'auto');\n gridFilterApi.startEditingCell({ rowIndex: node.rowIndex || 0, colKey: column });\n nextTick(() => {\n const cellEditorInstances = gridFilterApi.getCellEditorInstances({\n columns: [column], // 列的field\n rowNodes: [node], // 行节点\n });\n cellEditorInstances.forEach((instance: any) => {\n if (instance.editorType === 'DropdownEditor') {\n instance.setBorder('2px solid red');\n } else if (instance.setBorder) {\n instance.setBorder('2px solid red');\n } else if (instance.setInvalid) {\n instance.setInvalid();\n }\n });\n })\n });\n break;\n }\n }\n if (!checkError) {\n if (index === 0 && node.data.LOGIC?.trim() === 'OR' && node.data.LEFT_BRACKETS?.trim().length === 0) {\n activeKey.value = 'filter';\n checkError = true;\n nextTick(() => {\n gridFilterApi.ensureNodeVisible(node, 'top');\n gridFilterApi.ensureColumnVisible('LEFT_BRACKETS', 'auto');\n gridFilterApi.startEditingCell({ rowIndex: node.rowIndex || 0, colKey: 'LEFT_BRACKETS' });\n nextTick(() => {\n const cellEditorInstances = gridFilterApi.getCellEditorInstances({\n columns: ['LEFT_BRACKETS'],\n rowNodes: [node],\n });\n cellEditorInstances.forEach((instance: any) => {\n if (instance.editorType === 'DropdownEditor') {\n instance.setBorder('2px solid red');\n } else if (instance.setBorder) {\n instance.setBorder('2px solid red');\n } else if (instance.setInvalid) {\n instance.setInvalid();\n }\n });\n })\n });\n }\n if (node.data.LEFT_BRACKETS?.trim() === '(') {\n leftBracketCount++;\n } else if (node.data.LEFT_BRACKETS?.trim() === '((') {\n leftBracketCount += 2;\n } else if (node.data.LEFT_BRACKETS?.trim() === '(((') {\n leftBracketCount += 3;\n } else if (node.data.LEFT_BRACKETS?.trim() === '((((') {\n leftBracketCount += 4;\n } else if (node.data.RIGHT_BRACKETS?.trim() === ')') {\n rightBracketCount++;\n } else if (node.data.RIGHT_BRACKETS?.trim() === '))') {\n rightBracketCount += 2;\n } else if (node.data.RIGHT_BRACKETS?.trim() === ')))') {\n rightBracketCount += 3;\n } else if (node.data.RIGHT_BRACKETS?.trim() === '))))') {\n rightBracketCount += 4;\n }\n node.data.C_SEQ_ID = String(node.rowIndex + 1).padStart(3, '0');\n\n const data = node.data.toJSON();\n const colDef = props.popAdvanceFilterHelperProps?.GridColumnMap[data.ITEM_CODE]?.colDef;\n const dataTimeFormat = colDef?.context?.columnConfig?.DATE_TIME_FORMAT?.trim() || 'YYYYMMDD';\n const maxLength = colDef?.context?.columnConfig?.MAX_LENGTH || 0;\n\n if (['Today', 'Yesterday', 'CurrentMonth', 'LastMonth', 'CurrentYear', 'LastYear', 'RecentWeek', 'RecentMonth', 'RecentQuarter', 'RecentHalfYear', 'RecentYear'].includes(data.OPERATOR_NOTE)) {\n data.OP_VALUE = 'YYYYMMDDHHmmss';\n if (maxLength > 0 && maxLength < 14) {\n data.OP_VALUE = data.OP_VALUE.substring(0, maxLength);\n }\n } else if (dayjs.isDayjs(node.data.OP_VALUE)) {\n data.OP_VALUE = node.data.OP_VALUE.format('YYYYMMDDHHmmss');\n if (maxLength > 0 && maxLength <= 8) {\n data.OP_VALUE = data.OP_VALUE.substring(0, maxLength);\n } else if (dataTimeFormat.toUpperCase() === 'YYYYMMDD') {\n if (data.OPERATOR_NOTE === 'GreaterThanOrEqual' || data.OPERATOR_NOTE === 'GreaterThan') {\n data.OP_VALUE = data.OP_VALUE.substring(0, 8) + '000000';\n } else if (data.OPERATOR_NOTE === 'LessThanOrEqual' || data.OPERATOR_NOTE === 'LessThan') {\n data.OP_VALUE = data.OP_VALUE.substring(0, 8) + '235959';\n }\n } else {\n data.OP_VALUE = data.OP_VALUE.substring(0, dataTimeFormat.length);\n }\n }\n data.FORM_NAME = props.popAdvanceFilterHelperProps.FormName;\n data.FUNCTION_ID = props.popAdvanceFilterHelperProps.GridConfigId;\n data.COMPANY_CODE = ER.SysInfo.CompanyCode;\n data.TYPE_CODE = 'Advance-Filter';\n data.USER_ID = userId || ER.SysInfo.UserId;\n data.ROW_GUID = ER.Core.guid();\n data.CDESC = templateDesc;\n data.BILL_NO = templateNo;\n data.DEFAULT_FLAG = isDefault.value ? '1' : '0';\n data.MATCH_FLAG = isPublic.value ? '0' : '1';\n if (userId && userId.trim().length > 0 && userId !== ER.SysInfo.UserId) {\n data.DEFAULT_FLAG = '0';\n data.MATCH_FLAG = '1';\n }\n gridFilterData.push(data);\n index++;\n }\n }\n });\n if (!checkError && leftBracketCount !== rightBracketCount) {\n checkError = true;\n ER.Core.messageError(ER.Core.$t('BracketNotMatch') || '括号不匹配');\n } \n if (checkError) {\n return false;\n } \n return gridFilterData;\n}\n\nconst getSortData = (templateNo: string, templateDesc: string, userId?: string): any => {\n const gridSortApi = agGridVueTemplateSortRef.value?.gridOptions?.api;\n const gridSortData: any[] = [];\n const requiredColumns = ['ITEM_CODE', 'GROUP_SORT_TYPE'];\n const columnMap: any = {};\n let checkError = false;\n gridSortApi.forEachNodeAfterFilterAndSort((node: any) => {\n if (node.data && !checkError) {\n for (const column of requiredColumns) {\n if (node.data[column]?.trim().length === 0) {\n activeKey.value = 'sort';\n checkError = true;\n nextTick(() => {\n gridSortApi.ensureNodeVisible(node, 'top');\n gridSortApi.ensureColumnVisible(column, 'auto');\n gridSortApi.startEditingCell({ rowIndex: node.rowIndex || 0, colKey: column });\n nextTick(() => {\n const cellEditorInstances = gridSortApi.getCellEditorInstances({\n columns: [column], // 列的field\n rowNodes: [node], // 行节点\n });\n cellEditorInstances.forEach((instance: any) => {\n if (instance.editorType === 'DropdownEditor') {\n instance.setBorder('2px solid red');\n } else if (instance.setBorder) {\n instance.setBorder('2px solid red');\n } else if (instance.setInvalid) {\n instance.setInvalid();\n }\n });\n })\n });\n break;\n }\n }\n if (!checkError && columnMap[node.data.ITEM_CODE]) {\n activeKey.value = 'sort';\n checkError = true;\n ER.Core.messageError(ER.Core.$t('FieldDuplicated') || '字段重复');\n }\n if (!checkError) {\n columnMap[node.data.ITEM_CODE] = node.data.GROUP_SORT_TYPE;\n node.data.C_SEQ_ID = String(node.rowIndex + 1).padStart(3, '0');\n }\n const sortData = node.data.toJSON();\n sortData.FORM_NAME = props.popAdvanceFilterHelperProps.FormName;\n sortData.FUNCTION_ID = props.popAdvanceFilterHelperProps.GridConfigId;\n sortData.COMPANY_CODE = ER.SysInfo.CompanyCode;\n sortData.TYPE_CODE = 'Advance-Sort';\n sortData.USER_ID = userId || ER.SysInfo.UserId;\n sortData.ROW_GUID = ER.Core.guid();\n sortData.CDESC = templateDesc;\n sortData.BILL_NO = templateNo;\n sortData.DEFAULT_FLAG = isDefault.value ? '1' : '0';\n sortData.MATCH_FLAG = isPublic.value ? '0' : '1';\n if (userId && userId.trim().length > 0 && userId !== ER.SysInfo.UserId) {\n sortData.DEFAULT_FLAG = '0';\n sortData.MATCH_FLAG = '1';\n }\n gridSortData.push(sortData);\n }\n });\n if (checkError) {\n return false;\n }\n return gridSortData;\n}\n\nconst getDisplayData = (templateNo: string, templateDesc: string, userId?: string): any => {\n const gridDisplayApi = agGridVueTemplateDisplayRef.value?.gridOptions?.api;\n const gridDisplayData: any[] = [];\n gridDisplayApi.forEachNodeAfterFilterAndSort((node: any) => {\n const displayData = node.data.toJSON();\n displayData.C_SEQ_ID = String(node.rowIndex + 1).padStart(3, '0');\n displayData.FORM_NAME = props.popAdvanceFilterHelperProps.FormName;\n displayData.FUNCTION_ID = props.popAdvanceFilterHelperProps.GridConfigId;\n displayData.COMPANY_CODE = ER.SysInfo.CompanyCode;\n displayData.TYPE_CODE = 'Advance-Column';\n displayData.USER_ID = userId || ER.SysInfo.UserId;\n displayData.ROW_GUID = ER.Core.guid();\n displayData.CDESC = templateDesc;\n displayData.BILL_NO = templateNo;\n displayData.DEFAULT_FLAG = isDefault.value ? '1' : '0';\n displayData.MATCH_FLAG = isPublic.value ? '0' : '1';\n if (userId && userId.trim().length > 0 && userId !== ER.SysInfo.UserId) {\n displayData.DEFAULT_FLAG = '0';\n displayData.MATCH_FLAG = '1';\n }\n gridDisplayData.push(displayData);\n });\n return gridDisplayData;\n}\n\nconst saveTemplate = async () => {\n if (templateBillNo.trim().length > 0 &&templateUserId !== ER.SysInfo.UserId) {\n ER.Core.messageError(ER.Core.$t('TemplateNotAllowOperateOtherPersonMessage') || '不允许操作其他人的方案');\n return;\n }\n const modifyType = templateBillNo.trim().length > 0 ? 'modify' : 'add';\n const templateNo = templateBillNo.trim().length > 0 ? templateBillNo : dayjs().format('YYYYMMDDHHmmss') + ER.Core.guid().substring(0, 6).toUpperCase();\n let templateDesc = '';\n if (modifyType == 'add' && templateName.value.trim().length === 0) {\n templateDesc = templateNo.substring(0, 8);\n } else if (templateName.value.trim().length === 0) {\n ER.Core.messageInfo(ER.Core.$t('TemplateNameEmptyMessage') || '请输入方案名称');\n return;\n } else {\n templateDesc = templateName.value.trim();\n }\n const filterData = getFilterData(templateNo, templateDesc);\n if (filterData === false) { \n return;\n }\n const sortData = getSortData(templateNo, templateDesc); \n if (sortData === false) {\n return;\n }\n const displayData = getDisplayData(templateNo, templateDesc);\n if (displayData === false) {\n return;\n }\n // 将三个数组合并\n const allData = [...filterData, ...sortData, ...displayData];\n if (allData.length === 0) {\n ER.Core.messageInfo(ER.Core.$t('TemplateEmptyMessage') || '方案明细为空');\n return;\n }\n if (modifyType !== 'add') {\n if (allData[0].USER_ID !== ER.SysInfo.UserId) {\n ER.Core.messageError(ER.Core.$t('TemplateNotAllowOperateOtherPersonMessage') || '不允许操作其他人的方案');\n return;\n }\n } \n const inInfo = ER.Core.buildEiInfo(allData, modifyType == 'add' ? 'TSI00FORMVALUES_ADD' : 'TSI00FORMVALUES_MODIFY');\n const outInfo = await ER.Core.callService(ER.SysInfo.saveDevConfigService, inInfo);\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError((ER.Core.$t('TemplateSaveFailedMessage') || '方案保存失败') + ':' + outInfo.getMsg());\n } else {\n templateBillNo = templateNo;\n ER.Core.messageInfo(ER.Core.$t('TemplateSaveSuccessMessage') || '方案保存成功');\n queryTemplateList(ER.SysInfo.UserId);\n props.popAdvanceFilterHelperProps.doEvent('templateChanged', allData);\n }\n}\n\nconst setColumnDisplay = () => {\n const state: any[] = [];\n agGridVueTemplateDisplayRef.value?.gridOptions?.api.forEachNodeAfterFilterAndSort((node: any) => {\n const colDef = props.popAdvanceFilterHelperProps?.GridColumnMap[node.data.ITEM_CODE]?.colDef;\n if (colDef && !colDef.suppressColumnsToolPanel) {\n props.popAdvanceFilterHelperProps.ErGrid?.gridOptions?.columnApi?.moveColumn(node.data.ITEM_CODE, node.rowIndex + 1);\n state.push({\n colId: node.data.ITEM_CODE,\n hide: node.data.IS_VISIBLE === '0' || node.data.IS_VISIBLE === false\n })\n }\n }); \n if (state.length > 0) {\n props.popAdvanceFilterHelperProps.ErGrid?.gridOptions?.columnApi.applyColumnState({\n state\n })\n }\n}\n\nconst queryTemplateList = async (userId: string) => {\n const inInfo = ER.Core.buildEiInfo({\n QUERY_TYPE: 'tsi00formvalues_list',\n FORM_NAME: props.popAdvanceFilterHelperProps.FormName,\n FUNCTION_ID: props.popAdvanceFilterHelperProps.GridConfigId,\n COMPANY_CODE: ER.SysInfo.CompanyCode,\n USER_ID: userId\n });\n const outInfo = await ER.Core.callService(ER.SysInfo.queryDevConfigService, inInfo);\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError(outInfo.getMsg());\n } else {\n templateDataTable?.merge(outInfo.getBlockByIndex(0)?.getMappedRows() || []);\n if (templateDataTable?.rowCount) {\n let defaultFilter = false;\n let firstNode: any = void 0;\n nextTick(() => {\n agGridVueTemplateMainRef.value.gridOptions?.api?.clearFocusedCell();\n agGridVueTemplateMainRef.value.gridOptions?.api?.forEachNodeAfterFilterAndSort((node: any) => {\n if (!firstNode) {\n firstNode = node;\n }\n const data = node.data.toJSON();\n if (!defaultFilter) {\n if (templateBillNo.trim().length > 0) {\n if (data.BILL_NO === templateBillNo) {\n node.setSelected(true);\n defaultFilter = true;\n } \n } else if (data.DEFAULT_FLAG === '1') {\n node.setSelected(true);\n defaultFilter = true;\n }\n }\n });\n if (firstNode && !defaultFilter) {\n firstNode.setSelected(true);\n }\n });\n }\n }\n}\n\nconst queryTemplateDetail = async (userId: string, templateId: string) => {\n let outInfo = new EiInfo();\n const inInfo = ER.Core.buildEiInfo({\n QUERY_TYPE: 'tsi00formvalues_detail',\n FORM_NAME: props.popAdvanceFilterHelperProps.FormName,\n FUNCTION_ID: props.popAdvanceFilterHelperProps.GridConfigId,\n COMPANY_CODE: ER.SysInfo.CompanyCode,\n USER_ID: userId,\n BILL_NO: templateId\n })\n outInfo = await ER.Core.callService(ER.SysInfo.queryDevConfigService, inInfo);\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError(outInfo.getMsg());\n } else {\n if (templateId.trim().length > 0 && templateId.trim() !== '~Default~') {\n templateBillNo = templateId;\n templateUserId = userId;\n }\n filterDataTable?.merge(outInfo.getBlock('TSI00FORMVALUES_FILTER').getMappedRows() || []);\n sortDataTable?.merge(outInfo.getBlock('TSI00FORMVALUES_SORT').getMappedRows() || []);\n displayDataTable?.merge(outInfo.getBlock('TSI00FORMVALUES_COLUMN').getMappedRows() || []);\n\n haveUserDisplay = outInfo.getBlock('TSI00FORMVALUES_COLUMN')?.getMappedRows()?.length > 0;\n\n const data = outInfo.getBlock('TSI00FORMVALUES_DEFAULT')?.getMappedRows() || [];\n if (data.length > 0) {\n for (const row of data) {\n const defaultValue = getDefaultValue(row);\n if (defaultValue) {\n row.OP_VALUE = defaultValue;\n }\n }\n defaultFilter?.merge(data);\n agGridVueTemplateFilterRef.value.gridOptions?.api?.setPinnedTopRowData(defaultFilter?.getRows('all'));\n }\n\n nextTick(() => {\n agGridVueTemplateFilterRef.value.gridOptions?.api?.forEachNodeAfterFilterAndSort((node: any) => {\n const defaultValue = getDefaultValue(node.data);\n if (defaultValue) {\n node.setDataValue('OP_VALUE', defaultValue);\n }\n });\n });\n }\n};\n\nconst getDefaultValue = (data: any): any => {\n let defaultValue: any = void 0;\n if (data.RESERVE1) {\n const colDef = props.popAdvanceFilterHelperProps?.GridColumnMap[data.ITEM_CODE]?.colDef;\n if (colDef?.cellEditor?.name === 'DatetimeEditor') {\n const dataTime = ER.Core.getDateTimeByString(data.RESERVE1);\n if (dataTime && dayjs.isDayjs(dataTime)) {\n defaultValue = dataTime.format('YYYYMMDDHHmmss');\n }\n } else if ((colDef?.cellEditor?.name !== 'NumberEditor') \n && data.RESERVE1.startsWith('{') && data.RESERVE1.endsWith('}')) {\n defaultValue = ER.Core.getSystemFormatString(data.RESERVE1);\n }\n }\n return defaultValue;\n}\n\nconst resetClick = () => {\n templateBillNo = '';\n templateUserId = ER.SysInfo.UserId;\n filterDataTable?.clear();\n sortDataTable?.clear();\n displayDataTable?.clear();\n}\n\nconst copyClick = () => {\n if (templateBillNo.trim().length > 0) {\n templateBillNo = '';\n templateUserId = ER.SysInfo.UserId;\n templateName.value = templateName.value + '_1';\n }\n}\n\nconst saveClick = async (e: any) => {\n if (props.popAdvanceFilterHelperProps.Options.devMode) {\n if (filterDataTable?.hasChanges()) {\n const filterData = getFilterData('SystemDefault', 'SystemDefault', 'SystemDefault');\n if (filterData === false) { \n return;\n }\n if (filterData.length > 0) {\n const inInfo = ER.Core.buildEiInfo(filterData, 'TSI00FORMVALUES_MODIFY');\n const outInfo = await ER.Core.callService(ER.SysInfo.saveDevConfigService, inInfo);\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError(outInfo.getMsg());\n }\n } else {\n const inInfo = ER.Core.buildEiInfo({\n FORM_NAME: props.popAdvanceFilterHelperProps.FormName,\n FUNCTION_ID: props.popAdvanceFilterHelperProps.GridConfigId,\n COMPANY_CODE: ER.SysInfo.CompanyCode,\n USER_ID: 'SystemDefault',\n BILL_NO: 'SystemDefault'\n }, 'TSI00FORMVALUES_DELETE');\n const outInfo = await ER.Core.callService(ER.SysInfo.saveDevConfigService, inInfo);\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError((ER.Core.$t('TemplateDeleteFailedMessage') || '方案删除失败') + ':' + outInfo.getMsg());\n } else {\n ER.Core.messageInfo(ER.Core.$t('TemplateDeleteSuccessMessage') || '方案删除成功');\n }\n }\n }\n } else {\n saveTemplate();\n }\n}\n\nconst onOpen = async (e: any) => {\n if (currentBillNo !== props.popAdvanceFilterHelperProps.Options.billNo && props.popAdvanceFilterHelperProps.Options.billNo?.trim().length > 0) {\n currentBillNo = props.popAdvanceFilterHelperProps.Options.billNo;\n agGridVueTemplateMainRef.value.gridOptions?.api?.forEachNodeAfterFilterAndSort((node: any) => {\n const data = node.data.toJSON();\n if (data.BILL_NO === currentBillNo) {\n node.setSelected(true);\n }\n });\n }\n};\n\nconst confirmClick = async () => {\n let filterData: any[] = [];\n let filterBlock: EiBlock = new EiBlock('ADVANCE_FILTER');\n let sortBlock: EiBlock = new EiBlock('ADVANCE_SORT');\n if (props.popAdvanceFilterHelperProps.Options?.devMode) {\n const customFilter = getFilterData(templateBillNo, templateName.value);\n if (customFilter && customFilter.length > 0) {\n filterBlock = ER.Core.buildEiBlock(customFilter, 'ADVANCE_FILTER');\n }\n } else {\n const systemFilter: any[] = [];\n const pinnedRowCount = agGridVueTemplateFilterRef.value.gridOptions?.api?.getPinnedTopRowCount() || 0;\n if (pinnedRowCount > 0) {\n for (let i = 0; i < pinnedRowCount; i++) {\n const pinnedRow = agGridVueTemplateFilterRef.value.gridOptions?.api?.getPinnedTopRow(i);\n const data = pinnedRow.data.toJSON();\n const colDef = props.popAdvanceFilterHelperProps?.GridColumnMap[data.ITEM_CODE]?.colDef;\n const dataTimeFormat = colDef?.context?.columnConfig?.DATE_TIME_FORMAT?.trim() || 'YYYYMMDD';\n const maxLength = colDef?.context?.columnConfig?.MAX_LENGTH || 0;\n\n if (['Today', 'Yesterday', 'CurrentMonth', 'LastMonth', 'CurrentYear', 'LastYear', 'RecentWeek', 'RecentMonth', 'RecentQuarter', 'RecentHalfYear', 'RecentYear'].includes(data.OPERATOR_NOTE)) {\n data.OP_VALUE = 'YYYYMMDDHHmmss';\n if (maxLength > 0 && maxLength < 14) {\n data.OP_VALUE = data.OP_VALUE.substring(0, maxLength);\n }\n } else if (dayjs.isDayjs(pinnedRow.data.OP_VALUE)) {\n data.OP_VALUE = pinnedRow.data.OP_VALUE.format('YYYYMMDDHHmmss');\n \n if (maxLength > 0 && maxLength <= 8) {\n data.OP_VALUE = data.OP_VALUE.substring(0, maxLength);\n } else if (dataTimeFormat.toUpperCase() === 'YYYYMMDD') {\n if (data.OPERATOR_NOTE === 'GreaterThanOrEqual' || data.OPERATOR_NOTE === 'GreaterThan') {\n data.OP_VALUE = data.OP_VALUE.substring(0, 8) + '000000';\n } else if (data.OPERATOR_NOTE === 'LessThanOrEqual' || data.OPERATOR_NOTE === 'LessThan') {\n data.OP_VALUE = data.OP_VALUE.substring(0, 8) + '235959';\n }\n } else {\n data.OP_VALUE = data.OP_VALUE.substring(0, dataTimeFormat.length);\n }\n }\n data.FORM_NAME = props.popAdvanceFilterHelperProps.FormName;\n data.FUNCTION_ID = props.popAdvanceFilterHelperProps.GridConfigId;\n data.COMPANY_CODE = ER.SysInfo.CompanyCode;\n data.TYPE_CODE = 'Advance-Filter';\n data.USER_ID = ER.SysInfo.UserId;\n data.ROW_GUID = ER.Core.guid();\n data.BILL_NO = templateBillNo;\n data.CDESC = templateName.value;\n data.DEFAULT_FLAG = isDefault.value ? '1' : '0';\n data.MATCH_FLAG = isPublic.value ? '0' : '1';\n systemFilter.push(data);\n }\n\n }\n const customFilter = getFilterData(templateBillNo, templateName.value);\n if (customFilter === false) {\n return;\n }\n const customSort = getSortData(templateBillNo, templateName.value)?.map((row: any) => {\n return { SORT_FIELD: row.ITEM_CODE, SORT_TYPE: row.GROUP_SORT_TYPE === '2' ? 'desc' : 'asc' };\n })\n filterData = [...systemFilter, ...customFilter];\n filterBlock = ER.Core.buildEiBlock(filterData, 'ADVANCE_FILTER');\n sortBlock = ER.Core.buildEiBlock(customSort, 'ADVANCE_SORT');\n }\n\n if (filterBlock.getMappedRows()?.length === 0) {\n ER.Core.messageError(ER.Core.$t('FilterEmptyMessage') || '高级过滤条件为空');\n return;\n }\n\n const gridOptionContext: any = props.popAdvanceFilterHelperProps.ErGrid?.gridOptions?.context;\n const bindTableName = gridOptionContext.bindTableName;\n const service: string = gridOptionContext?.options?.advanceFilterService || gridOptionContext?.options?.advanceFilter?.service || '';\n const dataSource: string = gridOptionContext?.options?.advanceFilterSource || gridOptionContext?.options?.advanceFilter?.source || gridOptionContext?.viewConfig?.SVC_NAME || '';\n if (service?.trim().length === 0) {\n ER.Core.messageError(ER.Core.$t('NoServiceConfig') || '未配置服务');\n return;\n }\n const inInfo = new EiInfo();\n if (dataSource.trim().length > 0) {\n inInfo.addBlock(ER.Core.buildEiBlock({\n FUNCTION_ID: dataSource,\n COMPANY_CODE: ER.SysInfo.CompanyCode \n }, 'DATA_SOURCE'));\n } else {\n inInfo.addBlock(ER.Core.buildEiBlock({\n QUERY_TYPE: bindTableName,\n TABLE_NAME: bindTableName,\n ADVANCE_FILTER: '1', ...(props.options?.advanceFilterParams || props.options?.advanceFilter?.params)}));\n }\n inInfo.addBlock(filterBlock);\n if (sortBlock.getMappedRows()?.length > 0) {\n inInfo.addBlock(sortBlock);\n }\n if (haveUserDisplay) {\n setColumnDisplay();\n }\n const outInfo = await ER.Core.callService(ER.SysInfo.saveDevConfigService, inInfo);\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError(outInfo.getMsg());\n } else {\n const bindingSource: ER.DataTable = props.popAdvanceFilterHelperProps.ErGrid?.gridOptions?.context?.bindingSource;\n if (bindingSource) {\n bindingSource.merge(outInfo.getBlock(bindTableName)?.getMappedRows() || outInfo.getBlockByIndex(0)?.getMappedRows() || []);\n ER.Core.messageInfo(ER.Core.$t('ERX.QueryResultWithRecords', [bindingSource.rowCount]));\n\n if (props.popAdvanceFilterHelperProps.ErGrid?.gridOptions?.context?.options?.advanceFilterAutoClose === true \n || props.popAdvanceFilterHelperProps.ErGrid?.gridOptions?.context?.options?.advanceFilter?.autoClose === true) {\n props.popAdvanceFilterHelperProps.close();\n }\n \n props.popAdvanceFilterHelperProps.doEvent('afterQuery', { templateBillNo: templateBillNo, filterInfo: inInfo });\n } else {\n console.warn('BindingSource of grid is undefined');\n }\n }\n};\n\nconst cancelClick = () => {\n props.popAdvanceFilterHelperProps.close();\n};\n\nconst closeClick = () => {\n};\n\nonMounted(async () => {\n props.popAdvanceFilterHelperProps.GridColumnDisplayList.forEach((column: any) => {\n gridOriginColumns.push({\n ITEM_CODE: column.ITEM_CODE,\n IS_VISIBLE: column.IS_VISIBLE === '1',\n COL_CAPTION: column.COL_CAPTION,\n COL_WIDTH: column.COL_WIDTH\n });\n });\n if (props.popAdvanceFilterHelperProps.Options.devMode) {\n await queryTemplateDetail('SystemDefault', 'SystemDefault');\n } else {\n await queryTemplateList(ER.SysInfo.UserId);\n if (templateDataTable?.rowCount) {\n let defaultFilter = false;\n nextTick(() => {\n if (currentBillNo.trim().length > 0) {\n agGridVueTemplateMainRef.value.gridOptions?.api?.forEachNodeAfterFilterAndSort((node: any) => {\n const data = node.data.toJSON();\n if (data.BILL_NO === currentBillNo) {\n node.setSelected(true);\n defaultFilter = true;\n }\n });\n } else {\n agGridVueTemplateMainRef.value.gridOptions?.api?.forEachNodeAfterFilterAndSort((node: any) => {\n const data = node.data.toJSON();\n if (!defaultFilter && data.DEFAULT_FLAG === '1') {\n node.setSelected(true);\n defaultFilter = true;\n }\n });\n }\n });\n } else {\n // 如果高级过滤条件为空,则查询默认高级过滤条件\n queryTemplateDetail(ER.SysInfo.UserId, '~Default~');\n }\n }\n});\n\n</script>\n\n<style lang=\"scss\">\n</style>\n"],"names":["defineComponent","Button","Tooltip","ConfigProvider","props","__props","antdLocale","ref","getAntdLocale","antdTheme","getAntdTheme","_a","e","getDefaultButtons","defaultButtons","ER","h","PlusOutlined","InsertRowAboveOutlined","CopyOutlined","CloseOutlined","CheckOutlined","buttonList","button","_b","toolbarClick","btnInfo","bindingTable","_c","index","_d","_e","_f","_g","onMounted","__default__","ErDialog","ErPanel","GridToolbar","DropdownEditor","NumberEditor","TextEditor","LargeTextEditor","DatetimeEditor","DeleteOutlined","agGridVueTemplateMainRef","agGridVueTemplateFilterRef","agGridVueTemplateSortRef","agGridVueTemplateDisplayRef","horizontal","activeKey","mainViewSize","templateName","isDefault","isPublic","gridOriginColumns","mainViewStateSize","templateBillNo","templateUserId","haveUserDisplay","currentBillNo","filterDataTable","sortDataTable","displayDataTable","templateDataTable","defaultFilter","defaultColDef","operatorList","operatorMap","item","gridDragColumn","isRTL","params","getGridFilterValueRender","colDef","dayjs","dataTimeFormat","_h","valueArray","textString","value","text","templateMainGridColumnDefs","fontIcon","fontColor","tagText","tagColor","tagAfterText","createVNode","DefaultCellRender","templateFilterGridColumnDefs","dataSource","_i","_j","bindSource","formatString","_l","_k","templateSortGridColumnDefs","templateDisplayGridColumnDefs","gridTemplateSortReady","gridTemplateDisplayReady","columnsToMoveKeys","i","onRowDragEnd","seqNo","node","onFilterChanged","gridTemplateMainReady","selectedRows","userId","queryTemplateDetail","gridTemplateFilterReady","gridTemplateMainStatusBar","computed","statusPanels","inInfo","outInfo","queryTemplateList","outUserInfo","userInfo","popRichEditor","userArray","successCount","templateNo","templateDesc","filterData","getFilterData","sortData","getSortData","displayData","getDisplayData","allData","gridTemplateFilterStatusBar","gridTemplateDisplayStatusBar","gridFilterApi","gridFilterData","requiredColumns","checkError","leftBracketCount","rightBracketCount","column","nextTick","instance","data","_m","_p","_o","_n","maxLength","_r","_q","gridSortApi","gridSortData","columnMap","gridDisplayApi","gridDisplayData","saveTemplate","modifyType","setColumnDisplay","state","firstNode","templateId","EiInfo","row","defaultValue","getDefaultValue","dataTime","resetClick","copyClick","saveClick","onOpen","confirmClick","filterBlock","EiBlock","sortBlock","customFilter","systemFilter","pinnedRowCount","pinnedRow","customSort","gridOptionContext","bindTableName","service","_s","_t","_v","_u","_w","_x","_z","_y","_A","bindingSource","_D","_C","_B","_E","_F","_J","_I","_H","_G","_O","_N","_M","_L","_K","cancelClick","closeClick"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as z, ref as L, onMounted as ae, watch as ne, resolveComponent as G, createBlock as x, createCommentVNode as se, openBlock as B, withCtx as A, createVNode as N, unref as H, createElementVNode as le, createElementBlock as ue, Fragment as de, renderList as ce, nextTick as D } from "vue";
|
|
2
2
|
import { TabPane as fe, Tabs as Ee, ConfigProvider as Ce } from "ant-design-vue";
|
|
3
|
-
import { g as pe, a as ge, E as n, C as P, b as q, _ as _e, c as Ie } from "./index-
|
|
3
|
+
import { g as pe, a as ge, E as n, C as P, b as q, _ as _e, c as Ie } from "./index-B5cf3vBZ.js";
|
|
4
4
|
const Te = { style: { height: "100%", flex: "1", overflow: "hidden", "padding-top": "5px", "padding-bottom": "5px" } }, Oe = z({
|
|
5
5
|
name: "ErLayoutDesign",
|
|
6
6
|
components: {
|
|
@@ -506,4 +506,4 @@ const Te = { style: { height: "100%", flex: "1", overflow: "hidden", "padding-to
|
|
|
506
506
|
export {
|
|
507
507
|
Se as default
|
|
508
508
|
};
|
|
509
|
-
//# sourceMappingURL=ErLayoutDesign-
|
|
509
|
+
//# sourceMappingURL=ErLayoutDesign-C_XUd93K.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErLayoutDesign-DFZZkx9P.js","sources":["../packages/components/ErLayoutDesign/ErLayoutDesign.vue"],"sourcesContent":["<template>\n<template v-if=\"initializeFlag === 1\">\n <v-splitter \n :horizontal=\"false\"\n @resize=\"mainViewSize = $event[0].size\">\n <v-splitter-pane :size=\"mainViewSize\">\n <er-panel\n :title=\"props.functionType === 'Layout' ? 'Control List' : 'Column List'\"\n :open-header-show=\"false\"\n style=\"height: 100%\"\n >\n <template #contentSlot>\n <er-grid\n :config-id=\"'gridViewItemList'\"\n :er-form-helper-prop=\"erFormHelper\"\n :options=\"{ rowDragMultiRow: true }\"\n :toolbar-options=\"{ style: 'ico' }\"\n @focus-changed=\"onGridFocusChanged\"\n @er-grid-ready=\"onGridReady\" \n @row-drag-end=\"onGridRowDragEnd\"\n ></er-grid>\n </template>\n </er-panel>\n </v-splitter-pane>\n <v-splitter-pane\n :size=\"100-mainViewSize\">\n <div style=\"height: 100%; flex: 1; overflow: hidden; padding-top: 5px; padding-bottom: 5px;\">\n <a-config-providver \n :theme=\"antdTheme\" \n :locale=\"antdLocale\"\n componentSize=\"small\">\n <a-tabs class=\"er-layout-designe-tabs\" type=\"card\" v-model:activeKey=\"activeKey\">\n <a-tab-pane v-for=\"item in detailLayoutOptions\" :key=\"item.configId\"\n force-render\n :tab=\"item.caption\"\n style=\"height: 100%\"\n >\n <er-layout\n :style=\"{'height': '100%', 'overflow': 'auto'}\"\n :auto-bind=\"true\"\n :er-form-helper-prop=\"erFormHelper\"\n :config-id=\"item.configId\"\n :config-caption=\"item.caption\"\n :options=\"item.options\"\n @value-changed=\"layoutValueChanged\"\n @item-button-click=\"layoutButtonClick\"\n @dropdown-open=\"layoutDropdownOpen\"\n ></er-layout>\n </a-tab-pane>\n </a-tabs>\n </a-config-providver>\n </div>\n </v-splitter-pane>\n </v-splitter>\n</template>\n\n</template>\n<script lang=\"ts\">\nimport {\n onMounted,\n ref,\n defineComponent,\n defineProps,\n defineExpose,\n nextTick,\n watch\n} from 'vue';\nimport { ConfigProvider, Tabs, TabPane } from 'ant-design-vue';\nimport { ER } from '../../utils/er';\nimport ErLayout from '../ErLayout/ErLayout.vue';\nimport ErGrid from '../ErGrid/ErGrid.vue';\nimport ErPanel from '../ErPanel/ErPanel.vue';\nimport { getAntdLocale } from '../../locales/localeConfig';\nimport { getAntdTheme } from '../../utils/theme';\nimport CustomCellRenderer from '../ErMenuDevPlat/CustomCellRenderer.vue';\nexport default defineComponent({\n name: 'ErLayoutDesign',\n components: {\n 'a-config-providver': ConfigProvider,\n 'a-tabs': Tabs,\n 'a-tab-pane': TabPane,\n 'er-panel': ErPanel\n }\n});\n</script>\n\n<script lang=\"ts\" setup>\n\nconst props = defineProps({\n partition: {\n type: String,\n default: '',\n require: false\n },\n companyCode: {\n type: String,\n default: '',\n require: false\n },\n formName: {\n type: String,\n default: '',\n require: false\n },\n functionType: {\n type: String,\n default: '',\n require: false\n },\n functionId: {\n type: String,\n default: '',\n require: false\n },\n itemCode: {\n type: String,\n default: '',\n require: false\n },\n autoBind: {\n type: Boolean,\n default: false,\n require: false\n },\n initializeService: {\n type: String,\n default: '',\n require: false\n },\n visibleColumns: {\n type: Array,\n default: [],\n require: false\n }\n});\n\nconst emits = defineEmits(['configSaved', 'dragItems', 'configChanged', 'addItems', 'removeItems']);\n\nconst antdLocale: any = ref(getAntdLocale());\nconst antdTheme: any = ref(getAntdTheme());\n// if ((window as any).$wujie) {\n// (window as any).$wujie.bus?.$on(\"changeThemeEmit\", (e: any) => {\n// antdTheme.value = getAntdTheme();\n// });\n// }\nlet gridApi: any;\nlet indicateItemCode = props.itemCode;\nconst erFormHelper: ER.FormHelper = new ER.FormHelper();\nconst initializeFlag = ref(0);\nconst mainViewSize = ref(45);\nconst detailLayoutOptions = ref<any[]>([]);\nconst activeKey = ref<string>('');\nconst formCodeSetsPopTreeHelper = new ER.PopTreeHelper('CURRENT_NODE_CODE', 'PARENT_NODE_CODE', 'CURRENT_NODE_DESC', {title: 'CodeSets Config List', nodeRenderer: CustomCellRenderer });\nconst epCodePopTreeHelper = new ER.PopTreeHelper('CURRENT_NODE_CODE', 'PARENT_NODE_CODE', 'CURRENT_NODE_DESC', {title: 'BasicCode Config List', nodeRenderer: CustomCellRenderer });\nconst dataSourcePopTreeHelper = new ER.PopTreeHelper('CURRENT_NODE_CODE', 'PARENT_NODE_CODE', 'CURRENT_NODE_DESC', {title: 'DataSource Config List', nodeRenderer: CustomCellRenderer });\nconst dataSetPopTreeHelper = new ER.PopTreeHelper('CURRENT_NODE_CODE', 'PARENT_NODE_CODE', 'CURRENT_NODE_DESC', {title: 'DataSet Config List', nodeRenderer: CustomCellRenderer });\nconst basicCodePopTreeHelper = new ER.PopTreeHelper('CURRENT_NODE_CODE', 'PARENT_NODE_CODE', 'CURRENT_NODE_DESC', {title: 'BasicCode Config List', nodeRenderer: CustomCellRenderer });\nconst dataTableColumnsQuery = new ER.PopQueryHelper(props.partition, 'SI00DataTableCols', 'LayoutGroupFilter,gridView1', props.initializeService || 'si00_form_get');\n\nconst layoutValueChanged = (e: any) => {\n if (e.configId === 'LayoutGroupItemFilter' && e.field === 'OPERATOR') {\n const operator = ER.Core.toString(e.value);\n if (operator.length > 0 && operator != \"None\") {\n if (e.data?.PARA_NAME?.trim().length == 0) {\n erFormHelper.setControlValue(e.configId, 'PARA_NAME', e.data.FIELD_NAME);\n }\n if (e.data?.PARA_GROUP?.trim().length == 0 || e.data?.PARA_GROUP === '0') {\n erFormHelper.setControlValue(e.configId, 'PARA_GROUP', '1');\n }\n } else {\n erFormHelper.setControlValue(e.configId, 'PARA_NAME', '');\n erFormHelper.setControlValue(e.configId, 'PARA_GROUP', '0');\n }\n if (e.data?.COLUMN_EDIT === '5') {\n if (e.data?.DATE_TIME_FORMAT?.trim().length == 0 && (operator === '>' || operator === '>=')) {\n erFormHelper.setControlValue(e.configId, 'DATE_TIME_FORMAT', 'yyyyMMdd000000');\n } else if (e.data?.DATE_TIME_FORMAT?.trim().length == 0 && (operator === '<' || operator === '<=')) {\n erFormHelper.setControlValue(e.configId, 'DATE_TIME_FORMAT', 'yyyyMMdd235959');\n } else if (operator === 'None') {\n erFormHelper.setControlValue(e.configId, 'DATE_TIME_FORMAT', '');\n }\n }\n }\n if (gridApi && e.data && e.field && ['LayoutGroupItemDesigne', 'LayoutGroupItemAppearance', 'LayoutGroupItemDropDown', 'LayoutGroupItemFilter'].includes(e.configId)) {\n const editNode = gridApi.getRowNode(e.data.uid);\n if (editNode) {\n gridApi.redrawRows([editNode]);\n if (editNode.selected) {\n const selectNodes: any[] = [];\n gridApi.forEachLeafNode((node: any) => {\n if (node?.selected && node.data?.uid && node.data.uid !== e.data.uid) {\n node.data.set(e.field, e.value, 'setData');\n selectNodes.push(node);\n }\n });\n if (selectNodes.length > 0) {\n gridApi.redrawRows(selectNodes);\n }\n }\n }\n }\n emits('configChanged', {...e, ...getConfigItemInfo()});\n} \nconst layoutButtonClick = (params: any) => {\n if (params.itemCode === 'DATASET_NAME') {\n if (params.type === 'clear') {\n erFormHelper.setControlEmptyValue(params.configId, 'DATASET_NAME,TABLE_NAME');\n } else {\n dataSetPopTreeHelper.BordStyle = 'Fixed';\n dataSetPopTreeHelper.setOptions({zIndex: 1001});\n const queryTreeData: any = async () => {\n const outInfo = await ER.Core.callService(ER.SysInfo.queryDevConfigService, ER.Core.buildEiInfo({ OPERATE_TYPE: 'tsi00datasettree' }));\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError(outInfo.getMsg());\n return [];\n } else {\n return outInfo.getBlockByIndex(0).getMappedRows();\n }\n };\n dataSetPopTreeHelper.receiveData(queryTreeData);\n dataSetPopTreeHelper.BeforeOkButtonClick = (nodeData: any) => {\n if (nodeData?.NODE_TYPE !== 'DataTable') {\n return false;\n }\n return nodeData;\n }\n dataSetPopTreeHelper.show(null, (e: any) => {\n if (e?.data) {\n erFormHelper.setControlValue(params.configId, 'DATASET_NAME', e.data.DATASET_NAME);\n erFormHelper.setControlValue(params.configId, 'TABLE_NAME', e.data.DATATABLE_NAME);\n }\n });\n }\n } else if (params.itemCode === 'SVC_NAME') {\n if (params.type === 'clear') {\n return;\n } \n const originCode = erFormHelper.getControlValue(params.configId, 'ORIGIN_CODE');\n if (originCode === '2') {\n dataSourcePopTreeHelper.setOptions({showFindPanel: true});\n dataSourcePopTreeHelper.setOptions({zIndex: 1001});\n const treeDataQuery: any = async () => {\n const outInfo = await ER.Core.callService(ER.SysInfo.queryDevConfigService, ER.Core.buildEiInfo({ QUERY_TYPE: 'tsi00datasourcetree' }), { loadingOptions: { show: true, delay: 100 } });\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError(outInfo.getMsg());\n return;\n }\n return outInfo.getBlockByIndex(0).getMappedRows();\n }\n dataSourcePopTreeHelper.receiveData(treeDataQuery);\n dataSourcePopTreeHelper.BeforeOkButtonClick = (nodeData: any) => {\n if (nodeData?.NODE_TYPE !== 'DataSource') {\n return false;\n }\n return nodeData;\n }\n dataSourcePopTreeHelper.BordStyle = 'Fixed';\n dataSourcePopTreeHelper.setOptions({autoSelectNodeKey:erFormHelper.getControlValue(params.configId, 'SVC_NAME')});\n dataSourcePopTreeHelper.show(null, async (e: any) => {\n if (e?.data) {\n erFormHelper.setControlValue(params.configId, 'SVC_NAME', e.data.FUNC_ID);\n }\n });\n } else if (originCode === '1' || originCode === '5') { \n basicCodePopTreeHelper.setOptions({showFindPanel: true});\n basicCodePopTreeHelper.setOptions({zIndex: 1001});\n const treeDataQuery: any = async () => {\n const outInfo = await ER.Core.callService(ER.SysInfo.queryDevConfigService, ER.Core.buildEiInfo({ QUERY_TYPE: 'tsi00code01tree' }), { loadingOptions: { show: true, delay: 100 } });\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError(outInfo.getMsg());\n return;\n }\n return outInfo.getBlockByIndex(0).getMappedRows();\n }\n basicCodePopTreeHelper.receiveData(treeDataQuery);\n basicCodePopTreeHelper.BeforeOkButtonClick = (nodeData: any) => {\n if (nodeData?.NODE_TYPE !== 'CodeClass') {\n return false;\n }\n return nodeData;\n }\n basicCodePopTreeHelper.BordStyle = 'Fixed';\n basicCodePopTreeHelper.setOptions({autoSelectNodeKey:erFormHelper.getControlValue(params.configId, 'SVC_NAME')});\n basicCodePopTreeHelper.show(null, async (e: any) => {\n if (e?.data) {\n erFormHelper.setControlValue(params.configId, 'SVC_NAME', e.data.CODE_CLASS);\n }\n });\n } else if (originCode === '4') {\n formCodeSetsPopTreeHelper.setOptions({showFindPanel: true});\n formCodeSetsPopTreeHelper.setOptions({zIndex: 1001});\n const treeDataQuery: any = async () => {\n const outInfo = await ER.Core.callService(ER.SysInfo.queryDevConfigService, ER.Core.buildEiInfo({ QUERY_TYPE: 'tsi00formcodesets', FORM_NAME: props.formName }), { loadingOptions: { show: true, delay: 100 } });\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError(outInfo.getMsg());\n return;\n }\n const data: any[] = [];\n outInfo.getBlock('TSI00FORMCODECLASS')?.getMappedRows()?.forEach((item: any) => {\n data.push({\n ...item,\n CURRENT_NODE_CODE: item.CODE_CLASS,\n CURRENT_NODE_DESC: `${item.CODE_CLASS}(${item.CODE_NAME})`,\n PARENT_NODE_CODE: 'FORM_CODESETS_ROOT',\n NODE_TYPE: 'CodeClass',\n });\n });\n return data;\n }\n formCodeSetsPopTreeHelper.receiveData(treeDataQuery);\n formCodeSetsPopTreeHelper.BeforeOkButtonClick = (nodeData: any) => {\n if (nodeData?.NODE_TYPE !== 'CodeClass') {\n return false;\n }\n return nodeData;\n }\n formCodeSetsPopTreeHelper.BordStyle = 'Fixed';\n formCodeSetsPopTreeHelper.setOptions({autoSelectNodeKey:erFormHelper.getControlValue(params.configId, 'SVC_NAME')});\n formCodeSetsPopTreeHelper.show(null, async (e: any) => {\n if (e?.data) {\n erFormHelper.setControlValue(params.configId, 'SVC_NAME', e.data.CODE_CLASS);\n }\n });\n } else if (originCode === '6') {\n epCodePopTreeHelper.setOptions({showFindPanel: true});\n const treeDataQuery: any = async () => {\n const outInfo = await ER.Core.callService(ER.SysInfo.queryDevConfigService, ER.Core.buildEiInfo({ QUERY_TYPE: 'tep0001' }), { loadingOptions: { show: true, delay: 100 } });\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError(outInfo.getMsg());\n return;\n }\n const data: any[] = [];\n outInfo.getBlockByIndex(0).getMappedRows().forEach((item: any) => {\n data.push({\n ...item,\n CURRENT_NODE_CODE: item.CODE_CLASS,\n CURRENT_NODE_DESC: `${item.CODE_CLASS}(${item.CODE_NAME})`,\n PARENT_NODE_CODE: 'EP_BASIC_CODE_ROOT',\n NODE_TYPE: 'CodeClass',\n });\n });\n return data;\n }\n epCodePopTreeHelper.receiveData(treeDataQuery);\n epCodePopTreeHelper.BeforeOkButtonClick = (nodeData: any) => {\n if (nodeData?.NODE_TYPE !== 'CodeClass') {\n return false;\n }\n return nodeData;\n }\n epCodePopTreeHelper.BordStyle = 'Fixed';\n epCodePopTreeHelper.setOptions({autoSelectNodeKey:erFormHelper.getControlValue(params.configId, 'SVC_NAME')});\n epCodePopTreeHelper.show(null, async (e: any) => {\n if (e?.data) {\n erFormHelper.setControlValue(params.configId, 'SVC_NAME', e.data.CODE_CLASS);\n }\n });\n }\n }\n}\nconst layoutDropdownOpen = (e: any) => {\n}\nconst onGridFocusChanged = (e: any) => {\n indicateItemCode = e.data?.ITEM_CODE;\n}\nconst onGridReady = (e: any) => {\n gridApi = e.api;\n}\nconst onGridRowDragEnd = (e: any) => {\n let seqNo = 1;\n const formConfig = erFormHelper.getModelFromGridOrLayout('LayoutGroupForm')?.toJSON();\n const viewConfig = erFormHelper.getModelFromGridOrLayout('LayoutGroupView')?.toJSON();\n const nodesAfterDrag: any[] = [];\n const visibleColumns: any[] = [];\n e.api.forEachLeafNode((node: any) => {\n node.setDataValue('C_SEQ_ID', String(seqNo).padStart(4, '0'));\n nodesAfterDrag.push(node);\n if (node.data?.IS_VISIBLE === '1' && node.data?.GENERATE_MEMBER === '1' && node.data?.ITEM_CODE?.trim().length > 0) {\n visibleColumns.push(node.data.toJSON());\n }\n seqNo++;\n });\n emits('dragItems', { formConfig, viewConfig, nodesAfterDrag, visibleColumns });\n}\n\nconst getConfigItemInfo = () => {\n const formConfig = erFormHelper.getModelFromGridOrLayout('LayoutGroupForm')?.toJSON();\n const viewConfig = erFormHelper.getModelFromGridOrLayout('LayoutGroupView')?.toJSON();\n const nodesAfterDrag: any[] = [];\n const visibleColumns: any[] = [];\n gridApi.forEachLeafNode((node: any) => {\n nodesAfterDrag.push(node);\n if (node.data?.IS_VISIBLE === '1' && node.data?.GENERATE_MEMBER === '1' && node.data?.ITEM_CODE?.trim().length > 0) {\n visibleColumns.push(node.data.toJSON());\n }\n });\n return { formConfig, viewConfig, nodesAfterDrag, visibleColumns };\n}\n\nconst setItemDefaultPropertity = (item: any, layoutType: 'F' | 'G' | 'P' | 'T' ) => {\n if (item.FIELD_NAME?.trim().length === 0)\n return item;\n\n layoutType === 'F' && (item.COLUMN_EDIT = ['NUMBER', 'BIGINT', 'DECIMAL', 'DOUBLE', 'INTEGER', 'SMALLINT', 'REAL', 'DECFLOAT', '2'].includes(item.DATA_TYPE)\n ? '9' : item.DATA_TYPE === '3' || item.DATA_TYPE === '5' || ((item.COL_CAPTION?.includes(\"日期\") || item.COL_CAPTION?.includes(\"时间\") || item.COL_CAPTION?.includes(\"时刻\"))\n && (ER.Core.toNumber(item.MAX_LENGTH) === 8 || ER.Core.toNumber(item.MAX_LENGTH) === 14 || ER.Core.toNumber(item.MAX_LENGTH) === 20))\n ? '5' : '0');\n\n if (item.DATA_TYPE === '2') {\n item.FORMAT_TYPE = 'Numeric';\n if (['金额', '税额', '发生额', '款'].some((str: string) => item.COL_CAPTION?.includes(str))) {\n item.FORMAT_STRING = '#,##0.00';\n } else {\n item.FORMAT_STRING = '#,##0';\n }\n if (['数量', '件数', '重量', '毛重', '净重'].some((str: string) => item.COL_CAPTION?.includes(str))) {\n item.FORMAT_STRING = '#,##0.###';\n }\n }\n else if (item.DATA_TYPE === '3') {\n item.FORMAT_TYPE = 'DateTime';\n if (item.COL_CAPTION?.includes('日期')) {\n item.FORMAT_STRING = 'yyyy-MM-dd';\n }\n else if (item.COL_CAPTION?.includes('时间') || item.COL_CAPTION?.includes('时刻')) {\n item.FORMAT_STRING = 'yyyy-MM-dd HH:mm:ss';\n }\n } else if (item.DATA_TYPE === '5') {\n item.FORMAT_TYPE = 'Time';\n item.FORMAT_STRING = 'HH:mm:ss';\n }\n return item;\n}\n\n// 画面相关数据初始化\nconst Initialize = async () => {\n const layoutOptions: any[] = [];\n \n layoutOptions.push({\n configId: 'LayoutGroupItemDesigne',\n caption: 'Design',\n options: {\n showGroupBorder: false,\n allowDevMode: false,\n showTooltip: false,\n style: { padding: '0px' }\n }\n });\n layoutOptions.push({\n configId: 'LayoutGroupItemDropDown',\n caption: 'Dropdown',\n options: {\n showGroupBorder: false,\n allowDevMode: false,\n showTooltip: false,\n style: { padding: '0px' }\n }\n });\n layoutOptions.push({\n configId: 'LayoutGroupItemAppearance',\n caption: 'Style',\n options: {\n showGroupBorder: false,\n allowDevMode: false,\n showTooltip: false,\n style: { padding: '0px' }\n }\n });\n if (!props.autoBind && props.functionType === 'Layout') {\n layoutOptions.push({\n configId: 'LayoutGroupItemFilter',\n caption: 'Filter',\n options: {\n showGroupBorder: false,\n allowDevMode: false,\n showTooltip: false,\n style: { padding: '0px' }\n }\n });\n }\n layoutOptions.push({\n configId: 'LayoutGroupView',\n caption: props.functionType === 'Layout' ? 'Layout' : 'GridView',\n options: {\n showGroupBorder: false,\n allowDevMode: false,\n showTooltip: false,\n style: { padding: '0px' }\n }\n });\n layoutOptions.push({\n configId: 'LayoutGroupForm',\n caption: 'Form',\n options: {\n showGroupBorder: false,\n allowDevMode: false,\n showTooltip: false,\n style: { padding: '0px' }\n }\n });\n const initialResult = await erFormHelper.Initialize(\n props.partition,\n props.functionType === 'Layout' ? 'SI00LayoutItemEdit' : 'SI00GridViewItemEdit',\n '',\n props.initializeService || 'si00_form_get'\n );\n if (initialResult.flag > 0) {\n detailLayoutOptions.value = layoutOptions;\n activeKey.value = 'LayoutGroupItemDesigne';\n initializeFlag.value = 1;\n\n erFormHelper.initialGridToolbar('gridViewItemList', {\n addrow: {\n visible: true,\n preventDefault: true,\n action: () => {\n const dataSetName = erFormHelper.getControlValue('LayoutGroupView', 'DATASET_NAME') ||'';\n const tableName = erFormHelper.getControlValue('LayoutGroupView', 'TABLE_NAME') || '';\n if (dataSetName?.trim().length > 0 && tableName?.trim().length > 0) {\n dataTableColumnsQuery.setFormOptions({zIndex: 1001, allowDevMode: false});\n dataTableColumnsQuery.setQueryPartition(props.partition);\n dataTableColumnsQuery.AutoRefresh = true;\n dataTableColumnsQuery.AutoQuery = true;\n dataTableColumnsQuery.DefaultValues = { values: { DATASET_NAME: dataSetName, TABLE_NAME: tableName } };\n dataTableColumnsQuery.ShowCheckBoxColumn = true;\n dataTableColumnsQuery.setEvent('ok', (e: any) => {\n const gridData = erFormHelper.getGridAllRows('gridViewItemList');\n let gridDataCount = gridData?.length || 0;\n const newItems: any[] = [];\n e.checkedItemArray?.forEach((item: any) => {\n if (!gridData.some((gridItem: any) => gridItem.ITEM_CODE === item.COL_NAME)) {\n newItems.push(setItemDefaultPropertity({\n COMPANY_CODE: erFormHelper.DefaultConfigCompanyCode,\n COMPANY_CNAME: erFormHelper.DefaultConfigCompanyName,\n ROW_GUID: ER.Core.guid(),\n FORM_NAME: props.formName,\n FUNCTION_ID: props.functionId,\n ITEM_CODE: item.COL_NAME,\n COL_CAPTION: item.COL_CAPTION,\n FIELD_NAME: item.COL_NAME,\n MAX_LENGTH: item.MAX_LENGTH,\n DATA_ACCU: item.PRECISION || -1,\n DATA_TYPE: item.DATA_TYPE,\n C_SEQ_ID: String(gridDataCount++).padStart(4, '0'),\n }, 'F'));\n }\n });\n if (newItems.length > 0) {\n erFormHelper.importRowsToGrid('gridViewItemList', newItems);\n nextTick(() => {\n emits('addItems', getConfigItemInfo());\n });\n }\n });\n dataTableColumnsQuery.show(null);\n } else {\n erFormHelper.addRowToGrid('gridViewItemList', {\n setDefaultValue: true,\n data: {\n FORM_NAME: props.formName,\n FUNCTION_ID: props.functionId,\n COMPANY_CODE: erFormHelper.DefaultConfigCompanyCode,\n COMPANY_CNAME: erFormHelper.DefaultConfigCompanyName,\n ROW_GUID: ER.Core.guid()\n }\n });\n nextTick(() => {\n emits('addItems', getConfigItemInfo());\n });\n }\n }\n },\n copyrow: {\n visible: true,\n action: () => {\n nextTick(() => {\n emits('addItems', getConfigItemInfo());\n });\n }\n },\n delete: {\n visible: true,\n action: () => {\n nextTick(() => {\n emits('removeItems', getConfigItemInfo());\n });\n }\n }\n });\n\n nextTick(() => {\n queryInfo('tsi00gridcolumn');\n queryInfo('tsi00gridview');\n queryInfo('tsi00form');\n });\n } else {\n erFormHelper.messageError(\n 'ErFormHelper initialize faild, error msg is [' + initialResult.msg + ']!'\n );\n }\n};\n\nInitialize();\n\nconst queryInfo = async (queryType: string) => {\n const inInfo = ER.Core.buildEiInfo([{QUERY_TYPE: queryType, COMPANY_CODE: props.companyCode || 'BS', FORM_NAME: props.formName, FUNCTION_ID: props.functionId}]);\n const outInfo = await ER.Core.callService(ER.SysInfo.queryDevConfigService, inInfo, { loadingOptions: { show: true, delay: 100 } });\n if (outInfo.getStatus() < 0) {\n return;\n } else {\n switch (queryType) {\n case 'tsi00gridcolumn':\n const itemsBindTable = erFormHelper.getBindingTable('gridViewItemList');\n const isFirstQuery = itemsBindTable?.rowCount === 0;\n erFormHelper.mergeDataToGrid(outInfo.getBlock('TSI00GRIDCOLUMN'), 'gridViewItemList');\n nextTick(() => {\n if (isFirstQuery && props.visibleColumns?.length > 0) {\n reOrderLayoutItems(props.visibleColumns);\n }\n if (indicateItemCode) {\n erFormHelper.setGridIndicator('gridViewItemList', { ITEM_CODE: indicateItemCode });\n }\n });\n break;\n case 'tsi00form':\n erFormHelper.mergeDataToLayoutOrGrid(outInfo.getBlock('TSI00FORM'), true, 'LayoutGroupForm');\n break;\n case 'tsi00gridview':\n erFormHelper.mergeDataToLayoutOrGrid(outInfo.getBlock('TSI00GRIDVIEW'), true, 'LayoutGroupView');\n if (outInfo.getBlock('BINDING_FIELDS')) {\n erFormHelper.reloadDropDownDataSource('LayoutGroupItemDesigne', 'FIELD_NAME', outInfo.getBlock('BINDING_FIELDS'));\n }\n break;\n }\n }\n}\n\nonMounted(() => {\n\n});\n\nconst saveLayoutDesign = async () => {\n if (!erFormHelper.hasDataChange()) {\n erFormHelper.messageInfo('No data changes to save');\n return;\n }\n const checked = erFormHelper.checkGridInput('gridViewItemList', 'ChangedRows');\n if (!checked) {\n for (const item of detailLayoutOptions.value) {\n if (item.configId === 'LayoutGroupView' || item.configId === 'LayoutGroupForm') {\n continue;\n }\n const checked = await erFormHelper.checkRequiredInput(item.configId);\n if (!checked) {\n activeKey.value = item.configId;\n return;\n }\n }\n }\n const inInfo = erFormHelper.getGridChangedRowsAsEiInfo('gridViewItemList');\n if (erFormHelper.hasDataChange('LayoutGroupView')) {\n const checked = await erFormHelper.checkRequiredInput('LayoutGroupView');\n if (!checked) {\n activeKey.value = 'LayoutGroupView';\n return;\n }\n const block = erFormHelper.getModelFromGridOrLayoutAsBlock('LayoutGroupView');\n block.rename('TSI00GRIDVIEW_MODIFY');\n inInfo.addBlock(block);\n }\n\n if (erFormHelper.hasDataChange('LayoutGroupForm')) {\n const checked = await erFormHelper.checkRequiredInput('LayoutGroupForm');\n if (!checked) {\n activeKey.value = 'LayoutGroupForm';\n return;\n }\n const block = erFormHelper.getModelFromGridOrLayoutAsBlock('LayoutGroupForm');\n block.rename('TSI00FORM_MODIFY');\n inInfo.addBlock(block);\n }\n\n const outInfo = await erFormHelper.callService(ER.SysInfo.saveDevConfigService, inInfo, { loadingOptions: { show: true, delay: 100 } });\n if (outInfo.getStatus() >= 0) {\n erFormHelper.messageSuccess(outInfo.getMsg());\n refreshLayoutDesign();\n emits('configSaved');\n }\n}\n\nconst refreshLayoutDesign = () => {\n queryInfo('tsi00gridcolumn');\n queryInfo('tsi00form');\n queryInfo('tsi00gridview');\n}\n\nconst reOrderLayoutItems = (visibleColumns: any[]) => {\n gridApi.setFilterModel(null);\n\n const allConfigItems: any[] = [];\n const newItemMap: any = {};\n gridApi.forEachNodeAfterFilterAndSort((node: any) => {\n if (node.data?.ITEM_CODE?.trim().length > 0) {\n allConfigItems.push(node.data.toJSON());\n if (node.data.isNew) {\n newItemMap[node.data.ITEM_CODE] = true;\n }\n }\n });\n\n const reorderedConfigItems: any[] = [];\n let visibleIndex = 0;\n for (let i = 0; i < allConfigItems.length; i++) {\n if (allConfigItems[i].IS_VISIBLE !== '1' || allConfigItems[i].GENERATE_MEMBER !== '1') {\n reorderedConfigItems.push(allConfigItems[i]);\n } else if (visibleIndex < visibleColumns.length) {\n const itemCode = visibleColumns[visibleIndex].ITEM_CODE;\n const currentItem = allConfigItems.find(item => item.ITEM_CODE === itemCode);\n if (currentItem) {\n reorderedConfigItems.push(currentItem);\n }\n visibleIndex++;\n }\n }\n erFormHelper.mergeDataToGrid(reorderedConfigItems, 'gridViewItemList');\n const bindingTable = erFormHelper.getBindingTable('gridViewItemList');\n nextTick(() => {\n let index = 0;\n gridApi.forEachNodeAfterFilterAndSort((node: any) => {\n if (node.data?.ITEM_CODE?.trim().length > 0) {\n node.data.set('C_SEQ_ID', String(index++).padStart(4, '0'));\n }\n if (newItemMap[node.data.ITEM_CODE]) {\n bindingTable?.setRowState(node.data, 'added');\n }\n index++;\n });\n });\n}\n\nwatch(() => props.itemCode, (newVal) => {\n if (newVal) {\n indicateItemCode = newVal; \n erFormHelper.setGridIndicator('gridViewItemList', { ITEM_CODE: indicateItemCode });\n }\n});\n\ndefineExpose({\n refreshLayoutDesign,\n saveLayoutDesign,\n reOrderLayoutItems\n});\n</script>\n\n<style lang=\"scss\">\n.ant-tabs.er-layout-designe-tabs {\n .ant-tabs-nav {\n height: 25px !important;\n }\n .ant-tabs-tab {\n padding: 5px 8px !important;\n }\n .ant-tabs-tab-active {\n padding: 5px 8px !important;\n }\n}\n</style>\n"],"names":["__default__","defineComponent","ConfigProvider","Tabs","TabPane","ErPanel","props","__props","emits","__emit","antdLocale","ref","getAntdLocale","antdTheme","getAntdTheme","gridApi","indicateItemCode","erFormHelper","ER","initializeFlag","mainViewSize","detailLayoutOptions","activeKey","formCodeSetsPopTreeHelper","CustomCellRenderer","epCodePopTreeHelper","dataSourcePopTreeHelper","dataSetPopTreeHelper","basicCodePopTreeHelper","dataTableColumnsQuery","layoutValueChanged","operator","_b","_a","_d","_c","_e","_f","_h","_g","_j","_i","editNode","selectNodes","node","getConfigItemInfo","layoutButtonClick","params","queryTreeData","outInfo","nodeData","e","originCode","treeDataQuery","data","item","layoutDropdownOpen","onGridFocusChanged","onGridReady","onGridRowDragEnd","seqNo","formConfig","viewConfig","nodesAfterDrag","visibleColumns","setItemDefaultPropertity","layoutType","str","layoutOptions","initialResult","dataSetName","tableName","gridData","gridDataCount","newItems","gridItem","nextTick","queryInfo","queryType","inInfo","itemsBindTable","isFirstQuery","reOrderLayoutItems","onMounted","saveLayoutDesign","block","refreshLayoutDesign","allConfigItems","newItemMap","reorderedConfigItems","visibleIndex","i","itemCode","currentItem","bindingTable","index","watch","newVal","__expose"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ErLayoutDesign-C_XUd93K.js","sources":["../packages/components/ErLayoutDesign/ErLayoutDesign.vue"],"sourcesContent":["<template>\n<template v-if=\"initializeFlag === 1\">\n <v-splitter \n :horizontal=\"false\"\n @resize=\"mainViewSize = $event[0].size\">\n <v-splitter-pane :size=\"mainViewSize\">\n <er-panel\n :title=\"props.functionType === 'Layout' ? 'Control List' : 'Column List'\"\n :open-header-show=\"false\"\n style=\"height: 100%\"\n >\n <template #contentSlot>\n <er-grid\n :config-id=\"'gridViewItemList'\"\n :er-form-helper-prop=\"erFormHelper\"\n :options=\"{ rowDragMultiRow: true }\"\n :toolbar-options=\"{ style: 'ico' }\"\n @focus-changed=\"onGridFocusChanged\"\n @er-grid-ready=\"onGridReady\" \n @row-drag-end=\"onGridRowDragEnd\"\n ></er-grid>\n </template>\n </er-panel>\n </v-splitter-pane>\n <v-splitter-pane\n :size=\"100-mainViewSize\">\n <div style=\"height: 100%; flex: 1; overflow: hidden; padding-top: 5px; padding-bottom: 5px;\">\n <a-config-providver \n :theme=\"antdTheme\" \n :locale=\"antdLocale\"\n componentSize=\"small\">\n <a-tabs class=\"er-layout-designe-tabs\" type=\"card\" v-model:activeKey=\"activeKey\">\n <a-tab-pane v-for=\"item in detailLayoutOptions\" :key=\"item.configId\"\n force-render\n :tab=\"item.caption\"\n style=\"height: 100%\"\n >\n <er-layout\n :style=\"{'height': '100%', 'overflow': 'auto'}\"\n :auto-bind=\"true\"\n :er-form-helper-prop=\"erFormHelper\"\n :config-id=\"item.configId\"\n :config-caption=\"item.caption\"\n :options=\"item.options\"\n @value-changed=\"layoutValueChanged\"\n @item-button-click=\"layoutButtonClick\"\n @dropdown-open=\"layoutDropdownOpen\"\n ></er-layout>\n </a-tab-pane>\n </a-tabs>\n </a-config-providver>\n </div>\n </v-splitter-pane>\n </v-splitter>\n</template>\n\n</template>\n<script lang=\"ts\">\nimport {\n onMounted,\n ref,\n defineComponent,\n defineProps,\n defineExpose,\n nextTick,\n watch\n} from 'vue';\nimport { ConfigProvider, Tabs, TabPane } from 'ant-design-vue';\nimport { ER } from '../../utils/er';\nimport ErLayout from '../ErLayout/ErLayout.vue';\nimport ErGrid from '../ErGrid/ErGrid.vue';\nimport ErPanel from '../ErPanel/ErPanel.vue';\nimport { getAntdLocale } from '../../locales/localeConfig';\nimport { getAntdTheme } from '../../utils/theme';\nimport CustomCellRenderer from '../ErMenuDevPlat/CustomCellRenderer.vue';\nexport default defineComponent({\n name: 'ErLayoutDesign',\n components: {\n 'a-config-providver': ConfigProvider,\n 'a-tabs': Tabs,\n 'a-tab-pane': TabPane,\n 'er-panel': ErPanel\n }\n});\n</script>\n\n<script lang=\"ts\" setup>\n\nconst props = defineProps({\n partition: {\n type: String,\n default: '',\n require: false\n },\n companyCode: {\n type: String,\n default: '',\n require: false\n },\n formName: {\n type: String,\n default: '',\n require: false\n },\n functionType: {\n type: String,\n default: '',\n require: false\n },\n functionId: {\n type: String,\n default: '',\n require: false\n },\n itemCode: {\n type: String,\n default: '',\n require: false\n },\n autoBind: {\n type: Boolean,\n default: false,\n require: false\n },\n initializeService: {\n type: String,\n default: '',\n require: false\n },\n visibleColumns: {\n type: Array,\n default: [],\n require: false\n }\n});\n\nconst emits = defineEmits(['configSaved', 'dragItems', 'configChanged', 'addItems', 'removeItems']);\n\nconst antdLocale: any = ref(getAntdLocale());\nconst antdTheme: any = ref(getAntdTheme());\n// if ((window as any).$wujie) {\n// (window as any).$wujie.bus?.$on(\"changeThemeEmit\", (e: any) => {\n// antdTheme.value = getAntdTheme();\n// });\n// }\nlet gridApi: any;\nlet indicateItemCode = props.itemCode;\nconst erFormHelper: ER.FormHelper = new ER.FormHelper();\nconst initializeFlag = ref(0);\nconst mainViewSize = ref(45);\nconst detailLayoutOptions = ref<any[]>([]);\nconst activeKey = ref<string>('');\nconst formCodeSetsPopTreeHelper = new ER.PopTreeHelper('CURRENT_NODE_CODE', 'PARENT_NODE_CODE', 'CURRENT_NODE_DESC', {title: 'CodeSets Config List', nodeRenderer: CustomCellRenderer });\nconst epCodePopTreeHelper = new ER.PopTreeHelper('CURRENT_NODE_CODE', 'PARENT_NODE_CODE', 'CURRENT_NODE_DESC', {title: 'BasicCode Config List', nodeRenderer: CustomCellRenderer });\nconst dataSourcePopTreeHelper = new ER.PopTreeHelper('CURRENT_NODE_CODE', 'PARENT_NODE_CODE', 'CURRENT_NODE_DESC', {title: 'DataSource Config List', nodeRenderer: CustomCellRenderer });\nconst dataSetPopTreeHelper = new ER.PopTreeHelper('CURRENT_NODE_CODE', 'PARENT_NODE_CODE', 'CURRENT_NODE_DESC', {title: 'DataSet Config List', nodeRenderer: CustomCellRenderer });\nconst basicCodePopTreeHelper = new ER.PopTreeHelper('CURRENT_NODE_CODE', 'PARENT_NODE_CODE', 'CURRENT_NODE_DESC', {title: 'BasicCode Config List', nodeRenderer: CustomCellRenderer });\nconst dataTableColumnsQuery = new ER.PopQueryHelper(props.partition, 'SI00DataTableCols', 'LayoutGroupFilter,gridView1', props.initializeService || 'si00_form_get');\n\nconst layoutValueChanged = (e: any) => {\n if (e.configId === 'LayoutGroupItemFilter' && e.field === 'OPERATOR') {\n const operator = ER.Core.toString(e.value);\n if (operator.length > 0 && operator != \"None\") {\n if (e.data?.PARA_NAME?.trim().length == 0) {\n erFormHelper.setControlValue(e.configId, 'PARA_NAME', e.data.FIELD_NAME);\n }\n if (e.data?.PARA_GROUP?.trim().length == 0 || e.data?.PARA_GROUP === '0') {\n erFormHelper.setControlValue(e.configId, 'PARA_GROUP', '1');\n }\n } else {\n erFormHelper.setControlValue(e.configId, 'PARA_NAME', '');\n erFormHelper.setControlValue(e.configId, 'PARA_GROUP', '0');\n }\n if (e.data?.COLUMN_EDIT === '5') {\n if (e.data?.DATE_TIME_FORMAT?.trim().length == 0 && (operator === '>' || operator === '>=')) {\n erFormHelper.setControlValue(e.configId, 'DATE_TIME_FORMAT', 'yyyyMMdd000000');\n } else if (e.data?.DATE_TIME_FORMAT?.trim().length == 0 && (operator === '<' || operator === '<=')) {\n erFormHelper.setControlValue(e.configId, 'DATE_TIME_FORMAT', 'yyyyMMdd235959');\n } else if (operator === 'None') {\n erFormHelper.setControlValue(e.configId, 'DATE_TIME_FORMAT', '');\n }\n }\n }\n if (gridApi && e.data && e.field && ['LayoutGroupItemDesigne', 'LayoutGroupItemAppearance', 'LayoutGroupItemDropDown', 'LayoutGroupItemFilter'].includes(e.configId)) {\n const editNode = gridApi.getRowNode(e.data.uid);\n if (editNode) {\n gridApi.redrawRows([editNode]);\n if (editNode.selected) {\n const selectNodes: any[] = [];\n gridApi.forEachLeafNode((node: any) => {\n if (node?.selected && node.data?.uid && node.data.uid !== e.data.uid) {\n node.data.set(e.field, e.value, 'setData');\n selectNodes.push(node);\n }\n });\n if (selectNodes.length > 0) {\n gridApi.redrawRows(selectNodes);\n }\n }\n }\n }\n emits('configChanged', {...e, ...getConfigItemInfo()});\n} \nconst layoutButtonClick = (params: any) => {\n if (params.itemCode === 'DATASET_NAME') {\n if (params.type === 'clear') {\n erFormHelper.setControlEmptyValue(params.configId, 'DATASET_NAME,TABLE_NAME');\n } else {\n dataSetPopTreeHelper.BordStyle = 'Fixed';\n dataSetPopTreeHelper.setOptions({zIndex: 1001});\n const queryTreeData: any = async () => {\n const outInfo = await ER.Core.callService(ER.SysInfo.queryDevConfigService, ER.Core.buildEiInfo({ OPERATE_TYPE: 'tsi00datasettree' }));\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError(outInfo.getMsg());\n return [];\n } else {\n return outInfo.getBlockByIndex(0).getMappedRows();\n }\n };\n dataSetPopTreeHelper.receiveData(queryTreeData);\n dataSetPopTreeHelper.BeforeOkButtonClick = (nodeData: any) => {\n if (nodeData?.NODE_TYPE !== 'DataTable') {\n return false;\n }\n return nodeData;\n }\n dataSetPopTreeHelper.show(null, (e: any) => {\n if (e?.data) {\n erFormHelper.setControlValue(params.configId, 'DATASET_NAME', e.data.DATASET_NAME);\n erFormHelper.setControlValue(params.configId, 'TABLE_NAME', e.data.DATATABLE_NAME);\n }\n });\n }\n } else if (params.itemCode === 'SVC_NAME') {\n if (params.type === 'clear') {\n return;\n } \n const originCode = erFormHelper.getControlValue(params.configId, 'ORIGIN_CODE');\n if (originCode === '2') {\n dataSourcePopTreeHelper.setOptions({showFindPanel: true});\n dataSourcePopTreeHelper.setOptions({zIndex: 1001});\n const treeDataQuery: any = async () => {\n const outInfo = await ER.Core.callService(ER.SysInfo.queryDevConfigService, ER.Core.buildEiInfo({ QUERY_TYPE: 'tsi00datasourcetree' }), { loadingOptions: { show: true, delay: 100 } });\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError(outInfo.getMsg());\n return;\n }\n return outInfo.getBlockByIndex(0).getMappedRows();\n }\n dataSourcePopTreeHelper.receiveData(treeDataQuery);\n dataSourcePopTreeHelper.BeforeOkButtonClick = (nodeData: any) => {\n if (nodeData?.NODE_TYPE !== 'DataSource') {\n return false;\n }\n return nodeData;\n }\n dataSourcePopTreeHelper.BordStyle = 'Fixed';\n dataSourcePopTreeHelper.setOptions({autoSelectNodeKey:erFormHelper.getControlValue(params.configId, 'SVC_NAME')});\n dataSourcePopTreeHelper.show(null, async (e: any) => {\n if (e?.data) {\n erFormHelper.setControlValue(params.configId, 'SVC_NAME', e.data.FUNC_ID);\n }\n });\n } else if (originCode === '1' || originCode === '5') { \n basicCodePopTreeHelper.setOptions({showFindPanel: true});\n basicCodePopTreeHelper.setOptions({zIndex: 1001});\n const treeDataQuery: any = async () => {\n const outInfo = await ER.Core.callService(ER.SysInfo.queryDevConfigService, ER.Core.buildEiInfo({ QUERY_TYPE: 'tsi00code01tree' }), { loadingOptions: { show: true, delay: 100 } });\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError(outInfo.getMsg());\n return;\n }\n return outInfo.getBlockByIndex(0).getMappedRows();\n }\n basicCodePopTreeHelper.receiveData(treeDataQuery);\n basicCodePopTreeHelper.BeforeOkButtonClick = (nodeData: any) => {\n if (nodeData?.NODE_TYPE !== 'CodeClass') {\n return false;\n }\n return nodeData;\n }\n basicCodePopTreeHelper.BordStyle = 'Fixed';\n basicCodePopTreeHelper.setOptions({autoSelectNodeKey:erFormHelper.getControlValue(params.configId, 'SVC_NAME')});\n basicCodePopTreeHelper.show(null, async (e: any) => {\n if (e?.data) {\n erFormHelper.setControlValue(params.configId, 'SVC_NAME', e.data.CODE_CLASS);\n }\n });\n } else if (originCode === '4') {\n formCodeSetsPopTreeHelper.setOptions({showFindPanel: true});\n formCodeSetsPopTreeHelper.setOptions({zIndex: 1001});\n const treeDataQuery: any = async () => {\n const outInfo = await ER.Core.callService(ER.SysInfo.queryDevConfigService, ER.Core.buildEiInfo({ QUERY_TYPE: 'tsi00formcodesets', FORM_NAME: props.formName }), { loadingOptions: { show: true, delay: 100 } });\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError(outInfo.getMsg());\n return;\n }\n const data: any[] = [];\n outInfo.getBlock('TSI00FORMCODECLASS')?.getMappedRows()?.forEach((item: any) => {\n data.push({\n ...item,\n CURRENT_NODE_CODE: item.CODE_CLASS,\n CURRENT_NODE_DESC: `${item.CODE_CLASS}(${item.CODE_NAME})`,\n PARENT_NODE_CODE: 'FORM_CODESETS_ROOT',\n NODE_TYPE: 'CodeClass',\n });\n });\n return data;\n }\n formCodeSetsPopTreeHelper.receiveData(treeDataQuery);\n formCodeSetsPopTreeHelper.BeforeOkButtonClick = (nodeData: any) => {\n if (nodeData?.NODE_TYPE !== 'CodeClass') {\n return false;\n }\n return nodeData;\n }\n formCodeSetsPopTreeHelper.BordStyle = 'Fixed';\n formCodeSetsPopTreeHelper.setOptions({autoSelectNodeKey:erFormHelper.getControlValue(params.configId, 'SVC_NAME')});\n formCodeSetsPopTreeHelper.show(null, async (e: any) => {\n if (e?.data) {\n erFormHelper.setControlValue(params.configId, 'SVC_NAME', e.data.CODE_CLASS);\n }\n });\n } else if (originCode === '6') {\n epCodePopTreeHelper.setOptions({showFindPanel: true});\n const treeDataQuery: any = async () => {\n const outInfo = await ER.Core.callService(ER.SysInfo.queryDevConfigService, ER.Core.buildEiInfo({ QUERY_TYPE: 'tep0001' }), { loadingOptions: { show: true, delay: 100 } });\n if (outInfo.getStatus() < 0) {\n ER.Core.messageError(outInfo.getMsg());\n return;\n }\n const data: any[] = [];\n outInfo.getBlockByIndex(0).getMappedRows().forEach((item: any) => {\n data.push({\n ...item,\n CURRENT_NODE_CODE: item.CODE_CLASS,\n CURRENT_NODE_DESC: `${item.CODE_CLASS}(${item.CODE_NAME})`,\n PARENT_NODE_CODE: 'EP_BASIC_CODE_ROOT',\n NODE_TYPE: 'CodeClass',\n });\n });\n return data;\n }\n epCodePopTreeHelper.receiveData(treeDataQuery);\n epCodePopTreeHelper.BeforeOkButtonClick = (nodeData: any) => {\n if (nodeData?.NODE_TYPE !== 'CodeClass') {\n return false;\n }\n return nodeData;\n }\n epCodePopTreeHelper.BordStyle = 'Fixed';\n epCodePopTreeHelper.setOptions({autoSelectNodeKey:erFormHelper.getControlValue(params.configId, 'SVC_NAME')});\n epCodePopTreeHelper.show(null, async (e: any) => {\n if (e?.data) {\n erFormHelper.setControlValue(params.configId, 'SVC_NAME', e.data.CODE_CLASS);\n }\n });\n }\n }\n}\nconst layoutDropdownOpen = (e: any) => {\n}\nconst onGridFocusChanged = (e: any) => {\n indicateItemCode = e.data?.ITEM_CODE;\n}\nconst onGridReady = (e: any) => {\n gridApi = e.api;\n}\nconst onGridRowDragEnd = (e: any) => {\n let seqNo = 1;\n const formConfig = erFormHelper.getModelFromGridOrLayout('LayoutGroupForm')?.toJSON();\n const viewConfig = erFormHelper.getModelFromGridOrLayout('LayoutGroupView')?.toJSON();\n const nodesAfterDrag: any[] = [];\n const visibleColumns: any[] = [];\n e.api.forEachLeafNode((node: any) => {\n node.setDataValue('C_SEQ_ID', String(seqNo).padStart(4, '0'));\n nodesAfterDrag.push(node);\n if (node.data?.IS_VISIBLE === '1' && node.data?.GENERATE_MEMBER === '1' && node.data?.ITEM_CODE?.trim().length > 0) {\n visibleColumns.push(node.data.toJSON());\n }\n seqNo++;\n });\n emits('dragItems', { formConfig, viewConfig, nodesAfterDrag, visibleColumns });\n}\n\nconst getConfigItemInfo = () => {\n const formConfig = erFormHelper.getModelFromGridOrLayout('LayoutGroupForm')?.toJSON();\n const viewConfig = erFormHelper.getModelFromGridOrLayout('LayoutGroupView')?.toJSON();\n const nodesAfterDrag: any[] = [];\n const visibleColumns: any[] = [];\n gridApi.forEachLeafNode((node: any) => {\n nodesAfterDrag.push(node);\n if (node.data?.IS_VISIBLE === '1' && node.data?.GENERATE_MEMBER === '1' && node.data?.ITEM_CODE?.trim().length > 0) {\n visibleColumns.push(node.data.toJSON());\n }\n });\n return { formConfig, viewConfig, nodesAfterDrag, visibleColumns };\n}\n\nconst setItemDefaultPropertity = (item: any, layoutType: 'F' | 'G' | 'P' | 'T' ) => {\n if (item.FIELD_NAME?.trim().length === 0)\n return item;\n\n layoutType === 'F' && (item.COLUMN_EDIT = ['NUMBER', 'BIGINT', 'DECIMAL', 'DOUBLE', 'INTEGER', 'SMALLINT', 'REAL', 'DECFLOAT', '2'].includes(item.DATA_TYPE)\n ? '9' : item.DATA_TYPE === '3' || item.DATA_TYPE === '5' || ((item.COL_CAPTION?.includes(\"日期\") || item.COL_CAPTION?.includes(\"时间\") || item.COL_CAPTION?.includes(\"时刻\"))\n && (ER.Core.toNumber(item.MAX_LENGTH) === 8 || ER.Core.toNumber(item.MAX_LENGTH) === 14 || ER.Core.toNumber(item.MAX_LENGTH) === 20))\n ? '5' : '0');\n\n if (item.DATA_TYPE === '2') {\n item.FORMAT_TYPE = 'Numeric';\n if (['金额', '税额', '发生额', '款'].some((str: string) => item.COL_CAPTION?.includes(str))) {\n item.FORMAT_STRING = '#,##0.00';\n } else {\n item.FORMAT_STRING = '#,##0';\n }\n if (['数量', '件数', '重量', '毛重', '净重'].some((str: string) => item.COL_CAPTION?.includes(str))) {\n item.FORMAT_STRING = '#,##0.###';\n }\n }\n else if (item.DATA_TYPE === '3') {\n item.FORMAT_TYPE = 'DateTime';\n if (item.COL_CAPTION?.includes('日期')) {\n item.FORMAT_STRING = 'yyyy-MM-dd';\n }\n else if (item.COL_CAPTION?.includes('时间') || item.COL_CAPTION?.includes('时刻')) {\n item.FORMAT_STRING = 'yyyy-MM-dd HH:mm:ss';\n }\n } else if (item.DATA_TYPE === '5') {\n item.FORMAT_TYPE = 'Time';\n item.FORMAT_STRING = 'HH:mm:ss';\n }\n return item;\n}\n\n// 画面相关数据初始化\nconst Initialize = async () => {\n const layoutOptions: any[] = [];\n \n layoutOptions.push({\n configId: 'LayoutGroupItemDesigne',\n caption: 'Design',\n options: {\n showGroupBorder: false,\n allowDevMode: false,\n showTooltip: false,\n style: { padding: '0px' }\n }\n });\n layoutOptions.push({\n configId: 'LayoutGroupItemDropDown',\n caption: 'Dropdown',\n options: {\n showGroupBorder: false,\n allowDevMode: false,\n showTooltip: false,\n style: { padding: '0px' }\n }\n });\n layoutOptions.push({\n configId: 'LayoutGroupItemAppearance',\n caption: 'Style',\n options: {\n showGroupBorder: false,\n allowDevMode: false,\n showTooltip: false,\n style: { padding: '0px' }\n }\n });\n if (!props.autoBind && props.functionType === 'Layout') {\n layoutOptions.push({\n configId: 'LayoutGroupItemFilter',\n caption: 'Filter',\n options: {\n showGroupBorder: false,\n allowDevMode: false,\n showTooltip: false,\n style: { padding: '0px' }\n }\n });\n }\n layoutOptions.push({\n configId: 'LayoutGroupView',\n caption: props.functionType === 'Layout' ? 'Layout' : 'GridView',\n options: {\n showGroupBorder: false,\n allowDevMode: false,\n showTooltip: false,\n style: { padding: '0px' }\n }\n });\n layoutOptions.push({\n configId: 'LayoutGroupForm',\n caption: 'Form',\n options: {\n showGroupBorder: false,\n allowDevMode: false,\n showTooltip: false,\n style: { padding: '0px' }\n }\n });\n const initialResult = await erFormHelper.Initialize(\n props.partition,\n props.functionType === 'Layout' ? 'SI00LayoutItemEdit' : 'SI00GridViewItemEdit',\n '',\n props.initializeService || 'si00_form_get'\n );\n if (initialResult.flag > 0) {\n detailLayoutOptions.value = layoutOptions;\n activeKey.value = 'LayoutGroupItemDesigne';\n initializeFlag.value = 1;\n\n erFormHelper.initialGridToolbar('gridViewItemList', {\n addrow: {\n visible: true,\n preventDefault: true,\n action: () => {\n const dataSetName = erFormHelper.getControlValue('LayoutGroupView', 'DATASET_NAME') ||'';\n const tableName = erFormHelper.getControlValue('LayoutGroupView', 'TABLE_NAME') || '';\n if (dataSetName?.trim().length > 0 && tableName?.trim().length > 0) {\n dataTableColumnsQuery.setFormOptions({zIndex: 1001, allowDevMode: false});\n dataTableColumnsQuery.setQueryPartition(props.partition);\n dataTableColumnsQuery.AutoRefresh = true;\n dataTableColumnsQuery.AutoQuery = true;\n dataTableColumnsQuery.DefaultValues = { values: { DATASET_NAME: dataSetName, TABLE_NAME: tableName } };\n dataTableColumnsQuery.ShowCheckBoxColumn = true;\n dataTableColumnsQuery.setEvent('ok', (e: any) => {\n const gridData = erFormHelper.getGridAllRows('gridViewItemList');\n let gridDataCount = gridData?.length || 0;\n const newItems: any[] = [];\n e.checkedItemArray?.forEach((item: any) => {\n if (!gridData.some((gridItem: any) => gridItem.ITEM_CODE === item.COL_NAME)) {\n newItems.push(setItemDefaultPropertity({\n COMPANY_CODE: erFormHelper.DefaultConfigCompanyCode,\n COMPANY_CNAME: erFormHelper.DefaultConfigCompanyName,\n ROW_GUID: ER.Core.guid(),\n FORM_NAME: props.formName,\n FUNCTION_ID: props.functionId,\n ITEM_CODE: item.COL_NAME,\n COL_CAPTION: item.COL_CAPTION,\n FIELD_NAME: item.COL_NAME,\n MAX_LENGTH: item.MAX_LENGTH,\n DATA_ACCU: item.PRECISION || -1,\n DATA_TYPE: item.DATA_TYPE,\n C_SEQ_ID: String(gridDataCount++).padStart(4, '0'),\n }, 'F'));\n }\n });\n if (newItems.length > 0) {\n erFormHelper.importRowsToGrid('gridViewItemList', newItems);\n nextTick(() => {\n emits('addItems', getConfigItemInfo());\n });\n }\n });\n dataTableColumnsQuery.show(null);\n } else {\n erFormHelper.addRowToGrid('gridViewItemList', {\n setDefaultValue: true,\n data: {\n FORM_NAME: props.formName,\n FUNCTION_ID: props.functionId,\n COMPANY_CODE: erFormHelper.DefaultConfigCompanyCode,\n COMPANY_CNAME: erFormHelper.DefaultConfigCompanyName,\n ROW_GUID: ER.Core.guid()\n }\n });\n nextTick(() => {\n emits('addItems', getConfigItemInfo());\n });\n }\n }\n },\n copyrow: {\n visible: true,\n action: () => {\n nextTick(() => {\n emits('addItems', getConfigItemInfo());\n });\n }\n },\n delete: {\n visible: true,\n action: () => {\n nextTick(() => {\n emits('removeItems', getConfigItemInfo());\n });\n }\n }\n });\n\n nextTick(() => {\n queryInfo('tsi00gridcolumn');\n queryInfo('tsi00gridview');\n queryInfo('tsi00form');\n });\n } else {\n erFormHelper.messageError(\n 'ErFormHelper initialize faild, error msg is [' + initialResult.msg + ']!'\n );\n }\n};\n\nInitialize();\n\nconst queryInfo = async (queryType: string) => {\n const inInfo = ER.Core.buildEiInfo([{QUERY_TYPE: queryType, COMPANY_CODE: props.companyCode || 'BS', FORM_NAME: props.formName, FUNCTION_ID: props.functionId}]);\n const outInfo = await ER.Core.callService(ER.SysInfo.queryDevConfigService, inInfo, { loadingOptions: { show: true, delay: 100 } });\n if (outInfo.getStatus() < 0) {\n return;\n } else {\n switch (queryType) {\n case 'tsi00gridcolumn':\n const itemsBindTable = erFormHelper.getBindingTable('gridViewItemList');\n const isFirstQuery = itemsBindTable?.rowCount === 0;\n erFormHelper.mergeDataToGrid(outInfo.getBlock('TSI00GRIDCOLUMN'), 'gridViewItemList');\n nextTick(() => {\n if (isFirstQuery && props.visibleColumns?.length > 0) {\n reOrderLayoutItems(props.visibleColumns);\n }\n if (indicateItemCode) {\n erFormHelper.setGridIndicator('gridViewItemList', { ITEM_CODE: indicateItemCode });\n }\n });\n break;\n case 'tsi00form':\n erFormHelper.mergeDataToLayoutOrGrid(outInfo.getBlock('TSI00FORM'), true, 'LayoutGroupForm');\n break;\n case 'tsi00gridview':\n erFormHelper.mergeDataToLayoutOrGrid(outInfo.getBlock('TSI00GRIDVIEW'), true, 'LayoutGroupView');\n if (outInfo.getBlock('BINDING_FIELDS')) {\n erFormHelper.reloadDropDownDataSource('LayoutGroupItemDesigne', 'FIELD_NAME', outInfo.getBlock('BINDING_FIELDS'));\n }\n break;\n }\n }\n}\n\nonMounted(() => {\n\n});\n\nconst saveLayoutDesign = async () => {\n if (!erFormHelper.hasDataChange()) {\n erFormHelper.messageInfo('No data changes to save');\n return;\n }\n const checked = erFormHelper.checkGridInput('gridViewItemList', 'ChangedRows');\n if (!checked) {\n for (const item of detailLayoutOptions.value) {\n if (item.configId === 'LayoutGroupView' || item.configId === 'LayoutGroupForm') {\n continue;\n }\n const checked = await erFormHelper.checkRequiredInput(item.configId);\n if (!checked) {\n activeKey.value = item.configId;\n return;\n }\n }\n }\n const inInfo = erFormHelper.getGridChangedRowsAsEiInfo('gridViewItemList');\n if (erFormHelper.hasDataChange('LayoutGroupView')) {\n const checked = await erFormHelper.checkRequiredInput('LayoutGroupView');\n if (!checked) {\n activeKey.value = 'LayoutGroupView';\n return;\n }\n const block = erFormHelper.getModelFromGridOrLayoutAsBlock('LayoutGroupView');\n block.rename('TSI00GRIDVIEW_MODIFY');\n inInfo.addBlock(block);\n }\n\n if (erFormHelper.hasDataChange('LayoutGroupForm')) {\n const checked = await erFormHelper.checkRequiredInput('LayoutGroupForm');\n if (!checked) {\n activeKey.value = 'LayoutGroupForm';\n return;\n }\n const block = erFormHelper.getModelFromGridOrLayoutAsBlock('LayoutGroupForm');\n block.rename('TSI00FORM_MODIFY');\n inInfo.addBlock(block);\n }\n\n const outInfo = await erFormHelper.callService(ER.SysInfo.saveDevConfigService, inInfo, { loadingOptions: { show: true, delay: 100 } });\n if (outInfo.getStatus() >= 0) {\n erFormHelper.messageSuccess(outInfo.getMsg());\n refreshLayoutDesign();\n emits('configSaved');\n }\n}\n\nconst refreshLayoutDesign = () => {\n queryInfo('tsi00gridcolumn');\n queryInfo('tsi00form');\n queryInfo('tsi00gridview');\n}\n\nconst reOrderLayoutItems = (visibleColumns: any[]) => {\n gridApi.setFilterModel(null);\n\n const allConfigItems: any[] = [];\n const newItemMap: any = {};\n gridApi.forEachNodeAfterFilterAndSort((node: any) => {\n if (node.data?.ITEM_CODE?.trim().length > 0) {\n allConfigItems.push(node.data.toJSON());\n if (node.data.isNew) {\n newItemMap[node.data.ITEM_CODE] = true;\n }\n }\n });\n\n const reorderedConfigItems: any[] = [];\n let visibleIndex = 0;\n for (let i = 0; i < allConfigItems.length; i++) {\n if (allConfigItems[i].IS_VISIBLE !== '1' || allConfigItems[i].GENERATE_MEMBER !== '1') {\n reorderedConfigItems.push(allConfigItems[i]);\n } else if (visibleIndex < visibleColumns.length) {\n const itemCode = visibleColumns[visibleIndex].ITEM_CODE;\n const currentItem = allConfigItems.find(item => item.ITEM_CODE === itemCode);\n if (currentItem) {\n reorderedConfigItems.push(currentItem);\n }\n visibleIndex++;\n }\n }\n erFormHelper.mergeDataToGrid(reorderedConfigItems, 'gridViewItemList');\n const bindingTable = erFormHelper.getBindingTable('gridViewItemList');\n nextTick(() => {\n let index = 0;\n gridApi.forEachNodeAfterFilterAndSort((node: any) => {\n if (node.data?.ITEM_CODE?.trim().length > 0) {\n node.data.set('C_SEQ_ID', String(index++).padStart(4, '0'));\n }\n if (newItemMap[node.data.ITEM_CODE]) {\n bindingTable?.setRowState(node.data, 'added');\n }\n index++;\n });\n });\n}\n\nwatch(() => props.itemCode, (newVal) => {\n if (newVal) {\n indicateItemCode = newVal; \n erFormHelper.setGridIndicator('gridViewItemList', { ITEM_CODE: indicateItemCode });\n }\n});\n\ndefineExpose({\n refreshLayoutDesign,\n saveLayoutDesign,\n reOrderLayoutItems\n});\n</script>\n\n<style lang=\"scss\">\n.ant-tabs.er-layout-designe-tabs {\n .ant-tabs-nav {\n height: 25px !important;\n }\n .ant-tabs-tab {\n padding: 5px 8px !important;\n }\n .ant-tabs-tab-active {\n padding: 5px 8px !important;\n }\n}\n</style>\n"],"names":["__default__","defineComponent","ConfigProvider","Tabs","TabPane","ErPanel","props","__props","emits","__emit","antdLocale","ref","getAntdLocale","antdTheme","getAntdTheme","gridApi","indicateItemCode","erFormHelper","ER","initializeFlag","mainViewSize","detailLayoutOptions","activeKey","formCodeSetsPopTreeHelper","CustomCellRenderer","epCodePopTreeHelper","dataSourcePopTreeHelper","dataSetPopTreeHelper","basicCodePopTreeHelper","dataTableColumnsQuery","layoutValueChanged","operator","_b","_a","_d","_c","_e","_f","_h","_g","_j","_i","editNode","selectNodes","node","getConfigItemInfo","layoutButtonClick","params","queryTreeData","outInfo","nodeData","e","originCode","treeDataQuery","data","item","layoutDropdownOpen","onGridFocusChanged","onGridReady","onGridRowDragEnd","seqNo","formConfig","viewConfig","nodesAfterDrag","visibleColumns","setItemDefaultPropertity","layoutType","str","layoutOptions","initialResult","dataSetName","tableName","gridData","gridDataCount","newItems","gridItem","nextTick","queryInfo","queryType","inInfo","itemsBindTable","isFirstQuery","reOrderLayoutItems","onMounted","saveLayoutDesign","block","refreshLayoutDesign","allConfigItems","newItemMap","reorderedConfigItems","visibleIndex","i","itemCode","currentItem","bindingTable","index","watch","newVal","__expose"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErPopFree-BpCe_t4q.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|