浏览代码

1.新增资产列表、土规项目列表页面
2.优化个贷、大中型正在进行页面的样式
3.主页修改

GouGengquan 1 月之前
父节点
当前提交
35f6a4af38

+ 7 - 0
src/api/assets.js

@@ -18,4 +18,11 @@ export function add(params) {
 // 我的订单查询
 export function myOrder(params) {
     return request.get(`assets/selectMyOrderPage`, { params: params })
+}
+
+// 资产列表查询
+export function pendingOrder(params) {
+    params.selectByDepartment = false;
+    params.selectByAll = true;
+    return request.get(`assets/selectPage`, { params: params })
 }

+ 6 - 1
src/api/land.js

@@ -8,4 +8,9 @@ export function add(params) {
 // 土规我的项目
 export function myOrder(params) {
     return request.get(`item/me`, { params: params })
-  }
+}
+
+// 土规项目列表
+export function pendingOrder(params) {
+    return request.get(`item/mine`, { params: params })
+}

+ 18 - 0
src/router/index.js

@@ -17,6 +17,7 @@ import AssetsTodoDetailView from '@/views/assets/todoDetail.vue'
 import AssetsPlaceOrderView from '@/views/assets/placeOrder.vue'
 import AssetsMyOrder from '@/views/assets/myOrder.vue'
 import AssetsDetail from '@/views/assets/detail.vue'
+import AssetsPendingOrder from '@/views/assets/pendingOrder.vue'
 
 // 个贷业务
 import PersonalIndex from '@/views/personal/index.vue'
@@ -38,6 +39,7 @@ import MajorPendingOrder from '@/views/major/pendingOrder.vue'
 import LandIndex from '@/views/land/index.vue'
 import LandPlaceOrder from '@/views/land/placeOrder.vue'
 import LandMyOrder from '@/views/land/myOrder.vue'
+import LandPendingOrder from '@/views/land/pendingOrder.vue'
 
 const routes = [
   // 重定向到首页的路由
@@ -135,6 +137,14 @@ const routes = [
               title: '我的订单-资产'
             },
           },
+          {
+            path: 'pendingOrder',
+            component: AssetsPendingOrder,
+            name: 'assetsPendingOrderView',
+            meta: {
+              title: '正在进行-资产'
+            },
+          },
         ]
       },
       // 个贷业务
@@ -255,6 +265,14 @@ const routes = [
               title: '我的订单-土规'
             },
           },
+          {
+            path: 'pendingOrder',
+            component: LandPendingOrder,
+            name: 'landPendingOrderView',
+            meta: {
+              title: '项目列表-土规'
+            },
+          },
         ]
       }
     ]

+ 127 - 0
src/views/assets/pendingOrder.vue

@@ -0,0 +1,127 @@
+<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">
+          <div class="businessTitle">
+            <van-icon name="link-o" />
+            {{ item.orderId }}
+          </div>
+          <div class="productionNo" v-if="item.statementNo || item.reportNo">
+            <van-icon name="coupon-o" />
+            {{ item.statementNo }}
+            <!-- 产品号都不为空才显示中间的分割空格, 以保持页面间距统一 -->
+            <span v-if="item.statementNo && item.reportNo">&nbsp;&nbsp;</span>
+            {{ item.reportNo }}
+          </div>
+          <div class="projectName">
+            <div>
+              <van-icon name="location-o" />
+              {{ item.reportName || item.statementName || item.name }}
+            </div>
+          </div>
+          <div>
+            <van-tag type="primary" size="medium" class="van-tag">{{ item.currentNodeName }}</van-tag>
+            <van-tag type="success" size="medium" class="van-tag">{{ item.clientManagerName }}</van-tag>
+            <van-tag color="#969799" size="medium" class="van-tag">{{ item.created }}</van-tag>
+          </div>
+        </div>
+      </van-list>
+    </van-pull-refresh>
+    <van-back-top right="10vw" bottom="10vh" />
+  </div>
+</template>
+
+<script>
+import { pendingOrder } from '@/api/assets';
+
+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: 5px;
+  padding: 10px;
+  margin: 10px;
+}
+
+.productionNo {
+  width: 100%;
+  font-size: 14px;
+}
+
+.projectName {
+  width: 100%;
+  margin-bottom: 5px;
+  display: flex;
+}
+
+.van-tag {
+  margin: 2px;
+}
+
+.businessTitle {
+  font-weight: bold;
+  margin-bottom: 5px;
+}
+
+/deep/ .van-tabs__wrap {
+  width: 100%;
+}
+</style>

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

@@ -97,7 +97,7 @@
     </div>
     <div class="card">
       <div class="businessTitle">资产业务</div>
-      <div class="icon-area">
+      <div class="icon-area" @click="goBench('/index/assets/pendingOrder')">
         <svg t="1713838525654" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6320" width="42" height="42">
           <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"
@@ -132,7 +132,7 @@
             p-id="6326"
           />
         </svg>
-        <div class="icon-word">正在进行</div>
+        <div class="icon-word">资产列表</div>
       </div>
       <div class="icon-area" @click="goBench('/index/assets/myOrder')">
         <svg t="1748250501503" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2184" id="mx_n_1748250501504" width="42" height="42">
