Ben Lin
2024-10-16 1b419ccf217dbcace15987f1c0fe26b9e15d1d4b
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-06 16:48:25
 * @LastEditTime: 2024-10-16 00:10:37
 */
import { Ref, h, ref, render, unref } from 'vue';
@@ -29,13 +29,15 @@
import { ContextMenuItem } from '/@/components/TigerTree';
import { useForm } from '/@/components/Form';
import { mesApi } from '/@/api/tigerapi/mes/mesApi';
import { BAS_LABEL_VAR_WO } from '/@/api/tigerapi/model/mesModel';
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';
const { t } = useI18n();
const { createErrorModal } = useMessage();
const { getLocale } = useLocale();
const useProdRoute = useProdRouteStore();
function _default() {
  /* 定义变量 */
  const isNormal = (type: number) => type === 0;
@@ -80,8 +82,8 @@
     * @description: 高级表单和详情页面返回主页面的url
     * @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: 获取树形数据
@@ -90,19 +92,17 @@
     */
    fetchTreeData: async (type: string, itemCode: string) => {
      let data = { title: '', treeData: [] as any[], fieldNames: {} };
      let prodTreeData = await GetRoutePTree({
      let 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[];
      let _treeData = convertToTree(prodTreeData, 'pid', 'tid', 'root');
      data.title = '工艺路线';
      data.fieldNames = { key: 'tid', title: 'name' };
      /* 保存工艺树形数据到状态管理 */
      useProdRoute.setCurProdRotTree(_treeData as unknown as MesRotTree[]);
      useProdRoute.setItemCode(itemCode);
      data.treeData = useProdRoute.getCurProdRotTree;
      return data;
    },
    /**
@@ -611,6 +611,8 @@
     * @return {*}
     */
    SelectNode: (selectedNodes: Ref<any[]>) => {
      /* 保存当前选择的节点数据到状态管理 */
      useProdRoute.setCurSelectedNodes(selectedNodes.value);
      let result = {
        showConfig: false,
        showNav: false,
@@ -841,22 +843,9 @@
                param.values as unknown as BAS_LABEL_VAR_WO,
              );
              resolve(action);
            case 'isDefault' /* 设置默认工艺路线 */:
              var action = await SetDefaultRoute({
                rotCode: param.others['code'],
                prodCode: param.keyCode,
                rotId: '',
                options: {
                  //根据据点查询,必需带这个参数
                  UserId: useUserStore().getUserInfo.userId as string,
                  ByOrg: true,
                  CurOrg: useUserStore().getUserInfo.orgCode as string,
                  ByProd: false,
                  ByWh: false,
                  OrgCode: useUserStore().getUserInfo.orgCode as string,
                },
                isDefault: param.others['isDefault'],
              });
            case 'isDefault':
              /* 设置默认工艺路线 */
              var action = await useProdRoute.setDefaulRoute(param);
              resolve(action);
          }
        } catch (e) {
@@ -1805,7 +1794,8 @@
   */
  function handleTemplate(args, params: Recordable) {
    const openCrudModal = args[0];
    const OrderNo = args[2];
    // const OrderNo = args[2];
    const ProdCode = args[2];
    openCrudModal(true, {
      isUpdate: true, //是否更新操作
      entityName: 'ProdRouteBinding', //是哪个页面
@@ -1814,20 +1804,14 @@
      width: '1024px', //弹出框宽度
      ItemColumns: TemplateBasColumn, //弹出框中表格字段结构
      schemas: [], //查询条件字段结构
      others: { WORK_ORDER: OrderNo }, //需要带到弹出窗口中的数据
      others: { WORK_ORDER: '', PROD_CODE: ProdCode }, //需要带到弹出窗口中的数据
      searchInfo: {
        TABLE_NAME: 'BAS_LABEL_VAR_WO', //实体名称
        LabelId: params['record'].LABEL_ID, //模板ID
        WorkOrder: OrderNo, //工单号
        WorkOrder: '', //工单号
        ProdCode: ProdCode,
        CustCode: '',
        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: params['record'], //表单记录
    });