| | |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-06-28 14:21:49 |
| | | * @LastEditTime: 2024-07-01 17:04:43 |
| | | */ |
| | | |
| | | import { Ref, h, unref } from 'vue'; |
| | | import { DeleteEntity, GetEnum, getEntity } from '/@/api/tigerapi/system'; |
| | | import { ActionItem, BasicColumn } from '/@/components/Table'; |
| | | import { ActionItem, BasicColumn, useTable } from '/@/components/Table'; |
| | | import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; |
| | | import { buildUUID } from '/@/utils/uuid'; |
| | | import { useUserStore } from '/@/store/modules/user'; |
| | | import { formatToDateTime } from '/@/utils/dateUtil'; |
| | | import { Tag } from 'ant-design-vue'; |
| | | import { useLocale } from '/@/locales/useLocale'; |
| | | import { useDrawer } from '/@/components/Drawer'; |
| | | |
| | | const { getLocale } = useLocale(); |
| | | function _default() { |
| | |
| | | const param = { ID: 'BAS_DEFECT_GRP', colSlots: [], crudColSlots: [] }; |
| | | return `/BAS_DEFECT_GRP/LC/${encodeURI(JSON.stringify(param))}`; |
| | | }, |
| | | GetBaseColumns: () => { |
| | | GetBaseColumns: (type: string) => { |
| | | return baseColumns[type]; |
| | | }, |
| | | GetSearchForm: (type: string) => { |
| | | return searchForms[type]; |
| | | }, |
| | | GetCrudForm: (type: string) => { |
| | | return crudForms[type]; |
| | | }, |
| | | GetBaseForm: () => { |
| | | return [ |
| | | { |
| | | field: 'DFTG_CODE', |
| | | label: '不良代码组编码', |
| | | component: 'Input', |
| | | required: true, |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | }, |
| | | { |
| | | label: '不良代码组名称', |
| | | field: 'DFTG_NAME', |
| | | required: true, |
| | | component: 'Input', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | }, |
| | | { |
| | | label: '备注', |
| | | field: 'REMARK', |
| | | component: 'Input', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | }, |
| | | { |
| | | label: 'ID', |
| | | field: 'ID', |
| | | component: 'Input', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | show: false, |
| | | }, |
| | | ]; |
| | | }, |
| | | /** |
| | | * @description: 获取卡片内配置列表,以循环显示多个卡片并配置多个插槽 |
| | | * @return {*} |
| | | */ |
| | | GetBaseCards: (type: string) => { |
| | | return [ |
| | | { |
| | | name: 'BaseForm', |
| | | slots: [], |
| | | preIcons: {}, |
| | | title: '不良代码组信息', |
| | | entityName: 'BAS_DEFECT_GRP', |
| | | }, |
| | | // { |
| | | // name: 'prodinfo', |
| | | // slots: ['addRot', 'setRot'], |
| | | // preIcons: { addRot: 'search|svg', setRot: 'config|svg' }, |
| | | // title: '产品信息', |
| | | // }, |
| | | // { name: 'rotinfo', slots: ['add'], preIcons: { add: 'search|svg' }, title: '工艺信息' }, |
| | | ]; |
| | | }, |
| | | /** |
| | | * @description: 获取右侧边框use方法 |
| | | * @return {*} |
| | | */ |
| | | GetUseDrawers: () => { |
| | | return [{ |
| | | 'BAS_DEFECT': useDrawer(), |
| | | }]; |
| | | }, |
| | | /** |
| | | * @description: 获取表格use列表 |
| | | * @param {string} type |
| | | * @param {array} args |
| | | * @return {*} |
| | | */ |
| | | GetUseTables: (data: any[], ...args) => { |
| | | return { |
| | | BAS_DEFECT: useTable({ |
| | | title: '列表信息', |
| | | dataSource: data, |
| | | columns: baseColumns['BAS_DEFECT'], |
| | | formConfig: { |
| | | labelWidth: 140, |
| | | schemas: searchForms['BAS_DEFECT'], |
| | | }, |
| | | useSearchForm: true, |
| | | showTableSetting: true, |
| | | bordered: true, |
| | | canResize: true, |
| | | showIndexColumn: false, |
| | | actionColumn: { |
| | | width: 130, |
| | | title: '操作', |
| | | dataIndex: 'action', |
| | | slots: { customRender: 'action' }, |
| | | fixed: 'right', |
| | | }, //自定义操作列 |
| | | }) |
| | | }; |
| | | }, |
| | | OthersValues: (val: string, id: string) => { |
| | | return { DFTG_CODE: val }; |
| | | } /** |
| | | * @description: 自定义明细表中编辑返回方法 |
| | | * @param {string} type |
| | | * @param {*} d |
| | | * @param {*} u |
| | | * @return {*} |
| | | */, |
| | | EditOperation: (data: Ref<any[]>, d, u) => { |
| | | if (u.isUpdate) { |
| | | //更新 |
| | | var _data = data.value.map((item) => { |
| | | if (item['ID'] == d.ID) |
| | | return { |
| | | ...item, |
| | | DFT_CODE: d.DFT_CODE, |
| | | DFT_NAME: d.DFT_NAME, |
| | | DFT_LEVEL: d.DFT_LEVEL, |
| | | REMARK: d.REMARK, |
| | | }; |
| | | return item; |
| | | }); |
| | | data.value = _data; |
| | | } else { |
| | | //新增 |
| | | d.ID = buildUUID(); |
| | | d.CREATE_USER = useUserStore().getUserInfo.userId as string; |
| | | d.UPDATE_TIME = formatToDateTime(new Date()); |
| | | d.UPDATE_USER = useUserStore().getUserInfo.userId as string; |
| | | var _data2: any[] = []; |
| | | if (!isNullOrEmpty(data.value)) { |
| | | _data2 = data.value.map((item) => { |
| | | return item; |
| | | }); |
| | | } |
| | | _data2.push(d); |
| | | data.value = _data2; |
| | | } |
| | | }, |
| | | /** |
| | | * @description: 获取标题信息 |
| | | * @param {string} type |
| | | * @return {*} |
| | | */ |
| | | GetTitle: () => { |
| | | return { |
| | | pageTitle: '不良代码组管理', |
| | | pageContent: '这里可以添加和修改不良代码组和不良代码。', |
| | | tableTitle: { |
| | | BAS_DEFECT: '不良代码管理', |
| | | } |
| | | }; |
| | | }, |
| | | }; |
| | | |
| | | /** |
| | | * @description: 自定义删除方法 |
| | | * @param {Fn} args |
| | | * @param {*} params |
| | | * @return {*} |
| | | */ |
| | | function DftGrpDel(args: Fn[], params: {}) { |
| | | if (!isNullOrEmpty(params['data'])) { |
| | | var _data = params['data'].value.filter((item) => item['ID'] != params['record']['ID']); |
| | | params['data'].value = _data; |
| | | args[6]({ |
| | | dataSource: [], |
| | | }); |
| | | args[6]({ |
| | | dataSource: params['data'], |
| | | }); |
| | | args[1](); |
| | | } else { |
| | | DeleteEntity(params['record'], params['entityName']).then((action) => { |
| | | if (action.IsSuccessed) { |
| | | args[1](); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | const baseColumns = { |
| | | BAS_DEFECT: [ |
| | | { |
| | | title: '不良代码编码', |
| | | dataIndex: 'DFT_CODE', |
| | |
| | | title: '更新人', |
| | | dataIndex: 'UPDATE_USER', |
| | | }, |
| | | ]; |
| | | }, |
| | | GetSearchForm: () => { |
| | | return [ |
| | | ] |
| | | } |
| | | |
| | | const searchForms = { |
| | | BAS_DEFECT: [ |
| | | { |
| | | field: 'DFT_CODE', |
| | | label: '不良代码编码', |
| | |
| | | span: 8, |
| | | }, |
| | | }, |
| | | ]; |
| | | }, |
| | | GetCrudForm: () => { |
| | | return [ |
| | | ] |
| | | } |
| | | |
| | | const crudForms = { |
| | | BAS_DEFECT: [ |
| | | { |
| | | field: 'DFT_CODE', |
| | | label: '不良代码编码', |
| | |
| | | }, |
| | | show: false, |
| | | }, |
| | | ]; |
| | | }, |
| | | GetBaseForm: () => { |
| | | return [ |
| | | { |
| | | field: 'DFTG_CODE', |
| | | label: '不良代码组编码', |
| | | component: 'Input', |
| | | required: true, |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | }, |
| | | { |
| | | label: '不良代码组名称', |
| | | field: 'DFTG_NAME', |
| | | required: true, |
| | | component: 'Input', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | }, |
| | | { |
| | | label: '备注', |
| | | field: 'REMARK', |
| | | component: 'Input', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | }, |
| | | { |
| | | label: 'ID', |
| | | field: 'ID', |
| | | component: 'Input', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | show: false, |
| | | }, |
| | | ]; |
| | | }, |
| | | /** |
| | | * @description: 获取卡片内配置列表,以循环显示多个卡片并配置多个插槽 |
| | | * @return {*} |
| | | */ |
| | | GetBaseCards: (type: string) => { |
| | | return [ |
| | | { |
| | | name: 'BaseForm', |
| | | slots: [], |
| | | preIcons: {}, |
| | | title: '不良代码组信息', |
| | | entityName: 'BAS_DEFECT_GRP', |
| | | }, |
| | | // { |
| | | // name: 'prodinfo', |
| | | // slots: ['addRot', 'setRot'], |
| | | // preIcons: { addRot: 'search|svg', setRot: 'config|svg' }, |
| | | // title: '产品信息', |
| | | // }, |
| | | // { name: 'rotinfo', slots: ['add'], preIcons: { add: 'search|svg' }, title: '工艺信息' }, |
| | | ]; |
| | | }, |
| | | OthersValues: (val: string, id: string) => { |
| | | return { DFTG_CODE: val }; |
| | | } /** |
| | | * @description: 自定义明细表中编辑返回方法 |
| | | * @param {string} type |
| | | * @param {*} d |
| | | * @param {*} u |
| | | * @return {*} |
| | | */, |
| | | EditOperation: (data: Ref<any[]>, d, u) => { |
| | | if (u.isUpdate) { |
| | | //更新 |
| | | var _data = data.value.map((item) => { |
| | | if (item['ID'] == d.ID) |
| | | return { |
| | | ...item, |
| | | DFT_CODE: d.DFT_CODE, |
| | | DFT_NAME: d.DFT_NAME, |
| | | DFT_LEVEL: d.DFT_LEVEL, |
| | | REMARK: d.REMARK, |
| | | }; |
| | | return item; |
| | | }); |
| | | data.value = _data; |
| | | } else { |
| | | //新增 |
| | | d.ID = buildUUID(); |
| | | d.CREATE_USER = useUserStore().getUserInfo.userId as string; |
| | | d.UPDATE_TIME = formatToDateTime(new Date()); |
| | | d.UPDATE_USER = useUserStore().getUserInfo.userId as string; |
| | | var _data2: any[] = []; |
| | | if (!isNullOrEmpty(data.value)) { |
| | | _data2 = data.value.map((item) => { |
| | | return item; |
| | | }); |
| | | } |
| | | _data2.push(d); |
| | | data.value = _data2; |
| | | } |
| | | }, |
| | | /** |
| | | * @description: 获取标题信息 |
| | | * @param {string} type |
| | | * @return {*} |
| | | */ |
| | | GetTitle: () => { |
| | | return { |
| | | pageTitle: '不良代码组管理', |
| | | pageContent: '这里可以添加和修改不良代码组和不良代码。', |
| | | baseTableTitle: '不良代码管理', |
| | | }; |
| | | }, |
| | | }; |
| | | |
| | | /** |
| | | * @description: 自定义删除方法 |
| | | * @param {Fn} args |
| | | * @param {*} params |
| | | * @return {*} |
| | | */ |
| | | function DftGrpDel(args: Fn[], params: {}) { |
| | | if (!isNullOrEmpty(params['data'])) { |
| | | var _data = params['data'].value.filter((item) => item['ID'] != params['record']['ID']); |
| | | params['data'].value = _data; |
| | | args[6]({ |
| | | dataSource: [], |
| | | }); |
| | | args[6]({ |
| | | dataSource: params['data'], |
| | | }); |
| | | args[1](); |
| | | } else { |
| | | DeleteEntity(params['record'], params['entityName']).then((action) => { |
| | | if (action.IsSuccessed) { |
| | | args[1](); |
| | | } |
| | | }); |
| | | } |
| | | ] |
| | | } |
| | | |
| | | return [methods, ActionColumn]; |