From a745761147b17a42b4698250a170ef4c0fa0b09b Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期三, 03 七月 2024 21:18:39 +0800
Subject: [PATCH] 产品绑定工艺优化

---
 src/views/tigerprojects/system/lowcode/data.ts |  306 +++++++++++++++++---------------------------------
 1 files changed, 103 insertions(+), 203 deletions(-)

diff --git a/src/views/tigerprojects/system/lowcode/data.ts b/src/views/tigerprojects/system/lowcode/data.ts
index e5549f9..8438128 100644
--- a/src/views/tigerprojects/system/lowcode/data.ts
+++ b/src/views/tigerprojects/system/lowcode/data.ts
@@ -1,79 +1,43 @@
 /*
  * @Description: 閫氱敤浣庝唬鐮佸憟鐜伴〉闈富鏁版嵁
  * @Author: Ben Lin
- * @version: 
+ * @version:
  * @Date: 2024-06-02 17:52:35
- * @LastEditors: your name
- * @LastEditTime: 2024-06-13 22:44:43
+ * @LastEditors: Ben Lin
+ * @LastEditTime: 2024-07-03 20:19:37
  */
-import { ref } from 'vue';
-import {
-  DftGrpRelease,
-  dftGrpActionItem,
-  dftGrpOpenSelectItem,
-  dftGrpGetSelectSuccess,
-  dftGrpactionColumn,
-} from './normal/basDefectGrp';
-import { onChangeFns, rsGrpGetSelectSuccess, rsGrpOpenSelectItem } from './normal/basReasonGrp';
-import { DeleteEntity } from '/@/api/tigerapi/system';
-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 { useGo } from '/@/hooks/web/usePage';
-import { goDetail, labelActionItem, labelGetSelectSuccess, labelOpenSelectItem } from './detail/basLabelVar';
+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';
 
 const { t } = useI18n();
-
 /**
  * @description: 浣庝唬鐮侀〉闈㈣幏鍙栨搷浣滃瓧娈电粨鏋凧son锛屽澧炲姞鎸夐挳鍙婃柟娉�
+ * 鏀荤暐:
+ *  1. 鍙︽柊寤洪┘宄板疄浣撳悕.ts鐨勬枃浠讹紝濡傦細BAS_REASON.ts銆備互渚垮尯鍒笉鍚岄〉闈㈢殑鏂规硶
+ *  2. 鏇挎崲涓婚〉闈㈢紪杈戞寜閽柟娉曞彉涓鸿烦杞埌楂樼骇椤甸潰锛屾柟娉曚腑浼犲叆 { CODE: 涓昏〃璁板綍鐨勫叧閿瓧娈靛�硷紝涓�鑸槸XXX_CODE鐨勫��, ID: 褰撳墠璁板綍鐨処D, Name: 'BAS_DEFECT'锛堣烦杞繃鍘婚渶瑕佹柊澧炵紪杈戠殑瀹炰綋鍚嶏級, Title: `缂栬緫涓嶈壇浠g爜缁勶細${params['record']['DFTG_CODE']}`锛堝畾涔塼ab椤电鐨勬爣棰橈級, pCode: 'DFTG_CODE'锛堜富琛ㄧ殑鍏抽敭瀛楁浠g爜锛� }
+ *     鏇挎崲涓婚〉闈㈡柊澧炴寜閽柟娉曞悓涓�
+ *  3. 鍦ㄨ彍鍗曠鐞嗘柊寤轰竴涓珮绾ч〉闈€��
+ *  4. 閰嶇疆楂樼骇椤甸潰锛屽畾涔夎〃鍗曞垪 getFormSchema
+ *  5. 鍒濆鍖栬〃鏍� GetBasicColumnAndInit
+ *  6. 璁剧疆杩斿洖 getHomeUrl
+ *  7. 璁剧疆鏍囬 getTitle
+ *  8. 璁剧疆鏂板鏃跺氨榛樿鐨勫�� getKeyFieldValues
+ *  9. 鏇挎崲鍒犻櫎鏂规硶 GetActionsData
  * @param {*} params
  * @param {array} args
  * @return {*}
  */
