Ben Lin
2024-07-02 04259fe9c84d819791cab926b959cab8dc6584b6
src/views/tigerprojects/system/lowcode/entityts/BAS_DEFECT.ts
@@ -4,18 +4,19 @@
 * @version:
 * @Date: 2024-06-19 20:34:27
 * @LastEditors: Ben Lin
 * @LastEditTime: 2024-06-28 14:21:49
 * @LastEditTime: 2024-07-01 17:04:43
 */
import { Ref, h, unref } from 'vue';
import { DeleteEntity, GetEnum, getEntity } from '/@/api/tigerapi/system';
import { ActionItem, BasicColumn } from '/@/components/Table';
import { ActionItem, BasicColumn, useTable } from '/@/components/Table';
import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is';
import { buildUUID } from '/@/utils/uuid';
import { useUserStore } from '/@/store/modules/user';
import { formatToDateTime } from '/@/utils/dateUtil';
import { Tag } from 'ant-design-vue';
import { useLocale } from '/@/locales/useLocale';
import { useDrawer } from '/@/components/Drawer';
const { getLocale } = useLocale();
function _default() {
@@ -59,8 +60,200 @@
      const param = { ID: 'BAS_DEFECT_GRP', colSlots: [], crudColSlots: [] };
      return `/BAS_DEFECT_GRP/LC/${encodeURI(JSON.stringify(param))}`;
    },
    GetBaseColumns: () => {
    GetBaseColumns: (type: string) => {
      return baseColumns[type];
    },
    GetSearchForm: (type: string) => {
      return searchForms[type];
    },
    GetCrudForm: (type: string) => {
      return crudForms[type];
    },
    GetBaseForm: () => {
      return [
        {
          field: 'DFTG_CODE',
          label: '不良代码组编码',
          component: 'Input',
          required: true,
          colProps: {
            span: 8,
          },
        },
        {
          label: '不良代码组名称',
          field: 'DFTG_NAME',
          required: true,
          component: 'Input',
          colProps: {
            span: 8,
          },
        },
        {
          label: '备注',
          field: 'REMARK',
          component: 'Input',
          colProps: {
            span: 8,
          },
        },
        {
          label: 'ID',
          field: 'ID',
          component: 'Input',
          colProps: {
            span: 8,
          },
          show: false,
        },
      ];
    },
    /**
     * @description: 获取卡片内配置列表,以循环显示多个卡片并配置多个插槽
     * @return {*}
     */
    GetBaseCards: (type: string) => {
      return [
        {
          name: 'BaseForm',
          slots: [],
          preIcons: {},
          title: '不良代码组信息',
          entityName: 'BAS_DEFECT_GRP',
        },
        // {
        //   name: 'prodinfo',
        //   slots: ['addRot', 'setRot'],
        //   preIcons: { addRot: 'search|svg', setRot: 'config|svg' },
        //   title: '产品信息',
        // },
        // { name: 'rotinfo', slots: ['add'], preIcons: { add: 'search|svg' }, title: '工艺信息' },
      ];
    },
    /**
     * @description: 获取右侧边框use方法
     * @return {*}
     */
    GetUseDrawers: () => {
      return [{
        'BAS_DEFECT': useDrawer(),
      }];
    },
    /**
     * @description: 获取表格use列表
     * @param {string} type
     * @param {array} args
     * @return {*}
     */
    GetUseTables: (data: any[], ...args) => {
      return {
        BAS_DEFECT: useTable({
          title: '列表信息',
          dataSource: data,
          columns: baseColumns['BAS_DEFECT'],
          formConfig: {
            labelWidth: 140,
            schemas: searchForms['BAS_DEFECT'],
          },
          useSearchForm: true,
          showTableSetting: true,
          bordered: true,
          canResize: true,
          showIndexColumn: false,
          actionColumn: {
            width: 130,
            title: '操作',
            dataIndex: 'action',
            slots: { customRender: 'action' },
            fixed: 'right',
          }, //自定义操作列
        })
      };
    },
    OthersValues: (val: string, id: string) => {
      return { DFTG_CODE: val };
    } /**
     * @description: 自定义明细表中编辑返回方法
     * @param {string} type
     * @param {*} d
     * @param {*} u
     * @return {*}
     */,
    EditOperation: (data: Ref<any[]>, d, u) => {
      if (u.isUpdate) {
        //更新
        var _data = data.value.map((item) => {
          if (item['ID'] == d.ID)
            return {
              ...item,
              DFT_CODE: d.DFT_CODE,
              DFT_NAME: d.DFT_NAME,
              DFT_LEVEL: d.DFT_LEVEL,
              REMARK: d.REMARK,
            };
          return item;
        });
        data.value = _data;
      } else {
        //新增
        d.ID = buildUUID();
        d.CREATE_USER = useUserStore().getUserInfo.userId as string;
        d.UPDATE_TIME = formatToDateTime(new Date());
        d.UPDATE_USER = useUserStore().getUserInfo.userId as string;
        var _data2: any[] = [];
        if (!isNullOrEmpty(data.value)) {
          _data2 = data.value.map((item) => {
            return item;
          });
        }
        _data2.push(d);
        data.value = _data2;
      }
    },
    /**
     * @description: 获取标题信息
     * @param {string} type
     * @return {*}
     */
    GetTitle: () => {
      return {
        pageTitle: '不良代码组管理',
        pageContent: '这里可以添加和修改不良代码组和不良代码。',
        tableTitle: {
          BAS_DEFECT: '不良代码管理',
        }
      };
    },
  };
  /**
   * @description: 自定义删除方法
   * @param {Fn} args
   * @param {*} params
   * @return {*}
   */
  function DftGrpDel(args: Fn[], params: {}) {
    if (!isNullOrEmpty(params['data'])) {
      var _data = params['data'].value.filter((item) => item['ID'] != params['record']['ID']);
      params['data'].value = _data;
      args[6]({
        dataSource: [],
      });
      args[6]({
        dataSource: params['data'],
      });
      args[1]();
    } else {
      DeleteEntity(params['record'], params['entityName']).then((action) => {
        if (action.IsSuccessed) {
          args[1]();
        }
      });
    }
  }
  const baseColumns = {
    BAS_DEFECT: [
        {
          title: '不良代码编码',
          dataIndex: 'DFT_CODE',
@@ -110,10 +303,11 @@
          title: '更新人',
          dataIndex: 'UPDATE_USER',
        },
      ];
    },
    GetSearchForm: () => {
      return [
    ]
  }
  const searchForms = {
    BAS_DEFECT: [
        {
          field: 'DFT_CODE',
          label: '不良代码编码',
@@ -130,10 +324,11 @@
            span: 8,
          },
        },
      ];
    },
    GetCrudForm: () => {
      return [
    ]
  }
  const crudForms = {
    BAS_DEFECT: [
        {
          field: 'DFT_CODE',
          label: '不良代码编码',
@@ -203,147 +398,7 @@
          },
          show: false,
        },
      ];
    },
    GetBaseForm: () => {
      return [
        {
          field: 'DFTG_CODE',
          label: '不良代码组编码',
          component: 'Input',
          required: true,
          colProps: {
            span: 8,
          },
        },
        {
          label: '不良代码组名称',
          field: 'DFTG_NAME',
          required: true,
          component: 'Input',
          colProps: {
            span: 8,
          },
        },
        {
          label: '备注',
          field: 'REMARK',
          component: 'Input',
          colProps: {
            span: 8,
          },
        },
        {
          label: 'ID',
          field: 'ID',
          component: 'Input',
          colProps: {
            span: 8,
          },
          show: false,
        },
      ];
    },
    /**
     * @description: 获取卡片内配置列表,以循环显示多个卡片并配置多个插槽
     * @return {*}
     */
    GetBaseCards: (type: string) => {
      return [
        {
          name: 'BaseForm',
          slots: [],
          preIcons: {},
          title: '不良代码组信息',
          entityName: 'BAS_DEFECT_GRP',
        },
        // {
        //   name: 'prodinfo',
        //   slots: ['addRot', 'setRot'],
        //   preIcons: { addRot: 'search|svg', setRot: 'config|svg' },
        //   title: '产品信息',
        // },
        // { name: 'rotinfo', slots: ['add'], preIcons: { add: 'search|svg' }, title: '工艺信息' },
      ];
    },
    OthersValues: (val: string, id: string) => {
      return { DFTG_CODE: val };
    } /**
     * @description: 自定义明细表中编辑返回方法
     * @param {string} type
     * @param {*} d
     * @param {*} u
     * @return {*}
     */,
    EditOperation: (data: Ref<any[]>, d, u) => {
      if (u.isUpdate) {
        //更新
        var _data = data.value.map((item) => {
          if (item['ID'] == d.ID)
            return {
              ...item,
              DFT_CODE: d.DFT_CODE,
              DFT_NAME: d.DFT_NAME,
              DFT_LEVEL: d.DFT_LEVEL,
              REMARK: d.REMARK,
            };
          return item;
        });
        data.value = _data;
      } else {
        //新增
        d.ID = buildUUID();
        d.CREATE_USER = useUserStore().getUserInfo.userId as string;
        d.UPDATE_TIME = formatToDateTime(new Date());
        d.UPDATE_USER = useUserStore().getUserInfo.userId as string;
        var _data2: any[] = [];
        if (!isNullOrEmpty(data.value)) {
          _data2 = data.value.map((item) => {
            return item;
          });
        }
        _data2.push(d);
        data.value = _data2;
      }
    },
    /**
     * @description: 获取标题信息
     * @param {string} type
     * @return {*}
     */
    GetTitle: () => {
      return {
        pageTitle: '不良代码组管理',
        pageContent: '这里可以添加和修改不良代码组和不良代码。',
        baseTableTitle: '不良代码管理',
      };
    },
  };
  /**
   * @description: 自定义删除方法
   * @param {Fn} args
   * @param {*} params
   * @return {*}
   */
  function DftGrpDel(args: Fn[], params: {}) {
    if (!isNullOrEmpty(params['data'])) {
      var _data = params['data'].value.filter((item) => item['ID'] != params['record']['ID']);
      params['data'].value = _data;
      args[6]({
        dataSource: [],
      });
      args[6]({
        dataSource: params['data'],
      });
      args[1]();
    } else {
      DeleteEntity(params['record'], params['entityName']).then((action) => {
        if (action.IsSuccessed) {
          args[1]();
        }
      });
    }
    ]
  }
  return [methods, ActionColumn];