Ben Lin
2024-10-24 5a813f3b28f3cbf1db3a3657ccf83267c6e0d315
src/views/tigerprojects/system/lowcode/entityts/BIZ_MES_WO.ts
@@ -4,7 +4,7 @@
 * @version:
 * @Date: 2024-06-19 20:34:27
 * @LastEditors: Ben Lin
 * @LastEditTime: 2024-07-22 19:37:56
 * @LastEditTime: 2024-10-23 20:48:14
 */
import { Ref, h, ref, render, unref } from 'vue';
@@ -20,8 +20,8 @@
import { CustModalParams, FunctionType } from '/@/api/tigerapi/model/systemModel';
import { SaveMesBatchWo } from '/@/api/tigerapi/mes/wo';
import { useForm } from '/@/components/Form/index';
import { SP_MES_PROD2WO } from '/@/api/tigerapi/mes/router';
import { cloneDeep } from 'lodash-es';
import { useProdRouteStore } from '/@/store/modules/prodRoute';
const { t } = useI18n();
const { createErrorModal } = useMessage();
@@ -43,7 +43,7 @@
     * @description: 获取新增按钮的行为
     * @return {*}
     */
    CreateAction: (fnName: string) => {
    CreateAction: (type: string) => {
      return {
        action: 'drawer', //drawer(打开左侧抽屉框) | go(跳转到新的页面)
      };
@@ -66,6 +66,10 @@
          x.onClick = handleRelease.bind(null, args, params);
          x.tooltip = '下发';
        }
        // if (x.name == 'handleTemplate') {
        //   x.onClick = handleTemplate.bind(null, args, params);
        //   x.tooltip = '模板维护';
        // }
      });
      return data;
    },
@@ -88,6 +92,14 @@
          showActionButtonGroup: false,
        }),
        prodinfo: useForm({
          labelWidth: 120,
          schemas: prodCfgformSchema,
          actionColOptions: {
            span: 24,
          },
          showActionButtonGroup: false,
        }),
        tmpinfo: useForm({
          labelWidth: 120,
          schemas: prodCfgformSchema,
          actionColOptions: {
@@ -300,8 +312,7 @@
        try {
          const form = param.values['forminfo'];
          const wo = param.values['mValues'];
          wo.ROUTE_CODE = form.ROUTE_CODE;
          wo.STATUS = 2;
          wo.STATUS = wo.STATUS == 3?wo.STATUS: 2;
          let input: SaveWoBatchInput = {
            Wo: wo,
            WoBatch: {
@@ -320,7 +331,7 @@
              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(),
@@ -337,6 +348,7 @@
              ACT_END_TIME: wo.ACT_END_TIME,
              BATCH_NO: '',
            },
            IfToCust: form.IfToCust
          };
          SaveMesBatchWo(input).then((action) => {
            resolve(action);
@@ -369,6 +381,7 @@
      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`);
@@ -383,34 +396,6 @@
   * @return {*}
   */
  function handleConfig(args, params: Recordable) {
    // 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,
@@ -418,15 +403,21 @@
      CODE: params['record'].ORDER_NO,
      Title: `工单[${params['record'].ORDER_NO}]工艺绑定`,
      colSlots: params['colSlots'].value, /* 表格内的查询表单字段的插槽列表,一般用于弹出选择框按钮 */
      crudColSlots: [] /* 增删改表单字段的插槽列表,一般用于弹出选择框按钮 */,
      crudColSlots: {BAS_PKG_DTL:['BAS_LABEL_TEMP1add'], ItemCode: ['BAS_CODE_RULE1add']} /* 增删改表单字段的插槽列表,一般用于弹出选择框按钮 */,
      OtherTableName: ['BAS_PKG_DTL', 'ItemCode'], /* 自定义显示列表的表名,跟上面增删改的表名一致,有多个就放列表中 */
      dense: true,
      pageTitle: `工单工艺绑定`,
      pageContent: `这里是管理工单的工艺绑定,一个工单可以绑定多个工艺路线`,
      pageContent: `这里是管理工单的工艺绑定,一个工单可以绑定一个工艺路线,并可以保存为客户专用的工艺路线`,
      SessionName: 'WoRouteBinding_update',
      ifSave: false,
      rotType: 'Wo'
    };
    // 将对象转换为JSON字符串并保存到sessionStorage
    sessionStorage.removeItem(`${id.SessionName}_params`);
    sessionStorage.setItem(`${id.SessionName}_params`, encodeURI(JSON.stringify(id)));
    /* 设置标志,以根据缓存数据取数据 */
    const useProdRoute = useProdRouteStore();
    useProdRoute.setChangeToCPPage(true);
    go(`/WoRouteBinding/CP/${encodeURI(JSON.stringify({ sName: id.SessionName, Name: id.Name }))}`);
  }
@@ -474,8 +465,8 @@
      },
    },
    {
      label: '计划产线',
      field: 'PLAN_LINE',
      label: '实际产线',
      field: 'ACT_LINE',
      component: 'ApiSelect',
      required: true,
      colProps: {
@@ -490,34 +481,44 @@
      },
    },
    {
      label: '工艺路线',
      field: 'ROUTE_CODE',
      component: 'Input',
      required: true,
      field: 'IfToCust',
      component: 'Switch',
      label: '是否保存工艺路线到客户',
      defaultValue: true,
      colProps: {
        span: 22,
        span: 8,
      },
      labelWidth: 200,
    },
    {
      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,
      },
    },
    // {
    //   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[] = [