From 7c99be35803568d4743a8d134b0479bbf6f281fd Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期四, 07 十一月 2024 00:58:52 +0800
Subject: [PATCH] 删除工艺更新

---
 src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts |  395 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 324 insertions(+), 71 deletions(-)

diff --git a/src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts b/src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts
index f2aa37f..84f802c 100644
--- a/src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts
+++ b/src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts
@@ -1,13 +1,15 @@
+/* eslint-disable no-var */
+/* eslint-disable no-fallthrough */
 /*
  * @Description: 浜у搧宸ヨ壓璺嚎鐩稿叧
  * @Author: Ben Lin
  * @version:
  * @Date: 2024-06-19 20:34:27
  * @LastEditors: Ben Lin
- * @LastEditTime: 2024-09-23 01:57:24
+ * @LastEditTime: 2024-10-24 01:21:57
  */
 
-import { Ref, h, ref, render, unref } from 'vue';
+import { Ref, unref } from 'vue';
 import {
   DeleteProdRoute,
   GetRoutePTree,
@@ -21,16 +23,23 @@
 import { NavItem } from '/@/api/tigerapi/model/basModel';
 import { useMessage } from '/@/hooks/web/useMessage';
 import { useModal } from '/@/components/Modal';
-import { BasicColumn, FormSchema, useTable } from '/@/components/Table';
+import { ActionItem, BasicColumn, FormSchema, useTable } from '/@/components/Table';
 import { CustModalParams } from '/@/api/tigerapi/model/systemModel';
 import { useUserStore } from '/@/store/modules/user';
 import { EventDataNode } from 'ant-design-vue/lib/tree';
 import { ContextMenuItem } from '/@/components/TigerTree';
 import { useForm } from '/@/components/Form';
+import { mesApi } from '/@/api/tigerapi/mes/mesApi';
+import { BAS_LABEL_VAR_WO, MesRotTree } from '/@/api/tigerapi/model/mesModel';
+import { buildUUID } from '/@/utils/uuid';
+import { AddOrEditLabelVarByWorkOrder } from '/@/api/tigerapi/mes/wo';
+import { useProdRouteStore } from '/@/store/modules/prodRoute';
+import { useWebSocketStore } from '/@/store/modules/websocket';
 
 const { t } = useI18n();
 const { createErrorModal } = useMessage();
 const { getLocale } = useLocale();
+const useProdRoute = useProdRouteStore();
 function _default() {
   /* 瀹氫箟鍙橀噺 */
   const isNormal = (type: number) => type === 0;
@@ -75,8 +84,8 @@
      * @description: 楂樼骇琛ㄥ崟鍜岃鎯呴〉闈㈣繑鍥炰富椤甸潰鐨剈rl
      * @return {*}
      */
-    GetHomeUrl: () => {
-      return `/V_BAS_PROD_R/LC/${encodeURI(JSON.stringify({ ID: 'V_BAS_PROD_R', colSlots: [], crudColSlots: [] }))}`;
+    GetHomeUrl: (params) => {
+      return `/V_BAS_PROD_R/LC/${encodeURI(JSON.stringify({ ID: 'V_BAS_PROD_R', colSlots: [], crudColSlots: [], sName: params['sName'] }))}`;
     },
     /**
      * @description: 鑾峰彇鏍戝舰鏁版嵁
@@ -84,20 +93,41 @@
      * @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,
-      });
-      // 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);
-      //   }
-      //   return acc;
-      // }, [] as V_MES_ROUTE_PTREE[]);
-      data.treeData = convertToTree(prodTreeData, 'pid', 'tid', 'root');
+      })) as unknown as MesRotTree[];
+      const _treeData = convertToTree(prodTreeData, 'pid', 'tid', 'root');
       data.title = '宸ヨ壓璺嚎';
       data.fieldNames = { key: 'tid', title: 'name' };
+      if (
+        !useProdRoute.changeToCPPage ||
+        !useProdRoute.curProdRotTree.some((q) => q.name == itemCode)
+      ) {
+        /* 淇濆瓨宸ヨ壓鏍戝舰鏁版嵁鍒扮姸鎬佺鐞� */
+        useProdRoute.setCurProdRotTree({
+          name: itemCode,
+          treeInfo: _treeData as unknown as MesRotTree[],
+        });
+      }
+      useProdRoute.setItemCode(itemCode);
+      if (useProdRoute.curProdRotTree.some((q) => q.name == itemCode)) {
+        data.treeData = useProdRoute.curProdRotTree.filter((q) => q.name == itemCode)[0].treeInfo;
+      }
+      return data;
+    },
+    /**
+     * @description: 鎿嶄綔瀛楁鑷畾涔夋寜閽紝蹇呴渶瑕佹湁鐨勬柟娉�
+     * @return {*}
+     */
+    ActionItem: (params: Recordable<any>, data, ...args): ActionItem[] => {
+      data.push({
+        icon: 'template|svg',
+        tooltip: '妯℃澘缁存姢',
+        onClick: handleTemplate.bind(null, args, params),
+        name: '妯℃澘缁存姢',
+      });
       return data;
     },
     /**
@@ -142,7 +172,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']}'`;
@@ -205,9 +235,7 @@
                 ? ents.Data.Items
                 : JSON.parse(res.Data.Items[0].OPTION_1);
               /* 濡傛灉OPTION_1瀛楁涓虹┖灏辨妸鍖呰淇℃伅杞琂SON瀛樺埌OPTION_1瀛楁 */
-              res.Data.Items[0].OPTION_1 = isNullOrEmpty(res.Data.Items[0].OPTION_1)
-                ? JSON.stringify(ents.Data.Items)
-                : res.Data.Items[0].OPTION_1;
+              res.Data.Items[0].OPTION_1 = JSON.stringify(result['BAS_PKG_DTL']);
             } /* 濡傛灉鏄粍瑁呬笂鏂� */
             if (res.Data.Items[0].ACT_TYPE == 2) {
               result['name'] = 'ItemCode';
@@ -221,7 +249,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,
@@ -245,10 +273,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'] = {
@@ -256,6 +292,7 @@
               ItemCode: false,
             };
           }
