Browse Source

合伙人-合伙人列表、产品列表、钱包接数据

panyong 4 years ago
parent
commit
f262f64596

+ 4 - 4
htmldev/loan/src/views/partner/all/api/index.js

@@ -4,16 +4,16 @@ import request from '@/api/request'
  * 获取我合伙人
  * @param page
  * @param pageNum
- * @param value 搜索值,默认空字符串
+ * @param partnerName 搜索值,默认空字符串
  * @param type 获取那个列表的值,默认全部 0-全部 1-已签约 2-未签约
  */
-export const getPartnerList = (page = 1, pageNum = 20, value = '', type = 0) => request({
+export const partnerList = (page = 1, pageNum = 20, partnerName = '', type = 0) => request({
   method: 'POST',
-  url: '/home/applyOrder/orderList',
+  url: '/partner/partnerList',
   data: {
     page,
     pageNum,
-    value,
+    partnerName,
     type
   }
 })

+ 69 - 104
htmldev/loan/src/views/partner/all/components/main.vue

@@ -5,15 +5,15 @@
         <div class="top-wrap">
           <div class="info-wrap">
             <div class="avatar">
-              <img src="" alt="">
+              <img :src="item.partnerImgUrl" alt="">
             </div>
             <p class="name">
-              <span>张小效</span>
-              <span>2022-09-23到期</span>
+              <span>{{ item.partnerName }}</span>
+              <span>{{ item.contractEndTime }}到期</span>
             </p>
           </div>
           <a class="contact-wrap" href="javascript:;">
-            <span>159****9087</span>
+            <span>{{ item.partnerPhone }}</span>
             <img src="../image/btn_phone@2x.png" alt="">
           </a>
         </div>
@@ -22,6 +22,9 @@
           <img src="../image/btn_next@2x.png" alt="">
         </a>
       </li>
+      <li class="load-status" v-if="listData.length && booFetchData">
+        <p>{{ arrFetchStatus[numFetchStatus] }}</p>
+      </li>
       <li class="bitmap" v-if="!listData.length && booFetchData">
         <p>暂无记录</p>
       </li>
@@ -32,57 +35,38 @@
 <script>
   import BScroll from 'better-scroll'
   import { Toast } from 'vant'
-  import axios from 'axios'
   import { mapGetters } from 'vuex'
+  import { partnerList } from '../api'
 
   const PAGESIZE = 20
-  const eapiDomain = process.env.API_DOMAIN
   export default {
     name: 'mains',
-    props: {
-      numPositionY: {
-        type: Number,
-        default: 0
-      },
-      selectedData: {
-        type: Array,
-        default: function () {
-          return []
-        }
-      },
-      // 发票唯一编码
-      invoiceNo: {
-        type: String,
-        default: ''
-      }
-    },
     data () {
       return {
         pager: {
           pagenum: 1,
-          pagesize: PAGESIZE
+          pagesize: PAGESIZE,
+          pagecount: 1
         },
         listData: [],
         scroll: null,
         numFetchStatus: 0,
-        arrFetchStatus: ['正在加载,请稍后~', '到底了'],
-        booFetchData: false
+        arrFetchStatus: ['正在加载,请稍后~', '上拉加载更多', '没有更多了', '出错啦'],
+        booFetchData: false,
+        numPositionY: 0
       }
     },
-    computed: {
-      ...mapGetters({
-        search: 'business/searchValue'
-      })
-    },
     activated () {
       if (!this.$route.meta.isUseCache) {
         this.pager = {
           pagenum: 1,
-          pagesize: PAGESIZE
+          pagesize: PAGESIZE,
+          pagecount: 1
         }
-        this.listData = [1, 2, 3, 4]
+        this.listData = []
         this.numFetchStatus = 0
         this.booFetchData = false
+        this.numPositionY = 0
         this.funFetch()
       } else {
         this.$nextTick(() => {
@@ -92,6 +76,14 @@
           }
         })
       }
+      this.$nextTick(() => {
+        this.$refreshTitle('销售')
+      })
+    },
+    computed: {
+      ...mapGetters({
+        search: 'business/searchValue'
+      })
     },
     watch: {
       search: {
@@ -100,78 +92,35 @@
             clearTimeout(timer)
             this.pager = {
               pagenum: 1,
-              pagesize: PAGESIZE
+              pagesize: PAGESIZE,
+              pagecount: 1
             }
             this.listData = []
             this.numFetchStatus = 0
             this.booFetchData = false
+            this.numPositionY = 0
             this.funFetch()
           }, 200)
         }
       }
     },
