Ben Lin
2024-11-25 6e6fec028ffc9a27b3c8d30eb484cd361a119d76
src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT.ts
@@ -4,11 +4,17 @@
 * @version:
 * @Date: 2024-06-19 20:34:27
 * @LastEditors: Ben Lin
 * @LastEditTime: 2024-07-04 23:53:48
 * @LastEditTime: 2024-09-11 20:44:25
 */
import { Ref, h, ref, unref } from 'vue';
import { AddAfterDelete, DeleteEntity, GetEnum, getEntity } from '/@/api/tigerapi/system';
import {
  AddAfterDelete,
  DeleteEntity,
  GetEnum,
  SaveEntity,
  getEntity,
} from '/@/api/tigerapi/system';
import { ActionItem, BasicColumn, FormSchema, useTable } from '/@/components/Table';
import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is';
import { Tag } from 'ant-design-vue';
@@ -38,7 +44,7 @@
     * @description: 获取新增按钮的行为
     * @return {*}
     */
    CreateAction: (fnName: string) => {
    CreateAction: (type: string) => {
      return {
        action: 'drawer', //drawer(打开左侧抽屉框) | go(跳转到新的页面)
      };
@@ -316,31 +322,52 @@
     * @return {*}
     */
    SubmitAll: (data: Ref<any[]>, keyFieldValues: Ref<{}>, ...args) => {
      const drawers = [
        { name: 'MES_SHIFT', code: 'SFTS_CODE', type: 'one', keyName: 'MES_SHIFT', order: '' },
        { name: 'MES_SHIFT_PRD', code: 'SFT_CODE', type: 'all', keyName: 'MES_SHIFT', order: '' },
      ];
      drawers.forEach((d) => {
        let where = `${d['code']} = '${keyFieldValues.value[d['code']]}'`;
        /* type: all-表示需要code的所有的值 */
        if (d['type'] == 'all' && data.value[d['keyName']].length > 0) {
          where = `${d['code']} in (${data.value[d['keyName']].map((value) => `'${value[d['code']]}'`).join(',')})`;
        }
        data.value[d['name']].map((item) => {
          item.ID = buildUUID();
          if (d['name'] == 'MES_SHIFT') {
            item.SFT_BEGIN = tsToHHmm(item.SFT_BEGIN);
            item.SFT_END = tsToHHmm(item.SFT_END);
      const validates = args[1].validates;
      const Keys = args[1].Keys;
      const isAllUpdate = args[1].isAllUpdate;
      const baseCards = args[1].baseCards;
      const IsExist = args[1].IsExist;
      /* 循环保存高级表单中主表单信息,如果有多个的话,所以要循环 */
      let i;
      let p = [] as Promise<any>[];
      for (i = 0; i < Keys.length; i++) {
        p.push(
          SaveEntity(
            validates[Keys[i]],
            unref(isAllUpdate),
            baseCards.value[i]['entityName'],
            `${IsExist}='${validates[Keys[i]][IsExist]}'`,
            true,
          ),
        );
      }
      Promise.all(p).then(() => {
        const drawers = [
          { name: 'MES_SHIFT', code: 'SFTS_CODE', type: 'one', keyName: 'MES_SHIFT', order: '' },
          { name: 'MES_SHIFT_PRD', code: 'SFT_CODE', type: 'all', keyName: 'MES_SHIFT', order: '' },
        ];
        drawers.forEach((d) => {
          let where = `${d['code']} = '${keyFieldValues.value[d['code']]}'`;
          /* type: all-表示需要code的所有的值 */
          if (d['type'] == 'all' && data.value[d['keyName']].length > 0) {
            where = `${d['code']} in (${data.value[d['keyName']].map((value) => `'${value[d['code']]}'`).join(',')})`;
          }
          if (d['name'] == 'MES_SHIFT_PRD') {
            item.PRD_BEGIN = tsToHHmm(item.PRD_BEGIN);
            item.PRD_END = tsToHHmm(item.PRD_END);
          }
        });
        AddAfterDelete(d['name'], data.value[d['name']], where).then((action) => {
          if (action.IsSuccessed) {
            args[0]();
          }
          data.value[d['name']].map((item) => {
            item.ID = buildUUID();
            if (d['name'] == 'MES_SHIFT') {
              item.SFT_BEGIN = tsToHHmm(item.SFT_BEGIN);
              item.SFT_END = tsToHHmm(item.SFT_END);
            }
            if (d['name'] == 'MES_SHIFT_PRD') {
              item.PRD_BEGIN = tsToHHmm(item.PRD_BEGIN);
              item.PRD_END = tsToHHmm(item.PRD_END);
            }
          });
          AddAfterDelete(d['name'], data.value[d['name']], where).then((action) => {
            if (action.IsSuccessed) {
              args[0]();
            }
          });
        });
      });
    },
@@ -362,6 +389,9 @@
        }
      });
    },
    GetUseForm: () => {
      return {};
    },
  };
  /* 以下是内部方法,不export */