+          useProdRoute.setcurDtl(result);
           resolve(result);
         } catch (e) {
           reject(e);
@@ -278,6 +315,9 @@
         }
         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']);
+        }
         SaveEntity(values, true, entityName).then((action) => {
           if (action.IsSuccessed) {
             emit('success');
@@ -288,10 +328,14 @@
     /**
      * @description: 寮瑰嚭閫夋嫨妗嗘墦寮�鏂规硶
      * @param {Fn} openItemModal
+     * @param {array} args
      * @return {*}
      */
     OpenSelectItem: (openItemModal: Fn, ...args) => {
       let config = {};
+      const openCrudModal = args[1];
+      const record = args[2];
+      const OrderNo = args[3];
       switch (args[0]) {
         case 'scanadd':
           config = ruleModalCfg;
@@ -309,12 +353,41 @@
           config = pkgModalCfg;
           break;
       }
-      openItemModal(true, config);
+      if (args[0] == 'labeladd') {
+        openCrudModal(true, {
+          isUpdate: true, //鏄惁鏇存柊鎿嶄綔
+          entityName: 'ProdRouteBinding', //鏄摢涓〉闈�
+          ctype: 'BAS_LABEL_VAR_WO', //瀹炰綋鍚嶇О
+          title: '妯℃澘缁存姢', //鏍囬
+          width: '1024px', //寮瑰嚭妗嗗搴�
+          ItemColumns: TemplateBasColumn, //寮瑰嚭妗嗕腑琛ㄦ牸瀛楁缁撴瀯
+          schemas: [], //鏌ヨ鏉′欢瀛楁缁撴瀯
+          others: { WORK_ORDER: OrderNo }, //闇�瑕佸甫鍒板脊鍑虹獥鍙d腑鐨勬暟鎹�
+          searchInfo: {
+            TABLE_NAME: 'BAS_LABEL_VAR_WO', //瀹炰綋鍚嶇О
+            LabelId: record.LABEL_CODE, //妯℃澘ID
+            WorkOrder: OrderNo, //宸ュ崟鍙�
+            apiUrl: mesApi.GetLabelVarByWorkOrder, //鑷畾涔夎幏鍙栨暟鎹垎椤电殑api锛屼笉鐢ㄩ粯璁ょ殑鍩虹鏂规硶
+            // sqlcmd: ` (WORK_ORDER = '${OrderNo}' OR WORK_ORDER = '' OR WORK_ORDER IS NULL)`,
+            // option:
+            // {
+            //   //鏍规嵁鎹偣鏌ヨ锛屽繀闇�甯﹁繖涓弬鏁�
+            //   UserId: useUserStore().getUserInfo.userId,
+            //   ByOrg: true,
+            //   CurOrg: useUserStore().getUserInfo.orgCode,
+            // },
+          },
+          values: record, //琛ㄥ崟璁板綍
+        });
+      } else {
+        openItemModal(true, config);
+      }
     },
     /**
      * @description: 寮瑰嚭閫夋嫨妗嗛�夋嫨鎴愬姛杩斿洖
      * @param {*} d
      * @param {*} u
+     * @param {array} args
      * @return {*}
      */
     GetSelectSuccess: async (d, u, ...args) => {
@@ -330,7 +403,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({
@@ -381,7 +454,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') {
@@ -399,7 +472,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 });
@@ -424,6 +497,25 @@
         testadd: useModal(),
         auditadd: useModal(),
         printadd: useModal(),
+        labeladd: useModal(),
+        pkgadd: useModal(),
+      };
+    },
+    /**
+     * @description: 鑾峰彇鍦ㄥ鍒犳敼琛ㄥ崟涓殑妯℃�佹搴旂敤鍒楄〃
+     * @return {*}
+     */
+    GetUseCrudModals: () => {
+      return {
+        addRoute: useModal(),
+        addCustomer: useModal(),
+        editRoute: useModal(),
+        scanadd: useModal(),
+        assyadd: useModal(),
+        testadd: useModal(),
+        auditadd: useModal(),
+        printadd: useModal(),
+        labeladd: useModal(),
         pkgadd: useModal(),
       };
     },
@@ -442,11 +534,13 @@
           // 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,
+          // scroll: { y: window.screen.width == 1366? 400: 450 },
+          isCanResizeParent: true,
           useSearchForm: false,
           showTableSetting: false,
           bordered: true,
-          canResize: true,
+          // canResize: false,
           showIndexColumn: false,
           // rowSelection: {
           //   type: 'radio', //'checkbox'
@@ -484,6 +578,10 @@
         }),
       };
     },
