Ben Lin
2024-06-27 b4496ad2462843c575a3902c94a87694426f29a3
src/views/tigerprojects/system/lowcode/data.ts
@@ -1,68 +1,23 @@
/*
 *                                                     __----~~~~~~~~~~~------___
 *                                    .  .   ~~//====......          __--~ ~~
 *                    -.            \_|//     |||\\  ~~~~~~::::... /~
 *                 ___-==_       _-~o~  \/    |||  \\            _/~~-
 *         __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
 *     _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
 *   .~       .~       |   \\ -_    /  /-   /   ||      \   /
 *  /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
 *  |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
 *           '         ~-|      /|    |-~\~~       __--~~
 *                       |-~~-_/ |    |   ~\_   _-~            /\
 *                            /  \     \__   \/~                \__
 *                        _--~ _/ | .-~~____--~-/                  ~~==.
 *                       ((->/~   '.|||' -_|    ~~-/ ,              . _||
 *                                  -_     ~\      ~~---l__i__i__i--~~_/
 *                                  _-~-__   ~)  \--______________--~~
 *                                //.-~~~-~_--~- |-------~~~~~~~~
 *                                       //.-~~~--\
 *                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 *
 *                               神兽保佑            永无BUG
 */
/*
 * @Description: 通用低代码呈现页面主数据
 * @Author: Ben Lin
 * @version:
 * @Date: 2024-06-02 17:52:35
 * @LastEditors: Ben Lin
 * @LastEditTime: 2024-06-14 09:08:11
 * @LastEditTime: 2024-06-26 22:23:12
 */
import {
  baseSchema,
  searchSchema,
  defectBaseColumn,
  crudSchema,
} from './normal/basDefectGrp';
import {
  onChangeFns,
  rsnBaseSchema,
  rsnCrudSchema,
  rsnSearchSchema,
  rsnBaseColumn,
} from './normal/basReasonGrp';
import { DeleteEntity, convertToTree, getEntity } from '/@/api/tigerapi/system';
import { ActionItem, BasicColumn, FormSchema } from '/@/components/Table';
import { useI18n } from '/@/hooks/web/useI18n';
import { isNullOrEmpty } from '/@/utils/is';
import { woCustFn, woformSchema } from '/@/views/components/bizMesWo';
import { useModal } from '/@/components/Modal';
import {
  pkgBaseColumn,
  pkgBaseSchema,
  pkgCrudSchema,
  pkgSearchSchema,
} from './basPkgrule';
import { GetRoutePTree } from '/@/api/tigerapi/mes/router';
const { t } = useI18n();
/**
 * @description: 低代码页面获取操作字段结构Json,如增加按钮及方法
 * 攻略:
 *  1. 另新建驼峰实体名.ts的文件,如:basDefectGrp.ts。以便区别不同页面的方法
 *  1. 另新建驼峰实体名.ts的文件,如:BAS_REASON.ts。以便区别不同页面的方法
 *  2. 替换主页面编辑按钮方法变为跳转到高级页面,方法中传入 { CODE: 主表记录的关键字段值,一般是XXX_CODE的值, ID: 当前记录的ID, Name: 'BAS_DEFECT'(跳转过去需要新增编辑的实体名), Title: `编辑不良代码组:${params['record']['DFTG_CODE']}`(定义tab页签的标题), pCode: 'DFTG_CODE'(主表的关键字段代码) }
 *     替换主页面新增按钮方法同上
 *  3. 在菜单管理新建一个高级页面。
@@ -107,7 +62,7 @@
  if (!isNullOrEmpty(fnName)) {
    switch (entityName) {
      case 'BAS_REASON':
        onChangeFns[fnName](e);
        // onChangeFns[fnName](e);
        break;
      default:
        break;
@@ -182,185 +137,8 @@
    case 'BIZ_MES_WO':
      _formSchema = woformSchema;
      break;
    case 'BAS_DEFECT_BaseForm':
      _formSchema = baseSchema;
      break;
    case 'BAS_DEFECT_Search':
      _formSchema = searchSchema;
      break;
    case 'BAS_DEFECT_Crud':
      _formSchema = crudSchema;
      break;
    case 'BAS_REASON_BaseForm':
      _formSchema = rsnBaseSchema;
      break;
    case 'BAS_REASON_Search':
      _formSchema = rsnSearchSchema;
      break;
    case 'BAS_REASON_Crud':
      _formSchema = rsnCrudSchema;
      break;
    case 'BAS_PKG_DTL_BaseForm':
      _formSchema = pkgBaseSchema;
      break;
    case 'BAS_PKG_DTL_Search':
      _formSchema = pkgSearchSchema;
      break;
    case 'BAS_PKG_DTL_Crud':
      _formSchema = pkgCrudSchema;
      break;
    default:
      break;
  }
  return _formSchema;
}
/**
 * @description: 获取表格列
 * @param {string} entityName
 * @return {*}
 */
