Ben Lin
2024-07-04 d582f081e148c5df7c1b334a94fa1df1cd2655a9
src/views/tigerprojects/system/lowcode/entityts/BAS_PKG_DTL.ts
@@ -4,18 +4,15 @@
 * @version:
 * @Date: 2024-06-19 20:34:27
 * @LastEditors: Ben Lin
 * @LastEditTime: 2024-07-02 19:59:52
 * @LastEditTime: 2024-07-04 11:21:08
 */
import { Ref } from 'vue';
import { Ref, ref } from 'vue';
import { DeleteEntity, getEntity } from '/@/api/tigerapi/system';
import { ActionItem, BasicColumn, FormSchema, 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 { useDrawer } from '/@/components/Drawer';
import { EditOperation, Search } from '../data';
import { EditOperation, Search, custDel } from '../data';
function _default(): any[] {
  const ActionColumn: BasicColumn = {
@@ -26,6 +23,8 @@
    fixed: undefined,
  };
  let _data = ref<any>({});
  let record = {};
  /**
   * @description: 一些自定义方法
   * @return {*}
@@ -72,7 +71,7 @@
          };
        return item;
      });
      EditOperation(data,d, u, item, _data);
      EditOperation(data, d, u, item, _data);
    },
    /**
     * @description: 高级表单和详情页面返回主页面的url
@@ -99,10 +98,12 @@
     * @description: 高级表单增删改表单字段
     * @return {*}
     */
    GetCrudForm: (type: string) => {
    GetCrudForm: (type: string, ...args) => {
      _data = args[0];
      record = args[1];
      return crudForms[type];
    },
    OthersValues: (val: string, id: string) => {
    KeyFieldValues: (val: string, id: string) => {
      return { PKG_RULE_ID: id };
    },
    /**
@@ -215,7 +216,7 @@
            submitFunc: () => Search('BAS_PKG_DTL', data, args[0]), //自定义查询提交按钮的方法,触发查询提交事件
          },
          useSearchForm: true,
          showTableSetting: true,
          showTableSetting: false,
          bordered: true,
          canResize: true,
          showIndexColumn: false,
@@ -263,32 +264,6 @@
  };
  /* 以下是内部方法,不export,供上面的方法调用 */
  /**
   * @description: 自定义删除方法
   * @param {Fn} args
   * @param {*} params
   * @return {*}
   */
  function custDel(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 searchForms = {
    BAS_PKG_DTL: [
@@ -342,19 +317,14 @@
  const crudForms = {
    BAS_PKG_DTL: [
      {
        field: 'PKG_CODE',
        label: '包装/载具编码',
        component: 'ApiSelect',
        required: true,
        label: '包装规则ID',
        field: 'PKG_RULE_ID',
        component: 'Input',
        colProps: {
          span: 24,
        },
        componentProps: {
          api: getEntity,
          params: { entityName: 'BAS_PKG_TYPE', sqlcmd: ' 1=1 ' },
          resultField: 'Data.Items',
          labelField: 'PKG_NAME',
          valueField: 'PKG_CODE',
        dynamicDisabled: ({ values }) => {
          return true;
        },
      },
      {
@@ -365,19 +335,44 @@
        colProps: {
          span: 24,
        },
      },
      {
        label: '包装规则ID',
        field: 'PKG_RULE_ID',
        component: 'Input',
        colProps: {
          span: 24,
        componentProps: ({ formModel }) => {
          formModel.PKG_LEVEL =
            _data['BAS_PKG_DTL'].reduce((max, item) => {
              return max < Number(item.PKG_LEVEL) ? Number(item.PKG_LEVEL) : max;
            }, 0) + 1;
          return {
            onChange: (e) => {},
          };
        },
        dynamicDisabled: ({ values }) => {
          return true;
        },
      },
      {
        field: 'PKG_CODE',
        label: '包装/载具编码',
        component: 'ApiSelect',
        required: true,
        colProps: {
          span: 24,
        },
        componentProps: ({ formModel }) => {
          let sqlcmd = ' 1=1 ';
          if (!isNullOrEmpty(record) && record['PKG_LEVEL'] == 1) {
            sqlcmd += ` And IS_MIN_PKG = 'Y'`;
          } else {
            sqlcmd += ` And IS_MIN_PKG != 'Y'`;
          }
          return {
            api: getEntity,
            params: { entityName: 'BAS_PKG_TYPE', sqlcmd: sqlcmd },
            resultField: 'Data.Items',
            labelField: 'PKG_NAME',
            valueField: 'PKG_CODE',
          };
        },
      },
      {
        label: '包装数量',
        field: 'PKG_QTY',
        component: 'Input',