¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * @Description: ä¸è¯ä»£ç ç»ç¸å
³ |
| | | * @Author: Ben Lin |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-08-04 14:20:02 |
| | | */ |
| | | |
| | | import { ActionItem, BasicColumn } from '/@/components/Table'; |
| | | import { buildUUID } from '/@/utils/uuid'; |
| | | import { useI18n } from '/@/hooks/web/useI18n'; |
| | | import { isNullOrUnDef } from '/@/utils/is'; |
| | | |
| | | const { t } = useI18n(); |
| | | function _default() { |
| | | const ActionColumn: BasicColumn = { |
| | | width: 100, |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | slots: { customRender: 'action' }, |
| | | fixed: 'right', |
| | | }; |
| | | /** |
| | | * @description: ä¸äºèªå®ä¹æ¹æ³ |
| | | * @return {*} |
| | | */ |
| | | const methods = { |
| | | /** |
| | | * @description: è·åæ°å¢æé®çè¡ä¸º |
| | | * @return {*} |
| | | */ |
| | | CreateAction: (type: string) => { |
| | | return { |
| | | action: 'go', //drawer(æå¼å·¦ä¾§æ½å±æ¡) | go(è·³è½¬å°æ°ç页é¢) | edit(妿æ¯è¡¨æ ¼å¯ç¼è¾é¡µé¢å°±æ¯èªå®ä¹æ¹æ³) |
| | | url: 'MES_TOOL_PROP/High', |
| | | params: { |
| | | CODE: '0', |
| | | ID: buildUUID(), |
| | | Name: 'MES_TOOL_PROP', |
| | | Title: 'æ°å¢ç产工å
·ä¿¡æ¯', |
| | | // pCode: 'DFTG_CODE', |
| | | IsID: false, |
| | | ifSave: false, |
| | | drawers: [{ name: 'MES_TOOL_PROP', code: 'TOOL_CODE', type: 'one', keyName: 'MES_TOOL_PROP' }], //drawersæ¯å³è¾¹å¼¹åºå¢æ¹ä¾§æ¡çååå表 |
| | | }, |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: æä½å段èªå®ä¹æé® |
| | | * @return {*} |
| | | */ |
| | | ActionItem: (params: Recordable<any>, data, ...args): ActionItem[] => { |
| | | if (!isNullOrUnDef(data[0])) { |
| | | data[0].onClick =Redact.bind(null, args, params); |
| | | } |
| | | return data; |
| | | }, |
| | | /** |
| | | * @description: å¼¹åºéæ©æ¡æåè¿åæ¹æ³ |
| | | * @param {*} d |
| | | * @param {*} u |
| | | * @return {*} |
| | | */ |
| | | GetSelectSuccess: (d, u) => { |
| | | return { |
| | | ITEM_CODE: d.values['val'], |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: å¼¹åºéæ©æ¡æå¼æ¹æ³ |
| | | * @param {Fn} openItemModal |
| | | * @return {*} |
| | | */ |
| | | OpenSelectItem: (openItemModal: Fn, ...args) => { |
| | | openItemModal(true, { |
| | | title: 'ç©æå表', |
| | | schemas: [ |
| | | { |
| | | field: 'ITEM_CODE', |
| | | component: 'Input', |
| | | label: 'ç©æç¼ç ', |
| | | colProps: { |
| | | span: 12, |
| | | }, |
| | | }, |
| | | ], |
| | | ItemColumns: [ |
| | | { |
| | | title: t('ç©æç¼ç '), |
| | | dataIndex: 'ITEM_CODE', |
| | | resizable: true, |
| | | sorter: true, |
| | | width: 200, |
| | | }, |
| | | { |
| | | title: t('ç©æåç§°'), |
| | | dataIndex: 'ITEM_NAME', |
| | | resizable: true, |
| | | sorter: true, |
| | | width: 180, |
| | | }, |
| | | ], |
| | | tableName: 'BAS_ITEM', |
| | | rowKey: 'ITEM_CODE', |
| | | searchInfo: { TABLE_NAME: 'BAS_ITEM' }, |
| | | }); |
| | | }, |
| | | GetUseForm: () => { |
| | | return {}; |
| | | }, |
| | | }; |
| | | |
| | | /* 以䏿¯å
鍿¹æ³ï¼ä¸exportï¼ä¾ä¸é¢çæ¹æ³è°ç¨ */ |
| | | |
| | | /** |
| | | * @description: èªå®ä¹ç¼è¾æ¹æ³ |
| | | * @param {Fn} args |
| | | * @param {*} params |
| | | * @return {*} |
| | | */ |
| | | function Redact(args: Fn[], params: {}) { |
| | | const param = { |
| | | CODE: params['record']['TOOL_CODE'], |
| | | ID: params['record']['ID'], |
| | | Name: 'MES_TOOL_PROP', |
| | | SessionName: 'MES_TOOL_PROP_update', |
| | | Title: `ç¼è¾ç产工å
·ä¿¡æ¯ï¼${params['record']['TOOL_CODE']}`, |
| | | pCode: 'TOOL_CODE', |
| | | IsID: false, |
| | | ifSave: false, |
| | | drawers: [{ name: 'MES_TOOL_PROP', code: 'TOOL_CODE', type: 'one', keyName: 'MES_TOOL_PROP' }], //drawersæ¯å³è¾¹å¼¹åºå¢æ¹ä¾§æ¡çååå表 |
| | | }; |
| | | // å°å¯¹è±¡è½¬æ¢ä¸ºJSONå符串并ä¿åå°sessionStorage |
| | | sessionStorage.removeItem(`${param.SessionName}_params`); |
| | | sessionStorage.setItem(`${param.SessionName}_params`, encodeURI(JSON.stringify(param))); |
| | | args[5]( |
| | | `/MES_TOOL_PROP/High/${encodeURI(JSON.stringify({ sName: param.SessionName, Name: param.Name }))}`, |
| | | ); |
| | | } |
| | | |
| | | return [methods, ActionColumn]; |
| | | } |
| | | |
| | | export default _default; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * @Description: ç产工å
·ä¿¡æ¯ |
| | | * @Author: Ben Lin |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-04 11:21:28 |
| | | */ |
| | | |
| | | import { Ref, h, unref } from 'vue'; |
| | | import { DeleteEntity, GetEnum, getEntity } from '/@/api/tigerapi/system'; |
| | | import { ActionItem, BasicColumn, FormSchema, 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'; |
| | | import { EditOperation, Search, custDel } from '../data'; |
| | | |
| | | const { getLocale } = useLocale(); |
| | | function _default() { |
| | | const ActionColumn: BasicColumn = { |
| | | width: 80, |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | slots: { customRender: 'action' }, |
| | | fixed: undefined, |
| | | }; |
| | | |
| | | /** |
| | | * @description: äºèªå®ä¹æ¹æ³ |
| | | * @return {*} |
| | | */ |
| | | const methods = { |
| | | /** |
| | | * @description: è·åæ°å¢æé®çè¡ä¸º |
| | | * @return {*} |
| | | */ |
| | | CreateAction: (type: string) => { |
| | | return { |
| | | action: 'drawer', //drawer(æå¼å·¦ä¾§æ½å±æ¡) | go(è·³è½¬å°æ°ç页é¢) |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: æä½å段èªå®ä¹æé® |
| | | * @return {*} |
| | | */ |
| | | ActionItem: (params: Recordable<any>, data, ...args): ActionItem[] => { |
| | | if (!isNullOrUnDef(data[1])) { |
| | | data[1].popConfirm.confirm = custDel.bind(null, args, params); |
| | | } |
| | | return data; |
| | | }, |
| | | /** |
| | | * @description: é«çº§è¡¨åå详æ
页é¢è¿å主页é¢çurl |
| | | * @return {*} |
| | | */ |
| | | GetHomeUrl: () => { |
| | | const param = { ID: 'MES_TOOL_PROP', colSlots: [], crudColSlots: [] }; |
| | | return `/MES_TOOL_PROP/LC/${encodeURI(JSON.stringify(param))}`; |
| | | }, |
| | | GetBaseColumns: (type: string) => { |
| | | return baseColumns[type]; |
| | | }, |
| | | GetSearchForm: (type: string) => { |
| | | return searchForms[type]; |
| | | }, |
| | | GetCrudForm: (type: string) => { |
| | | return crudForms[type]; |
| | | }, |
| | | //主表 ç产工å
·ä¿¡æ¯ |
| | | GetBaseForm: () => { |
| | | return [ |
| | | { |
| | | field: 'TOOL_CODE', |
| | | label: 'å·¥å
·ç¼ç ', |
| | | component: 'Input', |
| | | required: true, |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | }, |
| | | { |
| | | label: 'å·¥å
·åå·', |
| | | field: 'TOOL_MODEL', |
| | | required: true, |
| | | component: 'Input', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | }, |
| | | { |
| | | label: 'å·¥å
·è§æ ¼', |
| | | field: 'TOOL_SPEC', |
| | | required: true, |
| | | component: 'Input', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | }, |
| | | { |
| | | label: 'å·¥å
፱Ȍ', |
| | | field: 'TOOL_TYPE', |
| | | required: true, |
| | | component: 'Input', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | }, |
| | | { |
| | | label: '车é´ç¼ç ', |
| | | field: 'WS_CODE', |
| | | 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: 'MES_TOOL_PROP', |
| | | }, |
| | | // { |
| | | // 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 [{ |
| | | 'MES_TOOL_PROP': useDrawer(), |
| | | }]; |
| | | }, |
| | | /** |
| | | * @description: è·åè¡¨æ ¼useå表 |
| | | * @param {string} type |
| | | * @param {array} args |
| | | * @return {*} |
| | | */ |
| | | GetUseTables: (data: Ref<{}>, ...args) => { |
| | | return { |
| | | MES_TOOL_PROP: useTable({ |
| | | title: 'å表信æ¯', |
| | | dataSource: data.value['MES_TOOL_PROP'], |
| | | columns: baseColumns['MES_TOOL_PROP'], |
| | | formConfig: { |
| | | labelWidth: 140, |
| | | schemas: searchForms['MES_TOOL_PROP'], |
| | | submitFunc: () => Search('MES_TOOL_PROP', data, args[0]), //èªå®ä¹æ¥è¯¢æäº¤æé®çæ¹æ³ï¼è§¦åæ¥è¯¢æäº¤äºä»¶ |
| | | }, |
| | | useSearchForm: true, |
| | | showTableSetting: false, |
| | | bordered: true, |
| | | canResize: true, |
| | | showIndexColumn: false, |
| | | actionColumn: { |
| | | width: 130, |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | slots: { customRender: 'action' }, |
| | | fixed: 'right', |
| | | }, //èªå®ä¹æä½å |
| | | }) |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: è¡¨æ ¼æ¥è¯¢åè°ï¼ç¶ç»ä»¶ä¸éè¿åç»ä»¶è§¦åçäºä»¶è·åä¼ å
¥çå¼ï¼åå
·ä½çæ¥è¯¢é»è¾å®ç° |
| | | * @param {*} d |
| | | * @return {*} |
| | | */ |
| | | FormSearch: (d) => { |
| | | let data = {} as any; |
| | | switch (d.type) { |
| | | case 'MES_TOOL_PROP': |
| | | data = d.data.value[d.type].filter( |
| | | (item) => |
| | | item.DFT_CODE.includes(d.values.DFT_CODE) || item.DFT_NAME == d.values.DFT_NAME, |
| | | ); |
| | | if (isNullOrEmpty(d.values.DFT_CODE) && isNullOrEmpty(d.values.DFT_NAME)) { |
| | | data = d.data.value[d.type]; |
| | | } |
| | | break; |
| | | } |
| | | return data; |
| | | }, |
| | | KeyFieldValues: (val: string, id: string) => { |
| | | return { DFTG_CODE: val }; |
| | | } /** |
| | | * @description: èªå®ä¹æç»è¡¨ä¸ç¼è¾è¿åæ¹æ³ |
| | | * @param {string} type |
| | | * @param {*} d |
| | | * @param {*} u |
| | | * @return {*} |
| | | */, |
| | | EditOperation: (data: Ref<any[]>, d, u, item) => { |
| | | //æ´æ° |
| | | var _data = data.value[item].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; |
| | | }); |
| | | EditOperation(data,d, u, item, _data); |
| | | }, |
| | | /** |
| | | * @description: è·åæ é¢ä¿¡æ¯ |
| | | * @param {string} type |
| | | * @return {*} |
| | | */ |
| | | GetTitle: () => { |
| | | return { |
| | | pageTitle: 'ç产工å
·ç®¡ç', |
| | | pageContent: 'è¿éå¯ä»¥æ·»å åä¿®æ¹ç产工å
·ç®¡çåç产工å
·å±æ§ç®¡çã', |
| | | tableTitle: { |
| | | MES_TOOL_PROP: 'ç产工å
·ç®¡ç', |
| | | } |
| | | }; |
| | | }, |
| | | GetUseForm: () => { |
| | | return {}; |
| | | }, |
| | | }; |
| | | |
| | | /* 以䏿¯å
鍿¹æ³ï¼ä¸exportï¼ä¾ä¸é¢çæ¹æ³è°ç¨ */ |
| | | // å表 |
| | | const baseColumns = { |
| | | MES_TOOL_PROP: [ |
| | | { |
| | | title: 'å·¥å
·ç¼ç ', |
| | | dataIndex: 'TOOL_CODE', |
| | | }, |
| | | { |
| | | title: 'ç¹æ£é¡¹ç®åç§°', |
| | | dataIndex: 'PROP_NAME', |
| | | }, |
| | | { |
| | | title: '夿³¨', |
| | | dataIndex: 'REMARK', |
| | | }, |
| | | { |
| | | title: 'æ´æ°æ¶é´', |
| | | dataIndex: 'UPDATE_TIME', |
| | | }, |
| | | { |
| | | title: 'æ´æ°äºº', |
| | | dataIndex: 'UPDATE_USER', |
| | | }, |
| | | ] |
| | | } |
| | | |
| | | const searchForms = { |
| | | MES_TOOL_PROP: [ |
| | | { |
| | | label: 'ç¹æ£é¡¹ç®åç§°', |
| | | field: 'PROP_NAME', |
| | | component: 'Input', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | }, |
| | | ] as FormSchema[], |
| | | } |
| | | //åè¡¨ä¿¡æ¯ --æ°å¢ |
| | | const crudForms = { |
| | | MES_TOOL_PROP: [ |
| | | { |
| | | field: 'TOOL_CODE', |
| | | label: 'å·¥å
·ç¼ç ', |
| | | component: 'Input', |
| | | required: true, |
| | | colProps: { |
| | | span: 24, |
| | | }, |
| | | dynamicDisabled: ({ values }) => { |
| | | return true; |
| | | }, |
| | | }, |
| | | { |
| | | label: 'ç¹æ£é¡¹ç®åç§°', |
| | | field: 'PROP_NAME', |
| | | component: 'Input', |
| | | required: true, |
| | | colProps: { |
| | | span: 24, |
| | | }, |
| | | }, |
| | | { |
| | | label: '夿³¨', |
| | | field: 'REMARK', |
| | | component: 'Input', |
| | | colProps: { |
| | | span: 24, |
| | | }, |
| | | }, |
| | | { |
| | | label: 'ID', |
| | | field: 'ID', |
| | | component: 'Input', |
| | | colProps: { |
| | | span: 24, |
| | | }, |
| | | show: false, |
| | | }, |
| | | ] as FormSchema[], |
| | | } |
| | | |
| | | return [methods, ActionColumn]; |
| | | } |
| | | |
| | | export default _default; |