Browse Source

个贷新增批量出入库

wucl 6 months ago
parent
commit
29906bd279
3 changed files with 203 additions and 7 deletions
  1. 1 2
      src/api/modules/personal.js
  2. 7 1
      src/api/modules/workNodeTaskRecord.js
  3. 195 4
      src/views/personal/todoList.vue

+ 1 - 2
src/api/modules/personal.js

@@ -56,6 +56,5 @@ export default {
   },
   getDataCount(params){
     return request.get(`personal/count`, { params: params })
-  }
-
+  },
 }

+ 7 - 1
src/api/modules/workNodeTaskRecord.js

@@ -39,5 +39,11 @@ export default {
   },
   checkIfReverse(p1,p2){
     return request.get(`workFlowNodeInstance/checkIfReverse/${p1}/${p2}`)
-   }
+   },
+   getPersonalInRepTask(params){
+    return request.get(`workTaskRecord/personal/inRep/todo`, { params: params })
+  },
+  getPersonalOutRepTask(params){
+    return request.get(`workTaskRecord/personal/outRep/todo`, { params: params })
+  }
 }

+ 195 - 4
src/views/personal/todoList.vue

@@ -13,6 +13,10 @@
               icon="el-icon-paperclip" :page-jump="false" round @click="openBatchAllotDialog()" />
             <PermissionButton menu-code="_views_personal_batch_commit_bookbinding_stamp" class-name="filter-item"
               type="danger" icon="el-icon-paperclip" :page-jump="false" round @click="openBatchCommitDialog()" />
+              <PermissionButton menu-code="_views_personal_batch_in_rep" class-name="filter-item"
+              type="warning" icon="el-icon-paperclip" :page-jump="false" round @click="openBatchInRepDialog()" />
+              <PermissionButton menu-code="_views_personal_batch_out_rep" class-name="filter-item"
+              type="warning" icon="el-icon-paperclip" :page-jump="false" round @click="openBatchOutRepDialog()" />
           </template>
         </MoreSearchBar>
       </template>
@@ -296,6 +300,62 @@
         </parentTable>
       </y-page-list-layout>
     </el-dialog>
+    <el-dialog :visible.sync="batchInRepDialogVisible" width="90%" center top="10vh" custom-class="doWarehouseClass">
+      <span style="font-size: 20px; font-weight: bold;">待入库任务:{{ inRepTasks.length }}条</span>
+      <el-button type="danger" style="float: right;" @click="doBatchInRep()">点击入库</el-button>
+      <parentTable  :clickRowToPick="true" :data="inRepTasks" style="width: 100%;"
+      :selectionChange="handInRep">
+          <el-table-column align="center" type="selection" claimOrders width="100" border="true">
+          </el-table-column>
+        <el-table-column label="项目编号" align="center" width="150" prop="orderId">
+        </el-table-column>
+        <el-table-column label="坐落" align="center"  prop="location">
+        </el-table-column>
+        <el-table-column label="当前节点" align="center" width="130" prop="nodeName">
+        </el-table-column>
+        <el-table-column label="处理人" align="center" width="130" prop="handlerName">
+        </el-table-column>
+        <el-table-column label="面积" align="center" width="130" prop="acreage">
+        </el-table-column>
+        <el-table-column label="单价" align="center" width="130"  prop="price" >
+        </el-table-column>
+        <el-table-column label="总价" align="center" width="130"  prop="amount">
+        </el-table-column>
+        <el-table-column label="客户名称" align="center" width="130" 
+          prop="clientName">
+        </el-table-column>
+        <el-table-column label="业务来源" align="center" width="130" prop="clientSubName">
+        </el-table-column>
+      </parentTable>
+    </el-dialog>
+    <el-dialog :visible.sync="batchOutRepDialogVisible" width="90%" center top="10vh" custom-class="doWarehouseClass">
+      <span style="font-size: 20px; font-weight: bold;">待出库任务:{{ outRepTasks.length }}条</span>
+      <el-button type="danger" style="float: right;" @click="doBatchOutRep()">点击出库</el-button>
+      <parentTable  :clickRowToPick="true" :data="outRepTasks" style="width: 100%;"
+      :selectionChange="handOutRep">
+          <el-table-column align="center" type="selection" claimOrders width="100" border="true">
+          </el-table-column>
+        <el-table-column label="项目编号" align="center" width="150" prop="orderId">
+        </el-table-column>
+        <el-table-column label="坐落" align="center"  prop="location">
+        </el-table-column>
+        <el-table-column label="当前节点" align="center" width="130" prop="nodeName">
+        </el-table-column>
+        <el-table-column label="处理人" align="center" width="130" prop="handlerName">
+        </el-table-column>
+        <el-table-column label="面积" align="center" width="130" prop="acreage">
+        </el-table-column>
+        <el-table-column label="单价" align="center" width="130"  prop="price" >
+        </el-table-column>
+        <el-table-column label="总价" align="center" width="130"  prop="amount">
+        </el-table-column>
+        <el-table-column label="客户名称" align="center" width="130" 
+          prop="clientName">
+        </el-table-column>
+        <el-table-column label="业务来源" align="center" width="130" prop="clientSubName">
+        </el-table-column>
+      </parentTable>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -354,7 +414,13 @@ export default {
         keyWord: null,
         getNodeIsBookbindingStamp: false
       },
