Ben Lin
2024-10-24 5a813f3b28f3cbf1db3a3657ccf83267c6e0d315
src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts
@@ -4,7 +4,7 @@
 * @version:
 * @Date: 2024-06-19 20:34:27
 * @LastEditors: Ben Lin
 * @LastEditTime: 2024-10-16 00:10:37
 * @LastEditTime: 2024-10-24 01:21:57
 */
import { Ref, h, ref, render, unref } from 'vue';
@@ -33,6 +33,7 @@
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();
@@ -99,10 +100,20 @@
      let _treeData = convertToTree(prodTreeData, 'pid', 'tid', 'root');
      data.title = '工艺路线';
      data.fieldNames = { key: 'tid', title: 'name' };
      /* 保存工艺树形数据到状态管理 */
      useProdRoute.setCurProdRotTree(_treeData as unknown as MesRotTree[]);
      if (
        !useProdRoute.changeToCPPage ||
        !useProdRoute.curProdRotTree.some((q) => q.name == itemCode)
      ) {
        /* 保存工艺树形数据到状态管理 */
        useProdRoute.setCurProdRotTree({
          name: itemCode,
          treeInfo: _treeData as unknown as MesRotTree[],
        });
      }
      useProdRoute.setItemCode(itemCode);
      data.treeData = useProdRoute.getCurProdRotTree;
      if (useProdRoute.curProdRotTree.some((q) => q.name == itemCode)) {
        data.treeData = useProdRoute.curProdRotTree.filter((q) => q.name == itemCode)[0].treeInfo;
      }
      return data;
    },
    /**
@@ -223,9 +234,7 @@
                ? ents.Data.Items
                : JSON.parse(res.Data.Items[0].OPTION_1);
              /* 如果OPTION_1字段为空就把包装信息转JSON存到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';
@@ -274,6 +283,7 @@
              ItemCode: false,
            };
          }
          useProdRoute.setcurDtl(result);
          resolve(result);
        } catch (e) {
          reject(e);
@@ -296,6 +306,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');
@@ -512,11 +525,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'
@@ -610,9 +625,7 @@
     * @param {Ref} selectedNodes
     * @return {*}
     */
    SelectNode: (selectedNodes: Ref<any[]>) => {
      /* 保存当前选择的节点数据到状态管理 */
      useProdRoute.setCurSelectedNodes(selectedNodes.value);
    SelectNode: (selectedNodes: Ref<any[]>, code: string) => {
      let result = {
        showConfig: false,
        showNav: false,
@@ -633,6 +646,8 @@
        result.showConfig = true;
        result.showOtherTable = { BAS_PKG_DTL: false, ItemCode: false };
      }
      /* 保存当前选择的节点数据到状态管理 */
      useProdRoute.setCurSelectedNodes({ name: code, SelectedNodes: selectedNodes.value });
      return result;
    },
    /**
@@ -837,7 +852,7 @@
              resolve('OK');
              break;
            case 'BAS_LABEL_VAR_WO':
              param.values['WORK_ORDER'] = param.others['WORK_ORDER'];
              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,
@@ -847,6 +862,14 @@
              /* 设置默认工艺路线 */
              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);
@@ -1830,8 +1853,14 @@
      title: '工单号',
      dataIndex: 'WORK_ORDER',
      width: 280,
      editRow: true,
      // editRow: true,
      // editable: true,
      ifShow: false,
    },
    {
      title: '工单号',
      dataIndex: 'PROD_CODE',
      width: 280,
      ifShow: false,
    },
    {
@@ -1847,8 +1876,8 @@
    {
      title: '默认值',
      dataIndex: 'DEFAULT_VALUE',
      editRow: true,
      editRule: true,
      // editRow: true,
      // editRule: true,
    },
  ] as BasicColumn[];