export function GetBasicColumnAndInit(entityName: string, ...args) {
  let data: BasicColumn[] = [];
  switch (entityName) {
    case 'BAS_DEFECT':
      data = defectBaseColumn;
      args[0].value[entityName] = getFormSchema(entityName);
      args[0].value['BaseForm'] = getFormSchema('BAS_DEFECT_BaseForm');
      args[1].value = {
        BaseForm: args[4]({
          labelWidth: 120,
          schemas: args[0].value['BaseForm'],
          actionColOptions: {
            span: 24,
          },
          showActionButtonGroup: false,
        }),
      };
      args[2].value = [
        {
          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: '工艺信息' },
      ];
      break;
    case 'BAS_REASON':
      data = rsnBaseColumn;
      args[0].value['BaseForm'] = getFormSchema('BAS_REASON_BaseForm');
      args[1].value = {
        BaseForm: args[4]({
          labelWidth: 120,
          schemas: args[0].value['BaseForm'],
          actionColOptions: {
            span: 24,
          },
          showActionButtonGroup: false,
        }),
      };
      args[2].value = [
        {
          name: 'BaseForm',
          slots: [],
          preIcons: {},
          title: '不良原因组信息',
          entityName: 'BAS_REASON_GRP',
        },
      ];
      break;
    case 'BAS_PKG_DTL':
      data = pkgBaseColumn;
      args[0].value['BaseForm'] = getFormSchema('BAS_PKG_DTL_BaseForm');
      args[1].value = {
        BaseForm: args[4]({
          labelWidth: 120,
          schemas: args[0].value['BaseForm'],
          actionColOptions: {
            span: 24,
          },
          showActionButtonGroup: false,
        }),
      };
      args[2].value = [
        {
          name: 'BaseForm',
          slots: [],
          preIcons: {},
          title: '包装信息',
          entityName: 'BAS_PKG_RULE',
        },
      ];
      break;
    default:
      break;
  }
  return data;
}
/**
 * @description: 获取标题信息
 * @param {string} type
 * @return {*}
 */
export function getTitle(type: string) {
  let title = {};
  switch (type) {
    case 'BAS_DEFECT':
      title = {
        pageTitle: '不良代码组管理',
        pageContent: '这里可以添加和修改不良代码组和不良代码。',
        baseTableTitle: '不良代码管理',
      };
      break;
    case 'BAS_REASON':
      title = {
        pageTitle: '不良原因组管理',
        pageContent: '这里可以添加和修改不良原因组和不良代码。',
        baseTableTitle: '不良原因管理',
      };
      break;
    case 'BAS_PKG_DTL':
      title = {
        pageTitle: '包装规则管理',
        pageContent: '这里可以添加和修改包装规则和包装信息。',
        baseTableTitle: '包装信息管理',
      };
      break;
    default:
      break;
  }
  return title;
}
/**
 * @description: 获取需要新增时就默认的值,一般是主表信息
 * @param {string} type
 * @param {string} val
 * @return {*}
 */
export function getOthersValues(type: string, val: string, id: string) {
  let Values = {};
  switch (type) {
    case 'BAS_DEFECT':
      Values = { DFTG_CODE: val };
      break;
    case 'BAS_REASON':
      Values = { RSNG_CODE: val };
      break;
    case 'BAS_PKG_DTL':
      Values = { PKG_RULE_ID: id };
      break;
    default:
      break;
  }
  return Values;
}