From 56bdc677d717f8f1d8ff6ff4c87e733d1206e8be Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 27 六月 2024 17:58:15 +0800
Subject: [PATCH] 用户停用启用 分配角色穿梭框功能 创建其他人员组织菜单 表格优化

---
 Source/plt-web/plt-web-ui/src/components/actions/base/startWorkFlow.vue |   90 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 73 insertions(+), 17 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/components/actions/base/startWorkFlow.vue b/Source/plt-web/plt-web-ui/src/components/actions/base/startWorkFlow.vue
index 5c8cdb1..ac10977 100644
--- a/Source/plt-web/plt-web-ui/src/components/actions/base/startWorkFlow.vue
+++ b/Source/plt-web/plt-web-ui/src/components/actions/base/startWorkFlow.vue
@@ -1,14 +1,14 @@
 <template>
   <el-dialog v-dialogDrag
-             append-to-body="true"
              :close-on-click-modal="false"
              :destroy-on-close="true"
              :visible.sync="visible"
              :width="width"
+             append-to-body="true"
              class="avue-dialog"
+             style="margin-top: -10% !important;"
              title="鍚姩娴佺▼"
              top="0"
-             style="margin-top: -10% !important;"
              @close="dialogClose">
 
     <el-form :model="saveParam" :rules="rules" class="demo-form-inline" label-position="left" label-width="auto">
@@ -26,15 +26,15 @@
     </el-form>
 
     <el-divider></el-divider>
-    <div class="btns-icon">
-      <el-button circle icon="el-icon-star-off" @click="handleCollect"></el-button>
-    </div>
+    <!--    <div class="btns-icon">-->
+    <!--      <el-button circle icon="el-icon-star-off" @click="handleCollect"></el-button>-->
+    <!--    </div>-->
     <el-form :model="collectParam" class="demo-form-inline" label-position="left" label-width="auto">
-      <el-form-item v-for="(item, index) in initFrom" :key="index" :label="item.taskName">
-        <el-select v-model="collectParam.flowTaskUsers[index]['userId']" :placeholder="item.taskName" filterable
-                   style="width: 100%;" @change="handleSelect($event, index)">
-          <el-option v-for="(key, keyi) in typeName" :key="keyi" :label="key.userNames"
-                     :value="key.userId"></el-option>
+      <el-form-item v-for="(item, index) in initFrom" :key="index" :label="`鑺傜偣${index + 1}`">
+        <el-select style="width: 100%;" filterable v-model="collectParam.flowTaskUsers[index]['userId']"
+                   :placeholder="item.value" @change="handleSelect($event, index)">
+          <el-option :label="key.name" :value="key.name" v-for="(key, keyi) in item.processNodes"
+                     :key="keyi"></el-option>
         </el-select>
       </el-form-item>
     </el-form>
@@ -48,6 +48,7 @@
 
 <script>
 import {validatenull} from "@/util/validate";
+import {getTemplateByType, getAllProcessNode} from "@/api/base/startWork/index"
 
 export default {
   name: "startWorkFlow",
@@ -70,11 +71,16 @@
   data() {
     return {
       visible: false,
-      saveParam: {},
-      users: [],
-      collectParam: {},
-      initFrom: [],
-      typeName: [],
+      saveParam: {}, // 瀵硅薄鍖呭惈 {modelName娴佺▼妯℃澘(鐢辨帴鍙h繑鍥炲綋鍓嶆祦绋嬫ā鏉�) , processName娴佺▼鍚嶇О锛堜负褰撳墠鐢ㄦ埛+'鍚姩娴佺▼'+褰撳墠鍒嗙被锛� , processDesc娴佺▼鎻忚堪 }
+      initFrom: [],  // 褰撳墠娴佺▼鑺傜偣寰幆鏁扮粍
+      collectParam: {}, // 娴佺▼鑺傜偣涓嬫媺妗嗗弻鍚戠粦瀹氬睘鎬�
+      typeName: [], // 娴佺▼鑺傜偣option寰幆閫夐」
+      rules: {
+        processName: [
+          {required: true, message: '娴佺▼鍚嶇О涓嶈兘涓虹┖', trigger: 'blur'},
+          {min: 3, max: 50, message: '闀垮害鍦� 3 鍒� 50 涓瓧绗�', trigger: 'blur'}
+        ]
+      }
     }
   },
   watch: {
@@ -87,7 +93,7 @@
     },
     parameter: {
       handler(newval, oldval) {
-        this.saveParam = Object.assign({processName: '', processDesc: ''}, newval);
+        this.saveParam = Object.assign({processName: '', processDesc: '',}, newval);
       },
       deep: true,
       immediate: true
@@ -114,7 +120,44 @@
       }
     },
   },
+  created() {
+    this.modelNameChange();
+    this.getWorkByType();
+  },
+  mounted() {
+  },
   methods: {
+    // 鑾峰彇娴佺▼妯℃澘淇℃伅
+    getWorkByType() {
+      let params = {
+        type: '鏂囨。瀹$娴佺▼',
+        filterTemplate: ""
+      }
+      getTemplateByType(params).then(res => {
+        const data = res.data.data;
+        data.forEach(item => {
+          this.getProcessNode(item);
+        })
+        this.initFrom = data;
+      }).catch(error => {
+        console.log(error);
+      })
+    },
+
+    // 璇锋眰娴佺▼鑺傜偣
+    getProcessNode(item) {
+      let params = {
+        processOid: item.attributes.oid,
+        maxSecret: -1
+      }
+      getAllProcessNode(params).then(res => {
+        const nodes = res.data.data;
+        item.processNodes = nodes;
+      }).catch(error => {
+        console.log(error);
+      })
+    },
+
     // 鍏抽棴寮圭獥
     dialogClose() {
       this.visible = false;
@@ -133,12 +176,25 @@
     },
 
     handleConfirm() {
+      console.log(this.initFrom);
+    },
 
+    //  娴佺▼鍚嶇О鍒濆鍖栫粦瀹�
+    modelNameChange() {
+      var userInfo = JSON.parse(localStorage.getItem('saber-userInfo'));
+
+      if (this.paramVOS && this.paramVOS.modelName) {
+        this.saveParam.modelName = this.paramVOS.modelName;
+      } else if (userInfo.content && userInfo.content.userName) {
+        this.saveParam.modelName = userInfo.content.userName + '鍚姩娴佺▼';
+      } else {
+        this.saveParam.modelName = '';
+      }
     }
   }
 }
 </script>
 
-<style scoped lang="scss">
+<style lang="scss" scoped>
 
 </style>

--
Gitblit v1.9.3