| | |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-21 18:40:06 |
| | | * @LastEditTime: 2024-08-05 22:44:32 |
| | | */ |
| | | |
| | | import { Ref, h, ref, render, unref } from 'vue'; |
| | | import { GetEnum, SaveEntity, convertToTree, getEntity } from '/@/api/tigerapi/system'; |
| | | import { useLocale } from '/@/locales/useLocale'; |
| | | import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; |
| | | import { useI18n } from '/@/hooks/web/useI18n'; |
| | | import { NavItem } from '/@/api/tigerapi/model/basModel'; |
| | | import { useMessage } from '/@/hooks/web/useMessage'; |
| | | import { useModal } from '/@/components/Modal'; |
| | | import { ActionItem, BasicColumn, FormSchema } from '/@/components/Table'; |
| | |
| | | import { CustModalParams, FunctionType } from '/@/api/tigerapi/model/systemModel'; |
| | | import { SaveMesBatchWo } from '/@/api/tigerapi/mes/wo'; |
| | | import { useForm } from '/@/components/Form/index'; |
| | | import { uploadApi } from '/@/api/sys/upload'; |
| | | import { initRoute } from '../data'; |
| | | import { SP_MES_PROD2WO } from '/@/api/tigerapi/mes/router'; |
| | | import { cloneDeep } from 'lodash-es'; |
| | | |
| | | const { t } = useI18n(); |
| | | const { createErrorModal } = useMessage(); |
| | | const { getLocale } = useLocale(); |
| | | function _default() { |
| | | /* 定义变量 */ |
| | | const isNormal = (type: number) => type === 0; |
| | | const isScan = (type: number) => type === 1; |
| | | const isAssy = (type: number) => type === 2; |
| | | const isTest = (type: number) => type === 3; |
| | | const isAudit = (type: number) => type === 4; |
| | | const isPrint = (type: number) => type === 5; |
| | | const isPackage = (type: number) => type === 6; |
| | | const ActionColumn: BasicColumn = { |
| | | width: 220, |
| | | width: 180, |
| | | title: '操作', |
| | | dataIndex: 'action', |
| | | slots: { customRender: 'action' }, |
| | |
| | | * @description: 获取新增按钮的行为 |
| | | * @return {*} |
| | | */ |
| | | CreateAction: (fnName: string) => { |
| | | CreateAction: (type: string) => { |
| | | return { |
| | | action: 'drawer', //drawer(打开左侧抽屉框) | go(跳转到新的页面) |
| | | }; |
| | |
| | | }); |
| | | break; |
| | | case 'set': |
| | | case 'setRot': |
| | | openRvModal(true, { rotId: selectVals.value['ROUTE_CODE'], slotName: slotName }); |
| | | break; |
| | | case 'setRot': |
| | | break; |
| | | } |
| | | }, |
| | |
| | | try { |
| | | const form = param.values['prodinfo']; |
| | | const wo = param.values['mValues']; |
| | | wo.ROUTE_STATUS = 1; |
| | | wo.ROUTE_CODE = form.ROUTE_CODE; |
| | | SaveEntity(wo, true, 'BIZ_MES_WO').then((action) => { |
| | | const _wo = cloneDeep(wo); |
| | | _wo.ROUTE_STATUS = 1; |
| | | _wo.ROUTE_CODE = form.ROUTE_CODE; |
| | | SaveEntity(_wo, true, 'BIZ_MES_WO').then((action) => { |
| | | if (action.IsSuccessed) { |
| | | SP_MES_PROD2WO({ rotId: form.ROT_ID, wo: wo.ORDER_NO }); |
| | | resolve(action); |
| | | SP_MES_PROD2WO({ rotId: form.ROT_ID, wo: wo.ORDER_NO }).then((res) => { |
| | | if (!res.IsSuccessed) { |
| | | SaveEntity(wo, true, 'BIZ_MES_WO'); |
| | | } |
| | | resolve(res); |
| | | }); |
| | | } else { |
| | | reject(action); |
| | | } |
| | |
| | | CUST_CODE: wo.CUST_CODE, |
| | | FACTORY: wo.FACTORY, |
| | | WS_CODE: wo.WS_CODE, |
| | | ACT_LINE: form.PLAN_LINE, |
| | | ACT_LINE: form.ACT_LINE, |
| | | STD_WORKER_QTY: wo.STD_WORKER_QTY, |
| | | ACT_WORKER_QTY: wo.ACT_WORKER_QTY, |
| | | RELEASE_TIME: new Date(), |
| | |
| | | keyFieldValues: { ORDER_NO: params['record']['ORDER_NO'] }, |
| | | colSlots: params['colSlots'].value, |
| | | SessionName: 'BIZ_MES_WO_BATCH_update', |
| | | ifSave: false, |
| | | }; |
| | | // 将对象转换为JSON字符串并保存到sessionStorage |
| | | sessionStorage.removeItem(`${id.SessionName}_params`); |
| | |
| | | * @return {*} |
| | | */ |
| | | function handleConfig(args, params: Recordable) { |
| | | const openCustModal = args[7]; |
| | | // rotSchema.value = getFormSchema('rotinfo'); |
| | | params['routeData'].value = { |
| | | nodes: [], |
| | | edges: [], |
| | | // const openCustModal = args[7]; |
| | | // // rotSchema.value = getFormSchema('rotinfo'); |
| | | // params['routeData'].value = { |
| | | // nodes: [], |
| | | // edges: [], |
| | | // }; |
| | | // initRoute(params['currlf'], params['record'].ROUTE_CODE, params['routeData'], params['currlf']); |
| | | // getEntity({ |
| | | // sqlcmd: `ROT_CODE = '${params['record'].ROUTE_CODE}'`, |
| | | // entityName: 'MES_ROUTE', |
| | | // order: '', |
| | | // }).then((rot) => { |
| | | // params['selectVals'].value['ROUTE_CODE'] = params['record'].ROUTE_CODE; |
| | | // params['selectVals'].value['ROT_ID'] = |
| | | // !isNullOrEmpty(rot.Data) && !isNullOrEmpty(rot.Data.Items) ? rot.Data.Items[0].ID : ''; |
| | | // openCustModal(true, { |
| | | // isUpdate: true, |
| | | // ctype: 'BIZ_MES_WO_Config', |
| | | // title: '工艺配置', |
| | | // width: '1200px', |
| | | // formEl: params['useFormData'].value, //如果是多个表单,增加多个插槽 |
| | | // formElName: ['woinfo', 'prodinfo', 'rotinfo'], //表单插槽名称,支持多个表单 |
| | | // RowKey: '', |
| | | // fnName: 'SaveCofig', //保存方法名 |
| | | // others: params['routeData'].value, |
| | | // values: { ...params['record'], ...params['selectVals'].value }, //表单记录 |
| | | // }); |
| | | // }); |
| | | const go = args[5]; |
| | | const id = { |
| | | ID: params['record'].ID, |
| | | Name: 'WoRouteBinding', |
| | | CODE: params['record'].ORDER_NO, |
| | | Title: `工单[${params['record'].ORDER_NO}]工艺绑定`, |
| | | colSlots: params['colSlots'].value, /* 表格内的查询表单字段的插槽列表,一般用于弹出选择框按钮 */ |
| | | crudColSlots: ['BAS_LABEL_TEMP1add'] /* 增删改表单字段的插槽列表,一般用于弹出选择框按钮 */, |
| | | dense: true, |
| | | pageTitle: `工单工艺绑定`, |
| | | pageContent: `这里是管理工单的工艺绑定,一个工单可以绑定多个工艺路线`, |
| | | SessionName: 'WoRouteBinding_update', |
| | | OtherTableName: 'BAS_PKG_DTL', |
| | | ifSave: false, |
| | | rotType: 'Wo' |
| | | }; |
| | | initRoute(params['currlf'], params['record'].ROUTE_CODE, params['routeData'], params['currlf']); |
| | | params['selectVals'].value['ROUTE_CODE'] = params['record'].ROUTE_CODE; |
| | | openCustModal(true, { |
| | | isUpdate: true, |
| | | ctype: 'BIZ_MES_WO_Config', |
| | | title: '工艺配置', |
| | | width: '1200px', |
| | | formEl: params['useFormData'].value, //如果是多个表单,增加多个插槽 |
| | | formElName: ['woinfo', 'prodinfo', 'rotinfo'], //表单插槽名称,支持多个表单 |
| | | RowKey: '', |
| | | fnName: 'SaveCofig', //保存方法名 |
| | | others: params['routeData'].value, |
| | | values: params['record'], //表单记录 |
| | | }); |
| | | // 将对象转换为JSON字符串并保存到sessionStorage |
| | | sessionStorage.removeItem(`${id.SessionName}_params`); |
| | | sessionStorage.setItem(`${id.SessionName}_params`, encodeURI(JSON.stringify(id))); |
| | | go(`/WoRouteBinding/CP/${encodeURI(JSON.stringify({ sName: id.SessionName, Name: id.Name }))}`); |
| | | } |
| | | |
| | | /** |
| | |
| | | }, |
| | | }, |
| | | { |
| | | label: '计划产线', |
| | | field: 'PLAN_LINE', |
| | | label: '实际产线', |
| | | field: 'ACT_LINE', |
| | | component: 'ApiSelect', |
| | | required: true, |
| | | colProps: { |