Ben Lin
2024-07-31 08d4018e84039c5a9d400790704fa931afdc861b
src/views/tigerprojects/system/lowcode/entityts/BAS_LABEL_TEMP.ts
@@ -4,35 +4,15 @@
 * @version:
 * @Date: 2024-06-19 20:34:27
 * @LastEditors: Ben Lin
 * @LastEditTime: 2024-06-24 15:52:02
 * @LastEditTime: 2024-07-31 22:23:50
 */
import { DeleteLabelTemplate } from '/@/api/tigerapi/mes/label';
import { CustModalParams } from '/@/api/tigerapi/model/systemModel';
import { ActionItem, BasicColumn } from '/@/components/Table';
import { useWebSocketStore } from '/@/store/modules/websocket';
function _default() {
  /**
   * @description: 跳转到详情页面方法
   * @param {Fn} go
   * @return {*}
   */
  function goDetail(go: Fn, params: Recordable) {
    const id = {
      ID: params['record'].ID,
      CODE: params['record']['LABEL_CODE'],
      Name: 'BAS_LABEL_VAR',
      firstTabName: '标签模板变量',
      secondTabName: '', //'标签过程变量',
      firstTitle: '模板变量',
      secondTitle: '', //'过程变量',
      pageTitle: '标签模板变量', //详情页面标题
      contentStr: '这里是标签模板变量管理页面,可以管理标签的模板变量或者打印过程中的变量',
      detailName: `模板[${params['record'].LABEL_NAME}]`,
      others: { LABEL_ID: params['record'].ID },
      colSlots: ['BAS_LABEL_PV1add'],
    };
    go(`/BAS_LABEL_VAR/${encodeURI(JSON.stringify(id))}`);
  }
  const ActionColumn: BasicColumn = {
    width: 120,
    title: '操作',
@@ -41,34 +21,159 @@
    fixed: 'right',
  };
  /**
   * @description: 些自定义方法
   * @return {*}
   */
  const methods = {
    /**
     * @description: 获取新增按钮的行为
     * @return {*}
     */
    CreateAction: (fnName: string) => {
    CreateAction: (type: string, ...args) => {
      return {
        action: 'drawer', //drawer(打开左侧抽屉框) | go(跳转到新的页面)
      };
      // const colSlots = args[0];
      // return {
      //   action: 'go', //drawer(打开左侧抽屉框) | go(跳转到新的页面) | edit(如果是表格可编辑页面就是自定义方法)
      //   url: 'BAS_LABEL_VAR/High',
      //   params: {
      //     CODE: '0',
      //     ID: buildUUID(),
      //     Name: 'BAS_LABEL_VAR', //实体名
      //     Title: '新增模板', //标题
      //     pCode: 'LABEL_CODE', //主信息关键字段CODE
      //     IsID: true, //是否带过去侧边框的是ID,false就是CODE,true是ID
      //     colSlots: colSlots,
      //     colSlotsInHigh: ['BAS_LABEL_VAR1add', 'BAS_LABEL_VAR2add'],
      //     drawers: [
      //       {
      //         name: 'BAS_LABEL_VAR', //实体名
      //         code: 'LABEL_ID', //传递过去高级表单页面的关键字段名
      //         type: 'one', //one-表示需要code的一个值,默认是这个
      //         keyName: 'BAS_LABEL_VAR', //关键表名(实体名)
      //         order: 'VAR_NAME', //排序
      //         showTbButton: false, //是否显示工具栏按钮
      //         FnName: '', //自定义方法名
      //       },
      //       {
      //         name: 'BAS_LABEL_VAR_WO', //实体名
      //         code: 'LABEL_ID', //传递过去高级表单页面的关键字段名
      //         type: 'one', //all-表示需要code的所有的值
      //         keyName: 'BAS_LABEL_VAR_WO', //关键表名(实体名)
      //         order: '',
      //         showTbButton: true, //是否显示工具栏按钮
      //         FnName: 'AddRow', //自定义方法名
      //       },
      //     ], //drawers是右边弹出增改侧框的名字列表,及按钮的执行方法
      //   },
      // };
    },
    /**
     * @description: 操作字段自定义按钮
     * @return {*}
     */
    ActionItem: (params: Recordable<any>, data, ...args): ActionItem[] => {
      return [
        ...data,
        ...[
          {
            icon: 'clarity:info-standard-line',
            tooltip: '模板变量',
            onClick: goDetail.bind(null, args[5], params),
          },
        ],
      ];
      data.map((x) => {
        if (x.name == 'goDetail') {
          x.onClick = goDetail.bind(null, args[5], params);
          x.tooltip = '模板变量';
        }
        if (x.name == 'Delete') {
          x.popConfirm.confirm = Del.bind(null, args, params);
          x.tooltip = '删除';
        }
      });
      return data;
    },
    GetUseForm: () => {
      return {};
    },
    /**
     * @description: 自定义方法
     * @param {string} type
     * @param {array} args
     * @return {*}
     */
    CustFunc: (param: CustModalParams) => {
      const webSocketStore = useWebSocketStore();
      if (webSocketStore.GetSocketState == 1) {
        webSocketStore.sendMessage(
          `wsSubStrings ${param.values['ID']}_#_${param.values['TEMP_PATH']}`,
        );
      }
    },
  };
  /* 以下是内部方法,不export,供上面的方法调用 */
  /**
   * @description: 跳转到详情页面方法
   * @param {Fn} go
   * @return {*}
   */
  function goDetail(go: Fn, params: Recordable) {
    const id = {
      CODE: params['record']['LABEL_CODE'],
      ID: params['record']['ID'],
      Name: 'BAS_LABEL_VAR',
      SessionName: 'BAS_LABEL_VAR_update',
      Title: `编辑模板${params['record']['LABEL_CODE']}的变量`,
      pCode: 'LABEL_CODE',
      IsID: true,
      colSlots: params['colSlots'].value, //['BAS_LABEL_VAR1add', 'BAS_LABEL_VAR2add'],
      colSlotsInHigh: ['BAS_LABEL_VAR1add', 'BAS_LABEL_VAR2add'],
      drawers: [
        {
          name: 'BAS_LABEL_VAR',
          code: 'LABEL_ID',
          type: 'one',
          keyName: 'BAS_LABEL_VAR',
          order: 'VAR_NAME',
          showTbButton: false,
          FnName: '',
        },
        {
          name: 'BAS_LABEL_VAR_WO',
          code: 'LABEL_ID',
          type: 'one',
          keyName: 'BAS_LABEL_VAR_WO',
          order: '',
          showTbButton: true,
          FnName: 'AddRow',
        },
      ], //drawers是右边弹出增改侧框的名字列表
    };
    // const webSocketStore = useWebSocketStore();
    // if (webSocketStore.GetSocketState == 1) {
    //   webSocketStore.sendMessage(
    //     `wsSubStrings 1d441e20c43a469286319de9b0df5d7b_#_http://localhost:8800/files/10位唯一ID.btw`,
    //   );
    // }
    // 将对象转换为JSON字符串并保存到sessionStorage
    sessionStorage.removeItem(`${id.SessionName}_params`);
    sessionStorage.setItem(`${id.SessionName}_params`, encodeURI(JSON.stringify(id)));
    go(
      `/BAS_LABEL_VAR/High/${encodeURI(JSON.stringify({ sName: id.SessionName, Name: id.Name }))}`,
    );
  }
  /**
   * @description: 自定义删除方法
   * @param {Fn} args
   * @param {*} params
   * @return {*}
   */
  function Del(args: Fn[], params: {}) {
    const reload = args[1];
    DeleteLabelTemplate(params['record']['ID']).then((action) => {
      if (action.IsSuccessed) {
        reload();
      }
    });
  }
  return [methods, ActionColumn];
}