From 6e6fec028ffc9a27b3c8d30eb484cd361a119d76 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期一, 25 十一月 2024 23:53:12 +0800 Subject: [PATCH] 入库单更新 --- src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts | 1827 +++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 1,535 insertions(+), 292 deletions(-) diff --git a/src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts b/src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts index 69b5dd5..0a11ed7 100644 --- a/src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts +++ b/src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts @@ -1,14 +1,21 @@ +/* eslint-disable no-var */ +/* eslint-disable no-fallthrough */ /* * @Description: 浜у搧宸ヨ壓璺嚎鐩稿叧 * @Author: Ben Lin * @version: * @Date: 2024-06-19 20:34:27 * @LastEditors: Ben Lin - * @LastEditTime: 2024-06-27 19:19:49 + * @LastEditTime: 2024-10-24 01:21:57 */ -import { Ref, ref, unref } from 'vue'; -import { GetRoutePTree, RouteToCust, RouteToProd } from '/@/api/tigerapi/mes/router'; +import { Ref, unref } from 'vue'; +import { + DeleteProdRoute, + GetRoutePTree, + RouteToCust, + RouteToProd, +} from '/@/api/tigerapi/mes/router'; import { GetEnum, SaveEntity, convertToTree, getEntity } from '/@/api/tigerapi/system'; import { useLocale } from '/@/locales/useLocale'; import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; @@ -16,12 +23,25 @@ import { NavItem } from '/@/api/tigerapi/model/basModel'; import { useMessage } from '/@/hooks/web/useMessage'; import { useModal } from '/@/components/Modal'; -import { V_MES_ROUTE_PTREE } from '/@/api/tigerapi/model/router'; +import { ActionItem, BasicColumn, FormSchema, useTable } from '/@/components/Table'; +import { CustModalParams } from '/@/api/tigerapi/model/systemModel'; +import { useUserStore } from '/@/store/modules/user'; +import { EventDataNode } from 'ant-design-vue/lib/tree'; +import { ContextMenuItem } from '/@/components/TigerTree'; +import { useForm } from '/@/components/Form'; +import { mesApi } from '/@/api/tigerapi/mes/mesApi'; +import { BAS_LABEL_VAR_WO, MesRotTree } from '/@/api/tigerapi/model/mesModel'; +import { buildUUID } from '/@/utils/uuid'; +import { AddOrEditLabelVarByWorkOrder } from '/@/api/tigerapi/mes/wo'; +import { useProdRouteStore } from '/@/store/modules/prodRoute'; +import { useWebSocketStore } from '/@/store/modules/websocket'; const { t } = useI18n(); const { createErrorModal } = useMessage(); const { getLocale } = useLocale(); +const useProdRoute = useProdRouteStore(); function _default() { + /* 瀹氫箟鍙橀噺 */ const isNormal = (type: number) => type === 0; const isScan = (type: number) => type === 1; const isAssy = (type: number) => type === 2; @@ -29,6 +49,10 @@ const isAudit = (type: number) => type === 4; const isPrint = (type: number) => type === 5; const isPackage = (type: number) => type === 6; + /** + * @description: 浜у搧缁戝畾宸ヨ壓璺嚎鐨勪竴浜涜嚜瀹氫箟鏂规硶 + * @return {*} + */ const methods = { /** * @description: 鑾峰彇鏍戝舰鍥炬爣 @@ -60,8 +84,8 @@ * @description: 楂樼骇琛ㄥ崟鍜岃鎯呴〉闈㈣繑鍥炰富椤甸潰鐨剈rl * @return {*} */ - GetHomeUrl: () => { - return `/V_BAS_PROD/LC/${encodeURI(JSON.stringify({ ID: 'V_BAS_PROD', colSlots: [], crudColSlots: [] }))}`; + GetHomeUrl: (params) => { + return `/V_BAS_PROD_R/LC/${encodeURI(JSON.stringify({ ID: 'V_BAS_PROD_R', colSlots: [], crudColSlots: [], sName: params['sName'] }))}`; }, /** * @description: 鑾峰彇鏍戝舰鏁版嵁 @@ -69,273 +93,250 @@ * @return {*} */ fetchTreeData: async (type: string, itemCode: string) => { - let data = { title: '', treeData: [] as any[], fieldNames: {} }; - let prodTreeData = await GetRoutePTree(itemCode); - // let uniqueArr = prodTreeData.reduce((acc, current) => { - // if (!acc.some((x) => x.pid == current.pid && x.id == current.id && x.seq == current.seq && x.type == current.type)) { - // acc.push(current); - // } - // return acc; - // }, [] as V_MES_ROUTE_PTREE[]); - data.treeData = convertToTree(prodTreeData, 'pid', 'tid', 'root'); + const data = { title: '', treeData: [] as any[], fieldNames: {} }; + const prodTreeData = (await GetRoutePTree({ + prodCode: itemCode, + orgCode: useUserStore().getUserInfo.orgCode, + })) as unknown as MesRotTree[]; + const _treeData = convertToTree(prodTreeData, 'pid', 'tid', 'root'); data.title = '宸ヨ壓璺嚎'; data.fieldNames = { key: 'tid', title: 'name' }; + if ( + !useProdRoute.changeToCPPage || + !useProdRoute.curProdRotTree.some((q) => q.name == itemCode) + ) { + /* 淇濆瓨宸ヨ壓鏍戝舰鏁版嵁鍒扮姸鎬佺鐞� */ + useProdRoute.setCurProdRotTree({ + name: itemCode, + treeInfo: _treeData as unknown as MesRotTree[], + }); + } + useProdRoute.setItemCode(itemCode); + useProdRoute.setname(itemCode); + if (useProdRoute.curProdRotTree.some((q) => q.name == itemCode)) { + data.treeData = useProdRoute.curProdRotTree.filter((q) => q.name == itemCode)[0].treeInfo; + } return data; }, - GetCrudForm: () => { - return [ - { - field: 'PROD_CODE', - label: '浜у搧缂栫爜', - component: 'Input', - dynamicDisabled: ({ values }) => { - return true; - }, - colProps: { span: 12 }, - }, - { - field: 'ID', - label: 'ID', - component: 'Input', - show: false, - }, - { - field: 'ACT_ID', - label: 'ACT_ID', - component: 'Input', - show: false, - }, - { - field: 'ROT_ID', - label: 'ROT_ID', - component: 'Input', - show: false, - }, - { - field: 'ACT_CODE', - label: 'ACT_CODE', - component: 'Input', - show: false, - }, - { - field: 'NODE_ID', - label: 'NODE_ID', - component: 'Input', - show: false, - }, - { - field: 'CUST_CODE', - label: '瀹㈡埛缂栫爜', - component: 'Input', - dynamicDisabled: ({ values }) => { - return true; - }, - colProps: { span: 12 }, - }, - { - field: 'ACT_TYPE', - label: '琛屼负绫诲瀷', - component: 'ApiSelect', - colProps: { span: 12 }, - defaultValue: 0, - componentProps: { - api: GetEnum, - params: { name: 'MES_PROD_ACTION+ACT_TYPEs' }, - resultField: 'Data', - labelField: unref(getLocale) == 'zh_CN' ? 'Desc' : 'Name', - valueField: 'Value', - // onChange: (e, v) => { - // alert(e) - // console.log('ApiSelect====>:', e, v); - // }, - }, - }, - { - field: 'IS_ACTIVE', - label: '鏄惁鍚敤', - required: true, - component: 'Select', - colProps: { span: 12 }, - componentProps: { - options: [ - { - label: '鏄�', - value: 'Y', - key: 'Y', - }, - { - label: '鍚�', - value: 'N', - key: 'N', - }, - ], - }, - }, - { - field: 'RULE_CODE', - label: '鎵爜楠岃瘉', - component: 'Input', - colProps: { span: 10 }, - ifShow: ({ values }) => isScan(values.ACT_TYPE), - }, - { - field: '0', - label: '1', - defaultValue: '', - component: 'Input', - colProps: { span: 2, pull: 1 }, - ifShow: ({ values }) => isScan(values.ACT_TYPE), - colSlot: 'scanadd', - }, - { - field: 'ITEM_CODE', - label: '缁勮涓婃枡', - colProps: { span: 10 }, - component: 'Input', - ifShow: ({ values }) => isAssy(values.ACT_TYPE), - }, - { - field: '00', - label: '1', - defaultValue: '', - component: 'Input', - colProps: { span: 2, pull: 1 }, - ifShow: ({ values }) => isAssy(values.ACT_TYPE), - colSlot: 'assyadd', - }, - { - field: 'TEST_CODE', - label: '浜у搧娴嬭瘯', - colProps: { span: 10 }, - component: 'Input', - ifShow: ({ values }) => isTest(values.ACT_TYPE), - }, - { - field: 'test0', - label: '1', - defaultValue: '', - component: 'Input', - colProps: { span: 2, pull: 1 }, - ifShow: ({ values }) => isTest(values.ACT_TYPE), - colSlot: 'testadd', - }, - { - field: 'SAPL_CODE', - label: '浜у搧鎶芥', - colProps: { span: 10 }, - component: 'Input', - ifShow: ({ values }) => isAudit(values.ACT_TYPE), - }, - { - field: 'audit0', - label: '1', - defaultValue: '', - component: 'Input', - colProps: { span: 2, pull: 1 }, - ifShow: ({ values }) => isAudit(values.ACT_TYPE), - colSlot: 'auditadd', - }, - { - field: 'LABEL_CODE', - label: '鏍囩鎵撳嵃', - colProps: { span: 10 }, - component: 'Input', - ifShow: ({ values }) => isPrint(values.ACT_TYPE), - }, - { - field: 'print0', - label: '1', - defaultValue: '', - component: 'Input', - colProps: { span: 2, pull: 1 }, - ifShow: ({ values }) => isPrint(values.ACT_TYPE), - colSlot: 'printadd', - }, - { - field: 'pkgRULE_CODE', - label: '鍖呰瑙勫垯', - colProps: { span: 10 }, - component: 'Input', - ifShow: ({ values }) => isPackage(values.ACT_TYPE), - }, - { - field: 'pkg0', - label: '1', - defaultValue: '', - component: 'Input', - colProps: { span: 2, pull: 1 }, - ifShow: ({ values }) => isPackage(values.ACT_TYPE), - colSlot: 'pkgadd', - }, - { - field: 'REMARK', - label: '澶囨敞', - component: 'Input', - colProps: { span: 12 }, - }, - ]; + /** + * @description: 鎿嶄綔瀛楁鑷畾涔夋寜閽紝蹇呴渶瑕佹湁鐨勬柟娉� + * @return {*} + */ + ActionItem: (params: Recordable<any>, data, ...args): ActionItem[] => { + data.push({ + icon: 'template|svg', + tooltip: '妯℃澘缁存姢', + onClick: handleTemplate.bind(null, args, params), + name: '妯℃澘缁存姢', + }); + return data; + }, + /** + * @description: 鑾峰彇閰嶇疆椤硅〃鍗曞瓧娈碉紝鏍规嵁鏍戝舰鑺傜偣type涓嶅悓鑰屼笉鍚� + * @param {string} type + * @return {*} + */ + GetCrudForm: (type: string) => { + let form: FormSchema[] = []; + switch (type) { + case 'Action': + form = actionFormShema; + break; + case 'Node': + form = nodeFormShema; + break; + default: + form = crudForms[type]; + break; + } + return form; }, /** * @description: 鑾峰彇琛ㄥ崟涓殑瀛楁鎻掓Ы鍒楄〃 * @return {*} */ GetCrudColSlots: () => { - return ['scanadd', 'assyadd', 'testadd', 'auditadd', 'printadd', 'pkgadd']; + return [ + { name: 'scanadd', icon: 'search|svg' }, + { name: 'assyadd', icon: 'search|svg' }, + { name: 'testadd', icon: 'search|svg' }, + { name: 'auditadd', icon: 'search|svg' }, + { name: 'printadd', icon: 'search|svg' }, + { name: 'pkgadd', icon: 'search|svg' }, + { name: 'labeladd', icon: 'template|svg' }, + ]; }, - nodeChange: (params: { - resetFields: any; - setFieldsValue: any; - objParams: Ref<any>; - selectedNodes: Ref<any[]>; - }) => { - let sqlcmd = ' 1=1 '; - if (!isNullOrEmpty(params['objParams'].value['CODE'])) { - sqlcmd += `And PROD_CODE = '${params['objParams'].value['CODE']}'`; - } - // if (!isNullOrEmpty(Cust_Code.value)) { - // sqlcmd += `And CUST_CODE = '${Cust_Code.value}'`; - // } - if (!isNullOrEmpty(params['selectedNodes'].value[0].code)) { - sqlcmd += `And ACT_ID = '${params['selectedNodes'].value[0].code}'`; - } - getEntity({ - sqlcmd: sqlcmd, - entityName: 'MES_PROD_ACTION', - }).then((res) => { - params['resetFields'](); - params['setFieldsValue']({ - ID: res.Data.Items[0].ID, - ACT_ID: res.Data.Items[0].ACT_ID, - ROT_ID: res.Data.Items[0].ROT_ID, - NODE_ID: res.Data.Items[0].NODE_ID, - IS_ACTIVE: res.Data.Items[0].IS_ACTIVE, - ITEM_CODE: res.Data.Items[0].ITEM_CODE, - ACT_CODE: res.Data.Items[0].ACT_CODE, - REMARK: res.Data.Items[0].REMARK, - PROD_CODE: params['objParams'].value['CODE'], - ACT_TYPE: res.Data.Items[0].ACT_TYPE, - CUST_CODE: params['selectedNodes'].value[0].cust, - }); - }); - }, + /** + * @description: 鍒囨崲鑺傜偣鏃朵簨浠舵柟娉� + * @return {*} + */ + nodeChange: (params: { useForms: Ref<any>; objParams: Ref<any>; selectedNodes: any[] }) => + new Promise<any>(async (resolve, reject) => { + // params['useForms'].value = methods.GetUseForm(); + const result = { isShow: {} }; + let sqlcmd = ' 1=1 '; + if (!isNullOrEmpty(params['objParams'].value['CODE'])) { + sqlcmd += `And PROD_CODE = '${params['objParams'].value['CODE']}'`; + } + if (!isNullOrEmpty(params['selectedNodes'][0].cust)) { + sqlcmd += `And CUST_CODE = '${params['selectedNodes'][0].cust}'`; + } + if (!isNullOrEmpty(params['selectedNodes'][0].id)) { + sqlcmd += + params['selectedNodes'][0].type == 'Action' + ? `And ACT_ID = '${params['selectedNodes'][0].id}'` + : `And NODE_ID = '${params['selectedNodes'][0].id}'`; + } + try { + const res = await getEntity({ + sqlcmd: sqlcmd, + entityName: + params['selectedNodes'][0].type == 'Action' ? 'MES_PROD_ACTION' : 'MES_PROD_OPER', + order: '', + }); + const setFieldsValue = params['useForms'].value['Action'][1]['setFieldsValue']; + const setFieldsValueNode = params['useForms'].value['Node'][1]['setFieldsValue']; + const resetFields = params['useForms'].value['Action'][1]['resetFields']; + const resetFieldsNode = params['useForms'].value['Node'][1]['resetFields']; + if (params['selectedNodes'][0].type == 'Action') { + resetFields(); + setFieldsValue({ + ID: res.Data.Items[0].ID, + ACT_ID: res.Data.Items[0].ACT_ID, + ROT_ID: res.Data.Items[0].ROT_ID, + NODE_ID: res.Data.Items[0].NODE_ID, + IS_ACTIVE: res.Data.Items[0].IS_ACTIVE, + ITEM_CODE: res.Data.Items[0].ITEM_CODE, + RULE_CODE: res.Data.Items[0].RULE_CODE, + TEST_CODE: res.Data.Items[0].TEST_CODE, + SAPL_CODE: res.Data.Items[0].SAPL_CODE, + LABEL_CODE: res.Data.Items[0].LABEL_CODE, + PKG_CODE: res.Data.Items[0].PKG_CODE, + ACT_CODE: res.Data.Items[0].ACT_CODE, + REMARK: res.Data.Items[0].REMARK, + PROD_CODE: params['objParams'].value['CODE'], + ACT_TYPE: res.Data.Items[0].ACT_TYPE, + CUST_CODE: params['selectedNodes'][0].cust, + OPTION_1: res.Data.Items[0].OPTION_1, + OPTION_2: res.Data.Items[0].OPTION_2, + }); + /* 濡傛灉鏄寘瑁呰鍒� */ + if (res.Data.Items[0].ACT_TYPE == 6) { + result['name'] = 'BAS_PKG_DTL'; + result['isShow'] = { + BAS_PKG_DTL: isNullOrEmpty(res.Data.Items[0].PKG_CODE) ? false : true, + ItemCode: false, + }; + const ents = await getEntity({ + sqlcmd: `RULE_CODE ='${res.Data.Items[0].PKG_CODE}'`, + entityName: 'V_BAS_PKG_DTL', + order: '', + }); + result['BAS_PKG_DTL'] = isNullOrEmpty(res.Data.Items[0].OPTION_1) + ? ents.Data.Items + : JSON.parse(res.Data.Items[0].OPTION_1); + /* 濡傛灉OPTION_1瀛楁涓虹┖灏辨妸鍖呰淇℃伅杞琂SON瀛樺埌OPTION_1瀛楁 */ + res.Data.Items[0].OPTION_1 = JSON.stringify(result['BAS_PKG_DTL']); + } /* 濡傛灉鏄粍瑁呬笂鏂� */ + if (res.Data.Items[0].ACT_TYPE == 2) { + result['name'] = 'ItemCode'; + result['ItemCode'] = JSON.parse(res.Data.Items[0].OPTION_1); + result['isShow'] = { + BAS_PKG_DTL: false, + ItemCode: true, + }; + } + result['Action'] = res.Data.Items; + } + if (params['selectedNodes'][0].type == 'Node') { + resetFieldsNode(); + const values = { + ID: res.Data.Items[0].ID, + OPER_CODE: res.Data.Items[0].OPER_CODE, + ROT_ID: res.Data.Items[0].ROT_ID, + NODE_ID: res.Data.Items[0].NODE_ID, + NODE_NAME: res.Data.Items[0].NODE_NAME, + IS_ACTIVE: isNullOrEmpty(res.Data.Items[0].IS_ACTIVE) + ? 'N' + : res.Data.Items[0].IS_ACTIVE, + IS_CALC_FPY: isNullOrEmpty(res.Data.Items[0].IS_CALC_FPY) + ? 'N' + : res.Data.Items[0].IS_CALC_FPY, + CAN_SKIP: isNullOrEmpty(res.Data.Items[0].CAN_SKIP) + ? 'N' + : res.Data.Items[0].CAN_SKIP, + IS_INPUT: isNullOrEmpty(res.Data.Items[0].IS_INPUT) + ? 'N' + : res.Data.Items[0].IS_INPUT, + IS_OUTPUT: isNullOrEmpty(res.Data.Items[0].IS_OUTPUT) + ? 'N' + : res.Data.Items[0].IS_OUTPUT, + ALLOW_DFT_IN: isNullOrEmpty(res.Data.Items[0].ALLOW_DFT_IN) + ? 'N' + : res.Data.Items[0].ALLOW_DFT_IN, + IF_DFT_OFFLINE: isNullOrEmpty(res.Data.Items[0].IF_DFT_OFFLINE) + ? 'N' + : res.Data.Items[0].IF_DFT_OFFLINE, + REMARK: res.Data.Items[0].REMARK, + PROD_CODE: params['objParams'].value['CODE'], + CUST_CODE: params['selectedNodes'][0].cust, + }; + setFieldsValueNode(values); + + /* 榛樿淇濆瓨 */ + SaveEntity(values, true, 'MES_PROD_OPER'); + + // result['Node'] = res.Data.Items; + result['name'] = 'Node'; + result['isShow'] = { + BAS_PKG_DTL: false, + ItemCode: false, + }; + } + useProdRoute.setcurDtl(result); + resolve(result); + } catch (e) { + reject(e); + } + }), /** * @description: 鑷畾涔夋彁浜ゆ柟娉� * @return {*} */ - SubmitFunc: (values: Recordable<any>, emit) => { - SaveEntity(values, true, 'MES_PROD_ACTION').then((action) => { - if (action.IsSuccessed) { - emit('success'); + SubmitFunc: (values: Recordable<any>, type: string, emit) => + new Promise<any>((resolve, reject) => { + let entityName = ''; + switch (type) { + case 'Action': + entityName = 'MES_PROD_ACTION'; + break; + case 'Node': + entityName = 'MES_PROD_OPER'; + break; } - }); - }, + values.AUTH_ORG = useUserStore().getUserInfo.orgCode; + values.AUTH_PROD = useUserStore().getUserInfo.prodCode; + if (type == 'Action') { + values.OPTION_1 = JSON.stringify(useProdRoute.getcurDtl['BAS_PKG_DTL']); + } + SaveEntity(values, true, entityName).then((action) => { + if (action.IsSuccessed) { + emit('success'); + } + }); + resolve(true); + }), /** * @description: 寮瑰嚭閫夋嫨妗嗘墦寮�鏂规硶 * @param {Fn} openItemModal + * @param {array} args * @return {*} */ OpenSelectItem: (openItemModal: Fn, ...args) => { let config = {}; + const openCrudModal = args[1]; + const record = args[2]; + const OrderNo = args[3]; switch (args[0]) { case 'scanadd': config = ruleModalCfg; @@ -353,36 +354,99 @@ config = pkgModalCfg; break; } - openItemModal(true, config); + if (args[0] == 'labeladd') { + openCrudModal(true, { + isUpdate: true, //鏄惁鏇存柊鎿嶄綔 + entityName: 'ProdRouteBinding', //鏄摢涓〉闈� + ctype: 'BAS_LABEL_VAR_WO', //瀹炰綋鍚嶇О + title: '妯℃澘缁存姢', //鏍囬 + width: '1024px', //寮瑰嚭妗嗗搴� + ItemColumns: TemplateBasColumn, //寮瑰嚭妗嗕腑琛ㄦ牸瀛楁缁撴瀯 + schemas: [], //鏌ヨ鏉′欢瀛楁缁撴瀯 + others: { WORK_ORDER: OrderNo }, //闇�瑕佸甫鍒板脊鍑虹獥鍙d腑鐨勬暟鎹� + searchInfo: { + TABLE_NAME: 'BAS_LABEL_VAR_WO', //瀹炰綋鍚嶇О + LabelId: record.LABEL_CODE, //妯℃澘ID + WorkOrder: OrderNo, //宸ュ崟鍙� + apiUrl: mesApi.GetLabelVarByWorkOrder, //鑷畾涔夎幏鍙栨暟鎹垎椤电殑api锛屼笉鐢ㄩ粯璁ょ殑鍩虹鏂规硶 + // sqlcmd: ` (WORK_ORDER = '${OrderNo}' OR WORK_ORDER = '' OR WORK_ORDER IS NULL)`, + // option: + // { + // //鏍规嵁鎹偣鏌ヨ锛屽繀闇�甯﹁繖涓弬鏁� + // UserId: useUserStore().getUserInfo.userId, + // ByOrg: true, + // CurOrg: useUserStore().getUserInfo.orgCode, + // }, + }, + values: record, //琛ㄥ崟璁板綍 + }); + } else { + openItemModal(true, config); + } }, /** * @description: 寮瑰嚭閫夋嫨妗嗛�夋嫨鎴愬姛杩斿洖 * @param {*} d * @param {*} u + * @param {array} args * @return {*} */ - GetSelectSuccess: (d, u, ...args) => { + GetSelectSuccess: async (d, u, ...args) => { let value = {}; switch (args[0]) { case 'scanadd': value = { - RULE_CODE: d.values['val'], + value: { + RULE_CODE: d.values['val'], + }, + isShow: { BAS_PKG_DTL: false, ItemCode: false }, }; break; case 'assyadd': + const items = d.values['val'].split(','); + const data: any[] = []; + if (!isNullOrEmpty(items) && items.length > 0) { + items.map((x) => { + data.push({ + ITEM_CODE: x, + RULE_CODE: '', + IsBatchItem: 'N', + QTY: 1, + }); + }); + } value = { - ITEM_CODE: d.values['val'], + value: { + ITEM_CODE: d.values['val'], + }, + isShow: { BAS_PKG_DTL: false, ItemCode: true }, + data: data, + name: 'ItemCode', }; break; case 'printadd': value = { - LABEL_CODE: d.values['val'], + value: { + LABEL_CODE: d.values['val'], + }, + isShow: { BAS_PKG_DTL: false, ItemCode: false }, }; break; case 'pkgadd': + const ents = await getEntity({ + sqlcmd: `RULE_CODE ='${d.values['val']}'`, + entityName: 'V_BAS_PKG_DTL', + order: '', + }); value = { - pkgRULE_CODE: d.values['val'], + value: { + PKG_CODE: d.values['val'], + }, + isShow: { BAS_PKG_DTL: true, ItemCode: false }, + data: ents.Data.Items, + name: 'BAS_PKG_DTL', }; + break; case 'addRoute': if (isNullOrEmpty(args[1]['CODE'])) { createErrorModal({ @@ -391,13 +455,11 @@ }); return; } - let codes = d.values.id.split(','); + const codes = d.values.id.split(','); var i; for (i = 0; i < codes.length; i++) { if (d.which == 'addRoute') { RouteToProd({ rotId: codes[i], prodCode: args[1]['CODE'] }); - } else { - RouteToCust({ rotId: codes[i], prodCode: args[1]['CODE'], custCode: '' }); } } @@ -411,7 +473,7 @@ }); return; } - let rotIds = d.ROT_ID.split(','); + const rotIds = d.ROT_ID.split(','); var i; for (i = 0; i < rotIds.length; i++) { RouteToCust({ rotId: rotIds[i], prodCode: args[1]['CODE'], custCode: d.CUST_CODE }); @@ -423,79 +485,248 @@ return value; }, /** - * @description: 鑾峰彇妯℃�佹搴旂敤鍒楄〃 + * @description: 鑾峰彇妯℃�佹搴旂敤鍒楄〃 ['scanadd', 'assyadd', 'testadd', 'auditadd', 'printadd', 'pkgadd'] * @return {*} */ GetUseModals: () => { return { addRoute: useModal(), addCustomer: useModal(), + editRoute: useModal(), + scanadd: useModal(), + assyadd: useModal(), + testadd: useModal(), + auditadd: useModal(), + printadd: useModal(), + labeladd: useModal(), + pkgadd: useModal(), + }; + }, + /** + * @description: 鑾峰彇鍦ㄥ鍒犳敼琛ㄥ崟涓殑妯℃�佹搴旂敤鍒楄〃 + * @return {*} + */ + GetUseCrudModals: () => { + return { + addRoute: useModal(), + addCustomer: useModal(), + editRoute: useModal(), + scanadd: useModal(), + assyadd: useModal(), + testadd: useModal(), + auditadd: useModal(), + printadd: useModal(), + labeladd: useModal(), + pkgadd: useModal(), + }; + }, + /** + * @description: 鑾峰彇琛ㄦ牸use鍒楄〃锛岃繖閲岃窡涓婚〉闈紶杩囨潵鐨凮therTableName: ['BAS_PKG_DTL', 'ItemCode']鍐呯殑鍚嶇О鏄竴鑷寸殑銆� + * @param {string} type + * @param {array} args + * @return {*} + */ + GetUseTables: (data: Ref<{}>, ...args) => { + // data.value['Table'] = []; + return { + BAS_PKG_DTL: useTable({ + title: '鍒楄〃淇℃伅', + // api: getListByPage, + // searchInfo: { TABLE_NAME: 'V_BAS_PKG_DTL' }, + dataSource: data.value['BAS_PKG_DTL'], + columns: GetBaseColumns('BAS_PKG_DTL', args[0], data), + // maxHeight: 520, + // scroll: { y: window.screen.width == 1366? 400: 450 }, + isCanResizeParent: true, + useSearchForm: false, + showTableSetting: false, + bordered: true, + // canResize: false, + showIndexColumn: false, + // rowSelection: { + // type: 'radio', //'checkbox' + // }, + actionColumn: { + width: 100, + title: '鎿嶄綔', + dataIndex: 'action', + slots: { customRender: 'action' }, + fixed: 'right', + }, //鑷畾涔夋搷浣滃垪 + }), + ItemCode: useTable({ + title: '鍒楄〃淇℃伅', + // api: getListByPage, + // searchInfo: { TABLE_NAME: 'V_BAS_PKG_DTL' }, + dataSource: data.value['ItemCode'], + columns: GetBaseColumns('ItemCode', args[0], data), + maxHeight: 520, + useSearchForm: false, + showTableSetting: false, + bordered: true, + canResize: true, + showIndexColumn: false, + // rowSelection: { + // type: 'radio', //'checkbox' + // }, + actionColumn: { + width: 100, + title: '鎿嶄綔', + dataIndex: 'action', + slots: { customRender: 'action' }, + fixed: 'right', + }, //鑷畾涔夋搷浣滃垪 + }), + }; + }, + /** + * @description: 鑾峰彇琛屼负鎴栬�呰妭鐐圭殑閰嶇疆琛ㄥ崟缁撴瀯锛屼娇鐢╱seForm() + * @return {*} + */ + GetUseForm: () => { + return { + Action: useForm({ + labelWidth: 145, + schemas: methods.GetCrudForm('Action'), + actionColOptions: { + offset: 8, + span: 24, + }, + wrapperCol: { + span: 15, + }, + showActionButtonGroup: true, + submitButtonOptions: { + text: '淇濆瓨', + }, + }), + Node: useForm({ + labelWidth: 145, + schemas: methods.GetCrudForm('Node'), + actionColOptions: { + offset: 8, + span: 24, + }, + wrapperCol: { + span: 15, + }, + showActionButtonGroup: true, + submitButtonOptions: { + text: '淇濆瓨', + }, + }), }; }, /** * @description: 鑾峰彇鏍囬淇℃伅 * @param {string} type + * @param {*} item * @return {*} */ - GetTitle: () => { + GetTitle: (type: string, item) => { return { - configTitle: '琛屼负閰嶇疆', - navTitle: '娣诲姞宸ヨ壓璺嚎', + configTitle: type == 'Action' ? '琛屼负閰嶇疆' : '宸ュ簭閰嶇疆', + navTitle: type == 'Product' ? '娣诲姞宸ヨ壓璺嚎' : '宸ヨ壓璺嚎缁存姢', + tableTitle: type == 'Action' ? (item == 'ItemCode' ? '涓婃枡鍒楄〃' : '鍖呰灞傜骇鍒楄〃') : '', }; }, /** - * @description: 鏍规嵁閫変腑鐨勬爲鑺傜偣鍒ゆ柇瑕佸垏鎹㈠摢涓粍浠� + * @description: 鏍规嵁閫変腑鐨勬爲鑺傜偣杩斿洖涓婚〉闈紝鑷畾涔夋柟娉曪紝杩欓噷鏄垽鏂鍒囨崲鍝釜缁勪欢 * @param {Ref} selectedNodes * @return {*} */ - SelectNode: (selectedNodes: Ref<any[]>) => { - let result = { showConfig: false, showNav: false }; - if (isNullOrUnDef(selectedNodes)) { + SelectNode: (selectedNodes: Ref<any[]>, code: string) => { + const result = { + showConfig: false, + showNav: false, + type: selectedNodes.value[0].type, + nodes: selectedNodes.value, + showOtherTable: { BAS_PKG_DTL: false, ItemCode: false }, + }; + if (isNullOrUnDef(selectedNodes.value)) { return result; } - if (selectedNodes.value[0].type == 'Product') { + if (selectedNodes.value[0].type == 'Product' || selectedNodes.value[0].type == 'Route') { result.showNav = true; result.showConfig = false; + result.showOtherTable = { BAS_PKG_DTL: false, ItemCode: false }; } - if (selectedNodes.value[0].type == 'Action') { + if (selectedNodes.value[0].type == 'Action' || selectedNodes.value[0].type == 'Node') { result.showNav = false; result.showConfig = true; + result.showOtherTable = { BAS_PKG_DTL: false, ItemCode: false }; } + /* 淇濆瓨褰撳墠閫夋嫨鐨勮妭鐐规暟鎹埌鐘舵�佺鐞� */ + useProdRoute.setCurSelectedNodes({ name: code, SelectedNodes: selectedNodes.value }); return result; }, /** * @description: 鑾峰彇瀵艰埅椤� + * @param {string} type * @return {*} */ - GetNavItems: () => { - return [ - { - title: '娣诲姞浜у搧宸ヨ壓璺嚎', - icon: 'add_green|svg', - color: '#1fdaca', - url: '/addRoute', - action: 'addRoute', - isStep: false, - }, - { - title: '娣诲姞瀹㈡埛宸ヨ壓璺嚎', - icon: 'add_customer|svg', - color: '#bf0c2c', - url: '/addCustomer', - action: 'addCustomer', - isStep: true, - }, - ] as NavItem[]; + GetNavItems: (type: string) => { + let item: NavItem[] = []; + switch (type) { + case 'Product': + item = [ + { + title: '娣诲姞浜у搧宸ヨ壓璺嚎', + icon: 'add_green|svg', + color: '#1fdaca', + url: '/addRoute', + action: 'addRoute', + isStep: false, + isCustEl: false, + }, + { + title: '娣诲姞瀹㈡埛宸ヨ壓璺嚎', + icon: 'add_customer|svg', + color: '#bf0c2c', + url: '/addCustomer', + action: 'addCustomer', + isStep: true, + isCustEl: false, + }, + ]; + break; + case 'Route': + item = [ + { + title: '缂栬緫宸ヨ壓璺嚎', //鏍囬 + icon: 'clarity:note-edit-line', //鍥炬爣 + color: '#1fdaca', //瀛椾綋棰滆壊 + url: '/editRoute', //瀵艰埅鍦板潃 + action: 'editRoute', //瀵艰埅鎵ц鐨勬柟娉曪紝濡傛灉鎸夎繖涓猘ction鏉ユ墽琛岋紝涓婇潰鐨剈rl灏辨棤鏁� + isStep: false, //鏄惁鏄楠� + isCustEl: false, //鏄惁鏄嚜瀹氫箟html鍐呭 + }, + { + title: '璁剧疆榛樿宸ヨ壓璺嚎', + icon: '', + color: '#1fdaca', + url: '', + action: '', + isStep: false, + isCustEl: true, + }, + ]; + break; + } + return item; }, /** * @description: 瀵艰埅椤甸潰鍒囨崲鎸夐挳鏃惰皟鐢ㄦ柟娉� * @param {any} action + * @param {array} args * @return {*} */ navChangeItem: (action: any, ...args) => { + const openRvModal = args[1]; + const openModal = args[0]; switch (action) { case 'addRoute': - args[0](true, { + openModal(true, { title: '宸ヨ壓璺嚎鍒楄〃', schemas: [ { @@ -525,20 +756,337 @@ ], tableName: 'MES_ROUTE', rowKey: 'ROT_CODE', - returnFieldName: 'ROUTE_CODE', //杩斿洖鍊艰璧嬪�肩殑瀛楁鍚嶇О + returnFieldName: ['ROUTE_CODE'], //杩斿洖鍊艰璧嬪�肩殑瀛楁鍚嶇О searchInfo: { TABLE_NAME: 'MES_ROUTE' }, which: action, }); break; case 'addCustomer': - args[0](true, { + openModal(true, { title: '璇峰畬鎴愪互涓嬫楠�', + }); + break; + case 'editRoute': + openRvModal(true, { + rotId: args[2][0].id, + slotName: '', + prodCode: args[3], + custCode: args[2][0].cust, }); break; } }, + /** + * @description: 鑾峰彇鍗$墖鍐呴厤缃垪琛紝浠ュ惊鐜樉绀哄涓崱鐗囧苟閰嶇疆澶氫釜鎻掓Ы + * @return {*} + */ + GetBaseCards: (type: string) => { + let reusts: any[] = []; + switch (type) { + case 'Product': + reusts = []; + break; + case 'Route': + reusts = [ + { + name: 'RotInfo', + slots: [], + preIcons: {}, + title: '宸ヨ壓璺嚎鍥�', + entityName: '', + }, + ]; + break; + } + return reusts; + }, + /** + * @description: 鑾峰彇鎻掓Ы鍒楄〃 + * @return {*} + */ + GetSlots: () => { + return ['RotInfo']; + }, + /** + * @description: 鐢熸垚html + * @return {*} + */ + GenerateHtml: (type: string | null) => { + const newElement = document.createElement('div'); + // newElement.textContent = 'New Element =>'+type; + // newElement.style.height = '250px'; + newElement.id = 'lfContainer'; + newElement.className = 'h-full'; + // newElement.style.color = 'blue'; + // newElement.style.fontSize = '16px'; + return newElement; + }, + /** + * @description: 鑷畾涔夋柟娉� + * @param {string} type + * @param {array} args + * @return {*} + */ + CustFunc: async (param: CustModalParams) => { + return new Promise<any>(async (resolve, reject) => { + try { + switch (param['ctype']) { + case 'BAS_PKG_DTL': + // const ents = await getEntity({ + // sqlcmd: `PKG_RULE_ID ='${param.values['PKG_RULE_ID']}'`, + // entityName: 'V_BAS_PKG_DTL', + // order: '', + // }); + // param.data.value['Table'] = ents.Data.Items; + param.data.value['BAS_PKG_DTL'].map((x) => { + if (x.PKG_CODE == param.values['PKG_CODE']) { + x.LABEL_CODE = param.values['LABEL_CODE']; + x.LABEL_ID = param.values['LABEL_CODE']; + } + }); + param.data.value['Action'][0]['OPTION_1'] = JSON.stringify( + param.data.value['BAS_PKG_DTL'], + ); + resolve('OK'); + break; + case 'ItemCode': + param.data.value['ItemCode'].map((x) => { + if (x.ITEM_CODE == param.values['ITEM_CODE']) { + x.IsBatchItem = param.values['IsBatchItem']; + x.RULE_CODE = param.values['RULE_CODE']; + } + }); + param.data.value['Action'][0]['OPTION_1'] = JSON.stringify( + param.data.value['ItemCode'], + ); + resolve('OK'); + break; + case 'BAS_LABEL_VAR_WO': + param.values['PROD_CODE'] = param.others['PROD_CODE']; + param.values['ID'] = buildUUID(); + var action = await AddOrEditLabelVarByWorkOrder( + param.values as unknown as BAS_LABEL_VAR_WO, + ); + resolve(action); + case 'isDefault': + /* 璁剧疆榛樿宸ヨ壓璺嚎 */ + var action = await useProdRoute.setDefaulRoute(param); + resolve(action); + case 'delete': + const webSocketStore = useWebSocketStore(); + if (webSocketStore.GetSocketState == 1) { + webSocketStore.sendMessage( + `wsGetNew ${param.values['LABEL_ID']}_#_${param.values['PROD_CODE']}`, + ); + } + break; + } + } catch (e) { + reject(e); + } + }); + }, + /** + * @description: 鑾峰彇鍙抽敭鑿滃崟鍒楄〃 + * @param {EventDataNode} node + * @return {*} + */ + GetRightMenuList: (node: EventDataNode, ...args): ContextMenuItem[] => { + const emit = args[0]; + const menu = [ + // { + // label: '鏂板', + // handler: () => { + // console.log('鐐瑰嚮浜嗘柊澧�', node); + // }, + // icon: 'bi:plus', + // }, + { + label: '鍒犻櫎', + handler: () => { + console.log('鐐瑰嚮浜嗗垹闄�', node); + DeleteProdRoute({ rotId: node.id, rotCode: node.code, prodCode: args[1], custCode: node.cust }).then( + (action) => { + if (action.IsSuccessed) { + emit('deletenode', node); + } else { + createErrorModal({ + title: t('sys.api.errorTip'), + content: t(action.LocaleMsg), + }); + } + }, + ); + }, + icon: 'bx:bxs-folder-open', + }, + ]; + return node.type == 'Route' ? menu : []; + }, }; + /* 浠ヤ笅鏄唴閮ㄦ柟娉曪紝涓峞xport锛屼緵涓婇潰鐨勬柟娉曡皟鐢� */ + + let columns: BasicColumn[] = []; + /** + * @description: 鑾峰彇琛ㄦ牸瀛楁Json + * @param {string} type + * @return {*} + */ + function GetBaseColumns(type: string, emit, data: Ref<{}>) { + switch (type) { + case 'BAS_PKG_DTL': + columns = [ + { + dataIndex: 'PKG_RULE_ID', + title: '鍖呰瑙勫垯ID', + ifShow: false, + sorter: true, + resizable: true, + }, + { + dataIndex: 'PKG_CODE', + title: '鍖呰缂栫爜', + ifShow: false, + sorter: true, + resizable: true, + customRender: () => {}, + }, + { + dataIndex: 'PKG_NAME', + title: '鍖呰鍚嶇О', + ifShow: true, + sorter: true, + resizable: true, + customRender: () => {}, + }, + { + dataIndex: 'PKG_QTY', + title: '鍖呰鏁伴噺', + ifShow: true, + sorter: true, + resizable: true, + customRender: () => {}, + }, + { + dataIndex: 'PKG_LEVEL', + title: '鍖呰灞傜骇', + ifShow: true, + sorter: true, + resizable: true, + customRender: () => {}, + }, + { + dataIndex: 'LABEL_CODE', + title: '鏍囩妯℃澘缂栫爜', + // edit: true, + // editRule: true, + ifShow: true, + sorter: true, + resizable: true, + // editComponent: 'Input', + // editComponentProps: (column) => { + // return { + // onClick: (event) => { + // console.log(column); + // }, + // }; + // }, + // customCell: (record, rowIndex) => { + // return { + // onClick: (event) => { + // console.log(record); + // }, + // }; + // }, + }, + { + dataIndex: 'LABEL_ID', + title: '鏍囩妯℃澘ID', + ifShow: false, + customRender: () => {}, + }, + ] as BasicColumn[]; + break; + case 'ItemCode': + /* + public string ITEM_CODE { get; set; } + public string RULE_CODE { get; set; } + /// <summary> + /// 鏄惁鎵规鐗╂枡 + /// </summary> + public bool IsBatchItem { get; set; } + /// <summary> + /// 涓婃枡鏁伴噺 + /// </summary> + public int QTY { get; set; } + */ + columns = [ + { + dataIndex: 'ITEM_CODE', + title: '鐗╂枡缂栫爜', + ifShow: true, + sorter: true, + resizable: true, + }, + { + dataIndex: 'RULE_CODE', + title: '瑙勫垯缂栫爜', + ifShow: true, + sorter: true, + resizable: true, + customRender: () => {}, + }, + { + dataIndex: 'IsBatchItem', + title: '鏄惁鎵规鐗╂枡', + ifShow: true, + sorter: true, + resizable: true, + customRender: () => {}, + }, + { + dataIndex: 'QTY', + title: '涓婃枡鏁伴噺', + ifShow: true, + sorter: true, + resizable: true, + customRender: () => {}, + }, + // { + // dataIndex: 'LABEL_CODE', + // title: '鏍囩妯℃澘缂栫爜', + // // edit: true, + // // editRule: true, + // ifShow: true, + // sorter: true, + // resizable: true, + // // editComponent: 'Input', + // // editComponentProps: (column) => { + // // return { + // // onClick: (event) => { + // // console.log(column); + // // }, + // // }; + // // }, + // // customCell: (record, rowIndex) => { + // // return { + // // onClick: (event) => { + // // console.log(record); + // // }, + // // }; + // // }, + // }, + ] as BasicColumn[]; + break; + } + return columns; + } + + /** + * @description: 寮瑰嚭閫夋嫨妗�-鐗╂枡閫夋嫨妗嗛厤缃� + * @return {*} + */ const itemCodeModalCfg = { title: '鐗╂枡鍒楄〃', schemas: [ @@ -572,6 +1120,10 @@ searchInfo: { TABLE_NAME: 'BAS_ITEM' }, }; + /** + * @description: 寮瑰嚭閫夋嫨妗�-瑙勫垯閫夋嫨妗嗛厤缃� + * @return {*} + */ const ruleModalCfg = { title: '瑙勫垯鍒楄〃', schemas: [ @@ -605,6 +1157,10 @@ searchInfo: { TABLE_NAME: 'BAS_CODE_RULE' }, }; + /** + * @description: 寮瑰嚭閫夋嫨妗�-鎵撳嵃妯℃澘閫夋嫨妗嗛厤缃� + * @return {*} + */ const printModalCfg = { title: '鎵撳嵃妯℃澘鍒楄〃', schemas: [ @@ -671,6 +1227,693 @@ searchInfo: { TABLE_NAME: 'BAS_PKG_RULE' }, }; + /** + * @description: 琛屼负閰嶇疆琛ㄥ崟瀛楁 + * @return {*} + */ + const actionFormShema: FormSchema[] = [ + { + field: 'PROD_CODE', + label: '浜у搧缂栫爜', + component: 'Input', + dynamicDisabled: ({ values }) => { + return true; + }, + colProps: { span: 12 }, + }, + { + field: 'ID', + label: 'ID', + component: 'Input', + show: false, + }, + { + field: 'ACT_ID', + label: 'ACT_ID', + component: 'Input', + show: false, + }, + { + field: 'ROT_ID', + label: 'ROT_ID', + component: 'Input', + show: false, + }, + { + field: 'ACT_CODE', + label: 'ACT_CODE', + component: 'Input', + show: false, + }, + { + field: 'NODE_ID', + label: 'NODE_ID', + component: 'Input', + show: false, + }, + { + field: 'CUST_CODE', + label: '瀹㈡埛缂栫爜', + component: 'Input', + dynamicDisabled: ({ values }) => { + return true; + }, + colProps: { span: 12 }, + }, + { + field: 'ACT_TYPE', + label: '琛屼负绫诲瀷', + component: 'ApiSelect', + colProps: { span: 12 }, + defaultValue: 0, + componentProps: { + api: GetEnum, + params: { name: 'MES_PROD_ACTION+ACT_TYPEs' }, + resultField: 'Data', + labelField: unref(getLocale) == 'zh_CN' ? 'Desc' : 'Name', + valueField: 'Value', + // onChange: (e, v) => { + // alert(e) + // console.log('ApiSelect====>:', e, v); + // }, + }, + }, + { + field: 'IS_ACTIVE', + label: '鏄惁鍚敤', + required: true, + component: 'Select', + colProps: { span: 12 }, + componentProps: { + options: [ + { + label: '鏄�', + value: 'Y', + key: 'Y', + }, + { + label: '鍚�', + value: 'N', + key: 'N', + }, + ], + }, + }, + { + field: 'RULE_CODE', + label: '鎵爜楠岃瘉', + component: 'Input', + colProps: { span: 11 }, + ifShow: ({ values }) => isScan(values.ACT_TYPE), + }, + { + field: '0', + label: '1', + defaultValue: '', + component: 'Input', + colProps: { span: 1, pull: 1 }, + ifShow: ({ values }) => isScan(values.ACT_TYPE), + colSlot: 'scanadd', + }, + { + field: 'ITEM_CODE', + label: '缁勮涓婃枡', + colProps: { span: 11 }, + component: 'Input', + ifShow: ({ values }) => isAssy(values.ACT_TYPE), + }, + { + field: '00', + label: '1', + defaultValue: '', + component: 'Input', + colProps: { span: 1, pull: 1 }, + ifShow: ({ values }) => isAssy(values.ACT_TYPE), + colSlot: 'assyadd', + }, + { + field: 'TEST_CODE', + label: '浜у搧娴嬭瘯', + colProps: { span: 11 }, + component: 'Input', + ifShow: ({ values }) => isTest(values.ACT_TYPE), + }, + { + field: 'test0', + label: '1', + defaultValue: '', + component: 'Input', + colProps: { span: 1, pull: 1 }, + ifShow: ({ values }) => isTest(values.ACT_TYPE), + colSlot: 'testadd', + }, + { + field: 'SAPL_CODE', + label: '浜у搧鎶芥', + colProps: { span: 11 }, + component: 'Input', + ifShow: ({ values }) => isAudit(values.ACT_TYPE), + }, + { + field: 'audit0', + label: '1', + defaultValue: '', + component: 'Input', + colProps: { span: 1, pull: 1 }, + ifShow: ({ values }) => isAudit(values.ACT_TYPE), + colSlot: 'auditadd', + }, + { + field: 'LABEL_CODE', + label: '鏍囩鎵撳嵃', + colProps: { span: 9 }, + component: 'Input', + ifShow: ({ values }) => isPrint(values.ACT_TYPE), + }, + { + field: 'print0', + label: '1', + defaultValue: '', + component: 'Input', + colProps: { span: 2 }, + ifShow: ({ values }) => isPrint(values.ACT_TYPE), + colSlot: 'printadd', + }, + { + field: 'print1', + label: '1', + defaultValue: '', + component: 'Input', + colProps: { span: 1, pull: window.screen.width == 1366 ? -1 : 1 }, + ifShow: ({ values }) => isPrint(values.ACT_TYPE), + colSlot: 'labeladd', + }, + { + field: 'PKG_CODE', + label: '鍖呰瑙勫垯', + colProps: { span: 11 }, + component: 'Input', + ifShow: ({ values }) => isPackage(values.ACT_TYPE), + }, + { + field: 'pkg0', + label: '1', + defaultValue: '', + component: 'Input', + colProps: { span: 1, pull: 1 }, + ifShow: ({ values }) => isPackage(values.ACT_TYPE), + colSlot: 'pkgadd', + }, + { + field: 'OPTION_2', + label: '鏄惁绉伴噸', + required: true, + component: 'Select', + colProps: { span: 12 }, + ifShow: ({ values }) => isPackage(values.ACT_TYPE), + componentProps: { + options: [ + { + label: '鏄�', + value: 'Y', + key: 'Y', + }, + { + label: '鍚�', + value: 'N', + key: 'N', + }, + ], + }, + }, + { + field: 'REMARK', + label: '澶囨敞', + component: 'Input', + colProps: { span: 12 }, + }, + { + field: 'OPTION_1', + label: '琛屼负閫夐」1', + component: 'Input', + colProps: { span: 12 }, + show: false, + }, + ]; + + /** + * @description: 宸ュ簭閰嶇疆琛ㄥ崟瀛楁 + * @return {*} + */ + const nodeFormShema: FormSchema[] = [ + { + field: 'PROD_CODE', + label: '浜у搧缂栫爜', + component: 'Input', + dynamicDisabled: ({ values }) => { + return true; + }, + colProps: { span: 12 }, + }, + { + field: 'ID', + label: 'ID', + component: 'Input', + show: false, + }, + { + field: 'ACT_ID', + label: 'ACT_ID', + component: 'Input', + show: false, + }, + { + field: 'ROT_ID', + label: 'ROT_ID', + component: 'Input', + show: false, + }, + { + field: 'NODE_ID', + label: 'NODE_ID', + component: 'Input', + show: false, + }, + { + field: 'NODE_NAME', + label: '宸ュ簭鑺傜偣鍚嶇О', + component: 'Input', + }, + { + field: 'CUST_CODE', + label: '瀹㈡埛缂栫爜', + component: 'Input', + dynamicDisabled: ({ values }) => { + return true; + }, + colProps: { span: 12 }, + }, + { + field: 'OPER_CODE', + label: '宸ュ簭缂栫爜', + component: 'Input', + }, + { + field: 'IS_ACTIVE', + label: '鏄惁鍚敤', + required: true, + defaultValue: 'N', + component: 'Select', + colProps: { span: 12 }, + componentProps: { + options: [ + { + label: '鏄�', + value: 'Y', + key: 'Y', + }, + { + label: '鍚�', + value: 'N', + key: 'N', + }, + ], + }, + }, + { + field: 'IS_CALC_FPY', + label: '鏄惁璁$畻鐩撮�氱巼', + required: true, + component: 'Select', + defaultValue: 'N', + colProps: { span: 12 }, + componentProps: { + options: [ + { + label: '鏄�', + value: 'Y', + key: 'Y', + }, + { + label: '鍚�', + value: 'N', + key: 'N', + }, + ], + }, + }, + { + field: 'CAN_SKIP', + label: '鏄惁鍏佽璺崇珯', + required: true, + defaultValue: 'N', + component: 'Select', + colProps: { span: 12 }, + componentProps: { + options: [ + { + label: '鏄�', + value: 'Y', + key: 'Y', + }, + { + label: '鍚�', + value: 'N', + key: 'N', + }, + ], + }, + }, + { + field: 'IS_INPUT', + label: '鏄惁鎶曞叆绔�', + required: true, + defaultValue: 'N', + component: 'Select', + colProps: { span: 12 }, + componentProps: { + options: [ + { + label: '鏄�', + value: 'Y', + key: 'Y', + }, + { + label: '鍚�', + value: 'N', + key: 'N', + }, + ], + }, + }, + { + field: 'IS_OUTPUT', + label: '鏄惁浜у嚭绔�', + required: true, + defaultValue: 'N', + component: 'Select', + colProps: { span: 12 }, + componentProps: { + options: [ + { + label: '鏄�', + value: 'Y', + key: 'Y', + }, + { + label: '鍚�', + value: 'N', + key: 'N', + }, + ], + }, + }, + { + field: 'ALLOW_DFT_IN', + label: '鏄惁鍏佽涓嶈壇鍝佽繘绔�', + required: true, + defaultValue: 'N', + component: 'Select', + colProps: { span: 12 }, + componentProps: { + options: [ + { + label: '鏄�', + value: 'Y', + key: 'Y', + }, + { + label: '鍚�', + value: 'N', + key: 'N', + }, + ], + }, + }, + { + field: 'IF_DFT_OFFLINE', + label: '鍒ゆ柇涓嶈壇鍚庢槸鍚︿笅绾�', + required: true, + defaultValue: 'N', + component: 'Select', + colProps: { span: 12 }, + componentProps: { + options: [ + { + label: '鏄�', + value: 'Y', + key: 'Y', + }, + { + label: '鍚�', + value: 'N', + key: 'N', + }, + ], + }, + ifShow: ({ values }) => values.OPER_CODE == 'TestNode', + }, + { + field: 'REMARK', + label: '澶囨敞', + component: 'Input', + colProps: { span: 12 }, + }, + ]; + + const crudForms = { + BAS_PKG_DTL: [ + { + label: '鍖呰瑙勫垯ID', + field: 'PKG_RULE_ID', + component: 'Input', + colProps: { + span: 24, + }, + dynamicDisabled: ({ values }) => { + return true; + }, + }, + { + label: '鍖呰灞傜骇', + field: 'PKG_LEVEL', + component: 'Input', + colProps: { + span: 24, + }, + dynamicDisabled: ({ values }) => { + return true; + }, + }, + { + field: 'PKG_CODE', + label: '鍖呰/杞藉叿缂栫爜', + component: 'Input', + colProps: { + span: 24, + }, + dynamicDisabled: ({ values }) => { + return true; + }, + }, + { + label: '鍖呰鏁伴噺', + field: 'PKG_QTY', + component: 'Input', + colProps: { + span: 24, + }, + dynamicDisabled: ({ values }) => { + return true; + }, + }, + { + field: 'LABEL_CODE', + label: '妯℃澘缂栫爜', + component: 'Input', + show: true, + // required: true, + colProps: { + span: 22, + }, + }, + { + field: 'BAS_LABEL_TEMP1PSelect_0', //鎸変綆浠g爜閰嶇疆鐨勮鍒欙紝瀹炰綋鍚�+搴忓彿+PSelect_0锛屽簭鍙风敤鏉ュ尯鍒嗗涓殑鏃跺�欙紝PSelect_0杩欐槸涓浐瀹氬悗缂� + label: '1', + defaultValue: 'BAS_LABEL_TEMP', + component: 'Input', + colProps: { span: 2 }, + colSlot: 'BAS_LABEL_TEMP1add', //鎸変綆浠g爜閰嶇疆鐨勮鍒欙紝瀹炰綋鍚�+搴忓彿+add锛屽簭鍙风敤鏉ュ尯鍒嗗涓殑鏃跺�欙紝add杩欐槸涓浐瀹氬悗缂� + }, + { + label: '鍖呰鍚嶇О', + field: 'PKG_NAME', + component: 'Input', + colProps: { + span: 24, + }, + show: false, + }, + { + label: '澶囨敞', + field: 'REMARK', + component: 'Input', + colProps: { + span: 24, + }, + dynamicDisabled: ({ values }) => { + return true; + }, + }, + { + label: 'ID', + field: 'ID', + component: 'Input', + colProps: { + span: 24, + }, + show: false, + }, + ] as FormSchema[], + ItemCode: [ + { + label: '鐗╂枡缂栫爜', + field: 'ITEM_CODE', + component: 'Input', + colProps: { + span: 24, + }, + dynamicDisabled: ({ values }) => { + return false; + }, + }, + { + field: 'RULE_CODE', + label: '瑙勫垯缂栫爜', + component: 'Input', + colProps: { + span: 22, + }, + dynamicDisabled: ({ values }) => { + return false; + }, + }, + { + field: 'BAS_CODE_RULE1PSelect_0', //鎸変綆浠g爜閰嶇疆鐨勮鍒欙紝瀹炰綋鍚�+搴忓彿+PSelect_0锛屽簭鍙风敤鏉ュ尯鍒嗗涓殑鏃跺�欙紝PSelect_0杩欐槸涓浐瀹氬悗缂� + label: '1', + defaultValue: 'BAS_CODE_RULE', + component: 'Input', + colProps: { span: 2 }, + colSlot: 'BAS_CODE_RULE1add', //鎸変綆浠g爜閰嶇疆鐨勮鍒欙紝瀹炰綋鍚�+搴忓彿+add锛屽簭鍙风敤鏉ュ尯鍒嗗涓殑鏃跺�欙紝add杩欐槸涓浐瀹氬悗缂� + }, + { + label: '鏄惁鎵规鐗╂枡', + field: 'IsBatchItem', + colProps: { + span: 24, + }, + component: 'Select', + componentProps: { + options: [ + { + label: '鏄�', + value: 'Y', + key: 'Y', + }, + { + label: '鍚�', + value: 'N', + key: 'N', + }, + ], + }, + }, + { + label: '涓婃枡鏁伴噺', + field: 'QTY', + component: 'Input', + colProps: { + span: 24, + }, + dynamicDisabled: ({ values }) => { + return false; + }, + }, + ] as FormSchema[], + }; + + /** + * @description: 妯℃澘缁存姢 + * @param {*} args + * @param {Recordable} params + * @return {*} + */ + function handleTemplate(args, params: Recordable) { + const openCrudModal = args[0]; + // const OrderNo = args[2]; + const ProdCode = args[2]; + openCrudModal(true, { + isUpdate: true, //鏄惁鏇存柊鎿嶄綔 + entityName: 'ProdRouteBinding', //鏄摢涓〉闈� + ctype: 'BAS_LABEL_VAR_WO', //瀹炰綋鍚嶇О + title: '妯℃澘缁存姢', //鏍囬 + width: '1024px', //寮瑰嚭妗嗗搴� + ItemColumns: TemplateBasColumn, //寮瑰嚭妗嗕腑琛ㄦ牸瀛楁缁撴瀯 + schemas: [], //鏌ヨ鏉′欢瀛楁缁撴瀯 + others: { WORK_ORDER: '', PROD_CODE: ProdCode }, //闇�瑕佸甫鍒板脊鍑虹獥鍙d腑鐨勬暟鎹� + searchInfo: { + TABLE_NAME: 'BAS_LABEL_VAR_WO', //瀹炰綋鍚嶇О + LabelId: params['record'].LABEL_ID, //妯℃澘ID + WorkOrder: '', //宸ュ崟鍙� + ProdCode: ProdCode, + CustCode: '', + apiUrl: mesApi.GetLabelVarByWorkOrder, //鑷畾涔夎幏鍙栨暟鎹垎椤电殑api锛屼笉鐢ㄩ粯璁ょ殑鍩虹鏂规硶 + }, + values: params['record'], //琛ㄥ崟璁板綍 + }); + } + + /* 涓嬪彂鐣岄潰涓殑琛ㄥ崟鍒楄〃 */ + const TemplateBasColumn = [ + { + dataIndex: 'LABEL_ID', + title: '鏍囩妯℃澘ID', + ifShow: false, + sorter: true, + resizable: true, + }, + { + title: '宸ュ崟鍙�', + dataIndex: 'WORK_ORDER', + width: 280, + // editRow: true, + // editable: true, + ifShow: false, + }, + { + title: '宸ュ崟鍙�', + dataIndex: 'PROD_CODE', + width: 280, + ifShow: false, + }, + { + title: '鍙橀噺鍚�', + dataIndex: 'VAR_NAME', + }, + { + title: '鍙橀噺鍊�', + dataIndex: 'VAR_VALUE', + editRow: true, + editRule: true, + }, + { + title: '榛樿鍊�', + dataIndex: 'DEFAULT_VALUE', + // editRow: true, + // editRule: true, + }, + ] as BasicColumn[]; + return [methods]; } -- Gitblit v1.9.3