| | |
| | | data.map((x) => { |
| | | if (x.name == 'goDetail') { |
| | | x.onClick = goDetail.bind(null, args[5], params); |
| | | x.tooltip = 'å·¥åæ¹æ¬¡'; |
| | | x.tooltip = 'åæ®å·'; |
| | | } |
| | | }); |
| | | return data; |
| | |
| | | /* |
| | | * @Description: éè´§å(U9)æç» |
| | | * @Author: Ben Lin |
| | | * @Author: æ¨äºå |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditors: æ¨äºå |
| | | * @LastEditTime: 2024-09-29 21:28:37 |
| | | */ |
| | | |
| | |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'ITEM_CODE', |
| | | title: 'ç©æç¼ç ', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: () => {}, |
| | | }, |
| | | { |
| | | dataIndex: 'ITEM_NAME', |
| | | title: 'ç©æåç§°', |
| | | dataIndex: 'LINE_NO', |
| | | title: 'åæ®è¡å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | |
| | | }, |
| | | }, |
| | | { |
| | | dataIndex: 'ITEM_CODE', |
| | | title: 'ç©æç¼ç ', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: () => {}, |
| | | }, |
| | | { |
| | | dataIndex: 'UNIT', |
| | | title: 'åä½', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY', |
| | | title: 'åæ®æ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_PACKING', |
| | | title: 'å
è£
æ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_IN', |
| | | title: 'å
¥åºæ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_OK', |
| | | title: 'è¯åæ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_RETURN', |
| | | title: 'éè´§æ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_GIFT', |
| | | title: 'æ¯å¦èµ å(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'SUPP_CODE', |
| | | title: 'ä¾åºåç¼ç ', |
| | | ifShow: true, |
| | |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'SUPP_NAME', |
| | | title: 'ä¾åºååç§°', |
| | | dataIndex: 'SUPP_LOTNO', |
| | | title: 'ä¾åºåæ¹æ¬¡å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'ORDER_DATE', |
| | | title: 'åæ®æ¥æ', |
| | | dataIndex: 'LOTNO', |
| | | title: 'æ¹æ¬¡å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'DELIVERY_DATE', |
| | | title: 'éè´§æ¥æ', |
| | | dataIndex: 'PO_ID', |
| | | title: 'éè´åID', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'PLANARRIVED_DATE', |
| | | title: 'é¢è®¡éè¾¾æ¥æ', |
| | | dataIndex: 'PO_NO', |
| | | title: 'éè´åå·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'RECEIVER', |
| | | title: 'æ¶è´§äºº', |
| | | dataIndex: 'PO_LINE', |
| | | title: 'éè´åè¡å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'RECEIVE_DATE', |
| | | title: 'æ¶è´§æ¥æ', |
| | | dataIndex: 'IQC_ID', |
| | | title: 'éè´§åID', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IQC_NO', |
| | | title: '鿣åå·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | |
| | | ]; |
| | | case 'BIZ_U9_ASN_SN': |
| | | return [ |
| | |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'META_SN', |
| | | title: 'å
æ¡ç ', |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'ITEM_CODE', |
| | | title: 'ç©æç¼ç ', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: () => {}, |
| | | }, |
| | | { |
| | | dataIndex: 'STATUS', |
| | | title: 'ç¶æ', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: ({ record }) => { |
| | | let color = ''; |
| | | let text = ''; |
| | | switch ( |
| | | record.STATUS //ç¶æ(0Initåå§å|1Imported已导å
¥|2Releaseå·²ä¸å|3Workingç产ä¸|4Pausedå·²æå|5Closedå·²å
³é) |
| | | ) { |
| | | case 0: |
| | | text = 'åå§å'; |
| | | color = '#8a8a8a'; |
| | | break; |
| | | case 1: |
| | | text = '已导å
¥'; |
| | | color = 'blue'; |
| | | break; |
| | | case 2: |
| | | text = 'å·²éè¾¾'; |
| | | color = 'green'; |
| | | break; |
| | | case 3: |
| | | text = 'æ¸
ç¹ä¸'; |
| | | color = 'orange'; |
| | | break; |
| | | case 4: |
| | | text = '䏿¶ä¸'; |
| | | color = 'red'; |
| | | break; |
| | | case 5: |
| | | text = 'å¾
å®¡æ ¸'; |
| | | color = '#e1822c'; |
| | | break; |
| | | case 6: |
| | | text = '已宿'; |
| | | color = '#009966'; |
| | | break; |
| | | case 7: |
| | | text = 'å·²ä½åº'; |
| | | color = '#CCCCCC'; |
| | | break; |
| | | } |
| | | return h(Tooltip, { title: text }, () => h(Tag, { color: color }, () => text)); |
| | | }, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY', |
| | | title: 'æ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'UNIT', |
| | | title: 'åä½', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_GIFT', |
| | | title: 'æ¯å¦èµ å(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_OK', |
| | | title: 'æ¯å¦è¯å(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_IN', |
| | | title: 'æ¯å¦å
¥åº(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_RETURN', |
| | | title: 'æ¯å¦éè´§(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'LOTNO', |
| | | title: 'æ¹æ¬¡å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'CARTON_NO', |
| | | title: 'ç®±å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'PALLET_NO', |
| | | title: 'æ æ¿å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'REMARK', |
| | | title: '夿³¨', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | ]; |
| | | } |
| | | }, |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * @Description: æ¶è´§å(U9) |
| | | * @Author: æ¨äºå |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: æ¨äºå |
| | | * @LastEditTime: 2024-10-23 20:48:14 |
| | | */ |
| | | |
| | | import { Ref, h, ref, render, unref } from 'vue'; |
| | | import { GetEnum, SaveEntity, convertToTree, getEntity } from '/@/api/tigerapi/system'; |
| | | import { useLocale } from '/@/locales/useLocale'; |
| | | import { useI18n } from '/@/hooks/web/useI18n'; |
| | | import { useMessage } from '/@/hooks/web/useMessage'; |
| | | import { useModal } from '/@/components/Modal'; |
| | | import { ActionItem, BasicColumn, FormSchema } from '/@/components/Table'; |
| | | import { useUserStore } from '/@/store/modules/user'; |
| | | import { buildUUID } from '/@/utils/uuid'; |
| | | import { SaveWoBatchInput } from '/@/api/tigerapi/model/mesModel'; |
| | | import { CustModalParams, FunctionType } from '/@/api/tigerapi/model/systemModel'; |
| | | import { SaveMesBatchWo } from '/@/api/tigerapi/mes/wo'; |
| | | import { useForm } from '/@/components/Form/index'; |
| | | import { cloneDeep } from 'lodash-es'; |
| | | import { useProdRouteStore } from '/@/store/modules/prodRoute'; |
| | | import { Tag, Tooltip } from 'ant-design-vue'; |
| | | |
| | | const { t } = useI18n(); |
| | | const { createErrorModal } = useMessage(); |
| | | const { getLocale } = useLocale(); |
| | | function _default() { |
| | | const ActionColumn: BasicColumn = { |
| | | width: 180, |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | slots: { customRender: 'action' }, |
| | | fixed: 'right', |
| | | }; |
| | | /** |
| | | * @description: å·¥å管ççä¸äºèªå®ä¹æ¹æ³ |
| | | * @return {*} |
| | | */ |
| | | const methods = { |
| | | /** |
| | | * @description: è·åæ°å¢æé®çè¡ä¸º |
| | | * @return {*} |
| | | */ |
| | | CreateAction: (type: string, fnName: string) => { |
| | | return { |
| | | action: 'drawer', //drawer(æå¼å·¦ä¾§æ½å±æ¡) | go(è·³è½¬å°æ°ç页é¢) |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: æä½å段èªå®ä¹æé® |
| | | * @return {*} |
| | | */ |
| | | ActionItem: (params: Recordable<any>, data, ...args): ActionItem[] => { |
| | | data.map((x) => { |
| | | if (x.name == 'goDetail') { |
| | | x.onClick = goDetail.bind(null, args[5], params); |
| | | x.tooltip = '详æ
'; |
| | | } |
| | | }); |
| | | return data; |
| | | }, |
| | | /** |
| | | * @desc åå§å表å |
| | | */ |
| | | GetUseForm: () => { |
| | | return { |
| | | forminfo: useForm({ |
| | | labelWidth: 120, |
| | | schemas: woformSchema, |
| | | actionColOptions: { |
| | | span: 24, |
| | | }, |
| | | showActionButtonGroup: false, |
| | | }), |
| | | woinfo: useForm({ |
| | | labelWidth: 120, |
| | | schemas: woCfgformSchema, |
| | | actionColOptions: { |
| | | span: 24, |
| | | }, |
| | | showActionButtonGroup: false, |
| | | }), |
| | | prodinfo: useForm({ |
| | | labelWidth: 120, |
| | | schemas: prodCfgformSchema, |
| | | actionColOptions: { |
| | | span: 24, |
| | | }, |
| | | showActionButtonGroup: false, |
| | | }), |
| | | tmpinfo: useForm({ |
| | | labelWidth: 120, |
| | | schemas: prodCfgformSchema, |
| | | actionColOptions: { |
| | | span: 24, |
| | | }, |
| | | showActionButtonGroup: false, |
| | | }), |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: èªå®ä¹æ¹æ³ |
| | | * @param {string} type |
| | | * @param {array} args |
| | | * @return {*} |
| | | */ |
| | | CustFunc: (param: CustModalParams) => { |
| | | switch (param.cType) { |
| | | case 'BIZ_MES_WO': |
| | | case 'BIZ_MES_WO_Config': |
| | | return getWoFns[param.FnName](param) as Promise<any>; |
| | | // break; |
| | | default: |
| | | return new Promise((resolve, reject) => { |
| | | try { |
| | | (e) => {}; |
| | | resolve(true); |
| | | } catch { |
| | | reject(false); |
| | | } finally { |
| | | // args[0][0]({ confirmLoading: false }); |
| | | } |
| | | }); |
| | | // break; |
| | | } |
| | | }, |
| | | /** |
| | | * @description: è·åå¤è¡¨åææ§½å表 |
| | | * @return {*} |
| | | */ |
| | | GetDtlSlots: (type: string) => { |
| | | let result = [] as any[]; |
| | | switch (type) { |
| | | case 'BIZ_MES_WO_Config': |
| | | result = [ |
| | | { name: 'woinfo', slots: [], preIcons: {}, title: 'å·¥åä¿¡æ¯' }, |
| | | { |
| | | name: 'prodinfo', |
| | | slots: ['addRot', 'setRot'], |
| | | preIcons: { addRot: 'search|svg', setRot: 'config|svg' }, |
| | | title: '产åä¿¡æ¯', |
| | | }, |
| | | { name: 'rotinfo', slots: ['add'], preIcons: { add: 'search|svg' }, title: 'å·¥èºä¿¡æ¯' }, |
| | | ]; |
| | | break; |
| | | case 'BIZ_MES_WO': |
| | | result = [ |
| | | { |
| | | name: 'forminfo', |
| | | slots: ['add', 'set'], |
| | | preIcons: { add: 'search|svg', set: 'config|svg' }, //妿æ¯å¤ä¸ªè¡¨åï¼å¢å å¤ä¸ªææ§½ãslotsæ¯å¼¹åºæ¡æé®çææ§½ï¼preIconsæ¯ææ§½å¯¹åºçæé®å¾æ |
| | | title: 'ä¸åé
ç½®', |
| | | }, |
| | | ]; |
| | | break; |
| | | } |
| | | return result; |
| | | }, |
| | | /** |
| | | * @description: è·åæ¨¡ææ¡åºç¨å表 |
| | | * @return {*} |
| | | */ |
| | | GetUseModals: () => { |
| | | return { |
| | | useModalData: { |
| | | add: useModal(), |
| | | set: useModal(), |
| | | addRot: useModal(), |
| | | setRot: useModal(), |
| | | }, |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: è·åèªå®ä¹æ°æ® |
| | | * @return {*} |
| | | */ |
| | | GetCustData: () => { |
| | | return { |
| | | isCustEl: { |
| | | forminfo: false, |
| | | woinfo: false, |
| | | prodinfo: false, |
| | | rotinfo: true, |
| | | }, |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: å¼¹åºéæ©æ¡éæ©æåè¿åæ¹æ³ |
| | | * @param {*} d |
| | | * @param {*} u |
| | | * @return {*} |
| | | */ |
| | | GetSelectSuccess: (d, u) => { |
| | | return { |
| | | ROUTE_CODE: d.values['val'], |
| | | // ID: d.values['id'], |
| | | ROT_ID: d.values['id'], |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: æå¼å¼¹åºéæ©æ¡ |
| | | * @param {Fn} openItemModal |
| | | * @param {array} args |
| | | * @return {*} |
| | | */ |
| | | OpenSelectItem: (openItemModal: Fn, ...args) => { |
| | | const slotName = args[0]; |
| | | const openRvModal = args[1]; |
| | | const selectVals = args[2]; |
| | | switch (slotName) { |
| | | case 'addRot': |
| | | case 'add': |
| | | openItemModal(true, { |
| | | title: 'å·¥èºè·¯çº¿å表', |
| | | schemas: [ |
| | | { |
| | | field: 'ROT_CODE', |
| | | component: 'Input', |
| | | label: 'å·¥èºè·¯çº¿ç¼ç ', |
| | | colProps: { |
| | | span: 12, |
| | | }, |
| | | }, |
| | | ], |
| | | ItemColumns: [ |
| | | { |
| | | title: t('å·¥èºè·¯çº¿ç¼ç '), |
| | | dataIndex: 'ROT_CODE', |
| | | resizable: true, |
| | | sorter: true, |
| | | width: 200, |
| | | }, |
| | | { |
| | | title: t('å·¥èºè·¯çº¿åç§°'), |
| | | dataIndex: 'ROT_NAME', |
| | | resizable: true, |
| | | sorter: true, |
| | | width: 180, |
| | | }, |
| | | ], |
| | | tableName: 'MES_ROUTE', |
| | | rowKey: 'ROT_CODE', |
| | | returnFieldName: ['ROUTE_CODE', 'ROT_ID'], //è¿åå¼è¦èµå¼çåæ®µåç§° |
| | | searchInfo: { TABLE_NAME: 'MES_ROUTE' }, |
| | | }); |
| | | break; |
| | | case 'set': |
| | | openRvModal(true, { rotId: selectVals.value['ROUTE_CODE'], slotName: slotName }); |
| | | break; |
| | | case 'setRot': |
| | | break; |
| | | } |
| | | }, |
| | | /** |
| | | * @description: è·åæ é¢ä¿¡æ¯ |
| | | * @param {string} type |
| | | * @return {*} |
| | | */ |
| | | GetTitle: () => { |
| | | return { |
| | | importTitle: 'å·¥å计å导å
¥' /* æå¼æ¨¡æçªå£æ¾ç¤ºçæ é¢ */, |
| | | }; |
| | | }, |
| | | }; |
| | | |
| | | /* 以䏿¯å
鍿¹æ³ï¼ä¸exportï¼ä¾ä¸é¢çæ¹æ³è°ç¨ */ |
| | | |
| | | /** |
| | | * @description: 跳转å°è¯¦æ
页颿¹æ³ |
| | | * @param {Fn} go |
| | | * @return {*} |
| | | */ |
| | | function goDetail(go: Fn, params: Recordable) { |
| | | const id = { |
| | | ID: params['record'].ID, |
| | | CODE: params['record']['ORDER_NO'], |
| | | Name: 'BIZ_U9_RECEIPT_DTL', |
| | | firstTabName: 'æ¶è´§å(U9)', |
| | | secondTabName: 'æ¶è´§åSN', //'æ ç¾è¿ç¨åé', |
| | | firstTitle: 'æç»', |
| | | secondTitle: '', //'è¿ç¨åé', |
| | | Tabs: [ |
| | | { |
| | | name: 'æ¶è´§åæç»', |
| | | tableTitle: 'æç»', |
| | | entityName: 'BIZ_U9_RECEIPT_DTL', |
| | | NeedInclude: true, |
| | | key: 'BIZ_U9_RECEIPT_DTL' |
| | | }, |
| | | { |
| | | name: 'æ¶è´§åSN', |
| | | tableTitle: 'SN', |
| | | entityName: 'BIZ_U9_RECEIPT_SN', |
| | | NeedInclude: true, |
| | | key: 'BIZ_U9_RECEIPT_SN' |
| | | } |
| | | ], |
| | | pageTitle: 'æ¶è´§å(U9)详æ
', //详æ
页颿 é¢ |
| | | contentStr: 'è¿éæ¯æ¶è´§å(U9)æç»ç®¡ç页é¢ï¼å¯ä»¥æ¾ç¤ºæ¶è´§å(U9)çæææ¹æ¬¡è¯¦æ
', |
| | | detailName: `æ¶è´§å[${params['record'].ORDER_NO}]æ¹æ¬¡è¯¦æ
`, |
| | | keyFieldValues: { ORDER_NO: params['record']['ORDER_NO'] }, |
| | | colSlots: params['colSlots'].value, |
| | | SessionName: 'BIZ_U9_RECEIPT_DTL_update', |
| | | ifSave: false, |
| | | }; |
| | | // å°å¯¹è±¡è½¬æ¢ä¸ºJSONå符串并ä¿åå°sessionStorage |
| | | sessionStorage.removeItem(`${id.SessionName}_params`); |
| | | sessionStorage.setItem(`${id.SessionName}_params`, encodeURI(JSON.stringify(id))); |
| | | go(`/BIZ_U9_RECEIPT_DTL/${encodeURI(JSON.stringify({ sName: id.SessionName, Name: id.Name }))}`); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | const woformSchema: FormSchema[] = [ |
| | | { |
| | | field: 'PLAN_QTY', |
| | | label: '工忰é', |
| | | component: 'Input', |
| | | required: true, |
| | | colProps: { |
| | | span: 24, |
| | | }, |
| | | dynamicDisabled: ({ values }) => { |
| | | return true; |
| | | }, |
| | | }, |
| | | { |
| | | field: 'RELEASE_QTY', |
| | | label: 'å·¥åä¸åæ°é', |
| | | component: 'Input', |
| | | required: true, |
| | | colProps: { |
| | | span: 24, |
| | | }, |
| | | }, |
| | | { |
| | | label: 'å®é
产线', |
| | | field: 'ACT_LINE', |
| | | component: 'ApiSelect', |
| | | required: true, |
| | | colProps: { |
| | | span: 24, |
| | | }, |
| | | componentProps: { |
| | | api: getEntity, |
| | | params: { entityName: 'MES_LINE', sqlcmd: ' 1=1 ', order: '' }, |
| | | resultField: 'Data.Items', |
| | | labelField: 'LINE_NAME', |
| | | valueField: 'LINE_CODE', |
| | | }, |
| | | }, |
| | | { |
| | | field: 'IfToCust', |
| | | component: 'Switch', |
| | | label: 'æ¯å¦ä¿åå·¥èºè·¯çº¿å°å®¢æ·', |
| | | defaultValue: true, |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | labelWidth: 200, |
| | | }, |
| | | // { |
| | | // label: 'å·¥èºè·¯çº¿', |
| | | // field: 'ROUTE_CODE', |
| | | // component: 'Input', |
| | | // required: true, |
| | | // colProps: { |
| | | // span: 22, |
| | | // }, |
| | | // }, |
| | | // { |
| | | // field: 'add', |
| | | // component: 'Input', |
| | | // label: '1', |
| | | // colSlot: 'add', |
| | | // defaultValue: 'MES_ROUTE', |
| | | // colProps: { |
| | | // span: 1, |
| | | // }, |
| | | // }, |
| | | // { |
| | | // field: 'set', |
| | | // component: 'Input', |
| | | // label: '1', |
| | | // colSlot: 'set', |
| | | // defaultValue: 'MES_ROUTE', |
| | | // colProps: { |
| | | // span: 1, |
| | | // }, |
| | | // }, |
| | | ]; |
| | | |
| | | const woCfgformSchema: FormSchema[] = [ |
| | | { |
| | | field: 'ORDER_NO', |
| | | component: 'Input', |
| | | label: 'å·¥åå·', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | componentProps: { |
| | | placeholder: '请è¾å
¥å·¥åå·', |
| | | onChange: (e: any) => { |
| | | console.log(e); |
| | | }, |
| | | }, |
| | | dynamicDisabled: true, |
| | | }, |
| | | { |
| | | field: 'ORDER_TYPE', |
| | | component: 'ApiSelect', |
| | | label: 'å·¥åç±»å', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | defaultValue: 0, |
| | | componentProps: { |
| | | api: GetEnum, |
| | | params: { name: 'BIZ_MES_WO+ORDER_TYPEs' }, |
| | | resultField: 'Data', |
| | | labelField: unref(getLocale) == 'zh_CN' ? 'Desc' : 'Name', |
| | | valueField: 'Value', |
| | | placeholder: 'è¯·éæ©å·¥åç±»å', |
| | | }, |
| | | dynamicDisabled: true, |
| | | }, |
| | | { |
| | | field: 'PLAN_QTY', |
| | | component: 'Input', |
| | | label: 'è®¡åæ°é', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | dynamicDisabled: true, |
| | | }, |
| | | ]; |
| | | |
| | | const prodCfgformSchema: FormSchema[] = [ |
| | | { |
| | | field: 'ITEM_CODE', |
| | | component: 'Input', |
| | | label: 'ç©æç¼ç ', |
| | | required: true, |
| | | colProps: { |
| | | span: 12, |
| | | }, |
| | | componentProps: { |
| | | placeholder: '请è¾å
¥ç©æç¼ç ', |
| | | onChange: (e: any) => { |
| | | console.log(e); |
| | | }, |
| | | }, |
| | | dynamicDisabled: true, |
| | | }, |
| | | { |
| | | field: 'ITEM_TYPE', |
| | | component: 'Input', |
| | | label: 'ç©æç±»å', |
| | | colProps: { |
| | | span: 12, |
| | | }, |
| | | }, |
| | | { |
| | | label: 'å·¥èºè·¯çº¿', |
| | | field: 'ROUTE_CODE', |
| | | component: 'Input', |
| | | required: true, |
| | | colProps: { |
| | | span: 12, |
| | | }, |
| | | }, |
| | | { |
| | | field: 'addRot', |
| | | component: 'Input', |
| | | label: '1', |
| | | colSlot: 'addRot', |
| | | defaultValue: 'MES_ROUTE', |
| | | colProps: { |
| | | span: 1, |
| | | }, |
| | | }, |
| | | { |
| | | field: 'setRot', |
| | | component: 'Input', |
| | | label: '1', |
| | | colSlot: 'setRot', |
| | | defaultValue: 'MES_ROUTE', |
| | | colProps: { |
| | | span: 1, |
| | | }, |
| | | }, |
| | | { |
| | | label: 'å·¥èºè·¯çº¿', |
| | | field: 'ROT_ID', |
| | | component: 'Input', |
| | | show: false, |
| | | colProps: { |
| | | span: 12, |
| | | }, |
| | | }, |
| | | // { |
| | | // field: 'fieldsc', |
| | | // component: 'Upload', |
| | | // label: 'æå°æ¨¡æ¿', |
| | | // colProps: { |
| | | // span: 10, |
| | | // }, |
| | | // rules: [{ required: true, message: 'è¯·éæ©ä¸ä¼ æä»¶' }], |
| | | // componentProps: { |
| | | // api: uploadApi, |
| | | // multiple: false, |
| | | // }, |
| | | // }, |
| | | ]; |
| | | |
| | | return [methods, ActionColumn]; |
| | | } |
| | | |
| | | export default _default; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * @Description: æ¶è´§å(U9)æç» |
| | | * @Author: æ¨äºå |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: æ¨äºå |
| | | * @LastEditTime: 2024-09-29 21:28:37 |
| | | */ |
| | | |
| | | import { Tag, Tooltip } from 'ant-design-vue'; |
| | | import { ActionItem, BasicColumn } from '/@/components/Table'; |
| | | import { useI18n } from '/@/hooks/web/useI18n'; |
| | | import { h } from 'vue'; |
| | | import { useModal } from '/@/components/Modal'; |
| | | import { CustModalParams } from '/@/api/tigerapi/model/systemModel'; |
| | | import { useForm } from '/@/components/Form'; |
| | | |
| | | const { t } = useI18n(); |
| | | |
| | | function _default() { |
| | | const ActionColumn: BasicColumn = { |
| | | width: 180, |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | slots: { customRender: 'action' }, |
| | | fixed: 'right', |
| | | }; |
| | | |
| | | /** |
| | | * @description: ä¸äºèªå®ä¹æ¹æ³ |
| | | * @return {*} |
| | | */ |
| | | const methods = { |
| | | /** |
| | | * @description: è·åæ°å¢æé®çè¡ä¸ºï¼å¿
éè¦æçæ¹æ³ |
| | | * @return {*} |
| | | */ |
| | | CreateAction: (type: string) => { |
| | | return { |
| | | action: 'drawer', //drawer(æå¼å·¦ä¾§æ½å±æ¡) | go(è·³è½¬å°æ°ç页é¢) |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: 产åç»å®å·¥èºè·¯çº¿æä½å段èªå®ä¹æé®ï¼å¿
éè¦æçæ¹æ³ |
| | | * @return {*} |
| | | */ |
| | | ActionItem: (params: Recordable<any>, data, ...args): ActionItem[] => { |
| | | data.map((x) => { |
| | | // if (x.name == 'handlePause') { |
| | | // x.onClick = handlePause.bind(null, args, params); |
| | | // x.color = 'error'; |
| | | // x.tooltip = 'æå'; |
| | | // } |
| | | // if (x.name == 'handleStart') { |
| | | // x.onClick = handleStart.bind(null, args, params); |
| | | // x.tooltip = 'åæ¶æå'; |
| | | // } |
| | | // if (x.name == 'handleRelease') { |
| | | // x.onClick = handleRelease.bind(null, args, params); |
| | | // x.tooltip = 'ä¸å'; |
| | | // } |
| | | // if (x.name == 'handleUnRelease') { |
| | | // x.onClick = handleUnRelease.bind(null, args, params); |
| | | // x.tooltip = 'åæ¶ä¸å'; |
| | | // } |
| | | }); |
| | | return data; |
| | | }, |
| | | /** |
| | | * @description: é«çº§è¡¨åå详æ
页é¢è¿å主页é¢çurl |
| | | * @return {*} |
| | | */ |
| | | GetHomeUrl: (params: {}) => { |
| | | return `/BIZ_U9_RECEIPT/LC/${encodeURI(JSON.stringify({ ID: 'BIZ_U9_RECEIPT', EntityName: 'BIZ_U9_RECEIPT', colSlots: params['colSlots'], crudColSlots: [] }))}`; |
| | | }, |
| | | GetBaseColumns: (type: string) => { |
| | | switch (type) { |
| | | case 'BIZ_U9_RECEIPT_DTL': |
| | | return [ |
| | | { |
| | | dataIndex: 'ORDER_NO', |
| | | title: 'åæ®å·', |
| | | // ifShow: false, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'LINE_NO', |
| | | title: 'åæ®è¡å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'STATUS', |
| | | title: 'ç¶æ', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: ({ record }) => { |
| | | let color = ''; |
| | | let text = ''; |
| | | switch ( |
| | | record.STATUS //ç¶æ(0Initåå§å|1Imported已导å
¥|2Releaseå·²ä¸å|3Workingç产ä¸|4Pausedå·²æå|5Closedå·²å
³é) |
| | | ) { |
| | | case 0: |
| | | text = 'åå§å'; |
| | | color = '#8a8a8a'; |
| | | break; |
| | | case 1: |
| | | text = '已导å
¥'; |
| | | color = 'blue'; |
| | | break; |
| | | case 2: |
| | | text = 'å·²éè¾¾'; |
| | | color = 'green'; |
| | | break; |
| | | case 3: |
| | | text = 'æ¸
ç¹ä¸'; |
| | | color = 'orange'; |
| | | break; |
| | | case 4: |
| | | text = '䏿¶ä¸'; |
| | | color = 'red'; |
| | | break; |
| | | case 5: |
| | | text = 'å¾
å®¡æ ¸'; |
| | | color = '#e1822c'; |
| | | break; |
| | | case 6: |
| | | text = '已宿'; |
| | | color = '#009966'; |
| | | break; |
| | | case 7: |
| | | text = 'å·²ä½åº'; |
| | | color = '#CCCCCC'; |
| | | break; |
| | | } |
| | | return h(Tooltip, { title: text }, () => h(Tag, { color: color }, () => text)); |
| | | }, |
| | | }, |
| | | { |
| | | dataIndex: 'ITEM_CODE', |
| | | title: 'ç©æç¼ç ', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'UNIT', |
| | | title: 'åä½', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY', |
| | | title: 'åæ®æ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_PACKING', |
| | | title: 'å
è£
æ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_IN', |
| | | title: 'å
¥åºæ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_OK', |
| | | title: 'è¯åæ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_NG', |
| | | title: 'ä¸è¯æ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_SCRAP', |
| | | title: 'æ¥åºæ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'LOTNO', |
| | | title: 'æ¹æ¬¡å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'ASN_ID', |
| | | title: 'éè´§åID', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'ASN_LINE', |
| | | title: 'éè´§åè¡å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IQC_ORDER', |
| | | title: '鿣åå·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'REMARK', |
| | | title: '夿³¨', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | ]; |
| | | case 'BIZ_U9_RECEIPT_SN': |
| | | return [ |
| | | { |
| | | dataIndex: 'ORDER_NO', |
| | | title: 'åæ®å·', |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'LINE_NO', |
| | | title: 'åæ®è¡å·', |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'SN', |
| | | title: 'æ¡ç ', |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'META_SN', |
| | | title: 'å
æ¡ç ', |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'ITEM_CODE', |
| | | title: 'ç©æç¼ç ', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'STATUS', |
| | | title: 'ç¶æ', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: ({ record }) => { |
| | | let color = ''; |
| | | let text = ''; |
| | | switch ( |
| | | record.STATUS //ç¶æ(0Initåå§å|1Imported已导å
¥|2Releaseå·²ä¸å|3Workingç产ä¸|4Pausedå·²æå|5Closedå·²å
³é) |
| | | ) { |
| | | case 0: |
| | | text = 'åå§å'; |
| | | color = '#8a8a8a'; |
| | | break; |
| | | case 1: |
| | | text = '已导å
¥'; |
| | | color = 'blue'; |
| | | break; |
| | | case 2: |
| | | text = 'å·²éè¾¾'; |
| | | color = 'green'; |
| | | break; |
| | | case 3: |
| | | text = 'æ¸
ç¹ä¸'; |
| | | color = 'orange'; |
| | | break; |
| | | case 4: |
| | | text = '䏿¶ä¸'; |
| | | color = 'red'; |
| | | break; |
| | | case 5: |
| | | text = 'å¾
å®¡æ ¸'; |
| | | color = '#e1822c'; |
| | | break; |
| | | case 6: |
| | | text = '已宿'; |
| | | color = '#009966'; |
| | | break; |
| | | case 7: |
| | | text = 'å·²ä½åº'; |
| | | color = '#CCCCCC'; |
| | | break; |
| | | } |
| | | return h(Tooltip, { title: text }, () => h(Tag, { color: color }, () => text)); |
| | | }, |
| | | |
| | | }, |
| | | { |
| | | dataIndex: 'ITEM_CODE', |
| | | title: 'ç©æç¼ç ', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY', |
| | | title: 'æ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'UNIT', |
| | | title: 'åä½', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_OK', |
| | | title: 'æ¯å¦è¯å(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_IN', |
| | | title: 'æ¯å¦å
¥åº(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_SCRAP', |
| | | title: 'æ¯å¦æ¥åº(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'LOTNO', |
| | | title: 'æ¹æ¬¡å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'CARTON_NO', |
| | | title: 'ç®±å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'PALLET_NO', |
| | | title: 'æ æ¿å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'REMARK', |
| | | title: '夿³¨', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | |
| | | ]; |
| | | } |
| | | }, |
| | | GetSearchForm: (type: string) => { |
| | | switch (type) { |
| | | case 'BIZ_U9_RECEIPT_DTL': |
| | | return [ |
| | | { |
| | | field: 'ORDER_NO', |
| | | label: t('åæ®å·'), |
| | | colProps: { span: 8 }, |
| | | component: 'Input', |
| | | }, |
| | | ]; |
| | | case 'BIZ_U9_RECEIPT_SN': |
| | | return [ |
| | | { |
| | | field: 'ORDER_NO', |
| | | label: t('åæ®å·'), |
| | | colProps: { span: 8 }, |
| | | component: 'Input', |
| | | }, |
| | | ]; |
| | | }; |
| | | }, |
| | | GetCrudForm: () => { |
| | | return []; |
| | | }, |
| | | KeyFieldValues: (val: string, id: string) => { |
| | | return { ORDER_NO: val }; |
| | | }, |
| | | GetUseForm: () => { |
| | | return { |
| | | forminfo: useForm({ |
| | | labelWidth: 120, |
| | | schemas: [], //woformSchema, |
| | | actionColOptions: { |
| | | span: 24, |
| | | }, |
| | | showActionButtonGroup: false, |
| | | }), |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: èªå®ä¹æ¹æ³ |
| | | * @param {string} type |
| | | * @param {array} args |
| | | * @return {*} |
| | | */ |
| | | CustFunc: (param: CustModalParams) => { |
| | | // switch (param.cType) { |
| | | // case 'BIZ_U9_ASN_DTL': |
| | | // return getWoFns[param.FnName](param) as Promise<any>; |
| | | // break; |
| | | // default: |
| | | // return new Promise((resolve, reject) => { |
| | | // try { |
| | | // (e) => {}; |
| | | // resolve(true); |
| | | // } catch { |
| | | // reject(false); |
| | | // } finally { |
| | | // // args[0][0]({ confirmLoading: false }); |
| | | // } |
| | | // }); |
| | | // // break; |
| | | // } |
| | | }, |
| | | /** |
| | | * @description: è·åå¤è¡¨åææ§½å表 |
| | | * @return {*} |
| | | */ |
| | | GetDtlSlots: (type: string) => { |
| | | let result = [] as any[]; |
| | | switch (type) { |
| | | case 'BIZ_MES_WO_BATCH': |
| | | result = [ |
| | | { |
| | | name: 'forminfo', |
| | | slots: ['add', 'set'], |
| | | preIcons: { add: 'search|svg', set: 'config|svg' }, //妿æ¯å¤ä¸ªè¡¨åï¼å¢å å¤ä¸ªææ§½ãslotsæ¯å¼¹åºæ¡æé®çææ§½ï¼preIconsæ¯ææ§½å¯¹åºçæé®å¾æ |
| | | title: 'ä¸åé
ç½®', |
| | | }, |
| | | ]; |
| | | break; |
| | | } |
| | | return result; |
| | | }, |
| | | /** |
| | | * @description: è·åæ¨¡ææ¡åºç¨å表 |
| | | * @return {*} |
| | | */ |
| | | GetUseModals: () => { |
| | | return { |
| | | useModalData: { |
| | | add: useModal(), |
| | | set: useModal(), |
| | | addRot: useModal(), |
| | | setRot: useModal(), |
| | | }, |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: å¼¹åºéæ©æ¡éæ©æåè¿åæ¹æ³ |
| | | * @param {*} d |
| | | * @param {*} u |
| | | * @return {*} |
| | | */ |
| | | GetSelectSuccess: (d, u) => { |
| | | return { |
| | | ROUTE_CODE: d.values['val'], |
| | | // ID: d.values['id'], |
| | | ROT_ID: d.values['id'], |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: æå¼å¼¹åºéæ©æ¡ |
| | | * @param {Fn} openItemModal |
| | | * @param {array} args |
| | | * @return {*} |
| | | */ |
| | | OpenSelectItem: (openItemModal: Fn, ...args) => { |
| | | const slotName = args[0]; |
| | | switch (slotName) { |
| | | case 'addRot': |
| | | break; |
| | | } |
| | | }, |
| | | }; |
| | | |
| | | /* 以䏿¯å
鍿¹æ³ï¼ä¸exportï¼ä¾ä¸é¢çæ¹æ³è°ç¨ */ |
| | | |
| | | return [methods, ActionColumn]; |
| | | } |
| | | |
| | | export default _default; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * @Description: éè´§å(U9) |
| | | * @Author: æ¨äºå |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: æ¨äºå |
| | | * @LastEditTime: 2024-10-23 20:48:14 |
| | | */ |
| | | |
| | | import { Ref, h, ref, render, unref } from 'vue'; |
| | | import { GetEnum, SaveEntity, convertToTree, getEntity } from '/@/api/tigerapi/system'; |
| | | import { useLocale } from '/@/locales/useLocale'; |
| | | import { useI18n } from '/@/hooks/web/useI18n'; |
| | | import { useMessage } from '/@/hooks/web/useMessage'; |
| | | import { useModal } from '/@/components/Modal'; |
| | | import { ActionItem, BasicColumn, FormSchema } from '/@/components/Table'; |
| | | import { useUserStore } from '/@/store/modules/user'; |
| | | import { buildUUID } from '/@/utils/uuid'; |
| | | import { SaveWoBatchInput } from '/@/api/tigerapi/model/mesModel'; |
| | | import { CustModalParams, FunctionType } from '/@/api/tigerapi/model/systemModel'; |
| | | import { SaveMesBatchWo } from '/@/api/tigerapi/mes/wo'; |
| | | import { useForm } from '/@/components/Form/index'; |
| | | import { cloneDeep } from 'lodash-es'; |
| | | import { useProdRouteStore } from '/@/store/modules/prodRoute'; |
| | | import { Tag, Tooltip } from 'ant-design-vue'; |
| | | |
| | | const { t } = useI18n(); |
| | | const { createErrorModal } = useMessage(); |
| | | const { getLocale } = useLocale(); |
| | | function _default() { |
| | | const ActionColumn: BasicColumn = { |
| | | width: 180, |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | slots: { customRender: 'action' }, |
| | | fixed: 'right', |
| | | }; |
| | | /** |
| | | * @description: å·¥å管ççä¸äºèªå®ä¹æ¹æ³ |
| | | * @return {*} |
| | | */ |
| | | const methods = { |
| | | /** |
| | | * @description: è·åæ°å¢æé®çè¡ä¸º |
| | | * @return {*} |
| | | */ |
| | | CreateAction: (type: string, fnName: string) => { |
| | | return { |
| | | action: 'drawer', //drawer(æå¼å·¦ä¾§æ½å±æ¡) | go(è·³è½¬å°æ°ç页é¢) |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: æä½å段èªå®ä¹æé® |
| | | * @return {*} |
| | | */ |
| | | ActionItem: (params: Recordable<any>, data, ...args): ActionItem[] => { |
| | | data.map((x) => { |
| | | if (x.name == 'goDetail') { |
| | | x.onClick = goDetail.bind(null, args[5], params); |
| | | x.tooltip = 'åæ®å·'; |
| | | } |
| | | }); |
| | | return data; |
| | | }, |
| | | /** |
| | | * @desc åå§å表å |
| | | */ |
| | | GetUseForm: () => { |
| | | return { |
| | | forminfo: useForm({ |
| | | labelWidth: 120, |
| | | schemas: woformSchema, |
| | | actionColOptions: { |
| | | span: 24, |
| | | }, |
| | | showActionButtonGroup: false, |
| | | }), |
| | | woinfo: useForm({ |
| | | labelWidth: 120, |
| | | schemas: woCfgformSchema, |
| | | actionColOptions: { |
| | | span: 24, |
| | | }, |
| | | showActionButtonGroup: false, |
| | | }), |
| | | prodinfo: useForm({ |
| | | labelWidth: 120, |
| | | schemas: prodCfgformSchema, |
| | | actionColOptions: { |
| | | span: 24, |
| | | }, |
| | | showActionButtonGroup: false, |
| | | }), |
| | | tmpinfo: useForm({ |
| | | labelWidth: 120, |
| | | schemas: prodCfgformSchema, |
| | | actionColOptions: { |
| | | span: 24, |
| | | }, |
| | | showActionButtonGroup: false, |
| | | }), |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: èªå®ä¹æ¹æ³ |
| | | * @param {string} type |
| | | * @param {array} args |
| | | * @return {*} |
| | | */ |
| | | CustFunc: (param: CustModalParams) => { |
| | | switch (param.cType) { |
| | | case 'BIZ_MES_WO': |
| | | case 'BIZ_MES_WO_Config': |
| | | return getWoFns[param.FnName](param) as Promise<any>; |
| | | // break; |
| | | default: |
| | | return new Promise((resolve, reject) => { |
| | | try { |
| | | (e) => {}; |
| | | resolve(true); |
| | | } catch { |
| | | reject(false); |
| | | } finally { |
| | | // args[0][0]({ confirmLoading: false }); |
| | | } |
| | | }); |
| | | // break; |
| | | } |
| | | }, |
| | | /** |
| | | * @description: è·åå¤è¡¨åææ§½å表 |
| | | * @return {*} |
| | | */ |
| | | GetDtlSlots: (type: string) => { |
| | | let result = [] as any[]; |
| | | switch (type) { |
| | | case 'BIZ_MES_WO_Config': |
| | | result = [ |
| | | { name: 'woinfo', slots: [], preIcons: {}, title: 'å·¥åä¿¡æ¯' }, |
| | | { |
| | | name: 'prodinfo', |
| | | slots: ['addRot', 'setRot'], |
| | | preIcons: { addRot: 'search|svg', setRot: 'config|svg' }, |
| | | title: '产åä¿¡æ¯', |
| | | }, |
| | | { name: 'rotinfo', slots: ['add'], preIcons: { add: 'search|svg' }, title: 'å·¥èºä¿¡æ¯' }, |
| | | ]; |
| | | break; |
| | | case 'BIZ_MES_WO': |
| | | result = [ |
| | | { |
| | | name: 'forminfo', |
| | | slots: ['add', 'set'], |
| | | preIcons: { add: 'search|svg', set: 'config|svg' }, //妿æ¯å¤ä¸ªè¡¨åï¼å¢å å¤ä¸ªææ§½ãslotsæ¯å¼¹åºæ¡æé®çææ§½ï¼preIconsæ¯ææ§½å¯¹åºçæé®å¾æ |
| | | title: 'ä¸åé
ç½®', |
| | | }, |
| | | ]; |
| | | break; |
| | | } |
| | | return result; |
| | | }, |
| | | /** |
| | | * @description: è·åæ¨¡ææ¡åºç¨å表 |
| | | * @return {*} |
| | | */ |
| | | GetUseModals: () => { |
| | | return { |
| | | useModalData: { |
| | | add: useModal(), |
| | | set: useModal(), |
| | | addRot: useModal(), |
| | | setRot: useModal(), |
| | | }, |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: è·åèªå®ä¹æ°æ® |
| | | * @return {*} |
| | | */ |
| | | GetCustData: () => { |
| | | return { |
| | | isCustEl: { |
| | | forminfo: false, |
| | | woinfo: false, |
| | | prodinfo: false, |
| | | rotinfo: true, |
| | | }, |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: å¼¹åºéæ©æ¡éæ©æåè¿åæ¹æ³ |
| | | * @param {*} d |
| | | * @param {*} u |
| | | * @return {*} |
| | | */ |
| | | GetSelectSuccess: (d, u) => { |
| | | return { |
| | | ROUTE_CODE: d.values['val'], |
| | | // ID: d.values['id'], |
| | | ROT_ID: d.values['id'], |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: æå¼å¼¹åºéæ©æ¡ |
| | | * @param {Fn} openItemModal |
| | | * @param {array} args |
| | | * @return {*} |
| | | */ |
| | | OpenSelectItem: (openItemModal: Fn, ...args) => { |
| | | const slotName = args[0]; |
| | | const openRvModal = args[1]; |
| | | const selectVals = args[2]; |
| | | switch (slotName) { |
| | | case 'addRot': |
| | | case 'add': |
| | | openItemModal(true, { |
| | | title: 'å·¥èºè·¯çº¿å表', |
| | | schemas: [ |
| | | { |
| | | field: 'ROT_CODE', |
| | | component: 'Input', |
| | | label: 'å·¥èºè·¯çº¿ç¼ç ', |
| | | colProps: { |
| | | span: 12, |
| | | }, |
| | | }, |
| | | ], |
| | | ItemColumns: [ |
| | | { |
| | | title: t('å·¥èºè·¯çº¿ç¼ç '), |
| | | dataIndex: 'ROT_CODE', |
| | | resizable: true, |
| | | sorter: true, |
| | | width: 200, |
| | | }, |
| | | { |
| | | title: t('å·¥èºè·¯çº¿åç§°'), |
| | | dataIndex: 'ROT_NAME', |
| | | resizable: true, |
| | | sorter: true, |
| | | width: 180, |
| | | }, |
| | | ], |
| | | tableName: 'MES_ROUTE', |
| | | rowKey: 'ROT_CODE', |
| | | returnFieldName: ['ROUTE_CODE', 'ROT_ID'], //è¿åå¼è¦èµå¼çåæ®µåç§° |
| | | searchInfo: { TABLE_NAME: 'MES_ROUTE' }, |
| | | }); |
| | | break; |
| | | case 'set': |
| | | openRvModal(true, { rotId: selectVals.value['ROUTE_CODE'], slotName: slotName }); |
| | | break; |
| | | case 'setRot': |
| | | break; |
| | | } |
| | | }, |
| | | /** |
| | | * @description: è·åæ é¢ä¿¡æ¯ |
| | | * @param {string} type |
| | | * @return {*} |
| | | */ |
| | | GetTitle: () => { |
| | | return { |
| | | importTitle: 'å·¥å计å导å
¥' /* æå¼æ¨¡æçªå£æ¾ç¤ºçæ é¢ */, |
| | | }; |
| | | }, |
| | | }; |
| | | |
| | | /* 以䏿¯å
鍿¹æ³ï¼ä¸exportï¼ä¾ä¸é¢çæ¹æ³è°ç¨ */ |
| | | |
| | | /** |
| | | * @description: 跳转å°è¯¦æ
页颿¹æ³ |
| | | * @param {Fn} go |
| | | * @return {*} |
| | | */ |
| | | function goDetail(go: Fn, params: Recordable) { |
| | | const id = { |
| | | ID: params['record'].ID, |
| | | CODE: params['record']['ORDER_NO'], |
| | | Name: 'BIZ_U9_RETURN_DTL', |
| | | firstTabName: 'éè´§å(U9)', |
| | | secondTabName: 'éè´§åSN', //'æ ç¾è¿ç¨åé', |
| | | firstTitle: 'æç»', |
| | | secondTitle: '', //'è¿ç¨åé', |
| | | Tabs: [ |
| | | { |
| | | name: 'éè´§åæç»', |
| | | tableTitle: 'æç»', |
| | | entityName: 'BIZ_U9_RETURN_DTL', |
| | | NeedInclude: true, |
| | | key: 'BIZ_U9_RETURN_DTL' |
| | | }, |
| | | { |
| | | name: 'éè´§åSN', |
| | | tableTitle: 'SN', |
| | | entityName: 'BIZ_U9_RETURN_SN', |
| | | NeedInclude: true, |
| | | key: 'BIZ_U9_RETURN_SN' |
| | | } |
| | | ], |
| | | pageTitle: 'éè´§å(U9)详æ
', //详æ
页颿 é¢ |
| | | contentStr: 'è¿éæ¯éè´§å(U9)æç»ç®¡ç页é¢ï¼å¯ä»¥æ¾ç¤ºéè´§å(U9)çæææ¹æ¬¡è¯¦æ
', |
| | | detailName: `éè´§å[${params['record'].ORDER_NO}]æ¹æ¬¡è¯¦æ
`, |
| | | keyFieldValues: { ORDER_NO: params['record']['ORDER_NO'] }, |
| | | colSlots: params['colSlots'].value, |
| | | SessionName: 'BIZ_U9_RETURN_DTL_update', |
| | | ifSave: false, |
| | | }; |
| | | // å°å¯¹è±¡è½¬æ¢ä¸ºJSONå符串并ä¿åå°sessionStorage |
| | | sessionStorage.removeItem(`${id.SessionName}_params`); |
| | | sessionStorage.setItem(`${id.SessionName}_params`, encodeURI(JSON.stringify(id))); |
| | | go(`/BIZ_U9_RETURN_DTL/${encodeURI(JSON.stringify({ sName: id.SessionName, Name: id.Name }))}`); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | const woformSchema: FormSchema[] = [ |
| | | { |
| | | field: 'PLAN_QTY', |
| | | label: '工忰é', |
| | | component: 'Input', |
| | | required: true, |
| | | colProps: { |
| | | span: 24, |
| | | }, |
| | | dynamicDisabled: ({ values }) => { |
| | | return true; |
| | | }, |
| | | }, |
| | | { |
| | | field: 'RELEASE_QTY', |
| | | label: 'å·¥åä¸åæ°é', |
| | | component: 'Input', |
| | | required: true, |
| | | colProps: { |
| | | span: 24, |
| | | }, |
| | | }, |
| | | { |
| | | label: 'å®é
产线', |
| | | field: 'ACT_LINE', |
| | | component: 'ApiSelect', |
| | | required: true, |
| | | colProps: { |
| | | span: 24, |
| | | }, |
| | | componentProps: { |
| | | api: getEntity, |
| | | params: { entityName: 'MES_LINE', sqlcmd: ' 1=1 ', order: '' }, |
| | | resultField: 'Data.Items', |
| | | labelField: 'LINE_NAME', |
| | | valueField: 'LINE_CODE', |
| | | }, |
| | | }, |
| | | { |
| | | field: 'IfToCust', |
| | | component: 'Switch', |
| | | label: 'æ¯å¦ä¿åå·¥èºè·¯çº¿å°å®¢æ·', |
| | | defaultValue: true, |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | labelWidth: 200, |
| | | }, |
| | | // { |
| | | // label: 'å·¥èºè·¯çº¿', |
| | | // field: 'ROUTE_CODE', |
| | | // component: 'Input', |
| | | // required: true, |
| | | // colProps: { |
| | | // span: 22, |
| | | // }, |
| | | // }, |
| | | // { |
| | | // field: 'add', |
| | | // component: 'Input', |
| | | // label: '1', |
| | | // colSlot: 'add', |
| | | // defaultValue: 'MES_ROUTE', |
| | | // colProps: { |
| | | // span: 1, |
| | | // }, |
| | | // }, |
| | | // { |
| | | // field: 'set', |
| | | // component: 'Input', |
| | | // label: '1', |
| | | // colSlot: 'set', |
| | | // defaultValue: 'MES_ROUTE', |
| | | // colProps: { |
| | | // span: 1, |
| | | // }, |
| | | // }, |
| | | ]; |
| | | |
| | | const woCfgformSchema: FormSchema[] = [ |
| | | { |
| | | field: 'ORDER_NO', |
| | | component: 'Input', |
| | | label: 'å·¥åå·', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | componentProps: { |
| | | placeholder: '请è¾å
¥å·¥åå·', |
| | | onChange: (e: any) => { |
| | | console.log(e); |
| | | }, |
| | | }, |
| | | dynamicDisabled: true, |
| | | }, |
| | | { |
| | | field: 'ORDER_TYPE', |
| | | component: 'ApiSelect', |
| | | label: 'å·¥åç±»å', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | defaultValue: 0, |
| | | componentProps: { |
| | | api: GetEnum, |
| | | params: { name: 'BIZ_MES_WO+ORDER_TYPEs' }, |
| | | resultField: 'Data', |
| | | labelField: unref(getLocale) == 'zh_CN' ? 'Desc' : 'Name', |
| | | valueField: 'Value', |
| | | placeholder: 'è¯·éæ©å·¥åç±»å', |
| | | }, |
| | | dynamicDisabled: true, |
| | | }, |
| | | { |
| | | field: 'PLAN_QTY', |
| | | component: 'Input', |
| | | label: 'è®¡åæ°é', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | dynamicDisabled: true, |
| | | }, |
| | | ]; |
| | | |
| | | const prodCfgformSchema: FormSchema[] = [ |
| | | { |
| | | field: 'ITEM_CODE', |
| | | component: 'Input', |
| | | label: 'ç©æç¼ç ', |
| | | required: true, |
| | | colProps: { |
| | | span: 12, |
| | | }, |
| | | componentProps: { |
| | | placeholder: '请è¾å
¥ç©æç¼ç ', |
| | | onChange: (e: any) => { |
| | | console.log(e); |
| | | }, |
| | | }, |
| | | dynamicDisabled: true, |
| | | }, |
| | | { |
| | | field: 'ITEM_TYPE', |
| | | component: 'Input', |
| | | label: 'ç©æç±»å', |
| | | colProps: { |
| | | span: 12, |
| | | }, |
| | | }, |
| | | { |
| | | label: 'å·¥èºè·¯çº¿', |
| | | field: 'ROUTE_CODE', |
| | | component: 'Input', |
| | | required: true, |
| | | colProps: { |
| | | span: 12, |
| | | }, |
| | | }, |
| | | { |
| | | field: 'addRot', |
| | | component: 'Input', |
| | | label: '1', |
| | | colSlot: 'addRot', |
| | | defaultValue: 'MES_ROUTE', |
| | | colProps: { |
| | | span: 1, |
| | | }, |
| | | }, |
| | | { |
| | | field: 'setRot', |
| | | component: 'Input', |
| | | label: '1', |
| | | colSlot: 'setRot', |
| | | defaultValue: 'MES_ROUTE', |
| | | colProps: { |
| | | span: 1, |
| | | }, |
| | | }, |
| | | { |
| | | label: 'å·¥èºè·¯çº¿', |
| | | field: 'ROT_ID', |
| | | component: 'Input', |
| | | show: false, |
| | | colProps: { |
| | | span: 12, |
| | | }, |
| | | }, |
| | | // { |
| | | // field: 'fieldsc', |
| | | // component: 'Upload', |
| | | // label: 'æå°æ¨¡æ¿', |
| | | // colProps: { |
| | | // span: 10, |
| | | // }, |
| | | // rules: [{ required: true, message: 'è¯·éæ©ä¸ä¼ æä»¶' }], |
| | | // componentProps: { |
| | | // api: uploadApi, |
| | | // multiple: false, |
| | | // }, |
| | | // }, |
| | | ]; |
| | | |
| | | return [methods, ActionColumn]; |
| | | } |
| | | |
| | | export default _default; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * @Description: éè´§å(U9)æç» |
| | | * @Author: æ¨äºå |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: æ¨äºå |
| | | * @LastEditTime: 2024-09-29 21:28:37 |
| | | */ |
| | | |
| | | import { Tag, Tooltip } from 'ant-design-vue'; |
| | | import { ActionItem, BasicColumn } from '/@/components/Table'; |
| | | import { useI18n } from '/@/hooks/web/useI18n'; |
| | | import { h } from 'vue'; |
| | | import { useModal } from '/@/components/Modal'; |
| | | import { CustModalParams } from '/@/api/tigerapi/model/systemModel'; |
| | | import { useForm } from '/@/components/Form'; |
| | | |
| | | const { t } = useI18n(); |
| | | |
| | | function _default() { |
| | | const ActionColumn: BasicColumn = { |
| | | width: 180, |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | slots: { customRender: 'action' }, |
| | | fixed: 'right', |
| | | }; |
| | | |
| | | /** |
| | | * @description: ä¸äºèªå®ä¹æ¹æ³ |
| | | * @return {*} |
| | | */ |
| | | const methods = { |
| | | /** |
| | | * @description: è·åæ°å¢æé®çè¡ä¸ºï¼å¿
éè¦æçæ¹æ³ |
| | | * @return {*} |
| | | */ |
| | | CreateAction: (type: string) => { |
| | | return { |
| | | action: 'drawer', //drawer(æå¼å·¦ä¾§æ½å±æ¡) | go(è·³è½¬å°æ°ç页é¢) |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: 产åç»å®å·¥èºè·¯çº¿æä½å段èªå®ä¹æé®ï¼å¿
éè¦æçæ¹æ³ |
| | | * @return {*} |
| | | */ |
| | | ActionItem: (params: Recordable<any>, data, ...args): ActionItem[] => { |
| | | data.map((x) => { |
| | | // if (x.name == 'handlePause') { |
| | | // x.onClick = handlePause.bind(null, args, params); |
| | | // x.color = 'error'; |
| | | // x.tooltip = 'æå'; |
| | | // } |
| | | // if (x.name == 'handleStart') { |
| | | // x.onClick = handleStart.bind(null, args, params); |
| | | // x.tooltip = 'åæ¶æå'; |
| | | // } |
| | | // if (x.name == 'handleRelease') { |
| | | // x.onClick = handleRelease.bind(null, args, params); |
| | | // x.tooltip = 'ä¸å'; |
| | | // } |
| | | // if (x.name == 'handleUnRelease') { |
| | | // x.onClick = handleUnRelease.bind(null, args, params); |
| | | // x.tooltip = 'åæ¶ä¸å'; |
| | | // } |
| | | }); |
| | | return data; |
| | | }, |
| | | /** |
| | | * @description: é«çº§è¡¨åå详æ
页é¢è¿å主页é¢çurl |
| | | * @return {*} |
| | | */ |
| | | GetHomeUrl: (params: {}) => { |
| | | return `/BIZ_U9_RETURN/LC/${encodeURI(JSON.stringify({ ID: 'BIZ_U9_RETURN', EntityName: 'BIZ_U9_RETURN', colSlots: params['colSlots'], crudColSlots: [] }))}`; |
| | | }, |
| | | GetBaseColumns: (type: string) => { |
| | | switch (type) { |
| | | case 'BIZ_U9_RETURN_DTL': |
| | | return [ |
| | | { |
| | | dataIndex: 'ORDER_NO', |
| | | title: 'åæ®å·', |
| | | // ifShow: false, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'LINE_NO', |
| | | title: 'åæ®è¡å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: () => {}, |
| | | }, |
| | | { |
| | | dataIndex: 'STATUS', |
| | | title: 'ç¶æ', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: ({ record }) => { |
| | | let color = ''; |
| | | let text = ''; |
| | | switch ( |
| | | record.STATUS //ç¶æ(0Initåå§å|1Imported已导å
¥|2Releaseå·²ä¸å|3Workingç产ä¸|4Pausedå·²æå|5Closedå·²å
³é) |
| | | ) { |
| | | case 0: |
| | | text = 'åå§å'; |
| | | color = '#8a8a8a'; |
| | | break; |
| | | case 1: |
| | | text = '已导å
¥'; |
| | | color = 'blue'; |
| | | break; |
| | | case 2: |
| | | text = 'å·²éè¾¾'; |
| | | color = 'green'; |
| | | break; |
| | | case 3: |
| | | text = 'æ¸
ç¹ä¸'; |
| | | color = 'orange'; |
| | | break; |
| | | case 4: |
| | | text = '䏿¶ä¸'; |
| | | color = 'red'; |
| | | break; |
| | | case 5: |
| | | text = 'å¾
å®¡æ ¸'; |
| | | color = '#e1822c'; |
| | | break; |
| | | case 6: |
| | | text = '已宿'; |
| | | color = '#009966'; |
| | | break; |
| | | case 7: |
| | | text = 'å·²ä½åº'; |
| | | color = '#CCCCCC'; |
| | | break; |
| | | } |
| | | return h(Tooltip, { title: text }, () => h(Tag, { color: color }, () => text)); |
| | | }, |
| | | }, |
| | | { |
| | | dataIndex: 'ITEM_CODE', |
| | | title: 'ç©æç¼ç ', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: () => {}, |
| | | }, |
| | | { |
| | | dataIndex: 'UNIT', |
| | | title: 'åä½', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY', |
| | | title: 'åæ®æ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_PACKING', |
| | | title: 'å
è£
æ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_IN', |
| | | title: 'å
¥åºæ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_OK', |
| | | title: 'è¯åæ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_NG', |
| | | title: 'ä¸è¯æ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_SCRAP', |
| | | title: 'æ¥åºæ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'LOTNO', |
| | | title: 'æ¹æ¬¡å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'PO_NO', |
| | | title: 'éè´åå·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'PO_LINE', |
| | | title: 'éè´åè¡å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IQC_NO', |
| | | title: '鿣åå·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'REMARK', |
| | | title: '夿³¨', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | |
| | | ]; |
| | | case 'BIZ_U9_RETURN_SN': |
| | | return [ |
| | | { |
| | | dataIndex: 'ORDER_NO', |
| | | title: 'åæ®å·', |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'LINE_NO', |
| | | title: 'åæ®è¡å·', |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'SN', |
| | | title: 'æ¡ç ', |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'META_SN', |
| | | title: 'å
æ¡ç ', |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'ITEM_CODE', |
| | | title: 'ç©æç¼ç ', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: () => {}, |
| | | }, |
| | | { |
| | | dataIndex: 'STATUS', |
| | | title: 'ç¶æ', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: ({ record }) => { |
| | | let color = ''; |
| | | let text = ''; |
| | | switch ( |
| | | record.STATUS //ç¶æ(0Initåå§å|1Imported已导å
¥|2Releaseå·²ä¸å|3Workingç产ä¸|4Pausedå·²æå|5Closedå·²å
³é) |
| | | ) { |
| | | case 0: |
| | | text = 'åå§å'; |
| | | color = '#8a8a8a'; |
| | | break; |
| | | case 1: |
| | | text = '已导å
¥'; |
| | | color = 'blue'; |
| | | break; |
| | | case 2: |
| | | text = 'å·²éè¾¾'; |
| | | color = 'green'; |
| | | break; |
| | | case 3: |
| | | text = 'æ¸
ç¹ä¸'; |
| | | color = 'orange'; |
| | | break; |
| | | case 4: |
| | | text = '䏿¶ä¸'; |
| | | color = 'red'; |
| | | break; |
| | | case 5: |
| | | text = 'å¾
å®¡æ ¸'; |
| | | color = '#e1822c'; |
| | | break; |
| | | case 6: |
| | | text = '已宿'; |
| | | color = '#009966'; |
| | | break; |
| | | case 7: |
| | | text = 'å·²ä½åº'; |
| | | color = '#CCCCCC'; |
| | | break; |
| | | } |
| | | return h(Tooltip, { title: text }, () => h(Tag, { color: color }, () => text)); |
| | | }, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY', |
| | | title: 'æ°é', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'UNIT', |
| | | title: 'åä½', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_GIFT', |
| | | title: 'æ¯å¦èµ å(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_OK', |
| | | title: 'æ¯å¦è¯å(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_IN', |
| | | title: 'æ¯å¦å
¥åº(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_RETURN', |
| | | title: 'æ¯å¦éè´§(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'LOTNO', |
| | | title: 'æ¹æ¬¡å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'CARTON_NO', |
| | | title: 'ç®±å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'PALLET_NO', |
| | | title: 'æ æ¿å·', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'REMARK', |
| | | title: '夿³¨', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | ]; |
| | | } |
| | | }, |
| | | GetSearchForm: (type: string) => { |
| | | switch (type) { |
| | | case 'BIZ_U9_RETURN_DTL': |
| | | return [ |
| | | { |
| | | field: 'ORDER_NO', |
| | | label: t('åæ®å·'), |
| | | colProps: { span: 8 }, |
| | | component: 'Input', |
| | | }, |
| | | ]; |
| | | case 'BIZ_U9_RETURN_SN': |
| | | return [ |
| | | { |
| | | field: 'ORDER_NO', |
| | | label: t('åæ®å·'), |
| | | colProps: { span: 8 }, |
| | | component: 'Input', |
| | | }, |
| | | ]; |
| | | }; |
| | | }, |
| | | GetCrudForm: () => { |
| | | return []; |
| | | }, |
| | | KeyFieldValues: (val: string, id: string) => { |
| | | return { ORDER_NO: val }; |
| | | }, |
| | | GetUseForm: () => { |
| | | return { |
| | | forminfo: useForm({ |
| | | labelWidth: 120, |
| | | schemas: [], //woformSchema, |
| | | actionColOptions: { |
| | | span: 24, |
| | | }, |
| | | showActionButtonGroup: false, |
| | | }), |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: èªå®ä¹æ¹æ³ |
| | | * @param {string} type |
| | | * @param {array} args |
| | | * @return {*} |
| | | */ |
| | | CustFunc: (param: CustModalParams) => { |
| | | // switch (param.cType) { |
| | | // case 'BIZ_U9_ASN_DTL': |
| | | // return getWoFns[param.FnName](param) as Promise<any>; |
| | | // break; |
| | | // default: |
| | | // return new Promise((resolve, reject) => { |
| | | // try { |
| | | // (e) => {}; |
| | | // resolve(true); |
| | | // } catch { |
| | | // reject(false); |
| | | // } finally { |
| | | // // args[0][0]({ confirmLoading: false }); |
| | | // } |
| | | // }); |
| | | // // break; |
| | | // } |
| | | }, |
| | | /** |
| | | * @description: è·åå¤è¡¨åææ§½å表 |
| | | * @return {*} |
| | | */ |
| | | GetDtlSlots: (type: string) => { |
| | | let result = [] as any[]; |
| | | switch (type) { |
| | | case 'BIZ_MES_WO_BATCH': |
| | | result = [ |
| | | { |
| | | name: 'forminfo', |
| | | slots: ['add', 'set'], |
| | | preIcons: { add: 'search|svg', set: 'config|svg' }, //妿æ¯å¤ä¸ªè¡¨åï¼å¢å å¤ä¸ªææ§½ãslotsæ¯å¼¹åºæ¡æé®çææ§½ï¼preIconsæ¯ææ§½å¯¹åºçæé®å¾æ |
| | | title: 'ä¸åé
ç½®', |
| | | }, |
| | | ]; |
| | | break; |
| | | } |
| | | return result; |
| | | }, |
| | | /** |
| | | * @description: è·åæ¨¡ææ¡åºç¨å表 |
| | | * @return {*} |
| | | */ |
| | | GetUseModals: () => { |
| | | return { |
| | | useModalData: { |
| | | add: useModal(), |
| | | set: useModal(), |
| | | addRot: useModal(), |
| | | setRot: useModal(), |
| | | }, |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: å¼¹åºéæ©æ¡éæ©æåè¿åæ¹æ³ |
| | | * @param {*} d |
| | | * @param {*} u |
| | | * @return {*} |
| | | */ |
| | | GetSelectSuccess: (d, u) => { |
| | | return { |
| | | ROUTE_CODE: d.values['val'], |
| | | // ID: d.values['id'], |
| | | ROT_ID: d.values['id'], |
| | | }; |
| | | }, |
| | | /** |
| | | * @description: æå¼å¼¹åºéæ©æ¡ |
| | | * @param {Fn} openItemModal |
| | | * @param {array} args |
| | | * @return {*} |
| | | */ |
| | | OpenSelectItem: (openItemModal: Fn, ...args) => { |
| | | const slotName = args[0]; |
| | | switch (slotName) { |
| | | case 'addRot': |
| | | break; |
| | | } |
| | | }, |
| | | }; |
| | | |
| | | /* 以䏿¯å
鍿¹æ³ï¼ä¸exportï¼ä¾ä¸é¢çæ¹æ³è°ç¨ */ |
| | | |
| | | return [methods, ActionColumn]; |
| | | } |
| | | |
| | | export default _default; |