From bb8fba76d8c69f6957c606c2f3bb501af952b533 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期四, 04 七月 2024 23:11:17 +0800
Subject: [PATCH] 班制更新

---
 src/views/tigerprojects/system/lowcode/data.ts |  116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 113 insertions(+), 3 deletions(-)

diff --git a/src/views/tigerprojects/system/lowcode/data.ts b/src/views/tigerprojects/system/lowcode/data.ts
index 7b42f90..87e7d94 100644
--- a/src/views/tigerprojects/system/lowcode/data.ts
+++ b/src/views/tigerprojects/system/lowcode/data.ts
@@ -4,14 +4,20 @@
  * @version:
  * @Date: 2024-06-02 17:52:35
  * @LastEditors: Ben Lin
- * @LastEditTime: 2024-06-26 22:23:12
+ * @LastEditTime: 2024-07-04 11:19:18
  */
 
-import { ActionItem, BasicColumn, FormSchema } from '/@/components/Table';
+import { ActionItem, 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 { Ref, unref } from 'vue';
+import { getRouteData } 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';
 
 const { t } = useI18n();
 /**
@@ -25,7 +31,7 @@
  *  5. 鍒濆鍖栬〃鏍� GetBasicColumnAndInit
  *  6. 璁剧疆杩斿洖 getHomeUrl
  *  7. 璁剧疆鏍囬 getTitle
- *  8. 璁剧疆鏂板鏃跺氨榛樿鐨勫�� getOthersValues
+ *  8. 璁剧疆鏂板鏃跺氨榛樿鐨勫�� getKeyFieldValues
  *  9. 鏇挎崲鍒犻櫎鏂规硶 GetActionsData
  * @param {*} params
  * @param {array} args
@@ -142,3 +148,107 @@
   }
   return _formSchema;
 }
+
+/**
+ * @description: 宸ヨ壓璺嚎鍒濆鍖�
+ * @param {*} lf
+ * @return {*}
+ */
+export async function initRoute(lf, rotId, routeData, currlf) {
+  currlf.value = unref(lf);
+  //閫氳繃宸ヨ壓璺嚎ID鑾峰彇鍥惧舰鏁版嵁锛屽苟娓叉煋
+  var _data = await getRouteData(rotId);
+  console.log('缁勪欢宸叉寕杞�', _data);
+  if (_data.Data != null) {
+    _data.Data.nodes.forEach((n) => {
+      n.node.properties = JSON.parse(n.node.properties);
+      n['node']['text']['value'] = n.NODE_NAME;
+      routeData.value.nodes.push(n['node']);
+    });
+    console.log('111', routeData.value);
+    _data.Data.edges.forEach((e) => {
+      e.edge.properties = JSON.parse(e.edge.properties);
+      routeData.value.edges.push(e.edge);
+    });
+    _data.Data.acts.forEach((act) => {
+      act.node.properties = JSON.parse(act.node.properties);
+      routeData.value.nodes.push(act.node);
+    });
+    unref(lf).render(routeData.value);
+    // lf.graphModel.translateCenter();
+    // lf.graphModel.fitView();
+  }
+}
+
+/* 楂樼骇琛ㄥ崟鍏敤鏂规硶 *********************************Start */
+
+/**
+ * @description: 鏌ヨ鑷畾涔夋柟娉曪紝褰撳湪楂樼骇琛ㄥ崟涓殑琛ㄦ牸涓煡璇㈡椂瑙﹀彂浜嬩欢锛屽苟鎶妠 type: type, data: data }浼犲埌鐖剁粍浠�
+ * @param {string} type 琛ㄦ牸鐨勫悕瀛楋紝濂界‘瀹氭槸鍝釜琛ㄦ牸瑕佹煡璇�
+ * @param {Ref} data 姝よ〃鏍肩殑鍘熸暟鎹�
+ * @param {*} emit dtl缁勪欢鐨勪簨浠讹紝瑙﹀彂涓�涓�'search'浜嬩欢
+ * @return {*}
+ */
+export async function Search(type: string, data: Ref<any>, emit) {
+  emit('search', { type: type, data: data });
+}
+
+/**
+ * @description: 楂樼骇琛ㄥ崟鏂板缂栬緫鏂规硶
+ * @param {Ref} data
+ * @param {*} d
+ * @param {*} u
+ * @param {*} item
+ * @param {*} updates
+ * @return {*}
+ */
+export function EditOperation(data: Ref<any[]>, d, u, item, updates) {
+  if (u.isUpdate) {
+    //鏇存柊
+    data.value[item] = updates;
+  } else {
+    //鏂板
+    d.ID = buildUUID();
+    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;
+      });
+    }
+    _data2.push(d);
+    data.value[item] = _data2;
+  }
+}
+
+/**
+   * @description: 鑷畾涔夊垹闄ゆ柟娉�
+   * @param {Fn} args
+   * @param {*} params
+   * @return {*}
+   */
+export function custDel(args: Fn[], params: {}) {
+  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']);
+    params['data'].value[name] = _data;
+    useTables[name][1].setProps({
+      dataSource: [],
+    });
+    useTables[name][1].setProps({
+      dataSource: params['data'].value[name],
+    });
+    useTables[name][1].reload();
+  } else {
+    DeleteEntity(params['record'], params['entityName']).then((action) => {
+      if (action.IsSuccessed) {
+        useTables[name][1].reload();
+      }
+    });
+  }
+}
+
+/* 楂樼骇琛ㄥ崟鍏敤鏂规硶 *********************************End */

--
Gitblit v1.9.3