@@ -162,7 +162,7 @@
     </div>
     <div class="card">
       <div class="businessTitle">土地规划业务</div>
-      <div class="icon-area">
+      <div class="icon-area" @click="goBench('/index/land/pendingOrder')">
         <svg t="1713920171367" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1903" width="42" height="42">
           <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"
@@ -177,7 +177,7 @@
             p-id="1905"
           />
         </svg>
-        <div class="icon-word">正在进行</div>
+        <div class="icon-word">土规项目</div>
       </div>
       <div class="icon-area" @click="goBench('/index/land/myOrder')">
         <svg t="1748250501503" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2184" id="mx_n_1748250501504" width="42" height="42">

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

@@ -405,9 +405,6 @@ export default {
   width: 100%;
   margin-bottom: 5px;
   display: flex;
-  /* overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis; */
 }
 
 .van-tag {

+ 115 - 0
src/views/land/pendingOrder.vue

@@ -0,0 +1,115 @@
+<template>
+  <div>
+    <BackBar title="正在进行-土地规划" lefttext="返回" />
+    <van-search v-model="listQuery.name" 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">
+          <div class="businessTitle">
+            <van-icon name="link-o" />
+            {{ item.businessNo }}
+          </div>
+          <div class="projectName">
+            <div>
+              <van-icon name="location-o" />
+              {{ item.name }}
+            </div>
+          </div>
+          <div>
+            <van-tag type="primary" size="medium" class="van-tag">{{ item.cateName }}</van-tag>
+            <van-tag type="success" size="medium" class="van-tag">{{ item.businessSourceName }}</van-tag>
+            <van-tag color="#969799" size="medium" class="van-tag">{{ item.clientUnit }}</van-tag>
+          </div>
+        </div>
+      </van-list>
+    </van-pull-refresh>
+    <van-back-top right="10vw" bottom="10vh" />
+  </div>
+</template>
+
+<script>
+import { pendingOrder } from '@/api/land';
+
+export default {
+  data() {
+    return {
+      loading: false,
+      listData: [],
+      finished: false,
+      listQuery: {
+        // 当前页数
+        current: 1,
+        // 查询关键字
+        name: 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: 5px;
+  padding: 10px;
+  margin: 10px;
+}
+
+.projectName {
+  width: 100%;
+  margin-bottom: 5px;
+  display: flex;
+}
+
+.van-tag {
+  margin: 2px;
+}
+
+.businessTitle {
+  font-weight: bold;
+  margin-bottom: 5px;
+}
+
+/deep/ .van-tabs__wrap {
+  width: 100%;
+}
+</style>

+ 25 - 13
src/views/major/pendingOrder.vue

@@ -5,27 +5,28 @@
     <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>
+          <div class="businessTitle">
             <van-icon name="link-o" />
-            &nbsp;{{ item.orderId }}
-          </h3>
-          <p class="productionNo" v-if="item.statementNo || item.reportNo">
+            {{ item.orderId }}
+          </div>
+          <div 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>
+          </div>
+          <div class="projectName">
+            <div>
+              <van-icon name="location-o" />
+              {{ item.name }}
+            </div>
+          </div>
+          <div>
             <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>
         </div>
       </van-list>
     </van-pull-refresh>
@@ -96,7 +97,7 @@ export default {
 .card {
   background-color: white;
   border-radius: 5px;
-  padding: 16px;
+  padding: 10px;
   margin: 10px;
 }
 
@@ -107,9 +108,20 @@ export default {
 
 .projectName {
   width: 100%;
+  margin-bottom: 5px;
+  display: flex;
 }
 
 .van-tag {
   margin: 2px;
 }
+
+.businessTitle {
+  font-weight: bold;
+  margin-bottom: 5px;
+}
+
+/deep/ .van-tabs__wrap {
+  width: 100%;
+}
 </style>

+ 33 - 19
src/views/personal/pendingOrder.vue

@@ -5,23 +5,27 @@
     <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>
+          <div class="businessTitle">
             <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>
+            {{ item.orderId }}
+          </div>
+          <div class="projectName">
+            <div>
+              <van-icon name="location-o" />
+              {{ item.location }}
+            </div>
+          </div>
+          <div class="clientInfo">
+            <div>
+              <van-icon name="contact-o" />
+              {{ item.clientName }}-{{ item.clientSubName}}
+            </div>
+          </div>
+          <div>
             <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>
         </div>
       </van-list>
     </van-pull-refresh>
@@ -92,20 +96,30 @@ export default {
 .card {
   background-color: white;
   border-radius: 5px;
-  padding: 16px;
+  padding: 10px;
   margin: 10px;
 }
 
-.productionNo {
-  width: 100%;
-  font-size: 14px;
-}
-
 .projectName {
   width: 100%;
+  margin-bottom: 5px;
+  display: flex;
 }
 
 .van-tag {
   margin: 2px;
 }
+
+.businessTitle {
+  font-weight: bold;
+  margin-bottom: 5px;
+}
+
+/deep/ .van-tabs__wrap {
+  width: 100%;
+}
+
+.clientInfo {
+  margin-bottom: 5px;
+}
 </style>