Browse Source

1.新增大中型、个贷正在进行页面

GouGengquan 1 month ago
parent
commit
95d2a8bc8f

+ 5 - 0
src/api/major.js

@@ -18,4 +18,9 @@ export function add(params) {
 // 大中型我的订单
 export function myOrder(params) {
     return request.get(`majorProduction/myOrder`, { params: params })
+}
+
+// 大中型正在进行订单
+export function pendingOrder(params) {
+    return request.get(`major/page`, { params: params })
 }

+ 5 - 0
src/api/personal.js

@@ -23,4 +23,9 @@ export function add(params) {
 // 个贷我的订单
 export function myOrder(params) {
     return request.get(`personal/mine`, { params: params })
+}
+
+// 个贷正在进行订单
+export function pendingOrder(params) {
+    return request.get(`personal`, { params: params })
 }

+ 18 - 0
src/router/index.js

@@ -24,6 +24,7 @@ import PersonalTodoDetailView from '@/views/personal/todoDetail.vue'
 import PersonalPlaceOrderView from '@/views/personal/placeOrder.vue'
 import PersonalMyOrder from '@/views/personal/myOrder.vue'
 import PersonalDetail from '@/views/personal/detail.vue'
+import PersonalPendingOrder from '@/views/personal/pendingOrder.vue'
 
 // 大中型业务
 import MajorIndex from '@/views/major/index.vue'
@@ -31,6 +32,7 @@ import MajorTodoDetailView from '@/views/major/todoDetail.vue'
 import MajorPlaceOrder from '@/views/major/placeOrder.vue'
 import MajorMyOrder from '@/views/major/myOrder.vue'
 import MajorDetail from '@/views/major/detail.vue'
+import MajorPendingOrder from '@/views/major/pendingOrder.vue'
 
 // 土规业务
 import LandIndex from '@/views/land/index.vue'
@@ -173,6 +175,14 @@ const routes = [
               title: '订单详情-资产'
             },
           },
+          {
+            path: 'pendingOrder',
+            component: PersonalPendingOrder,
+            name: 'personalPendingOrderView',
+            meta: {
+              title: '正在进行-个贷'
+            },
+          },
         ]
       },
       // 大中型业务
@@ -213,6 +223,14 @@ const routes = [
               title: '订单详情-大中型'
             },
           },
+          {
+            path: 'pendingOrder',
+            component: MajorPendingOrder,
+            name: 'majorPendingOrderView',
+            meta: {
+              title: '正在进行-大中型'
+            },
+          },
         ]
       },
       // 土规业务

+ 2 - 2
src/views/home/home.vue

@@ -2,7 +2,7 @@
   <div class="bottom-layer">
     <div class="card">
       <div class="businessTitle">个贷业务</div>
-      <div class="icon-area">
+      <div class="icon-area" @click="goBench('/index/personal/pendingOrder')">
         <svg t="1713838252300" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5893" width="36" height="36">
           <path
             d="M810.666667 1024H213.333333c-117.333333 0-213.333333-96-213.333333-213.333333V213.333333C0 96 96 0 213.333333 0h597.333334c117.333333 0 213.333333 96 213.333333 213.333333v597.333334c0 117.333333-96 213.333333-213.333333 213.333333z"
@@ -52,7 +52,7 @@
     </div>
     <div class="card">
       <div class="businessTitle">大中型业务</div>
-      <div class="icon-area">
+      <div class="icon-area" @click="goBench('/index/major/pendingOrder')">
         <svg t="1713838139679" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5142" width="36" height="36">
           <path
             d="M810.666667 1024H213.333333c-117.333333 0-213.333333-96-213.333333-213.333333V213.333333C0 96 96 0 213.333333 0h597.333334c117.333333 0 213.333333 96 213.333333 213.333333v597.333334c0 117.333333-96 213.333333-213.333333 213.333333z"

+ 116 - 0
src/views/major/pendingOrder.vue