+    /**
+     * @description: 鑾峰彇琛屼负鎴栬�呰妭鐐圭殑閰嶇疆琛ㄥ崟缁撴瀯锛屼娇鐢╱seForm()
+     * @return {*}
+     */
     GetUseForm: () => {
       return {
         Action: useForm({
@@ -521,6 +619,7 @@
     /**
      * @description: 鑾峰彇鏍囬淇℃伅
      * @param {string} type
+     * @param {*} item
      * @return {*}
      */
     GetTitle: (type: string, item) => {
@@ -535,8 +634,8 @@
      * @param {Ref} selectedNodes
      * @return {*}
      */
-    SelectNode: (selectedNodes: Ref<any[]>) => {
-      let result = {
+    SelectNode: (selectedNodes: Ref<any[]>, code: string) => {
+      const result = {
         showConfig: false,
         showNav: false,
         type: selectedNodes.value[0].type,
@@ -554,16 +653,15 @@
       if (selectedNodes.value[0].type == 'Action' || selectedNodes.value[0].type == 'Node') {
         result.showNav = false;
         result.showConfig = true;
-        if (selectedNodes.value[0].type == 'Action') {
-          result.showOtherTable = { BAS_PKG_DTL: false, ItemCode: false };
-        } else {
-          result.showOtherTable = { BAS_PKG_DTL: false, ItemCode: false };
-        }
+        result.showOtherTable = { BAS_PKG_DTL: false, ItemCode: false };
       }
+      /* 淇濆瓨褰撳墠閫夋嫨鐨勮妭鐐规暟鎹埌鐘舵�佺鐞� */
+      useProdRoute.setCurSelectedNodes({ name: code, SelectedNodes: selectedNodes.value });
       return result;
     },
     /**
      * @description: 鑾峰彇瀵艰埅椤�
+     * @param {string} type
      * @return {*}
      */
     GetNavItems: (type: string) => {
@@ -578,6 +676,7 @@
               url: '/addRoute',
               action: 'addRoute',
               isStep: false,
+              isCustEl: false,
             },
             {
               title: '娣诲姞瀹㈡埛宸ヨ壓璺嚎',
@@ -586,18 +685,29 @@
               url: '/addCustomer',
               action: 'addCustomer',
               isStep: true,
+              isCustEl: false,
             },
           ];
           break;
         case 'Route':
           item = [
             {
-              title: '缂栬緫宸ヨ壓璺嚎',
-              icon: 'clarity:note-edit-line',
+              title: '缂栬緫宸ヨ壓璺嚎', //鏍囬
+              icon: 'clarity:note-edit-line', //鍥炬爣
+              color: '#1fdaca', //瀛椾綋棰滆壊
+              url: '/editRoute', //瀵艰埅鍦板潃
+              action: 'editRoute', //瀵艰埅鎵ц鐨勬柟娉曪紝濡傛灉鎸夎繖涓猘ction鏉ユ墽琛岋紝涓婇潰鐨剈rl灏辨棤鏁�
+              isStep: false, //鏄惁鏄楠�
+              isCustEl: false, //鏄惁鏄嚜瀹氫箟html鍐呭
+            },
+            {
+              title: '璁剧疆榛樿宸ヨ壓璺嚎',
+              icon: '',
               color: '#1fdaca',
-              url: '/editRoute',
-              action: 'editRoute',
+              url: '',
+              action: '',
               isStep: false,
+              isCustEl: true,
             },
           ];
           break;
@@ -607,12 +717,15 @@
     /**
      * @description: 瀵艰埅椤甸潰鍒囨崲鎸夐挳鏃惰皟鐢ㄦ柟娉�
      * @param {any} action
+     * @param {array} args
      * @return {*}
      */
     navChangeItem: (action: any, ...args) => {
+      const openRvModal = args[1];
+      const openModal = args[0];
       switch (action) {
         case 'addRoute':
-          args[0](true, {
+          openModal(true, {
             title: '宸ヨ壓璺嚎鍒楄〃',
             schemas: [
               {
@@ -648,12 +761,12 @@
           });
           break;
         case 'addCustomer':
-          args[0](true, {
+          openModal(true, {
             title: '璇峰畬鎴愪互涓嬫楠�',
           });
           break;
         case 'editRoute':
-          args[1](true, {
+          openRvModal(true, {
             rotId: args[2][0].id,
             slotName: '',
             prodCode: args[3],
@@ -714,33 +827,63 @@
      * @return {*}
      */
     CustFunc: async (param: CustModalParams) => {
-      switch (param['ctype']) {
-        case 'BAS_PKG_DTL':
-          // const ents = await getEntity({
-          //   sqlcmd: `PKG_RULE_ID ='${param.values['PKG_RULE_ID']}'`,
-          //   entityName: 'V_BAS_PKG_DTL',
-          //   order: '',
-          // });
-          // param.data.value['Table'] = ents.Data.Items;
-          param.data.value['BAS_PKG_DTL'].map((x) => {
-            if (x.PKG_CODE == param.values['PKG_CODE']) {
-              x.LABEL_CODE = param.values['LABEL_CODE'];
-            }
-          });
-          param.data.value['Action'][0]['OPTION_1'] = JSON.stringify(
-            param.data.value['BAS_PKG_DTL'],
-          );
-          break;
-        case 'ItemCode':
-          param.data.value['ItemCode'].map((x) => {
-            if (x.ITEM_CODE == param.values['ITEM_CODE']) {
-              x.IsBatchItem = param.values['IsBatchItem'];
-              x.RULE_CODE = param.values['RULE_CODE'];
-            }
-          });
-          param.data.value['Action'][0]['OPTION_1'] = JSON.stringify(param.data.value['ItemCode']);
-          break;
-      }
+      return new Promise<any>(async (resolve, reject) => {
+        try {
+          switch (param['ctype']) {
+            case 'BAS_PKG_DTL':
+              // const ents = await getEntity({
+              //   sqlcmd: `PKG_RULE_ID ='${param.values['PKG_RULE_ID']}'`,
+              //   entityName: 'V_BAS_PKG_DTL',
+              //   order: '',
+              // });
+              // param.data.value['Table'] = ents.Data.Items;
+              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'];
+                }
+              });
+              param.data.value['Action'][0]['OPTION_1'] = JSON.stringify(
+                param.data.value['BAS_PKG_DTL'],
+              );
+              resolve('OK');
+              break;
+            case 'ItemCode':
+              param.data.value['ItemCode'].map((x) => {
+                if (x.ITEM_CODE == param.values['ITEM_CODE']) {
+                  x.IsBatchItem = param.values['IsBatchItem'];
+                  x.RULE_CODE = param.values['RULE_CODE'];
+                }
+              });
+              param.data.value['Action'][0]['OPTION_1'] = JSON.stringify(
+                param.data.value['ItemCode'],
+              );
+              resolve('OK');
+              break;
+            case 'BAS_LABEL_VAR_WO':
+              param.values['PROD_CODE'] = param.others['PROD_CODE'];
+              param.values['ID'] = buildUUID();
+              var action = await AddOrEditLabelVarByWorkOrder(
+                param.values as unknown as BAS_LABEL_VAR_WO,
+              );
+              resolve(action);
+            case 'isDefault':
+              /* 璁剧疆榛樿宸ヨ壓璺嚎 */
+              var action = await useProdRoute.setDefaulRoute(param);
+              resolve(action);
+            case 'delete':
+              const webSocketStore = useWebSocketStore();
+              if (webSocketStore.GetSocketState == 1) {
+                webSocketStore.sendMessage(
+                  `wsGetNew ${param.values['LABEL_ID']}_#_${param.values['PROD_CODE']}`,
+                );
+              }
+              break;
+          }
+        } catch (e) {
+          reject(e);
+        }
+      });
     },
     /**
      * @description: 鑾峰彇鍙抽敭鑿滃崟鍒楄〃
@@ -761,7 +904,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);
@@ -855,6 +998,12 @@
             //       },
             //   };
             // },
+          },
+          {
+            dataIndex: 'LABEL_ID',
+            title: '鏍囩妯℃澘ID',
+            ifShow: false,
+            customRender: () => {},
           },
         ] as BasicColumn[];
         break;
@@ -1236,7 +1385,7 @@
     {
       field: 'LABEL_CODE',
       label: '鏍囩鎵撳嵃',
-      colProps: { span: 11 },
+      colProps: { span: 9 },
       component: 'Input',
       ifShow: ({ values }) => isPrint(values.ACT_TYPE),
     },
@@ -1245,9 +1394,18 @@
       label: '1',
       defaultValue: '',
       component: 'Input',
-      colProps: { span: 1, pull: 1 },
+      colProps: { span: 2 },
       ifShow: ({ values }) => isPrint(values.ACT_TYPE),
       colSlot: 'printadd',
+    },
+    {
+      field: 'print1',
+      label: '1',
+      defaultValue: '',
+      component: 'Input',
+      colProps: { span: 1, pull: window.screen.width == 1366 ? -1 : 1 },
+      ifShow: ({ values }) => isPrint(values.ACT_TYPE),
+      colSlot: 'labeladd',
     },
     {
       field: 'PKG_CODE',
@@ -1492,6 +1650,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',
@@ -1660,6 +1841,78 @@
     ] as FormSchema[],
   };
 
+  /**
+   * @description: 妯℃澘缁存姢
+   * @param {*} args
+   * @param {Recordable} params
+   * @return {*}
+   */
+  function handleTemplate(args, params: Recordable) {
+    const openCrudModal = args[0];
+    // const OrderNo = args[2];
+    const ProdCode = args[2];
+    openCrudModal(true, {
+      isUpdate: true, //鏄惁鏇存柊鎿嶄綔
+      entityName: 'ProdRouteBinding', //鏄摢涓〉闈�
+      ctype: 'BAS_LABEL_VAR_WO', //瀹炰綋鍚嶇О
+      title: '妯℃澘缁存姢', //鏍囬
+      width: '1024px', //寮瑰嚭妗嗗搴�
+      ItemColumns: TemplateBasColumn, //寮瑰嚭妗嗕腑琛ㄦ牸瀛楁缁撴瀯
+      schemas: [], //鏌ヨ鏉′欢瀛楁缁撴瀯
+      others: { WORK_ORDER: '', PROD_CODE: ProdCode }, //闇�瑕佸甫鍒板脊鍑虹獥鍙d腑鐨勬暟鎹�
+      searchInfo: {
+        TABLE_NAME: 'BAS_LABEL_VAR_WO', //瀹炰綋鍚嶇О
+        LabelId: params['record'].LABEL_ID, //妯℃澘ID
+        WorkOrder: '', //宸ュ崟鍙�
+        ProdCode: ProdCode,
+        CustCode: '',
+        apiUrl: mesApi.GetLabelVarByWorkOrder, //鑷畾涔夎幏鍙栨暟鎹垎椤电殑api锛屼笉鐢ㄩ粯璁ょ殑鍩虹鏂规硶
+      },
+      values: params['record'], //琛ㄥ崟璁板綍
+    });
+  }
+
+  /* 涓嬪彂鐣岄潰涓殑琛ㄥ崟鍒楄〃 */
+  const TemplateBasColumn = [
+    {
+      dataIndex: 'LABEL_ID',
+      title: '鏍囩妯℃澘ID',
+      ifShow: false,
+      sorter: true,
+      resizable: true,
+    },
+    {
+      title: '宸ュ崟鍙�',
+      dataIndex: 'WORK_ORDER',
+      width: 280,
+      // editRow: true,
+      // editable: true,
+      ifShow: false,
+    },
+    {
+      title: '宸ュ崟鍙�',
+      dataIndex: 'PROD_CODE',
+      width: 280,
+      ifShow: false,
+    },
+    {
+      title: '鍙橀噺鍚�',
+      dataIndex: 'VAR_NAME',
+    },
+    {
+      title: '鍙橀噺鍊�',
+      dataIndex: 'VAR_VALUE',
+      editRow: true,
+      editRule: true,
+    },
+    {
+      title: '榛樿鍊�',
+      dataIndex: 'DEFAULT_VALUE',
+      // editRow: true,
+      // editRule: true,
+    },
+  ] as BasicColumn[];
+
   return [methods];
 }
 

--
Gitblit v1.9.3