-      batchCommitPageData: { records: [] }
+      batchCommitPageData: { records: [] },
+      batchInRepDialogVisible:false,
+      batchOutRepDialogVisible:false,
+      inRepTasks:[],
+      outRepTasks:[],
+      inRepCommit:[],
+      outRepCommit:[]
     }
 
   },
@@ -365,9 +431,8 @@ export default {
         this.getAllotOrderList();
       },
       deep: true
-
-    }
-  },
+    },
+  }, 
   created() {
     if (getCookie("personalTodoList-hiddenLabels") != undefined) {
       this.hiddenLabels = JSON.parse(getCookie("personalTodoList-hiddenLabels"))
@@ -588,6 +653,132 @@ export default {
       }
       this.workNodeCommits = pickedCommits;
     },
+    personalInRepTask(){
+      this.$api.workNodeTaskRecord.getPersonalInRepTask().then(res=>{
+        if (res.code===200){
+          this.inRepTasks = res.data;
+        }
+      })
+    },
+    personalOutRepTask(){
+      this.$api.workNodeTaskRecord.getPersonalOutRepTask().then(res=>{
+        if (res.code===200){
+          this.outRepTasks = res.data;
+        }
+      })
+    },
+    openBatchInRepDialog(){
+      this.batchInRepDialogVisible = true;
+      this.personalInRepTask();
+    },
+    openBatchOutRepDialog(){
+      this.batchOutRepDialogVisible = true;
+      this.personalOutRepTask();
+    },
+    doBatchInRep(){
+      if (this.inRepCommit.length > 0) {
+        this.$confirm('确认批量提交已选中流程?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          this.$api.workflow.batchCommit(this.inRepCommit).then(res => {
+            if (res.code === 200 && res.data) {
+              this.$notify({
+                title: '成功',
+                message: '工作流节点批量提交成功。',
+                type: 'success',
+                duration: 2000
+              });
+              this.getPage();
+              this.personalInRepTask();
+            } else {
+              this.$notify({
+                title: '失败',
+                message: res.message,
+                type: 'error',
+                duration: 2000
+              });
+            }
+          })
+        }).catch(() => {
+          this.$message({
+            type: 'info',
+            message: '已取消批量提交'
+          });
+        });
+      } else {
+        this.$notify.error({
+          title: '错误',
+          message: '请选择至少一条流程再提交!'
+        });
+      }
+    },
+    handInRep(val){
+      let pickedCommits = [];
+      for (let i in val) {
+        let commit = new Object();
+        commit.instanceNodeId = val[i].currentNodeId;
+        commit.state = "PASS";
+        commit.comments = "批量入库";
+        commit.businessSubId = val[i].orderId;
+        pickedCommits.push(commit);
+      }
+      this.inRepCommit = pickedCommits;
+    },
+    doBatchOutRep(){
+      if (this.outRepCommit.length > 0) {
+        this.$confirm('确认批量提交已选中流程?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          this.$api.workflow.batchCommit(this.outRepCommit).then(res => {
+            if (res.code === 200 && res.data) {
+              this.$notify({
+                title: '成功',
+                message: '工作流节点批量提交成功。',
+                type: 'success',
+                duration: 2000
+              });
+              this.getPage();
+              this.personalOutRepTask();
+            } else {
+              this.$notify({
+                title: '失败',
+                message: res.message,
+                type: 'error',
+                duration: 2000
+              });
+            }
+          })
+        }).catch(() => {
+          this.$message({
+            type: 'info',
+            message: '已取消批量提交'
+          });
+        });
+      } else {
+        this.$notify.error({
+          title: '错误',
+          message: '请选择至少一条流程再提交!'
+        });
+      }
+    },
+    handOutRep(val){
+      let pickedCommits = [];
+      for (let i in val) {
+        let commit = new Object();
+        commit.instanceNodeId = val[i].currentNodeId;
+        commit.state = "PASS";
+        commit.comments = "批量出库";
+        commit.businessId  = val[i].businessId;
+        commit.businessSubId = val[i].orderId;
+        commit.nodeCode = 'REPORT_OUT';
+        pickedCommits.push(commit);
+      }
+      this.outRepCommit = pickedCommits;
+    }
 
   },