@@ -0,0 +1,116 @@
+<template>
+  <div>
+    <BackBar title="正在进行-大中型" lefttext="返回" />
+    <van-search v-model="listQuery.keyword" placeholder="请输入搜索关键词" @search="onSearch()" />
+    <van-pull-refresh v-model="loading" @refresh="onRefresh()">
+      <van-list v-model:loading="loading" :finished="finished" finished-text="还没有订单" @load="getPendingOrder()">
+        <div class="card" v-for="item in listData" :key="item.id">
+          <h3>
+            <van-icon name="link-o" />
+            &nbsp;{{ item.orderId }}
+          </h3>
+          <p class="productionNo" v-if="item.statementNo || item.reportNo">
+            <van-icon name="coupon-o" />
+            &nbsp;
+            {{ item.statementNo }}
+            <!-- 产品号都不为空才显示中间的分割空格, 以保持页面间距统一 -->
+            <span v-if="item.statementNo && item.reportNo">&nbsp;&nbsp;</span>
+            {{ item.reportNo }}
+          </p>
+          <p class="projectName">
+            <van-icon name="location-o" />
+            &nbsp;{{ item.name }}
+          </p>
+          <p>
+            <van-tag type="primary" size="medium" class="van-tag">{{ item.nodeName }}</van-tag>
+            <van-tag type="success" size="medium" class="van-tag">{{ item.clientManager }}</van-tag>
+            <van-tag color="#969799" size="medium" class="van-tag">{{ item.created }}</van-tag>
+          </p>
+        </div>
+      </van-list>
+    </van-pull-refresh>
+    <van-back-top right="10vw" bottom="10vh" />
+  </div>
+</template>
+
+<script>
+import { pendingOrder } from '@/api/major';
+
+export default {
+  data() {
+    return {
+      loading: false,
+      listData: [],
+      finished: false,
+      listQuery: {
+        // 当前页数
+        current: 1,
+        // 查询关键字
+        keyword: null,
+      },
+    };
+  },
+  created() {
+    this.getPendingOrder();
+  },
+  methods: {
+    // 列表刷新
+    onRefresh() {
+      this.listQuery.current = 1;
+      this.finished = false;
+      this.listData = [];
+      this.getPendingOrder();
+    },
+    // 列表关键字搜索
+    onSearch() {
+      this.listQuery.current = 1;
+      this.finished = false;
+      this.listData = [];
+      this.getPendingOrder();
+    },
+    // 获取我的订单
+    getPendingOrder() {
+      this.loading = true;
+      pendingOrder(this.listQuery).then((res) => {
+        if (res.code == 200) {
+          if (res.data.records) {
+            this.listData = this.listData.concat(res.data.records);
+          }
+          // 判断是否还有下一页
+          if (res.data.pages > this.listQuery.current) {
+            // 服务端返回的总页数大于当前页数, 将当前页数+1
+            this.listQuery.current++;
+          } else {
+            // 反之停止加载
+            this.finished = true;
+          }
+        }
+        this.loading = false;
+      });
+    },
+  },
+};
+</script>
+
+<style scoped>
+.card {
+  background-color: white;
+  border-radius: 12px;
+  box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.1);
+  padding: 16px;
+  margin: 10px;
+}
+
+.productionNo {
+  width: 100%;
+  font-size: 14px;
+}
+
+.projectName {
+  width: 100%;
+}
+
+.van-tag {
+  margin: 2px;
+}
+</style>

+ 112 - 0
src/views/personal/pendingOrder.vue

@@ -0,0 +1,112 @@
+<template>
+  <div>
+    <BackBar title="正在进行-个贷" lefttext="返回" />
+    <van-search v-model="listQuery.keyword" placeholder="请输入搜索关键词" @search="onSearch()" />
+    <van-pull-refresh v-model="loading" @refresh="onRefresh()">
+      <van-list v-model:loading="loading" :finished="finished" finished-text="还没有订单" @load="getPendingOrder()">
+        <div class="card" v-for="item in listData" :key="item.id">
+          <h3>
+            <van-icon name="link-o" />
+            &nbsp;{{ item.orderId }}
+          </h3>
+          <p class="projectName">
+            <van-icon name="location-o" />
+            &nbsp;{{ item.location }}
+          </p>
+          <p>
+            <van-icon name="contact-o" />
+            &nbsp;{{ item.clientName }}-{{ item.clientSubName}}
+          </p>
+          <p>
+            <van-tag type="primary" size="medium" class="van-tag">{{ item.currentNodeName }}</van-tag>
+            <van-tag type="success" size="medium" class="van-tag">{{ item.clientManager }}</van-tag>
+            <van-tag color="#969799" size="medium" class="van-tag">{{ item.created }}</van-tag>
+          </p>
+        </div>
+      </van-list>
+    </van-pull-refresh>
+    <van-back-top right="10vw" bottom="10vh" />
+  </div>
+</template>
+
+<script>
+import { pendingOrder } from '@/api/personal';
+
+export default {
+  data() {
+    return {
+      loading: false,
+      listData: [],
+      finished: false,
+      listQuery: {
+        // 当前页数
+        current: 1,
+        // 查询关键字
+        keyword: null,
+      },
+    };
+  },
+  created() {
+    this.getPendingOrder();
+  },
+  methods: {
+    // 列表刷新
+    onRefresh() {
+      this.listQuery.current = 1;
+      this.finished = false;
+      this.listData = [];
+      this.getPendingOrder();
+    },
+    // 列表关键字搜索
+    onSearch() {
+      this.listQuery.current = 1;
+      this.finished = false;
+      this.listData = [];
+      this.getPendingOrder();
+    },
+    // 获取我的订单
+    getPendingOrder() {
+      this.loading = true;
+      pendingOrder(this.listQuery).then((res) => {
+        if (res.code == 200) {
+          if (res.data.records) {
+            this.listData = this.listData.concat(res.data.records);
+          }
+          // 判断是否还有下一页
+          if (res.data.pages > this.listQuery.current) {
+            // 服务端返回的总页数大于当前页数, 将当前页数+1
+            this.listQuery.current++;
+          } else {
+            // 反之停止加载
+            this.finished = true;
+          }
+        }
+        this.loading = false;
+      });
+    },
+  },
+};
+</script>
+
+<style scoped>
+.card {
+  background-color: white;
+  border-radius: 12px;
+  box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.1);
+  padding: 16px;
+  margin: 10px;
+}
+
+.productionNo {
+  width: 100%;
+  font-size: 14px;
+}
+
+.projectName {
+  width: 100%;
+}
+
+.van-tag {
+  margin: 2px;
+}
+</style>