Ben Lin
2025-03-08 21a4e09672b1177d40c2bb5b937a8780c5eaa7fb
src/views/tigerprojects/system/lowcode/entityts/WoRouteBinding.ts
@@ -34,6 +34,7 @@
import { useProdRouteStore } from '/@/store/modules/prodRoute';
import { useWebSocketStore } from '/@/store/modules/websocket';
import { useGlobSetting } from '/@/hooks/setting';
import { cloneDeep } from 'vue-json-pretty/types/utils';
const { t } = useI18n();
const { createErrorModal } = useMessage();
@@ -85,7 +86,7 @@
     * @return {*}
     */
    GetHomeUrl: (params: {}) => {
      return `/BIZ_MES_WO/LC/${encodeURI(JSON.stringify({ ID: 'BIZ_MES_WO', colSlots: params['colSlots'], crudColSlots: [] }))}`;
      return `/BIZ_MES_WO/LC/${encodeURI(JSON.stringify({ ID: 'BIZ_MES_WO', "EntityName":"BIZ_MES_WO",colSlots: params['colSlots'], crudColSlots: [] }))}`;
    },
    /**
     * @description: 获取树形数据
@@ -119,6 +120,8 @@
          treeInfo: _treeData as unknown as MesRotTree[],
        });
      }
      useProdRoute.setWo(wo);
      useProdRoute.setname(wo);
      if (useProdRoute.curProdRotTree.some((q) => q.name == wo)) {
        data.treeData = useProdRoute.curProdRotTree.filter((q) => q.name == wo)[0].treeInfo;
      }
@@ -179,12 +182,17 @@
     * @return {*}
     */
    GetUseTables: (data: Ref<{}>, ...args) => {
      let sortData = isNullOrUnDef(data.value['BAS_PKG_DTL'])
        ? data.value['BAS_PKG_DTL']
        : data.value['BAS_PKG_DTL'].sort((a, b) => {
            return a.PKG_LEVEL - b.PKG_LEVEL;
          });
      return {
        BAS_PKG_DTL: useTable({
          title: '列表信息',
          // api: getListByPage,
          // searchInfo: { TABLE_NAME: 'V_BAS_PKG_DTL' },
          dataSource: data.value['BAS_PKG_DTL'],
          dataSource: sortData,
          columns: GetBaseColumns('BAS_PKG_DTL', args[0], data),
          // maxHeight: 520,
          useSearchForm: false,
@@ -346,49 +354,45 @@
          }
          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: '',
            });
            const values = {
              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: 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,
              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,
              WORK_ORDER: params['objParams'].value['CODE'],
              CUST_CODE: params['selectedNodes'][0].cust,
              PROD_CODE: params['selectedNodes'][0].prod,
            };
            setFieldsValueNode(values);
            // const wonode = await getEntity({
            //   sqlcmd: `WORK_ORDER ='${params['objParams'].value['CODE']}' AND ID = '${res.Data.Items[0].NODE_ID}'`,
            //   entityName: 'MES_WO_NODE',
            //   order: '',
            // });
            if(isNullOrEmpty(res.Data.Items[0].IS_ACTIVE)){
              res.Data.Items[0].IS_ACTIVE = 'N'
            }
            if(isNullOrEmpty(res.Data.Items[0].IS_CALC_FPY)){
              res.Data.Items[0].IS_CALC_FPY = 'N'
            }
            if(isNullOrEmpty(res.Data.Items[0].CAN_SKIP)){
              res.Data.Items[0].CAN_SKIP = 'N'
            }
            if(isNullOrEmpty(res.Data.Items[0].IS_INPUT)){
              res.Data.Items[0].IS_INPUT = 'N'
            }
            if(isNullOrEmpty(res.Data.Items[0].IS_OUTPUT)){
              res.Data.Items[0].IS_OUTPUT = 'N'
            }
            if(isNullOrEmpty(res.Data.Items[0].ALLOW_DFT_IN)){
              res.Data.Items[0].ALLOW_DFT_IN = 'N'
            }
            if(isNullOrEmpty(res.Data.Items[0].IF_DFT_OFFLINE)){
              res.Data.Items[0].IF_DFT_OFFLINE = 'N'
            }
            if(!isNullOrEmpty(params['objParams'].value['CODE'])){
              res.Data.Items[0].WORK_ORDER = params['objParams'].value['CODE']
            }
            if(!isNullOrEmpty(params['selectedNodes'][0].prod)){
              res.Data.Items[0].PROD_CODE = params['selectedNodes'][0].prod
            }
            if(!isNullOrEmpty(params['selectedNodes'][0].cust)){
              res.Data.Items[0].CUST_CODE = params['selectedNodes'][0].cust
            }
            setFieldsValueNode(res.Data.Items[0]);
            /* 默认保存 */
            SaveEntity(values, true, 'MES_WO_OPER');
            SaveEntity(res.Data.Items[0], true, 'MES_WO_OPER');
            result['name'] = 'Node';
            result['isShow'] = {
@@ -435,9 +439,11 @@
    OpenSelectItem: (openItemModal: Fn, ...args) => {
      let config = {};
      const openCrudModal = args[1];
      const record = args[2];
      const record = args[2]; //带过来的记录
      const OrderNo = args[3];
      switch (args[0]) {
      const WoRecord = args[4];
      /* args[0]是界面上的slot名字,根据slot名字来写不同的逻辑实现 */
      switch (args[0]) {
        case 'scanadd':
          config = ruleModalCfg;
          break;
@@ -454,6 +460,7 @@
          config = pkgModalCfg;
          break;
      }
      /* 如果slot是'labeladd',打开增删改模态窗口,可编辑行 */
      if (args[0] == 'labeladd') {
        openCrudModal(true, {
          isUpdate: true, //是否更新操作
@@ -463,7 +470,12 @@
          width: '1024px', //弹出框宽度
          ItemColumns: TemplateBasColumn, //弹出框中表格字段结构
          schemas: [], //查询条件字段结构
          others: { WORK_ORDER: OrderNo }, //需要带到弹出窗口中的数据
          others: { WORK_ORDER: OrderNo}, //需要带到弹出窗口中的数据
          alertConfig: {
            showAlert: true,
            message: '销售订单备注',
            description: WoRecord.SALES_REMARK,
          },  /* 在弹出窗口最上位置显示提醒信息,显示销售订单备注 */
          searchInfo: {
            TABLE_NAME: 'BAS_LABEL_VAR_WO', //实体名称
            LabelId: record.LABEL_CODE, //模板ID
@@ -1179,6 +1191,14 @@
          span: 12,
        },
      },
      {
        field: 'LABEL_NAME',
        component: 'Input',
        label: '模板名称',
        colProps: {
          span: 12,
        },
      },
    ],
    ItemColumns: [
      {
@@ -1867,6 +1887,7 @@
  function handleTemplate(args, params: Recordable) {
    const openCrudModal = args[0];
    const OrderNo = args[2];
    const WoRecord = params['mainRecord'];
    openCrudModal(true, {
      isUpdate: true, //是否更新操作
      entityName: 'WoRouteBinding', //是哪个页面
@@ -1876,6 +1897,11 @@
      ItemColumns: TemplateBasColumn, //弹出框中表格字段结构
      schemas: [], //查询条件字段结构
      others: { WORK_ORDER: OrderNo }, //需要带到弹出窗口中的数据
      alertConfig: {
        showAlert: true,
        message: '销售订单备注',
        description: WoRecord.SALES_REMARK,
      }, /* 在弹出窗口最上位置显示提醒信息,显示销售订单备注 */
      searchInfo: {
        TABLE_NAME: 'BAS_LABEL_VAR_WO', //实体名称
        LabelId: params['record'].LABEL_ID, //模板ID