瀏覽代碼

通用组件更改

yangbifan 2 年之前
父節點
當前提交
27172f28d1
共有 2 個文件被更改,包括 132 次插入45 次删除
  1. 2 2
      config/dev.env.js
  2. 130 43
      src/components/workflowBase.vue

+ 2 - 2
config/dev.env.js

@@ -7,9 +7,9 @@ module.exports = merge(prodEnv, {
   ENV_CONFIG: '"dev"',
   ctx:'"http://127.0.0.1:8080"',
   // ctxForm: '"http://10.149.85.91:8000"',//dev
-  ctxForm: '"http://43.138.50.94:8880"',//test
+  // ctxForm: '"http://43.138.50.94:8880"',//test
   // ctxForm: '"http://192.168.2.44:8880"',//test
-  // ctxForm: '"http://10.230.26.15:8000"',//生产
+  ctxForm: '"http://10.230.26.15:8000"',//生产
 
   excludeMeWhenSelectNextHandler:false,
   excludeFormerHanlder:false,

+ 130 - 43
src/components/workflowBase.vue

@@ -8,10 +8,27 @@
               选择路径
 
               <div class="flex-path-list">
-                <div v-if="transferStatus" @click="clickTransfer(1)">转派</div>
+                <div
+                  v-if="manyReassignment"
+                  :class="actives"
+                  @click="clickManyTransfer(1)"
+                >
+                  转派
+                </div>
+                <div
+                  v-if="transferStatus"
+                  :class="active"
+                  @click="clickTransfer(1)"
+                >
+                  转派
+                </div>
                 <div v-if="copyStatus" @click="clickTransfer(2)">抄送</div>
-                <div v-for="(item, index) in node.nextShapes" :key="index" :class="seleIndex == index ? 'active' : ''"
-                  @click="clickGetTree(item, index)">
+                <div
+                  v-for="(item, index) in node.nextShapes"
+                  :key="index"
+                  :class="seleIndex == index ? 'active' : ''"
+                  @click="clickGetTree(item, index)"
+                >
                   {{ item.properties.name }}
                 </div>
               </div>
@@ -20,11 +37,18 @@
           <div class="flex-commons">
             <div class="flex-left-header-text">
               常用意见
-              <span @click="clickEdit" class="flex-icon"><i class="el-icon-edit"></i>修改</span>
+              <span @click="clickEdit" class="flex-icon"
+                ><i class="el-icon-edit"></i>修改</span
+              >
             </div>
             <div class="flex-slide">
-              <div v-for="(item, index) in commonlyList" :key="index" ref="common" class="flex-common"
-                @click="clickCommonly($event)">
+              <div
+                v-for="(item, index) in commonlyList"
+                :key="index"
+                ref="common"
+                class="flex-common"
+                @click="clickCommonly($event)"
+              >
                 {{ item.dataName }}
               </div>
             </div>
@@ -32,17 +56,30 @@
         </div>
         <div class="flex-opinion">
           <div class="flex-left-header-text">意见内容</div>
-          <el-input type="textarea" autosize placeholder="请输入内容" v-model="textarea">
+          <el-input
+            type="textarea"
+            autosize
+            placeholder="请输入内容"
+            v-model="textarea"
+          >
           </el-input>
         </div>
       </div>
       <div class="flex-right" :class="{ copyClass: CopyStatus }">
-        <div class="flex-left-header-text" :class="{ 'flex-right-text': CopyStatus }">
+        <div
+          class="flex-left-header-text"
+          :class="{ 'flex-right-text': CopyStatus }"
+        >
           本部门人员办理
           <div style="display: flex">
             <div class="flex-header-text-tree">
               候选人
-              <deptTree ref="defTree" class="flex-slide" :treeList="treeList" @changeTree="changeTree" />
+              <deptTree
+                ref="defTree"
+                class="flex-slide"
+                :treeList="treeList"
+                @changeTree="changeTree"
+              />
             </div>
             <div class="flex-header-text-tree">
               已选人员
@@ -58,7 +95,12 @@
           <div style="display: flex">
             <div class="flex-header-text-tree">
               抄送人
-              <deptTree ref="defTrees" class="flex-slide" :treeList="treeCopyList" @changeTree="changeTreeCopy" />
+              <deptTree
+                ref="defTrees"
+                class="flex-slide"
+                :treeList="treeCopyList"
+                @changeTree="changeTreeCopy"
+              />
             </div>
             <div class="flex-header-text-tree">
               已选人员
@@ -73,12 +115,23 @@
         <el-button type="primary" @click="submitWork()">提交</el-button>
       </div>
     </div>
-    <el-dialog title="修改常用意见" :visible.sync="editStatus" width="100%" :before-close="editCloses" :modal="false"
-      :destroy-on-close="true">
+    <el-dialog
+      title="修改常用意见"
+      :visible.sync="editStatus"
+      width="100%"
+      :before-close="editCloses"
+      :modal="false"
+      :destroy-on-close="true"
+    >
       <div style="overflow-y: scroll; overflow-x: hidden; height: 240px">
-        <div v-for="(item, index) in commonlyList" :key="index" ref="common" class="flex-common">
+        <div
+          v-for="(item, index) in commonlyList"
+          :key="index"
+          ref="common"
+          class="flex-common"
+        >
           {{ item.dataName
-}}<i class="el-icon-circle-close" @click="deleStatus(item)"></i>
+          }}<i class="el-icon-circle-close" @click="deleStatus(item)"></i>
         </div>
         <div class="flex-common">
           <i class="el-icon-circle-plus-outline" @click="addStatus()"></i>
