Ben Lin
2024-11-08 3d2c48733b86a03fc2e5a1f12ac3667ab0863b80
src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts
@@ -1,3 +1,5 @@
/* eslint-disable no-var */
/* eslint-disable no-fallthrough */
/*
 * @Description: 产品工艺路线相关
 * @Author: Ben Lin
@@ -7,13 +9,12 @@
 * @LastEditTime: 2024-10-24 01:21:57
 */
import { Ref, h, ref, render, unref } from 'vue';
import { Ref, unref } from 'vue';
import {
  DeleteProdRoute,
  GetRoutePTree,
  RouteToCust,
  RouteToProd,
  SetDefaultRoute,
} from '/@/api/tigerapi/mes/router';
import { GetEnum, SaveEntity, convertToTree, getEntity } from '/@/api/tigerapi/system';
import { useLocale } from '/@/locales/useLocale';
@@ -92,12 +93,12 @@
     * @return {*}
     */
    fetchTreeData: async (type: string, itemCode: string) => {
      let data = { title: '', treeData: [] as any[], fieldNames: {} };
      let prodTreeData = (await GetRoutePTree({
      const data = { title: '', treeData: [] as any[], fieldNames: {} };
      const prodTreeData = (await GetRoutePTree({
        prodCode: itemCode,
        orgCode: useUserStore().getUserInfo.orgCode,
      })) as unknown as MesRotTree[];
      let _treeData = convertToTree(prodTreeData, 'pid', 'tid', 'root');
      const _treeData = convertToTree(prodTreeData, 'pid', 'tid', 'root');
      data.title = '工艺路线';
      data.fieldNames = { key: 'tid', title: 'name' };
      if (
@@ -111,6 +112,7 @@
        });
      }
      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;
      }
@@ -161,7 +163,7 @@
        { name: 'auditadd', icon: 'search|svg' },
        { name: 'printadd', icon: 'search|svg' },
        { name: 'pkgadd', icon: 'search|svg' },
        { name: 'labeladd', icon: 'search|svg' },
        { name: 'labeladd', icon: 'template|svg' },
      ];
    },
    /**
@@ -171,7 +173,7 @@
    nodeChange: (params: { useForms: Ref<any>; objParams: Ref<any>; selectedNodes: any[] }) =>
      new Promise<any>(async (resolve, reject) => {
        // params['useForms'].value = methods.GetUseForm();
        let result = { isShow: {} };
        const result = { isShow: {} };
        let sqlcmd = ' 1=1 ';
        if (!isNullOrEmpty(params['objParams'].value['CODE'])) {
          sqlcmd += `And PROD_CODE = '${params['objParams'].value['CODE']}'`;
@@ -248,7 +250,7 @@
          }
          if (params['selectedNodes'][0].type == 'Node') {
            resetFieldsNode();
            setFieldsValueNode({
            const values = {
              ID: res.Data.Items[0].ID,
              OPER_CODE: res.Data.Items[0].OPER_CODE,
              ROT_ID: res.Data.Items[0].ROT_ID,
@@ -272,10 +274,18 @@
              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'] = {
@@ -394,7 +404,7 @@
          break;
        case 'assyadd':
          const items = d.values['val'].split(',');
          let data: any[] = [];
          const data: any[] = [];
          if (!isNullOrEmpty(items) && items.length > 0) {
            items.map((x) => {
              data.push({
@@ -445,7 +455,7 @@
            });
            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') {
@@ -463,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 });
@@ -626,7 +636,7 @@
     * @return {*}
     */
    SelectNode: (selectedNodes: Ref<any[]>, code: string) => {
      let result = {
      const result = {
        showConfig: false,
        showNav: false,
        type: selectedNodes.value[0].type,
@@ -895,7 +905,7 @@
          label: '删除',
          handler: () => {
            console.log('点击了删除', node);
            DeleteProdRoute({ rotId: node.id, rotCode: node.code, prodCode: args[1] }).then(
            DeleteProdRoute({ rotId: node.id, rotCode: node.code, prodCode: args[1], custCode: node.cust }).then(
              (action) => {
                if (action.IsSuccessed) {
                  emit('deletenode', node);
@@ -1641,6 +1651,29 @@
      },
    },
    {
      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',