From ae5807029edabde0b1e1488c090bd830fccf75a7 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 18 九月 2023 16:13:07 +0800
Subject: [PATCH] 代码提交

---
 Source/UBCS-WEB/src/components/flow-cycle/components/DetailPanel.vue |  119 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 104 insertions(+), 15 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/flow-cycle/components/DetailPanel.vue b/Source/UBCS-WEB/src/components/flow-cycle/components/DetailPanel.vue
index 1fb051b..6f1b324 100644
--- a/Source/UBCS-WEB/src/components/flow-cycle/components/DetailPanel.vue
+++ b/Source/UBCS-WEB/src/components/flow-cycle/components/DetailPanel.vue
@@ -11,20 +11,21 @@
         <el-form-item label="鍚嶇О" prop="name">
           <el-input v-model.trim="newRowData.name" :maxLength="20" clearable />
         </el-form-item>
-        <el-form-item label="鏍囩" prop="label">
-          <el-input v-model.trim="newRowData.label" clearable />
+        <el-form-item label="缂栧彿" prop="id">
+          <el-input v-model.trim="newRowData.id" clearable />
         </el-form-item>
-        <el-form-item label="璧峰鐘舵��" prop="startState">
+        <el-form-item label="璧峰鐘舵��" prop="startStatus">
           <el-select
-            v-model="newRowData.startState"
+            v-model="newRowData.startStatus"
             placeholder="璇烽�夋嫨璧峰鐘舵��"
+            :disabled="type === 'edit'"
             style="width: 100%"
           >
             <el-option
-              v-for="item in []"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
+              v-for="item in existNodes"
+              :key="item.id"
+              :label="item.id"
+              :value="item.id"
             >
             </el-option>
           </el-select>
@@ -45,14 +46,34 @@
         <group-panel :status="status">
           <detail-form type="group" />
         </group-panel>
-        <multi-panel :status="status" />
-        <canvas-panel :status="status" />
+        <!-- <edge-panel :status="status">
+          <div class="event">
+            <hr />
+            <h4>璺冭縼浜嬩欢</h4>
+            <el-select
+              size="mini"
+              style="width: 100%"
+              value-key="oid"
+              v-model="saveEventList"
+              multiple
+            >
+              <el-option
+                v-for="itm in eventList"
+                :key="itm.oid"
+                :value="itm"
+                :label="itm.eventShowName"
+              ></el-option>
+            </el-select>
+          </div>
+        </edge-panel> -->
       </template>
     </detail-panel>
   </div>
 </template>
 
 <script>
+import API from "@/api/modeling/cycle";
+
 import {
   NodePanel,
   EdgePanel,
@@ -74,18 +95,37 @@
     DetailPanel,
     DetailForm,
   },
-  props: ["readOnly", "rowData"],
+  props: ["rowData", "existNodes", "existEdges", "type", "currentSelectedLine"],
   data() {
     return {
-      newRowData: {},
+      newRowData: {
+        startStatus: undefined,
+        name: undefined,
+        id: undefined,
+        remark: undefined,
+      },
       rules: {
         name: [{ required: true, message: "鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }],
-        label: [{ required: true, message: "鏍囩涓嶈兘涓虹┖", trigger: "blur" }],
-        startState: [
-          // { required: true, message: "璧峰鐘舵�佷笉鑳戒负绌�", trigger: "change" },
+        id: [
+          { required: true, message: "鏍囩涓嶈兘涓虹┖", trigger: "blur" },
+          {
+            pattern: /^[A-z]+$/g,
+            message: "鏍囩鍙兘杈撳叆鑻辨枃",
+            trigger: "blur",
+          },
+        ],
+        startStatus: [
+          { required: true, message: "璧峰鐘舵�佷笉鑳戒负绌�", trigger: "change" },
         ],
       },
+      eventList: [],
+      saveEventList: [],
+      edgeEventList: {},
+      currentActive: 0,
     };
+  },
+  created() {
+    this.getEventList();
   },
   methods: {
     getNewRowDate() {
@@ -97,6 +137,13 @@
             resolve(this.newRowData);
           }
         });
+      });
+    },
+    getEventList() {
+      API.getEventList().then((res) => {
+        if (res.data.code === 200) {
+          this.eventList = res.data.data;
+        }
       });
     },
   },
@@ -114,6 +161,48 @@
         }
       },
     },
+    existNodes(newV) {
+      const flag = newV.some((item) => item.id === this.newRowData.startStatus);
+      if (!flag) {
+        this.newRowData.startStatus = undefined;
+      }
+    },
+    currentSelectedLine: {
+      deep: true,
+      handler(newV) {
+        if (newV.id) {
+          if (this.edgeEventList[newV.id]) {
+            this.saveEventList = this.edgeEventList[newV.id]
+          } else {
+            this.edgeEventList[newV.id] = []
+            this.saveEventList = []
+          }
+        }
+      }
+    },
+    saveEventList: {
+      deep: true,
+      handler(newV) {
+        this.edgeEventList[this.currentSelectedLine.id] = newV
+      }
+    }
   },
 };
 </script>
+<style lang="scss" scoped>
+.event {
+  margin-top: 20px;
+  text-align: center;
+}
+.flex {
+  margin-top: 10px;
+  display: flex;
+  justify-content: space-between;
+}
+.red {
+  color: red;
+}
+.active {
+  // box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4)
+}
+</style>

--
Gitblit v1.9.3