-    beforeDestroy () {
-      if (this.scroll) {
-        this.scroll.destroy()
-      }
-    },
     methods: {
       funFetch () {
         const vm = this
-        const { CellPhoneParam } = vm.$root
-        let api = ''
-        let postData = {}
-        switch (vm.$route.name) {
-          case 'all':
-            api = '/web/ApiInvoice/getInvoiceOrderList'
-            postData = {
-              LoginCellphone: CellPhoneParam
-            }
-            break
-          case 'complete':
-            api = '/web/ApiInvoice/getHadInvoiceOrderList'
-            postData = {
-              LoginCellphone: CellPhoneParam
-            }
-            break
-          case 'order':
-            api = '/web/ApiInvoice/getInvoiceOrderByInvoiceNo'
-            postData = {
-              invoiceNo: this.invoiceNo
-            }
-            break
-        }
-        if (!CellPhoneParam) {
-          vm.$toast('未登录')
-          return
-        }
-        axios.post(`${eapiDomain}${api}`, {
-          ...postData,
-          page: vm.pager.pagenum,
-          pageSize: vm.pager.pagesize
-        }).then(response => {
-          if (response.Status === 1) {
-            let list = []
-            switch (vm.$route.name) {
-              case 'all':
-                if (Object.keys(response.Data).indexOf('list') > -1) {
-                  list = response.Data.list
-                }
-                break
-              case 'complete':
-                list = response.Data
-                break
-              case 'order':
-                list = response.Data
-                break
-            }
+        partnerList(vm.pager.pagenum, vm.pager.pagesize).then(response => {
+          if (response.status) {
+            const data = response.data
+            const temp = data.data
+            vm.pager.pagecount = Math.ceil(data.count / PAGESIZE)
             vm.pager.pagenum++
             vm.booFetchData = true
-            if (list && list.length) {
-              vm.listData = vm.listData.concat(list)
-              if (vm.$route.name === 'all') {
-                vm.$emit('funGetInitData', vm.listData, response.Data.amount, response.Data.orderIdList)
-              }
+            if (vm.pager.pagecount <= 1) {
+              vm.numFetchStatus = 2
+            } else {
+              vm.numFetchStatus = 1
+            }
+            if (temp.length) {
+              vm.listData = vm.listData.concat(temp)
               vm.$nextTick(() => {
                 if (!vm.scroll) {
                   vm.scroll = new BScroll(vm.$refs.wrapper, {
@@ -182,6 +131,10 @@
                     scrollbar: true
                   })
                   vm.scroll.on('pullingUp', () => {
+                    if (vm.pager.pagenum > vm.pager.pagecount) {
+                      vm.numFetchStatus = 2
+                      return
+                    }
                     vm.funFetch()
                   })
                 } else {
@@ -191,19 +144,21 @@
               })
             }
           } else {
-            Toast(response.ErrorMsg)
+            Toast(response.msg)
+            vm.numFetchStatus = 3
           }
+        }).catch(() => {
+          Toast('出错啦')
+          vm.numFetchStatus = 3
         })
       },
       funGetGoodsDetail (goods) {
         return ''
-      },
-      funJumpDetail (item) {
-        if (item.isOfflineOpen === '是') {
-          this.$toast('线下开票订单,如有疑问,请联系客服处理')
-          return
-        }
-        this.$router.push({ path: '/' })
+      }
+    },
+    beforeDestroy () {
+      if (this.scroll) {
+        this.scroll.destroy()
       }
     }
   }
@@ -322,14 +277,24 @@
     }
   }
 
-  .bitmap {
-    padding-top: 200px;
+  .load-status {
+    margin-top: 12px;
+
+    p {
+      line-height: 20px;
+      font-size: 14px;
+      color: #666;
+      text-align: center;
+    }
+  }
 
+  .bitmap {
     p {
-      line-height: 38px;
-      font-size: 28px;
+      line-height: 22px;
+      font-size: 16px;
       font-weight: 500;
-      color: #999;
+      text-align: center;
+      color: #333;
     }
   }
 </style>

+ 10 - 0
htmldev/loan/src/views/partner/goods/api/index.js

@@ -0,0 +1,10 @@
+import request from '@/api/request'
+
+export const productList = (page = 1, pageNum = 20) => request({
+  method: 'POST',
+  url: '/home/productList',
+  data: {
+    page,
+    pageNum
+  }
+})

+ 27 - 26
htmldev/loan/src/views/partner/goods/index.vue

@@ -6,8 +6,11 @@
     <div class="better-scroll wrapper" ref="wrapper">
       <ul>
         <li class="list" v-for="(item, index) in listData" :key="index" @click="funJumpDetail(item)">
-          <p class="name">中行贷</p>
-          <p class="description">最高:20万</p>
+          <p class="name">{{ item.productName }}</p>
+          <p class="description">最高:{{ item.productPrice / 10000 }}万</p>
+        </li>
+        <li class="load-status" v-if="listData.length && booFetchData">
+          <p>{{ arrFetchStatus[numFetchStatus] }}</p>
         </li>
         <li class="bitmap" v-if="!listData.length && booFetchData">
           <p>暂无申请记录</p>
@@ -20,17 +23,11 @@
 <script>
   import BScroll from 'better-scroll'
   import { Toast } from 'vant'
-  import axios from 'axios'
+  import { productList } from './api'
 
   const PAGESIZE = 20
   export default {
     name: 'goods',
-    props: {
-      tabindex: {
-        type: Number,
-        default: 1
-      }
-    },
     data () {
       return {
         pager: {
@@ -41,7 +38,7 @@
         listData: [],
         scroll: null,
         numFetchStatus: 0,
-        arrFetchStatus: ['正在加载,请稍后~', '到底了'],
+        arrFetchStatus: ['正在加载,请稍后~', '上拉加载更多', '没有更多了', '出错啦'],
         booFetchData: false,
         numPositionY: 0
       }
@@ -54,7 +51,6 @@
           pagecount: 1
         }
         this.listData = []
-        this.scroll = null
         this.numFetchStatus = 0
         this.booFetchData = false
         this.numPositionY = 0
@@ -67,24 +63,25 @@
           }
         })
       }
-    },
-    async mounted () {
-      await this.$nextTick()
-      this.$refreshTitle('进度查询')
+      this.$nextTick(() => {
+        this.$refreshTitle('贷款产品')
+      })
     },
     methods: {
       funFetch () {
         const vm = this
-        axios.post('/', {
-          Page: vm.pager.pagenum,
-          PageSize: vm.pager.pagesize
-        }).then(response => {
-          if (response.Status === 1) {
-            const data = response.Data
-            vm.pager.pagecount = data.pageCount * 1
+        productList(vm.pager.pagenum, vm.pager.pagesize).then(response => {
+          if (response.status) {
+            const data = response.data
+            const temp = data.data
+            vm.pager.pagecount = Math.ceil(data.count / PAGESIZE)
             vm.pager.pagenum++
             vm.booFetchData = true
-            const temp = data.List
+            if (vm.pager.pagecount <= 1) {
+              vm.numFetchStatus = 2
+            } else {
+              vm.numFetchStatus = 1
+            }
             if (temp.length) {
               vm.listData = vm.listData.concat(temp)
               vm.$nextTick(() => {
@@ -97,8 +94,8 @@
                     scrollbar: true
                   })
                   vm.scroll.on('pullingUp', () => {
-                    if (vm.pager.pagenum > vm.pager.pagecount || vm.pager.pagecount === 0) {
-                      vm.numFetchStatus = 1
+                    if (vm.pager.pagenum > vm.pager.pagecount) {
+                      vm.numFetchStatus = 2
                       return
                     }
                     vm.funFetch()
@@ -109,9 +106,13 @@
                 }
               })
             }
+          } else {
+            Toast(response.msg)
+            vm.numFetchStatus = 3
           }
         }).catch(() => {
-          Toast('失败了')
+          Toast('出错啦')
+          vm.numFetchStatus = 3
         })
       },
       funJumpDetail (item) {

+ 10 - 0
htmldev/loan/src/views/partner/wallet/api/index.js

@@ -0,0 +1,10 @@
+import request from '@/api/request'
+
+export const walletList = (page = 1, pageNum = 20) => request({
+  method: 'POST',
+  url: '/partner/userBalance',
+  data: {
+    page,
+    pageNum
+  }
+})

+ 40 - 26
htmldev/loan/src/views/partner/wallet/index.vue

@@ -2,7 +2,7 @@
   <div class="container">
     <div class="header">
       <h2 class="title">余额(元)</h2>
-      <p class="count">7387.00</p>
+      <p class="count">{{ totalPrice.toFixed(2) }}</p>
       <button class="cashing">提现</button>
     </div>
     <p class="balance">余额明细</p>
@@ -11,10 +11,13 @@
         <li class="list" v-for="(item, index) in listData" :key="index">
           <p class="amount">
             <span>奖励(元):</span>
-            <span>+6,234.00</span>
+            <span>+{{ item.item.toFixed(2) }}</span>
           </p>
           <p class="description">推广奖励</p>
-          <p class="create-time">2020-12-23 19:30</p>
+          <p class="create-time">{{ item.createdAt }}</p>
+        </li>
+        <li class="load-status" v-if="listData.length && booFetchData">
+          <p>{{ arrFetchStatus[numFetchStatus] }}</p>
         </li>
         <li class="bitmap" v-if="!listData.length && booFetchData">
           <p>暂无记录</p>
@@ -27,17 +30,11 @@
 <script>
   import BScroll from 'better-scroll'
   import { Toast } from 'vant'
-  import axios from 'axios'
+  import { walletList } from './api'
 
   const PAGESIZE = 20
   export default {
     name: 'wallet',
-    props: {
-      tabindex: {
-        type: Number,
-        default: 1
-      }
-    },
     data () {
       return {
         pager: {
@@ -45,6 +42,7 @@
           pagesize: PAGESIZE,
           pagecount: 1
         },
+        totalPrice: 0,
         listData: [],
         scroll: null,
         numFetchStatus: 0,
@@ -61,7 +59,6 @@
           pagecount: 1
         }
         this.listData = []
-        this.scroll = null
         this.numFetchStatus = 0
         this.booFetchData = false
         this.numPositionY = 0
@@ -74,24 +71,26 @@
           }
         })
       }
-    },
-    async mounted () {
-      await this.$nextTick()
-      this.$refreshTitle('我的钱包')
+      this.$nextTick(() => {
+        this.$refreshTitle('我的钱包')
+      })
     },
     methods: {
       funFetch () {
         const vm = this
-        axios.post('/', {
-          Page: vm.pager.pagenum,
-          PageSize: vm.pager.pagesize
-        }).then(response => {
-          if (response.Status === 1) {
-            const data = response.Data
-            vm.pager.pagecount = data.pageCount * 1
+        walletList(vm.pager.pagenum, vm.pager.pagesize).then(response => {
+          if (response.status) {
+            const data = response.data
+            const temp = data.data
+            vm.totalPrice = data.totalPrice
+            vm.pager.pagecount = Math.ceil(data.count / PAGESIZE)
             vm.pager.pagenum++
             vm.booFetchData = true
-            const temp = data.List
+            if (vm.pager.pagecount <= 1) {
+              vm.numFetchStatus = 2
+            } else {
+              vm.numFetchStatus = 1
+            }
             if (temp.length) {
               vm.listData = vm.listData.concat(temp)
               vm.$nextTick(() => {
@@ -104,8 +103,8 @@
                     scrollbar: true
                   })
                   vm.scroll.on('pullingUp', () => {
-                    if (vm.pager.pagenum > vm.pager.pagecount || vm.pager.pagecount === 0) {
-                      vm.numFetchStatus = 1
+                    if (vm.pager.pagenum > vm.pager.pagecount) {
+                      vm.numFetchStatus = 2
                       return
                     }
                     vm.funFetch()
@@ -116,9 +115,13 @@
                 }
               })
             }
+          } else {
+            Toast(response.msg)
+            vm.numFetchStatus = 3
           }
         }).catch(() => {
-          Toast('失败了')
+          Toast('出错啦')
+          vm.numFetchStatus = 3
         })
       }
     }
@@ -256,6 +259,17 @@
     color: #999;
   }
 
+  .load-status {
+    margin-top: 12px;
+
+    p {
+      line-height: 20px;
+      font-size: 14px;
+      color: #666;
+      text-align: center;
+    }
+  }
+
   .bitmap {
     p {
       line-height: 22px;