Browse Source

1.节点操作按钮新增根据节点操作权限判断
2.新增资产待办处理页面
3.优化其他页面

GouGengquan 1 month ago
parent
commit
1fca13b6f3

+ 1 - 2
src/App.vue

@@ -1,8 +1,7 @@
 <template>
   <div>
-      <RouterView />
+    <RouterView />
   </div>
- 
 </template>
 
 <style>

+ 6 - 1
src/api/assets.js

@@ -2,5 +2,10 @@ import request from '@/utils/request'
 
 // 获取资产待办任务
 export function getAssetsTodoList(params) {
-    return request.get('assets/selectPage', {params: params})
+    return request.get('assets/selectPage', { params: params })
+}
+
+// 获取资产待办任务详情
+export function getAssetsTodoDetail(params) {
+    return request.get(`assets/getAssetsDetailById/${params}`)
 }

+ 1 - 1
src/api/major.js

@@ -5,7 +5,7 @@ export function getMajorTodoList(params) {
     return request.get('workTaskRecord/major/todo', {params: params})
 }
 
-// 获取大中型待办任务
+// 获取大中型待办任务详情
 export function getMajorTodoDetail(params) {
     return request.get(`major/${params}`)
 }

+ 13 - 5
src/router/index.js

@@ -12,7 +12,8 @@ import StartView from '@/views/home/start.vue'
 import LoginView from '@/views/login/index.vue'
 
 // 资产业务
-import AssetsView from '@/views/assets/index.vue'
+import AssetsIndex from '@/views/assets/index.vue'
+import AssetsTodoDetailView from '@/views/assets/todoDetail.vue'
 
 // 个贷业务
 import PersonalIndex from '@/views/personal/index.vue'
