From e4f79a7e36214e5836cb0e667b3ffbd3db45456d Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期二, 22 十月 2024 23:54:26 +0800
Subject: [PATCH] 工单变量删除优化,预览优化

---
 src/views/tigerprojects/system/lowcode/entityts/WoRouteBinding.ts |  117 +++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 87 insertions(+), 30 deletions(-)

diff --git a/src/views/tigerprojects/system/lowcode/entityts/WoRouteBinding.ts b/src/views/tigerprojects/system/lowcode/entityts/WoRouteBinding.ts
index 1a7744c..3bc1df4 100644
--- a/src/views/tigerprojects/system/lowcode/entityts/WoRouteBinding.ts
+++ b/src/views/tigerprojects/system/lowcode/entityts/WoRouteBinding.ts
@@ -4,7 +4,7 @@
  * @version:
  * @Date: 2024-06-19 20:34:27
  * @LastEditors: Ben Lin
- * @LastEditTime: 2024-10-17 21:13:17
+ * @LastEditTime: 2024-10-22 23:36:24
  */
 
 import { Ref, h, ref, render, unref } from 'vue';
@@ -32,11 +32,14 @@
 import { buildUUID } from '/@/utils/uuid';
 import { mesApi } from '/@/api/tigerapi/mes/mesApi';
 import { useProdRouteStore } from '/@/store/modules/prodRoute';
+import { useWebSocketStore } from '/@/store/modules/websocket';
+import { useGlobSetting } from '/@/hooks/setting';
 
 const { t } = useI18n();
 const { createErrorModal } = useMessage();
 const useProdRoute = useProdRouteStore();
 const { getLocale } = useLocale();
