lex-xin 5 年之前
父節點
當前提交
8c4a4e179d
共有 2 個文件被更改,包括 83 次插入20 次删除
  1. 19 9
      src/api/app.js
  2. 64 11
      src/views/app/PeriodExchange.vue

+ 19 - 9
src/api/app.js

@@ -37,14 +37,23 @@ const teacherCourseMinutes = (data) => {
   })
 }
 
-// 分页查询活动列表
-const tenantEntryActivitesList = (data) => {
-  return axios({
-    url: api + '/tenantEntryActivities/queryPage',
-    method: 'get',
-    params: data
-  })
-}
+  // 分页查询活动列表
+  const tenantEntryActivitesList = (data) => {
+    return axios({
+      url: api + '/tenantEntryActivities/queryPage',
+      method: 'get',
+      params: data
+    })
+  }
+
+  // 分页查询活动列表
+  const createOrder = (data) => {
+    return axios({
+      url: api + '/tenantPaymentOrder/createOrder',
+      method: 'post',
+      data: qs.stringify(data)
+    })
+  }
 
 // 帮助中心分类
 const helpCenterCatalogList = (data) => {
@@ -81,5 +90,6 @@ export {
     helpCenterContentList,
     teacherCourseMinutes,
     tenantEntryActivitesList,
-    queryUserInfo
+    queryUserInfo,
+    createOrder
 }

+ 64 - 11
src/views/app/PeriodExchange.vue

@@ -18,7 +18,7 @@
         </van-cell-group>
 
         <div class="activeList">
-            <div class="active" v-for="(item, index) in dataList" :key="index">
+            <div class="active" @click="onPayOrder(item)" v-for="(item, index) in dataList" :key="index">
                 <img :src="item.coverImg" alt="">
             </div>
         </div>
@@ -30,7 +30,7 @@
 /* eslint-disable */
 import MHeader from '@/components/MHeader'
 import { browser, calcMinute }  from '@/common/common'
-import { tenantEntryActivitesList, queryUserInfo, sysTenantAccountGet } from '@/api/app'
+import { tenantEntryActivitesList, queryUserInfo, sysTenantAccountGet, createOrder } from '@/api/app'
 
 export default {
     name: 'courseApply',
@@ -40,6 +40,7 @@ export default {
             userInfo: {},
             availableMinutes: 0,
             headerStatus: true,
+            result: {}, // 生成订单的数据
             dataList: []
         }
     },
@@ -56,19 +57,24 @@ export default {
         }
 
         this.__init()
-        
-        this.getActivitesList()
     },
     methods: {
-        __init() {
-            queryUserInfo().then(res => {
+        async __init() {
+            let loadingStatus = true
+            this.$toast.loading({
+                duration: 0,
+                message: '加载中...',
+                forbidClick: true,
+                loadingType: 'spinner'
+            })
+            await queryUserInfo().then(res => {
                 let result = res.data
                 if(result) {
                     this.userInfo = result
                 }
             })
 
-            sysTenantAccountGet().then(res => {
+            await sysTenantAccountGet().then(res => {
                 let result = res.data
                 if(result.code == 200) {
                     let tempResult = result.data
@@ -76,20 +82,66 @@ export default {
                         this.availableMinutes = calcMinute(tempResult.availableMinutes ? tempResult.availableMinutes : 0)
                     }
                 } else {
+                    loadingStatus = false
                     this.$toast(result.msg)
                 }
             })
-        },
-        getActivitesList() {
-            let params = this.params
-            tenantEntryActivitesList(params).then(res => {
+
+            await tenantEntryActivitesList().then(res => {
                 let result = res.data
                 if(result.code == 200) {
                     this.dataList = result.data.rows
                 } else {
+                    loadingStatus = false
                     this.$toast(result.msg)
                 }
             })
+            if(loadingStatus) {
+                this.$toast.clear()
+            }
+        },
+        onPayOrder(item) {
+            // activitiesId
+            this.$toast.loading({
+                duration: 0,
+                message: '加载中...',
+                forbidClick: true,
+                loadingType: 'spinner'
+            })
+            createOrder({ activitiesId: item.id }).then(res => {
+                let result = res.data
+                this.$toast.clear()
+                if(result.code == 200) {
+                    this.result = result.data
+                    this.onSubmit()
+                } else {
+                    this.$toast(result.msg)
+                }
+            })
+        },
+        onSubmit() {
+            // submit 提交
+            let result = this.result
+            // if(result.type == "YQPAY") {
+                let f = result.payMap
+                document.querySelector('#onSubmit').action = f.host
+                document.querySelector('#apiContent').value = f.apiContent
+                document.querySelector('#merNo').value = f.merNo
+                document.querySelector('#notifyUrl').value = f.notifyUrl
+                document.querySelector('#sign').value = f.sign
+                document.querySelector('#signType').value = f.signType
+                document.querySelector('#timestamp').value = f.timestamp
+                document.querySelector('#version').value = f.version
+                document.querySelector('#onSubmit').submit()
+            // } else if(result.type == "UNIONPAY") {
+            //     localStorage.setItem('payInfo', JSON.stringify(result))
+            //     this.$router.push({
+            //         path: '/alipay',
+            //         query: {
+            //             balance: result.totalPrice
+            //         }
+            //     })
+            // }
         }
     }
 }
@@ -126,6 +178,7 @@ export default {
     z-index: 99;
     .active {
         margin-bottom: .15rem;
+        box-shadow:0px 0px 16px 0px rgba(155,145,41,0.19);
     }
     img {
         width: 100%;