@@ -83,11 +84,18 @@ const routes = [
       // 资产业务
       {
         path: 'assets',
-        component: AssetsView,
+        component: AssetsIndex,
         name: 'assetsView',
-        meta: {
-          title: '资产业务'
-        }
+        children: [
+          {
+            path: 'todoDetail',
+            component: AssetsTodoDetailView,
+            name: 'assetsTodoDetailView',
+            meta: {
+              title: '待办处理-资产'
+            },
+          },
+        ]
       },
       // 个贷业务
       {

+ 18 - 7
src/views/assets/index.vue

@@ -1,16 +1,27 @@
 <template>
-  <div>
-    <van-nav-bar title="资产业务" left-text="返回" left-arrow @click-left="onClickLeft()" />
-    <h1>资产业务</h1>
+  <div class="base">
+    <router-view v-slot="{ Component }">
+      <transition>
+        <component :is="Component" />
+      </transition>
+    </router-view>
   </div>
 </template>
 
 <script>
+
 export default {
+  data() {
+    return {};
+  },
+  created() {
+  },
   methods: {
-    onClickLeft() {
-      history.back();
-    },
+    
   },
 };
-</script>
+</script>
+<style scoped>
+.base {
+}
+</style>

+ 104 - 0
src/views/assets/todoDetail.vue

@@ -0,0 +1,104 @@
+<template>
+  <div>
+    <van-nav-bar title="待办处理-资产" left-text="返回" left-arrow @click-left="onClickLeft()" />
+    <van-form>
+      <van-cell-group inset>
+        <van-field label="项目编号" v-model="assets.orderId" name="orderId" readonly />
+        <van-field label="订单名称" v-model="assets.projectName" name="projectName" type="textarea" readonly />
+        <van-field label="意见书号" v-model="assets.statementNo" name="statementNo" readonly />
+        <van-field label="报告号" v-model="assets.reportNo" name="reportNo" readonly />
+        <van-field label="业务类型" v-model="assets.assetsBusinessGener" name="assetsBusinessGener" readonly />
+        <van-field label="客户名称" v-model="assets.customerName" name="customerName" readonly />
+        <van-field label="业务来源" v-model="assets.customerSubName" name="customerSubName" readonly />
+        <van-field label="委托人" v-model="assets.bailor" name="bailor" readonly />
+        <van-field label="委托人电话" v-model="assets.bailorContactTel" name="bailorContactTel" readonly />
+        <van-field label="当前节点" v-model="currentNode.nodeName" name="nodeName" readonly :error="true" />
+        <van-field label="节点处理人" v-model="currentNode.handlerName" name="handlerName" readonly />
+        <van-field label="项目负责人" v-model="assets.principalName" name="principalName" readonly />
+        <van-field label="客户经理" v-model="assets.clientManagerName" name="clientManagerName" readonly />
+        <van-field label="最新备注" v-model="commitInfo.comments" name="comments" type="textarea" />
+      </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>
+  </div>
+</template>
+
+<script>
+import { showNotify } from 'vant';
+import { getAssetsTodoDetail } from '@/api/assets';
+import { currentNode } from '@/api/workFlowNodeInstance';
+import { commit } from '@/api/workflow';
+
+export default {
+  data() {
+    return {
+      // 资产详情
+      assets: {},
+      currentNode: {},
+      // 节点提交信息
+      commitInfo: {},
+    };
+  },
+  created() {
+    this.assets.id = this.$route.query.assetsId;
+    this.getTodoDetail();
+    this.getCurrentNode();
+  },
+  methods: {
+    onClickLeft() {
+      history.back();
+    },
+    // 获取待办详情
+    getTodoDetail() {
+      if (this.assets.id) {
+        getAssetsTodoDetail(this.assets.id).then((res) => {
+          if (res.code === 200) {
+            this.assets = res.data;
+            this.assets.statementNo = this.$route.query.statementNo;
+            this.assets.reportNo = this.$route.query.reportNo;
+            this.assets.projectName = this.$route.query.projectName;
+          }
+        });
+      }
+    },
+    // 获取当前节点实例
+    getCurrentNode() {
+      if (this.assets.id) {
+        currentNode({ "mainBusiness": "ASSET_BUSINESS", "businessId": this.assets.id, "businessSubId": this.$route.query.statementNo, "businessMinId": this.$route.query.reportNo }).then((res) => {
+          if (res.code === 200) {
+            this.currentNode = res.data;
+            this.currentNode.currentNodeCode = this.$route.query.currentNodeCode;
+            this.currentNode.handlerName = this.$route.query.handlerName;
+          }
+        });
+      }
+    },
+    // 提交节点
+    commitNode(state) {
+      this.commitInfo.instanceNodeId = this.currentNode.instanceId;
+      this.commitInfo.state = state;
+      this.commitInfo.businessSubId = this.assets.statementNo;
+      this.commitInfo.businessMinId = this.assets.reportNo;
+      commit(this.commitInfo).then((res) => {
+        if (res.code === 200 && res.data) {
+          showNotify({ type: 'success', message: '节点提交成功' });
+          history.back();
+        }
+      });
+    },
+  },
+};
+</script>
+
+<style scoped>
+.button-style {
+  display: inline-block;
+  margin: 20px;
+  width: 100px;
+}
+</style>

+ 3 - 1
src/views/home/index.vue

@@ -5,7 +5,9 @@
     </div>
     <router-view v-slot="{ Component }">
       <transition>
-        <component :is="Component" />
+        <keep-alive>
+          <component :is="Component" />
+        </keep-alive>
       </transition>
     </router-view>
     <div style="height: 5rem;"></div>

+ 33 - 1
src/views/home/todo.vue

@@ -62,7 +62,7 @@
       <van-search v-model="assetsListQuery.keyWord" placeholder="请输入搜索关键词" @search="onAssetsSearch()" />
       <van-pull-refresh v-model="loading" @refresh="onAssetsRefresh()">
         <van-list v-model:loading="loading" :finished="assetsFinished" finished-text="没有待办了" @load="assetsTodoList()">
-          <div class="card" v-for="item in assetsListData" :key="item.id">
+          <div class="card" v-for="item in assetsListData" :key="item.id" @click="toAssetsDetail(item)">
             <h3>
               <van-icon name="link-o" />
               &nbsp;{{ item.orderId }}
@@ -341,6 +341,38 @@ export default {
           break;
       }
     },
+    // 资产前往待办详情页
+    toAssetsDetail(row) {
+      switch (row.currentNodeCode) {
+        case 'REPORT_OUT_APPLY':
+        case 'REPORT_OUT_DEPARTMENT_CHECK':
+        case 'STATEMENT_IN':
+        case 'STATEMENT_OUT':
+        case 'REPORT_IN':
+        case 'REPORT_OUT':
+        case 'LETTER_IN':
+        case 'LETTER_OUT':
+          showDialog({
+            message: '当前节点需要业务操作, 请在电脑端处理节点',
+          }).then(() => {
+            // on close
+          });
+          break;
+        default:
+          if (row.statementNo && row.reportNo) {
+            this.$router.push(
+              `/index/assets/todoDetail?assetsId=${row.assetsId}&statementNo=${row.statementNo}&reportNo=${row.reportNo}&currentNodeCode=${row.currentNodeCode}&handlerName=${row.handlerName}&projectName=${row.reportName || row.statementName || row.name}`
+            );
+          } else if (row.statementNo && !row.reportNo) {
+            this.$router.push(`/index/assets/todoDetail?assetsId=${row.assetsId}&statementNo=${row.statementNo}&currentNodeCode=${row.currentNodeCode}&handlerName=${row.handlerName}&projectName=${row.reportName || row.statementName || row.name}`);
+          } else if (!row.statementNo && row.reportNo) {
+            this.$router.push(`/index/assets/todoDetail?assetsId=${row.assetsId}&reportNo=${row.reportNo}&currentNodeCode=${row.currentNodeCode}&handlerName=${row.handlerName}&projectName=${row.reportName || row.statementName || row.name}`);
+          } else {
+            this.$router.push(`/index/assets/todoDetail?assetsId=${row.assetsId}&currentNodeCode=${row.currentNodeCode}&handlerName=${row.handlerName}&projectName=${row.reportName || row.statementName || row.name}`);
+          }
+          break;
+      }
+    },
   },
 };
 </script>

+ 0 - 2
src/views/major/index.vue

@@ -25,5 +25,3 @@ export default {
 .base {
 }
 </style>
-
-

+ 2 - 3
src/views/major/todoDetail.vue

@@ -20,7 +20,7 @@
         <van-field label="最新备注" v-model="commitInfo.comments" name="comments" type="textarea" />
       </van-cell-group>
     </van-form>
-    <div class="button-style" style="float: left">
+    <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">
@@ -38,9 +38,8 @@ import { commit } from '@/api/workflow';
 export default {
   data() {
     return {
-      // 个贷详情
+      // 大中型详情
       major: {},
-      personalTarget: {},
       currentNode: {},
       // 节点提交信息
       commitInfo: {},

+ 1 - 1
src/views/personal/todoDetail.vue

@@ -22,7 +22,7 @@
         <van-field label="最新备注" v-model="commitInfo.comments" name="comments" type="textarea" />
       </van-cell-group>
     </van-form>
-    <div class="button-style" style="float: left">
+    <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">