-export function GetActionsData(params: {}, ...args: Fn[]) {
-  let data = [
-    {
-      icon: 'clarity:note-edit-line',
-      onClick: editRecord.bind(null, args[0], params),
-    },
-    {
-      icon: 'ant-design:delete-outlined',
-      color: 'error',
-      popConfirm: {
-        title: '鏄惁纭鍒犻櫎?',
-        placement: 'left',
-        confirm: deleteRecord.bind(null, args[1], params),
-      },
-    },
-  ] as ActionItem[];
-  switch (params['entityName']) {
-    /* 涓嶈壇浠g爜缁� */
-    case 'BAS_DEFECT_GRP':
-      const _d = dftGrpActionItem;
-      _d[0].onClick = DftGrpRelease.bind(null, args, params);
-      data = [...data, ..._d];
-      params.cType.value = 'BIZ_MES_WO';
-      params.formSchemas.value[params.cType.value] = getFormSchema(params.cType.value);
-      params.useFormData.value = {
-        forminfo: args[3]({
-          labelWidth: 120,
-          schemas: params.formSchemas.value[params.cType.value],
-          actionColOptions: {
-            span: 24,
-          },
-          showActionButtonGroup: false,
-        }),
-      };
-      break;
-      /* 鏍囩妯℃澘 */
-    case 'BAS_LABEL_TEMP':
-      const _data = labelActionItem;
-      _data[0].onClick = goDetail.bind(null, args[5], params['record'])
-      data = [...data, ..._data];
-      break;
-  }
+export function GetActionsData(params: {}, ...args) {
+  let data = [] as ActionItem[];
   return data;
 }
 
@@ -93,137 +57,6 @@
 }
 
 /**
- * @description: 鍏敤缂栬緫鏂规硶
- * @param {Fn} fn
- * @param {*} params
- * @return {*}
- */
-function editRecord(fn: Fn, params: {}) {
-  fn(true, params);
-}
-
-/**
- * @description: 鍏敤鍒犻櫎鏂规硶
- * @param {Fn} fn
- * @param {*} params
- * @return {*}
- */
-function deleteRecord(fn: Fn, params: {}) {
-  console.log(params['record']);
-  //鍒犻櫎
-  DeleteEntity(params['record'], params['entityName']).then((action) => {
-    if (action.IsSuccessed) {
-      fn();
-    }
-  });
-}
-
-
-
-export function GetActionColumn(entityName: string) {
-  let data: BasicColumn = {};
-  switch (entityName) {
-    case 'BAS_DEFECT_GRP':
-      data = dftGrpactionColumn;
-      break;
-    case 'BAS_LABEL_TEMP':
-      data = {
-        width: 120,
-        title: '鎿嶄綔',
-        dataIndex: 'action',
-        slots: { customRender: 'action' },
-        fixed: 'right',
-      };
-      break;
-    default:
-      data = {
-        width: 80,
-        title: '鎿嶄綔',
-        dataIndex: 'action',
-        slots: { customRender: 'action' },
-        fixed: undefined,
-      };
-      break;
-  }
-  return data;
-}
-
-/* 寮瑰嚭閫夋嫨妗嗛�夋嫨鎴愬姛 */
-export function GetSelectSuccess(d, u, entityName: string) {
-  let data = {};
-  switch (entityName) {
-    case 'BAS_DEFECT_GRP':
-      data = dftGrpGetSelectSuccess(d, u);
-      break;
-    case 'BAS_REASON_GRP':
-      data = rsGrpGetSelectSuccess(d, u);
-      break;
-      case 'BAS_LABEL_PV':
-        data = labelGetSelectSuccess(d, u);
-        break;
-    default:
-      data = {
-        ITEM_CODE: d.values['val'],
-      };
-      break;
-  }
-  return data;
-}
-
-/**
- * @description: 鎵撳紑寮瑰嚭閫夋嫨妗�
- * @param {Fn} openItemModal
- * @param {string} entityName
- * @return {*}
- */
-export function OpenSelectItem(openItemModal: Fn, entityName: string) {
-  switch (entityName) {
-    case 'BAS_DEFECT_GRP':
-      dftGrpOpenSelectItem(openItemModal);
-      break;
-    case 'BAS_REASON_GRP':
-      rsGrpOpenSelectItem(openItemModal);
-      break;
-      case 'BAS_LABEL_PV':
-        labelOpenSelectItem(openItemModal);
-        break;
-    default:
-      openItemModal(true, {
-        title: '鐗╂枡鍒楄〃',
-        schemas: [
-          {
-            field: 'ITEM_CODE',
-            component: 'Input',
-            label: '鐗╂枡缂栫爜',
-            colProps: {
-              span: 12,
-            },
-          },
-        ],
-        ItemColumns: [
-          {
-            title: t('鐗╂枡缂栫爜'),
-            dataIndex: 'ITEM_CODE',
-            resizable: true,
-            sorter: true,
-            width: 200,
-          },
-          {
-            title: t('鐗╂枡鍚嶇О'),
-            dataIndex: 'ITEM_NAME',
-            resizable: true,
-            sorter: true,
-            width: 180,
-          },
-        ],
-        tableName: 'BAS_ITEM',
-        rowKey: 'ITEM_CODE',
-      });
-      break;
-  }
-}
-
-/**
  * @description: Select 鑷畾涔塷nChange鏂规硶
  * @param {any} e
  * @param {string} fnName
@@ -234,14 +67,14 @@
   if (!isNullOrEmpty(fnName)) {
     switch (entityName) {
       case 'BAS_REASON':
-        onChangeFns[fnName](e);
+        // onChangeFns[fnName](e);
         break;
       default:
         break;
-        (e) => { };
+        (e) => {};
     }
   } else {
-    (e) => { };
+    (e) => {};
   }
 }
 
@@ -292,6 +125,7 @@
         ],
         tableName: 'BAS_ITEM',
         rowKey: 'ITEM_CODE',
+        searchInfo: { TABLE_NAME: 'BAS_ITEM' },
       });
       break;
   }
@@ -308,18 +142,84 @@
     case 'BIZ_MES_WO':
       _formSchema = woformSchema;
       break;
-    // case 'woinfo':
-    //   _formSchema = woCfgformSchema;
-    //   break;
-    // case 'prodinfo':
-    //   _formSchema = prodCfgformSchema;
-    //   break;
-    // case 'xxinfo':
-    //   _formSchema = xxCfgformSchema;
-    // break;
     default:
       break;
-      (e) => { };
   }
   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;
+  }
+}
+
+/* 楂樼骇琛ㄥ崟鍏敤鏂规硶 *********************************End */

--
Gitblit v1.9.3