@@ -97,6 +150,7 @@ export default {
   name: "workflow",
   data() {
     return {
+      active: "",
       manyPeopleStatus: false, //多人处理下发任务
       editStatus: false, //常用意见控制
       transferStatus: false, //转派按钮控制
@@ -104,7 +158,7 @@ export default {
       copyStatus: false, //抄送按钮控制
       CopyStatus: false, //是否点击抄送状态
       node: [], //路径列表
-      seleIndex: "", //点击路径下标
+      seleIndex: "1099", //点击路径下标
       commonlyList: [], //常用意见数组
       textarea: "未填写意见", //意见内容字段
       copyUser: "", //抄送人员列表
@@ -119,6 +173,8 @@ export default {
       demand: "",
       nextDealManList: "",
       isLastManStatus: false,
+      manyReassignment: false,
+      actives: "",
     };
   },
   props: {
@@ -130,30 +186,75 @@ export default {
     requestForm: {
       type: Object,
     },
+    adminResourceId: {
+      type: String,
+    },
   },
   created() {
+    console.log(this.list);
     this.getNextPath(this.list.resourceId, 1);
     this.getMetirialType();
   },
   methods: {
-    async nextWorks(lists, list) {
+    //多人转派
+    clickManyTransfer() {
+      (this.actives = this.actives != "" ? "" : "active"),
+        (this.seleIndex = "1099");
+      this.getNextPath(this.adminResourceId, 3);
+    },
+    async getLastManList(e) {
       let _this = this;
       let obj = {
-        url: _this.$url.formList.nextWork, //下一步工作流接口
-        data: lists,
-        status: "form",
+        url: _this.$url.formList.getComplateLastMan, //开始工作流接口
+        data: e,
+        // status: "form",
+        headers: {
+          "Content-Type": "application/json",
+        },
       };
-      await this.common.httpPost(obj, success);
-      function success(data) {
-        let updateList = {
-          taskId: data.taskid,
-          id: _this.list.id,
-          resourceId: _this.nodes.currentShape[0].resourceId,
-          tableName: _this.requestForm.processDefinitionKey,
+
+      let res = await this.common.httpPost(obj, success);
+      function success(data) {}
+    },
+    async nextWorks(lists, list) {
+      let listss = {
+        userId: this.nextDealManList, //人员id
+        taskId: this.list.taskId, //表单标识
+        loginstr: JSON.parse(window.sessionStorage.userInfo).loginNoStr,
+        // taskName: this.clicknextName, //流程节点
+        content: this.textarea, //意见内容
+      };
+      if (this.manyReassignment == true) {
+        let _this = this;
+        let obj = {
+          url: _this.$url.formList.getNewTransferTask + _this.list.taskId, //下一步工作流接口
+          data: listss,
+          status: "form",
+        };
+        await this.common.httpPost(obj, success);
+        function success(data) {
+          _this.$emit("beforeClose", true);
+        }
+      } else {
+        let _this = this;
+        let obj = {
+          url: _this.$url.formList.nextWork, //下一步工作流接口
+          data: lists,
+          status: "form",
         };
-        list.taskId = data.taskid;
-        _this.setUpdate(updateList);
-        _this.getLastManList(list);
+        await this.common.httpPost(obj, success);
+        function success(data) {
+          console.log(data);
+          let updateList = {
+            taskId: data.taskid,
+            id: _this.list.id,
+            resourceId: _this.nodes.currentShape[0].resourceId,
+            tableName: _this.requestForm.processDefinitionKey,
+          };
+          list.taskId = data.taskid;
+          _this.setUpdate(updateList);
+          _this.getLastManList(list);
+        }
       }
     },
     submitWork() {
@@ -253,20 +354,6 @@ export default {
         this.demand = res.data;
       });
     },
-    async getLastManList(e) {
-      let _this = this;
-      let obj = {
-        url: _this.$url.formList.getComplateLastMan, //开始工作流接口
-        data: e,
-        // status: "form",
-        headers: {
-          "Content-Type": "application/json",
-        },
-      };
-
-      let res = await this.common.httpPost(obj, success);
-      function success(data) { }
-    },
     async nextWork(list) {
       //e:yes||no,list:传入数组,title:结束标签,res:驳回标签,id:工单更新id
       let _this = this;