+const globSetting = useGlobSetting();
 function _default() {
   /* 瀹氫箟鍙橀噺 */
   const isNormal = (type: number) => type === 0;
@@ -93,8 +96,8 @@
       let data = { title: '', treeData: [] as any[], fieldNames: {} };
       let prodTreeData = await GetWoPTree({ wo: wo });
       let _treeData = convertToTree(prodTreeData, 'pid', 'tid', 'root');
-      if (data.treeData.length == 0) {
-        data.treeData.push({
+      if (_treeData.length == 0) {
+        _treeData.push({
           pid: 'root',
           tid: '',
           id: '',
@@ -102,13 +105,23 @@
           prod: '',
           name: wo,
           type: 'WorkOrder',
+          cust: '',
+          code: '',
+          seq: 0,
         });
       }
       data.title = '宸ュ崟宸ヨ壓璺嚎';
       data.fieldNames = { key: 'tid', title: 'name' };
-      /* 淇濆瓨宸ヨ壓鏍戝舰鏁版嵁鍒扮姸鎬佺鐞� */
-      useProdRoute.setCurProdRotTree(_treeData as unknown as MesRotTree[]);
-      data.treeData = useProdRoute.getCurProdRotTree;
+      if (!useProdRoute.changeToCPPage || !useProdRoute.curProdRotTree.some((q) => q.name == wo)) {
+        /* 淇濆瓨宸ヨ壓鏍戝舰鏁版嵁鍒扮姸鎬佺鐞� */
+        useProdRoute.setCurProdRotTree({
+          name: wo,
+          treeInfo: _treeData as unknown as MesRotTree[],
+        });
+      }
+      if (useProdRoute.curProdRotTree.some((q) => q.name == wo)) {
+        data.treeData = useProdRoute.curProdRotTree.filter((q) => q.name == wo)[0].treeInfo;
+      }
       return data;
     },
     /**
@@ -173,11 +186,12 @@
           // searchInfo: { TABLE_NAME: 'V_BAS_PKG_DTL' },
           dataSource: data.value['BAS_PKG_DTL'],
           columns: GetBaseColumns('BAS_PKG_DTL', args[0], data),
-          maxHeight: 520,
+          // maxHeight: 520,
           useSearchForm: false,
           showTableSetting: false,
           bordered: true,
-          canResize: true,
+          isCanResizeParent: true,
+          // canResize: true,
           showIndexColumn: false,
           // rowSelection: {
           //   type: 'radio', //'checkbox'
@@ -196,11 +210,12 @@
           // searchInfo: { TABLE_NAME: 'V_BAS_PKG_DTL' },
           dataSource: data.value['ItemCode'],
           columns: GetBaseColumns('ItemCode', args[0], data),
-          maxHeight: 520,
+          // maxHeight: 520,
           useSearchForm: false,
           showTableSetting: false,
           bordered: true,
-          canResize: true,
+          isCanResizeParent: true,
+          // canResize: true,
           showIndexColumn: false,
           // rowSelection: {
           //   type: 'radio', //'checkbox'
@@ -332,18 +347,38 @@
           }
           if (params['selectedNodes'][0].type == 'Node') {
             resetFieldsNode();
+            const wonode = await getEntity({
+              sqlcmd: `WORK_ORDER ='${params['objParams'].value['CODE']}' AND ID = '${res.Data.Items[0].NODE_ID}'`,
+              entityName: 'MES_WO_NODE',
+              order: '',
+            });
             setFieldsValueNode({
               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: res.Data.Items[0].IS_ACTIVE,
-              IS_CALC_FPY: res.Data.Items[0].IS_CALC_FPY,
-              CAN_SKIP: res.Data.Items[0].CAN_SKIP,
-              IS_INPUT: res.Data.Items[0].IS_INPUT,
-              IS_OUTPUT: res.Data.Items[0].IS_OUTPUT,
-              ALLOW_DFT_IN: res.Data.Items[0].ALLOW_DFT_IN,
+              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:
+                wonode.Data.Items[0].IS_FIRST_NODE == 'Y'
+                  ? 'Y'
+                  : 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,
               REMARK: res.Data.Items[0].REMARK,
               WORK_ORDER: params['objParams'].value['CODE'],
               CUST_CODE: params['selectedNodes'][0].cust,
@@ -377,8 +412,8 @@
       }
       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'])
+      if (type == 'Action') {
+        values.OPTION_1 = JSON.stringify(useProdRoute.getcurDtl['BAS_PKG_DTL']);
       }
       SaveEntity(values, true, entityName).then((action) => {
         if (action.IsSuccessed) {
@@ -522,7 +557,7 @@
             Status: -1,
             RouteStatus: 1,
             WoBatch: '',
-            ActLine: ''
+            ActLine: '',
           }).then((action) => {
             if (action.IsSuccessed) {
               SP_MES_PROD2WO({ rotId: d.values.id, wo: args[1]['CODE'] }).then((action) => {
@@ -535,7 +570,7 @@
                     Status: -1,
                     RouteStatus: 0,
                     WoBatch: '',
-                    ActLine: ''
+                    ActLine: '',
                   });
                   createErrorModal({
                     title: t('sys.api.errorTip'),
@@ -619,7 +654,7 @@
      * @param {Ref} selectedNodes
      * @return {*}
      */
-    SelectNode: (selectedNodes: Ref<any[]>) => {
+    SelectNode: (selectedNodes: Ref<any[]>, code: string) => {
       let result = {
         showConfig: false,
         showNav: false,
@@ -644,6 +679,7 @@
           result.showOtherTable = { BAS_PKG_DTL: false, ItemCode: false };
         }
       }
+      useProdRoute.setCurSelectedNodes({ name: code, SelectedNodes: selectedNodes.value });
       return result;
     },
     /**
@@ -662,7 +698,7 @@
               url: '/addRoute',
               action: 'addRoute',
               isStep: false,
-              isCustEl: false
+              isCustEl: false,
             },
             // {
             //   title: '娣诲姞瀹㈡埛宸ヨ壓璺嚎',
@@ -683,7 +719,7 @@
               url: '/editRoute',
               action: 'editRoute',
               isStep: false,
-              isCustEl: false
+              isCustEl: false,
             },
           ];
           break;
@@ -819,7 +855,7 @@
               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'];
+                  x.LABEL_ID = param.values['LABEL_CODE'];
                 }
               });
               param.data.value['Action'][0]['OPTION_1'] = JSON.stringify(
@@ -840,8 +876,26 @@
             case 'BAS_LABEL_VAR_WO':
               param.values['WORK_ORDER'] = param.others['WORK_ORDER'];
               param.values['ID'] = buildUUID();
-              
-              await AddOrEditLabelVarByWorkOrder(param.values as unknown as BAS_LABEL_VAR_WO);
+
+              const apiaction = await AddOrEditLabelVarByWorkOrder(
+                param.values as unknown as BAS_LABEL_VAR_WO,
+              );
+              if (apiaction.IsSuccessed) {
+                const webSocketStore = useWebSocketStore();
+                if (webSocketStore.GetSocketState == 1) {
+                  webSocketStore.sendMessage(
+                    `wsGetNew ${param.values['LABEL_ID']}_#_${ param.values['WORK_ORDER']}`,
+                  );
+                }
+              }
+            case 'delete':
+              const webSocketStore = useWebSocketStore();
+              if (webSocketStore.GetSocketState == 1) {
+                webSocketStore.sendMessage(
+                  `wsGetNew ${param.values['LABEL_ID']}_#_${ param.values['WORK_ORDER']}`,
+                );
+              }
+            break;
           }
           resolve('OK');
         } catch (e) {
@@ -1378,7 +1432,7 @@
     {
       field: 'PKG_CODE',
       label: '鍖呰瑙勫垯',
-      colProps: { span: 11 },
+      colProps: window.screen.width == 2560 ? { span: 10 } : { span: 11 },
       component: 'Input',
       ifShow: ({ values }) => isPackage(values.ACT_TYPE),
     },
@@ -1387,7 +1441,10 @@
       label: '1',
       defaultValue: '',
       component: 'Input',
-      colProps: { span: 1, pull: window.screen.width == 1366 ? -1 : 1 },
+      colProps:
+        window.screen.width == 2560
+          ? { span: 2, pull: 1 }
+          : { span: 1, pull: window.screen.width == 1366 ? -1 : 1 },
       ifShow: ({ values }) => isPackage(values.ACT_TYPE),
       colSlot: 'pkgadd',
     },
@@ -1852,8 +1909,8 @@
     {
       title: '榛樿鍊�',
       dataIndex: 'DEFAULT_VALUE',
-      editRow: true,
-      editRule: true,
+      // editRow: true,
+      // editRule: true,
     },
   ] as BasicColumn[];
 

--
Gitblit v1.9.3