Ben Lin
2024-10-24 925a72d879f399c2597b08e0becff4f7db6d399f
src/views/tigerprojects/system/lowcode/data.ts
@@ -4,20 +4,23 @@
 * @version:
 * @Date: 2024-06-02 17:52:35
 * @LastEditors: Ben Lin
 * @LastEditTime: 2024-07-20 02:17:35
 * @LastEditTime: 2024-10-23 23:01:49
 */
import { ActionItem, FormSchema, PopConfirm } from '/@/components/Table';
import { useI18n } from '/@/hooks/web/useI18n';
import { isNullOrEmpty } from '/@/utils/is';
import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is';
import { woCustFn, woformSchema } from '/@/views/components/bizMesWo';
import { useModal } from '/@/components/Modal';
import { Ref, unref } from 'vue';
import { getRouteData } from '/@/api/tigerapi/mes/router';
import { getRouteData, getWoRouteData } from '/@/api/tigerapi/mes/router';
import { buildUUID } from '/@/utils/uuid';
import { useUserStore } from '/@/store/modules/user';
import { formatToDateTime } from '/@/utils/dateUtil';
import { DeleteEntity } from '/@/api/tigerapi/system';
import { DeleteEntity, getEntity } from '/@/api/tigerapi/system';
import { useGo } from '/@/hooks/web/usePage';
import { useQueryStore } from '/@/store/modules/queryInpage';
import { RouteRecordName } from 'vue-router';
const { t } = useI18n();
/**
@@ -154,10 +157,10 @@
 * @param {*} lf
 * @return {*}
 */
export async function initRoute(lf, rotId, routeData, currlf) {
export async function initRoute(lf, rotId, routeData, currlf, rotType) {
  currlf.value = unref(lf);
  //通过工艺路线ID获取图形数据,并渲染
  var _data = await getRouteData(rotId);
  var _data = rotType == 'Wo' ? await getWoRouteData(rotId) : await getRouteData(rotId);
  console.log('组件已挂载', _data);
  if (_data.Data != null) {
    _data.Data.nodes.forEach((n) => {
@@ -303,7 +306,7 @@
 * @param {*} params
 * @return {*}
 */
function editRecord(fn: Fn, params: {}) {
export function editRecord(fn: Fn, params: {}) {
  fn(true, params);
}
@@ -322,3 +325,109 @@
    }
  });
}
/**
 * @description: 跳转并根据传入的参数通过session传入
 * @param {string} path 跳转地址
 * @return {*}
 */
export function goByParams(path: string, params: {}, go) {
  if (path.split('/').length > 2 && path.split('/')[2] == 'LC') {
    getEntity({
      sqlcmd: `ASSEMBLY_NAME ='${path.split('/')[1]}'`,
      entityName: 'SYS_LOW_CODE',
      order: '',
    }).then((data) => {
      var searchForms = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON);
      let colSlots = [] as string[];
      for (const i in searchForms) {
        if (!isNullOrUnDef(searchForms[i]['colSlot'])) {
          colSlots.push('form-' + searchForms[i]['colSlot']);
        }
      }
      var _cruds = JSON.parse(data.Data.Items[0].FORM_JSON);
      let crudColSlots = [] as string[];
      for (const i in _cruds) {
        if (!isNullOrUnDef(_cruds[i]['colSlot'])) {
          crudColSlots.push(_cruds[i]['colSlot']);
        }
      }
      const id = {
        ID: path.split('/')[1],
        colSlots: colSlots,
        crudColSlots: crudColSlots,
        sName: `${path.split('/')[1]}_update`,
      };
      // 将对象转换为JSON字符串并保存到sessionStorage
      sessionStorage.removeItem(`${id.sName}_params`);
      sessionStorage.setItem(`${id.sName}_params`, encodeURI(JSON.stringify({ params: params })));
      go(`/${path.split('/')[1]}/${path.split('/')[2]}/${encodeURI(JSON.stringify(id))}`);
    });
  } else if (
    (path.split('/').length > 2 && path.split('/')[2] == 'High') ||
    path.split('/')[2] == 'CP'
  ) {
    const id = { sName: `${path.split('/')[1]}_update`, Name: path.split('/')[1], params: params };
    // 将对象转换为JSON字符串并保存到sessionStorage
    sessionStorage.removeItem(`${id.sName}_params`);
    sessionStorage.setItem(`${id.sName}_params`, encodeURI(JSON.stringify(id)));
    go(`/${path.split('/')[1]}/${path.split('/')[2]}/${encodeURI(JSON.stringify({ sName: id.sName, Name: id.Name }))}`);
  } else {
    const id = { sName: `${path.split('/')[1]}_update`,params: params };
    // 将对象转换为JSON字符串并保存到sessionStorage
    sessionStorage.removeItem(`${id.sName}_params`);
    sessionStorage.setItem(`${id.sName}_params`, encodeURI(JSON.stringify(id)));
    go(`${path}/${encodeURI(JSON.stringify({ sName: id.sName}))}`);
  }
}
  /**
   * @description: 调用api前,参数整理
   * @param {*} t
   * @return {*}
   */
  export function SearchInfoFn(param: any, name: RouteRecordName | null | undefined, ByOrg: boolean) {
    const useQuery = useQueryStore();
    if (
      !isNullOrUnDef(useQuery.getCurSearchInfo) &&
      useQuery.getCurSearchInfo.some((q) => q.name == name)
    ) {
      const curSearchInfo = useQuery.getCurSearchInfo.filter((q) => q.name == name);
      const Keys = Object.getOwnPropertyNames(curSearchInfo[0].searchInfo);
      for (const k in Keys) {
        if (Keys[k] != 'page' && Keys[k] != 'pageSize') {
          param[Keys[k]] = curSearchInfo[0].searchInfo[Keys[k]];
        }
      }
      useQuery.setCurSearchInfo({ name: name, searchInfo: param });
    }
    if (isNullOrEmpty(param.option) && ByOrg) {
      param.option = {
        //根据据点查询,必需带这个参数
        UserId: useUserStore().getUserInfo.userId,
        ByOrg: true,
        CurOrg: useUserStore().getUserInfo.orgCode,
      };
    }
    return param;
  }
  /**
   * @description: 请求之后对返回值进行处理
   * @param {*} t
   * @return {*}
   */
  export function afterFetchFn(t: any, name: RouteRecordName | null | undefined, f) {
    const useQuery = useQueryStore();
    if (
      !isNullOrUnDef(useQuery.getCurSearchInfo) &&
      useQuery.getCurSearchInfo.some((q) => q.name == name)
    ) {
      const curSearchInfo = useQuery.getCurSearchInfo.filter((q) => q.name == name);
      f.setFieldsValue(curSearchInfo[0].searchInfo);
    }
  }