From 547c91649da47f4dd8c6706e632797dbd9d79d87 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期六, 07 十二月 2024 16:26:49 +0800
Subject: [PATCH] 工艺路线工序节点保存更新

---
 src/views/tigerprojects/system/lowcode/data.ts |  101 ++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 80 insertions(+), 21 deletions(-)

diff --git a/src/views/tigerprojects/system/lowcode/data.ts b/src/views/tigerprojects/system/lowcode/data.ts
index c5ec40c..217aaf5 100644
--- a/src/views/tigerprojects/system/lowcode/data.ts
+++ b/src/views/tigerprojects/system/lowcode/data.ts
@@ -4,21 +4,26 @@
  * @version:
  * @Date: 2024-06-02 17:52:35
  * @LastEditors: Ben Lin
- * @LastEditTime: 2024-10-15 20:55:16
+ * @LastEditTime: 2024-10-23 23:01:49
  */
 
 import { ActionItem, FormSchema, PopConfirm } from '/@/components/Table';
 import { useI18n } from '/@/hooks/web/useI18n';
-import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is';
+import { isArray, isNullOrEmpty, isNullOrUnDef, isTimeViaRegExp8601 } from '/@/utils/is';
 import { woCustFn, woformSchema } from '/@/views/components/bizMesWo';
 import { useModal } from '/@/components/Modal';
 import { Ref, unref } from 'vue';
 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 { dateUtil, formatToDateTime } from '/@/utils/dateUtil';
 import { DeleteEntity, getEntity } from '/@/api/tigerapi/system';
 import { useGo } from '/@/hooks/web/usePage';
+import { useQueryStore } from '/@/store/modules/queryInpage';
+import { RouteRecordName } from 'vue-router';
+import { cloneDeep } from 'lodash-es';
+import dayjs from 'dayjs';
+import { utils } from 'sortablejs';
 
 const { t } = useI18n();
 /**
@@ -39,7 +44,7 @@
  * @return {*}
  */
 export function GetActionsData(params: {}, ...args) {
-  let data = [] as ActionItem[];
+  const data = [] as ActionItem[];
   return data;
 }
 
@@ -158,7 +163,7 @@
 export async function initRoute(lf, rotId, routeData, currlf, rotType) {
   currlf.value = unref(lf);
   //閫氳繃宸ヨ壓璺嚎ID鑾峰彇鍥惧舰鏁版嵁锛屽苟娓叉煋
-  var _data = rotType == 'Wo' ? await getWoRouteData(rotId) : await getRouteData(rotId);
+  const _data = rotType == 'Wo' ? await getWoRouteData(rotId) : await getRouteData(rotId);
   console.log('缁勪欢宸叉寕杞�', _data);
   if (_data.Data != null) {
     _data.Data.nodes.forEach((n) => {
@@ -213,12 +218,7 @@
     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[item])) {
-      _data2 = data.value[item].map((item) => {
-        return item;
-      });
-    }
+    let _data2: any[] = cloneDeep(data.value[item]);
     _data2.push(d);
     data.value[item] = _data2;
   }
@@ -234,7 +234,7 @@
   const name = params['name'];
   const useTables = args[1];
   if (!isNullOrEmpty(params['data'])) {
-    var _data = params['data'].value[name].filter((item) => item['ID'] != params['record']['ID']);
+    const _data = params['data'].value[name].filter((item) => item['ID'] != params['record']['ID']);
     params['data'].value[name] = _data;
     useTables[name][1].setProps({
       dataSource: [],
@@ -260,7 +260,7 @@
  * @return {*}
  */
 export function GenerateActionButton(params: any, buttons: Ref<[]>, openDrawer: Fn, reload: Fn) {
-  let actionItem = [] as ActionItem[];
+  const actionItem = [] as ActionItem[];
   buttons.value.map((x) => {
     if (x['BUTTON_TYPE'] == 1) {
       let url = '';
@@ -336,16 +336,16 @@
       entityName: 'SYS_LOW_CODE',
       order: '',
     }).then((data) => {
-      var searchForms = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON);
-      let colSlots = [] as string[];
+      const searchForms = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON);
+      const 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[];
+      const _cruds = JSON.parse(data.Data.Items[0].FORM_JSON);
+      const crudColSlots = [] as string[];
       for (const i in _cruds) {
         if (!isNullOrUnDef(_cruds[i]['colSlot'])) {
           crudColSlots.push(_cruds[i]['colSlot']);
@@ -356,7 +356,7 @@
         colSlots: colSlots,
         crudColSlots: crudColSlots,
         sName: `${path.split('/')[1]}_update`,
-      }; 
+      };
       // 灏嗗璞¤浆鎹负JSON瀛楃涓插苟淇濆瓨鍒皊essionStorage
       sessionStorage.removeItem(`${id.sName}_params`);
       sessionStorage.setItem(`${id.sName}_params`, encodeURI(JSON.stringify({ params: params })));
@@ -370,12 +370,71 @@
     // 灏嗗璞¤浆鎹负JSON瀛楃涓插苟淇濆瓨鍒皊essionStorage
     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 }))}`);
+    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 };
+    const id = { sName: `${path.split('/')[1]}_update`, params: params };
     // 灏嗗璞¤浆鎹负JSON瀛楃涓插苟淇濆瓨鍒皊essionStorage
     sessionStorage.removeItem(`${id.sName}_params`);
     sessionStorage.setItem(`${id.sName}_params`, encodeURI(JSON.stringify(id)));
-    go(`${path}/${encodeURI(JSON.stringify({ sName: id.sName}))}`);
+    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);
+    const params = cloneDeep(curSearchInfo[0].searchInfo);
+    const Keys = Object.getOwnPropertyNames(params);
+    for (const k in Keys) {
+      if (!isNullOrEmpty(params[Keys[k]]?.length) && isArray(params[Keys[k]])) {
+        if (isTimeViaRegExp8601(params[Keys[k]][0])) {
+          params[Keys[k]][0] = dateUtil(params[Keys[k]][0])
+          params[Keys[k]][1] = dateUtil(params[Keys[k]][1])
+        }
+      }
+    }
+    f.setFieldsValue(params);
   }
 }

--
Gitblit v1.9.3