Ben Lin
2024-07-30 cc88111d61a350a4d24cf339b526d4357f934ddf
src/views/tigerprojects/system/lowcode/entityts/WoRouteBinding.ts
@@ -4,11 +4,19 @@
 * @version:
 * @Date: 2024-06-19 20:34:27
 * @LastEditors: Ben Lin
 * @LastEditTime: 2024-07-24 00:05:00
 * @LastEditTime: 2024-07-24 20:03:25
 */
import { Ref, h, ref, render, unref } from 'vue';
import { DeleteWoRoute, GetRoutePTree, GetWoPTree, RouteToCust, RouteToProd, SP_MES_PROD2WO, SP_MES_WO2CUST } from '/@/api/tigerapi/mes/router';
import {
  DeleteWoRoute,
  GetRoutePTree,
  GetWoPTree,
  RouteToCust,
  RouteToProd,
  SP_MES_PROD2WO,
  SP_MES_WO2CUST,
} 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';
@@ -22,6 +30,7 @@
import { useUserStore } from '/@/store/modules/user';
import { EventDataNode } from 'ant-design-vue/lib/tree';
import { ContextMenuItem } from '/@/components/TigerTree';
import { UpdateWoStatus } from '/@/api/tigerapi/mes/wo';
const { t } = useI18n();
const { createErrorModal } = useMessage();
@@ -80,7 +89,7 @@
     */
    fetchTreeData: async (type: string, wo: string) => {
      let data = { title: '', treeData: [] as any[], fieldNames: {} };
      let prodTreeData = await GetWoPTree({wo: wo});
      let prodTreeData = await GetWoPTree({ wo: wo });
      // 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);
@@ -88,7 +97,7 @@
      //   return acc;
      // }, [] as V_MES_ROUTE_PTREE[]);
      data.treeData = convertToTree(prodTreeData, 'pid', 'tid', 'root');
      if(data.treeData.length == 0){
      if (data.treeData.length == 0) {
        data.treeData.push({
          pid: 'root',
          tid: '',
@@ -96,7 +105,7 @@
          wo: wo,
          prod: '',
          name: wo,
          type: 'WorkOrder'
          type: 'WorkOrder',
        });
      }
      data.title = '工单工艺路线';
@@ -279,15 +288,37 @@
            });
            return;
          }
          let codes = d.values.id.split(',');
          var i;
          for (i = 0; i < codes.length; i++) {
            if (d.which == 'addRoute') {
              SP_MES_PROD2WO({ rotId: codes[i], wo: args[1]['CODE'] });
          /* 更新工单状态并生成工单的工艺路线 */
          UpdateWoStatus({
            UserId: useUserStore().getUserInfo.userId as string,
            WorkOrder: args[1]['CODE'],
            Status: -1,
            RouteStatus: 1,
          }).then((action) => {
            if (action.IsSuccessed) {
              SP_MES_PROD2WO({ rotId: d.values.id, wo: args[1]['CODE'] }).then((action) => {
                if (action.IsSuccessed) {
                  args[2]();
                } else {
                  UpdateWoStatus({
                    UserId: useUserStore().getUserInfo.userId as string,
                    WorkOrder: args[1]['CODE'],
                    Status: -1,
                    RouteStatus: 0,
                  });
                  createErrorModal({
                    title: t('sys.api.errorTip'),
                    content: t(action.LocaleMsg),
                  });
                }
              });
            } else {
              createErrorModal({
                title: t('sys.api.errorTip'),
                content: t(action.LocaleMsg),
              });
            }
          }
          args[2]();
          });
          break;
        case 'addCustomer':
          if (isNullOrEmpty(args[1]['CODE'])) {
@@ -297,7 +328,7 @@
            });
            return;
          }
          SP_MES_WO2CUST({ wo: args[1]['CODE']});
          SP_MES_WO2CUST({ wo: args[1]['CODE'] });
          args[2]();
          break;
@@ -444,10 +475,10 @@
            });
            return;
          }
          SP_MES_WO2CUST({ wo: args[2][0]['wo']});
          SP_MES_WO2CUST({ wo: args[2][0]['wo'] });
          break;
        case 'editRoute':
          args[1](true, { rotId: args[2][0].id, slotName: '' });
          args[1](true, { rotId: args[2][0].code, slotName: '' });
          break;
      }
    },
@@ -514,7 +545,7 @@
     * @description: 获取右键菜单列表
     * @param {EventDataNode} node
     * @return {*}
     */
     */
    GetRightMenuList: (node: EventDataNode, ...args): ContextMenuItem[] => {
      const emit = args[0];
      const menu = [
@@ -529,21 +560,21 @@
          label: '删除',
          handler: () => {
            console.log('点击了删除', node);
            DeleteWoRoute({rotId:'',rotCode: node.code, wo: node.wo}).then((action) => {
                if(action.IsSuccessed){
                  emit('deletenode', node);
                }else{
                  createErrorModal({
                    title: t('sys.api.errorTip'),
                    content: t(action.LocaleMsg),
                  });
                }
            DeleteWoRoute({ rotId: '', rotCode: node.code, wo: node.wo }).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: [];
      return node.type == 'Route' ? menu : [];
    },
  };