wucl преди 3 седмици
родител
ревизия
f7ed6e5a6b
променени са 4 файла, в които са добавени 82 реда и са изтрити 11 реда
  1. 6 1
      src/api/user.js
  2. 6 0
      src/api/workRecordTransfer.js
  3. 9 3
      src/views/home/todo.vue
  4. 61 7
      src/views/personal/todoDetail.vue

+ 6 - 1
src/api/user.js

@@ -29,4 +29,9 @@ export function modifyPass(params) {
 
 export function simpleAll() {
     return request.get(`user/simpleAll`)
-}
+}
+
+
+export function postUser(params) {
+    return request.get(`user/simple/${params}`)
+}

+ 6 - 0
src/api/workRecordTransfer.js

@@ -0,0 +1,6 @@
+import request from '@/utils/request'
+
+// 任务转交
+export function taskTransfer(params) {
+    return request.post(`workRecordTransfer`, params)
+}

+ 9 - 3
src/views/home/todo.vue

@@ -206,11 +206,17 @@ export default {
     ...mapStores(menuStore),
     majorAdmin(){
       const adminMeun = this.menuStore.menuInfo.filter(item=>item.name=='行政审批');
-      return adminMeun[0].children.map(item=>item.name).includes("大中型提成申报审核")
+      if (adminMeun.length>0){
+        return adminMeun[0].children.map(item=>item.name).includes("大中型提成申报审核")
+      }
+      return false;
     },
     assetsAdmin(){
       const adminMeun = this.menuStore.menuInfo.filter(item=>item.name=='行政审批');
-      return adminMeun[0].children.map(item=>item.name).includes("资产提成申报审核")
+      if (adminMeun.length>0){
+        return adminMeun[0].children.map(item=>item.name).includes("资产提成申报审核")
+      }
+      return false;
     }
   },
   created() {
@@ -378,7 +384,7 @@ export default {
               this.$router.push(
                 `/index/personal/todoDetail?id=${row.businessId}&currentNodeCode=${row.nodeCode}&orderId=${row.orderId}&doWorkflow=${true}&isOnline=${row.isOnline}&handlerName=${
                   row.handlerName
-                }&nodeTime=${row.nodeCreated}`
+                }&nodeTime=${row.nodeCreated}&lastestComments=${row.comments}`
               );
             } else {
               showDialog({

+ 61 - 7
src/views/personal/todoDetail.vue

@@ -33,7 +33,8 @@
         <van-field label="委托人2电话" v-model="personal.bailorbTel" name="bailor" readonly placeholder="-" />
         <van-field label="下单时间" v-model="personal.created" name="created" readonly placeholder="-" />
         <van-field label="节点时间" v-model="currentNode.nodeTime" name="nodeTime" readonly placeholder="-" />
-        <van-field label="最新备注" v-model="commitInfo.comments" name="comments" type="textarea" />
+        <van-field label="最新备注" v-model="lastestComments" name="lastestComments" readonly type="textarea" />
+        <van-field label="我的备注" v-model="commitInfo.comments" name="comments" type="textarea" placeholder="请填入当前节点提交的备注"/>
       </van-cell-group>
     </van-form>
     <van-form v-show="currentNode.nodeCode=='QUOTATION_FEEDBACK' || currentNode.nodeCode=='STATEMENT_FEEDBACK' || currentNode.nodeCode=='REPORT_FEEDBACK' || currentNode.nodeCode=='LETTER_FEEDBACK'">
@@ -43,12 +44,24 @@
           @change="doFeedback()" />
       </van-cell-group>
     </van-form>
-    <div class="button-style" style="float: left" v-if="currentNode.reversible">
-      <van-button type="warning" style="width: 100%" @click="commitNode('REVERSE')">退回流程</van-button>
-    </div>
-    <div class="button-style" style="float: right">
-      <van-button type="success" style="width: 100%" @click="commitNode('PASS')">提交流程</van-button>
+    <div class="buttons-div">
+      <van-button class="button" type="warning"  @click="commitNode('REVERSE')" v-if="currentNode.reversible">退回流程</van-button>
+      <van-button class="button" type="primary"  @click="openTransferDialog()">任务转交</van-button>
+      <van-button class="button" type="success"  @click="commitNode('PASS')">提交流程</van-button>
     </div>
+
+    <van-popup v-model:show="taskTransforDialog" :style="{ padding: '10px', width:'80%' }" round >
+      <van-form>
+        <van-cell-group inset>
+          <van-radio-group v-model="transforUserId" direction="horizontal">
+            <van-radio :name="u.id" class="radio-class" v-for="(u,index) in users">{{ u.name }}</van-radio>
+          </van-radio-group>
+        </van-cell-group>
+        <van-button round block  size="small" type="primary" native-type="submit" @click="doTransfer()">
+          提交
+        </van-button>
+      </van-form>
+    </van-popup>
   </div>
 </template>
 
@@ -59,6 +72,8 @@ import { getPersonalTodoDetail, getPersonalTargetDetail } from '@/api/personal';
 import { currentNode } from '@/api/workFlowNodeInstance';
 import { commit } from '@/api/workflow';
 import { doFeedback } from '@/api/personalTarget';
+import { postUser } from '@/api/user';
+import { taskTransfer } from '@/api/workRecordTransfer';
 
 export default {
   data() {
@@ -70,12 +85,17 @@ export default {
       // 节点提交信息
       commitInfo: {},
       productionType: null,
-      feedback: []
+      feedback: [],
+      lastestComments:null,
+      users:[],
+      transforUserId:null,
+      taskTransforDialog:false
     };
   },
   created() {
     this.personal.id = this.$route.query.id;
     this.personal.orderId = this.$route.query.orderId;
+    this.lastestComments = this.$route.query.lastestComments;
     this.getTodoDetail();
     this.getTargetDetail();
     this.getCurrentNode();
@@ -238,6 +258,26 @@ export default {
       }
       return true;
     },
+    openTransferDialog(){
+       this.taskTransforDialog = true;
+       postUser("个贷外业岗").then(res=>{
+        if (res.code == 200){
+            this.users = res.data;
+        }
+       })
+    },
+    doTransfer(){
+      let params = new Object();
+      params.recordId = this.currentNode.tasks[0].recordId;
+      params.toId = this.transforUserId;
+      taskTransfer(params).then(res=>{
+        if (res.code == 200){
+          showNotify({ type: 'success', message: '任务转交成功' });
+          this.taskTransforDialog = false;
+          history.back();
+        }
+      })
+    }
   },
 };
 </script>
@@ -248,4 +288,18 @@ export default {
   margin: 20px;
   width: 100px;
 }
+.buttons-div{
+  width: 100%;
+  display: flex;
+  padding: 17px;
+}
+
+.button{
+  width: 90px;
+  margin-right: 50px;
+}
+
+.radio-class{
+  margin-bottom: 10px;
+}
 </style>