yuantianjiao 6 年 前
コミット
9abdc96ca4

+ 8
- 8
src/components/orderListItem/index.vue ファイルの表示

@@ -1,24 +1,24 @@
1 1
 <template>
2 2
   <div class="orderListItem">
3 3
     <div class="title flex-h">
4
-      <div class="orange" v-if="data.status === 0">
4
+      <div class="orange" v-if="data.Status === 0">
5 5
         <i class="iconfont icon-dengdai"></i><br>
6 6
         <span>制作中</span>
7 7
       </div>
8
-      <div class="grey" v-if="data.status === 1">
8
+      <div class="grey" v-if="data.Status === -1">
9 9
         <i class="iconfont icon-quxiao"></i><br>
10 10
         <span>已取消</span>
11 11
       </div>
12
-      <div class="green" v-if="data.status === 2">
12
+      <div class="green" v-if="data.Status === 1">
13 13
         <i class="iconfont icon-gouxuan"></i><br>
14 14
         <span>已完成</span>
15 15
       </div>
16 16
       <div class="flex-item">
17 17
         <div>
18
-          <span>{{data.caseName}}</span>
18
+          <span>{{data.CaseName}}</span>
19 19
         </div>
20 20
       </div>
21
-      <span>{{data.creatTime}}</span>
21
+      <span>{{toolClass.dateFormat(data.CreateDate, 'MM/dd hh:mm')}}</span>
22 22
     </div>
23 23
     <div class="line">
24 24
       <div>
@@ -28,10 +28,10 @@
28 28
     <div class="list flex-h">
29 29
       <div class="flex-item">
30 30
         <ul>
31
-          <li v-for="(subItem,subIndex) in data.goodsList" :key="subIndex">
32
-            <span>{{subItem.name}}</span>
31
+          <li v-for="(subItem,subIndex) in data.Goods" :key="subIndex">
32
+            <span>{{subItem.GoodsName + (subItem.SpecName!==''?'('+subItem.SpecName+')':'')}}</span>
33 33
             <div>
34
-              <span>¥{{subItem.price === null ? subItem.specPrice : subItem.price}} x {{subItem.num === null ? subItem.specNum : subItem.num}}</span>
34
+              <span>¥{{subItem.Price}} x {{subItem.Number}}</span>
35 35
             </div>
36 36
           </li>
37 37
         </ul>

+ 4
- 10
src/components/qrCodeCard/qrCodeCard.vue ファイルの表示

@@ -10,8 +10,8 @@ export default {
10 10
   name: 'qrCodeCard',
11 11
   props: {
12 12
     msg: {
13
-      type: Object,
14
-      default: () => {}
13
+      type: String,
14
+      default: ''
15 15
     }
16 16
   },
17 17
   data () {
@@ -27,13 +27,7 @@ export default {
27 27
   },
28 28
   methods: {
29 29
     InitCodeRules (info) {
30
-      let codeText
31
-      for (var Key in this.lessonType
32
-      ) {
33
-        if (parseInt(Key) === this.msg.course_type) {
34
-          codeText = this.lessonType[Key] + '-1'
35
-        }
36
-      }
30
+      let codeText = info
37 31
       const ele = document.querySelector('#QRcode')
38 32
       this.qrCode = new QRCode(ele, {
39 33
         text: codeText,
@@ -49,7 +43,7 @@ export default {
49 43
     QRCode
50 44
   },
51 45
   mounted () {
52
-    this.InitCodeRules()
46
+    this.InitCodeRules(this.msg)
53 47
   }
54 48
 }
55 49
 </script>

+ 13
- 2
src/pages/sales/coffeeIndex/index.vue ファイルの表示

@@ -13,12 +13,12 @@
13 13
             <div class="topInfo flex-h">
14 14
               <div class="flex-item">
15 15
                 <div>
16
-                  <span>共计已使用:45杯</span>
16
+                  <span>共计已使用:{{caseTotal.total}}杯</span>
17 17
                 </div>
18 18
               </div>
19 19
               <div class="flex-item">
20 20
                 <div>
21
-                  <span>本月已用:0杯</span>
21
+                  <span>本月已用:{{caseTotal.monthtotal}}杯</span>
22 22
                 </div>
23 23
               </div>
24 24
               <a>点单记录</a>
@@ -84,8 +84,10 @@ import caseTableItem from '../../../components/caseTableItem/index'
84 84
 import topCaseInfo from '../../../components/topCaseInfo/index'
85 85
 import myCard from '../../../components/myCard/myCard'
86 86
 import customerCard from '../../../components/customerCard/customerCard'
87
+import { mapState, createNamespacedHelpers } from 'vuex'
87 88
 const { mapActions: actions } = createNamespacedHelpers('app')
88 89
 const { mapActions: caseTableActions } = createNamespacedHelpers('placeOrderForCoffee')
90
+const { mapState: mapCaseState, mapActions: mapCaseActions } = createNamespacedHelpers('case')
89 91
 
90 92
 export default {
91 93
   name: '',
@@ -151,6 +153,9 @@ export default {
151 153
       userInfo: x => x.userCenter.userInfo,
152 154
       CaseList: x => x.app.CaseList,
153 155
       CaseTableList: x => x.placeOrderForCoffee.CaseTableList,
156
+    }),
157
+    ...mapCaseState({
158
+      caseTotal: x => x.caseTotal,
154 159
     })
155 160
   },
156 161
   components: {
@@ -166,6 +171,9 @@ export default {
166 171
       this.getCaseTableList({
167 172
         caseid: this.topCaseInfoData.CaseId
168 173
       })
174
+      this.getCaseTotal({
175
+        caseid: this.topCaseInfoData.CaseId
176
+      })
169 177
     })
170 178
   },
171 179
   methods: {
@@ -175,6 +183,9 @@ export default {
175 183
     ...caseTableActions([
176 184
       'getCaseTableList',
177 185
     ]),
186
+    ...mapCaseActions([
187
+      'getCaseTotal',
188
+    ]),
178 189
     selectCase (val) { // 选择案场
179 190
       this.topCaseInfoData.CaseName = val.CaseName
180 191
       this.topCaseInfoData.CaseId = val.CaseId

+ 66
- 110
src/pages/sales/placeOrder/index.vue ファイルの表示

@@ -15,7 +15,7 @@
15 15
       <div class="tableInfo flex-h">
16 16
         <div class="flex-item">
17 17
           <div>
18
-            <span>桌号:{{tableNo}}</span>
18
+            <span>桌号:{{postData.info.TableNo}}</span>
19 19
             <!-- <span>本月已用:150杯</span> -->
20 20
           </div>
21 21
         </div>
@@ -66,8 +66,7 @@
66 66
           <i class="iconfont" :class="{'icon-jiantou-up': !showCalcMenu,'icon-jiantou-down': showCalcMenu}" @click="showCalcMenu = true"></i>
67 67
         </div>
68 68
       </div>
69
-      <router-link :to="{name: 'placeOrderDetail', query: {info: JSON.stringify(settlementList), caseid: encodeURI(caseId), areaid: encodeURI(areaId), areaname: encodeURI(areaName), areaid: encodeURI(areaId), tableid: encodeURI(tableId), tableno: encodeURI(tableNo)}}">下单</router-link>
70
-      <!-- <a @click="showCalcMenu = true">下单</a> -->
69
+      <a @click="showCalcMenu = true">下单</a>
71 70
     </div>
72 71
     <orderPopup :show="showPopup" :data="currentSpec" @closePopup="closePopup" @returnData="calcMenus"></orderPopup>
73 72
     <calcMenu :show="showCalcMenu" :totalNum="totalCupNum" :data="settlementList" @returnData="calcMenus" @emptyMenus="emptyMenus" @closeCalcMenu="closeCalcMenu" @placeOrder="placeOrder"></calcMenu>
@@ -88,12 +87,7 @@ export default {
88 87
   data () {
89 88
     const _self = this
90 89
     return {
91
-      tableNo: decodeURI(this.$route.query.tableno),
92
-      tableId: decodeURI(this.$route.query.tableid),
93
-      areaId: decodeURI(this.$route.query.areaid),
94
-      areaName: decodeURI(this.$route.query.areaname),
95 90
       caseName: decodeURI(this.$route.query.casename),
96
-      caseId: decodeURI(this.$route.query.caseid),
97 91
       totalCupNum: 0, // 共计使用杯数
98 92
       showCalcMenu: false, // 显隐已点菜单弹窗
99 93
       currentSpec: null, // 当前选择规格
@@ -102,105 +96,21 @@ export default {
102 96
       totalPrice: 0, // 总价格
103 97
       settlementList: [], // 商品选择清单
104 98
       slideMenusActive: 0, // 左侧菜单选中索引值
105
-      menuList: [ // 商品数据
106
-      //   {
107
-      //   value: '咖啡',
108
-      //   eValue: 'Coffee',
109
-      //   id: '1',
110
-      //   status: 1,
111
-      //   list: [{
112
-      //     img: '',
113
-      //     name: '商品名称',
114
-      //     id: '1-1',
115
-      //     status: 1,
116
-      //     spec: [{
117
-      //       value: '去冰',
118
-      //       id: '1-1-1',
119
-      //       num: 0,
120
-      //       status: 0,
121
-      //       price: '10',
122
-      //     }, {
123
-      //       value: '少冰',
124
-      //       id: '1-1-2',
125
-      //       num: 0,
126
-      //       status: 1,
127
-      //       price: '15',
128
-      //     }, {
129
-      //       value: '正常',
130
-      //       id: '1-1-3',
131
-      //       num: 0,
132
-      //       status: 1,
133
-      //       price: '20',
134
-      //     }, {
135
-      //       value: '多冰',
136
-      //       id: '1-1-4',
137
-      //       num: 0,
138
-      //       status: 1,
139
-      //       price: '25',
140
-      //     }],
141
-      //     price: '100',
142
-      //   }, {
143
-      //     img: '',
144
-      //     name: '商品名称',
145
-      //     id: '1-2',
146
-      //     spec: [],
147
-      //     status: 0,
148
-      //     price: '100',
149
-      //   }, {
150
-      //     img: '',
151
-      //     name: '商品名称',
152
-      //     id: '1-3',
153
-      //     spec: [],
154
-      //     status: 1,
155
-      //     price: '100',
156
-      //   }, {
157
-      //     img: '',
158
-      //     name: '商品名称',
159
-      //     id: '1-4',
160
-      //     spec: [],
161
-      //     status: 1,
162
-      //     price: '100',
163
-      //   }, {
164
-      //     img: '',
165
-      //     name: '商品名称',
166
-      //     id: '1-5',
167
-      //     spec: [],
168
-      //     status: 1,
169
-      //     price: '100',
170
-      //   }, {
171
-      //     img: '',
172
-      //     name: '商品名称',
173
-      //     id: '1-6',
174
-      //     spec: [],
175
-      //     status: 1,
176
-      //     price: '100',
177
-      //   }],
178
-      // }, {
179
-      //   value: '咖啡一',
180
-      //   eValue: 'Coffee',
181
-      //   id: '2',
182
-      //   status: 1,
183
-      //   list: [],
184
-      // }, {
185
-      //   value: '咖啡二',
186
-      //   eValue: 'Coffee',
187
-      //   id: '3',
188
-      //   status: 1,
189
-      //   list: [],
190
-      // }, {
191
-      //   value: '咖啡三',
192
-      //   eValue: 'Coffee',
193
-      //   id: '4',
194
-      //   status: 1,
195
-      //   list: [],
196
-      // }, {
197
-      //   value: '咖啡四',
198
-      //   eValue: 'Coffee',
199
-      //   id: '5',
200
-      //   status: 1,
201
-      //   list: [],
202
-      // }
203
-      ],
99
+      menuList: [],
100
+      postData: {
101
+        info: {
102
+          CaseId: decodeURI(_self.$route.query.caseid),
103
+          AreaId: decodeURI(_self.$route.query.areaid),
104
+          AreaName: decodeURI(_self.$route.query.areaname),
105
+          TableId: decodeURI(_self.$route.query.tableid),
106
+          TableNo: decodeURI(_self.$route.query.tableno),
107
+          Amount: 0,// String(_self.returnAmount()[0]), // 订单金额
108
+          OrdersNum: 0, // Number(_self.returnAmount()[1]),
109
+          Remark: '',
110
+        },
111
+        detail: [],
112
+        coupon: [],
113
+      },
204 114
       swiperOption: {
205 115
         observer: true,
206 116
         direction: 'vertical',
@@ -242,11 +152,11 @@ export default {
242 152
   },
243 153
   created () {
244 154
     this.getGoodsTypeList({
245
-      caseid: this.caseId,
155
+      caseid: this.postData.info.CaseId,
246 156
     }).then((res) => {
247 157
       // console.log(JSON.stringify(res))
248 158
       this.getGoodsList({
249
-        caseid: this.caseId,
159
+        caseid: this.postData.info.CaseId,
250 160
       }).then((res) => {
251 161
         // console.log(JSON.stringify(res))
252 162
         this.mapArr()
@@ -257,7 +167,53 @@ export default {
257 167
     ...caseTableActions([
258 168
       'getGoodsTypeList',
259 169
       'getGoodsList',
170
+      'toPay',
260 171
     ]),
172
+    toPayer () { // 下单
173
+      this.postData.info.Amount = String(this.returnAmount()[0])
174
+      this.postData.info.OrdersNum = Number(this.returnAmount()[1])
175
+      this.postData.info.OrgId = this.orgId
176
+      this.postData.info.UserId = this.userInfo.CustomerId
177
+      this.postData.info.UserName = this.userInfo.CustomerName
178
+      this.postData.info.PayType = this.postData.coupon.length ? 'coupon' : 'vip'
179
+      var orderInfo = this.settlementList
180
+      this.postData.detail = []
181
+      for (var n = 0; n < orderInfo.length; n++) {
182
+        this.postData.detail.push({
183
+          GoodsId: orderInfo[n].id,
184
+          GoodsName: orderInfo[n].name,
185
+          SpecId: orderInfo[n].specId,
186
+          SpecName: orderInfo[n].specName,
187
+          Number: orderInfo[n].defaultNum === null ? orderInfo[n].num - 0 : orderInfo[n].defaultNum - 0,
188
+          Price: orderInfo[n].defaultNum === null ? String(orderInfo[n].price) : String(orderInfo[n].defaultPrice),
189
+        })
190
+      }
191
+      console.log(JSON.stringify(this.postData))
192
+      this.toPay({
193
+        info: JSON.stringify(this.postData.info),
194
+        detail: JSON.stringify(this.postData.detail),
195
+        coupon: JSON.stringify(this.postData.coupon)
196
+      }).then((res) => {
197
+        this.$dialog.alert({
198
+          message: '下单成功!'
199
+        }).then(() => {
200
+          window.history.go(-2)
201
+        })
202
+      })
203
+    },
204
+    returnAmount () { // 返回总金额  
205
+      var amount = 0, num = 0
206
+      for (var n = 0; n < this.settlementList.length; n++) {
207
+        if (this.settlementList[n].defaultPrice === null) {
208
+          amount += this.settlementList[n].price * this.settlementList[n].num
209
+          num += this.settlementList[n].num
210
+        } else {
211
+          amount += this.settlementList[n].defaultPrice * this.settlementList[n].defaultNum
212
+          num += this.settlementList[n].defaultNum
213
+        }
214
+      }
215
+      return [amount, num]
216
+    },
261 217
     mapArr () { // 匹配商品规格
262 218
       var aArr = this.goodsTypeList, bArr = this.goodsList
263 219
       for (var n = 0; n < aArr.length; n++) {
@@ -302,7 +258,7 @@ export default {
302 258
       // console.log(JSON.stringify(this.menuList))
303 259
     },
304 260
     placeOrder () { // 下单
305
-      this.$router.push({ name: 'orderList', query: {} })
261
+      this.toPayer()
306 262
     },
307 263
     closeCalcMenu () { // 关闭已选菜单
308 264
       this.showCalcMenu = false

+ 2
- 2
src/pages/user/card/index.vue ファイルの表示

@@ -156,10 +156,10 @@ export default {
156 156
       this.active = index
157 157
     },
158 158
     toUse (item) {
159
-      console.log(item)
159
+      // console.log(item)
160 160
     },
161 161
     getList () {
162
-      console.log(111)
162
+      // console.log(111)
163 163
     },
164 164
     toCardDetail (item) {
165 165
       this.$router.push({ name: 'cardDetail' })

+ 2
- 2
src/pages/user/coupons/index.vue ファイルの表示

@@ -83,10 +83,10 @@ export default {
83 83
       this.active = index
84 84
     },
85 85
     toUse (item) {
86
-      console.log(item)
86
+      // console.log(item)
87 87
     },
88 88
     getList () {
89
-      console.log(111)
89
+      // console.log(111)
90 90
     }
91 91
   }
92 92
 }

+ 65
- 25
src/pages/user/lessonDetail/index.vue ファイルの表示

@@ -1,55 +1,52 @@
1 1
 <template>
2 2
   <div class="mainPage">
3 3
     <div class="title">课程详情</div>
4
-    <div class="content" :class="{'opacity' : useType == '已失效' || useType == '已使用', 'gray': useType == '已使用' || useType == '已失效'}">
4
+    <div class="content" :class="{'opacity' : courseOrderDetail.IsDone === 1, 'gray': courseOrderDetail.IsDone === 1}">
5 5
       <div class="list-item">
6 6
         <span>订单编号</span>
7
-        <span>144215646445464</span>
7
+        <span>{{courseOrderDetail.OrdersNo !== undefined ? courseOrderDetail.OrdersNo : ''}}</span>
8 8
       </div>
9 9
       <div class="list-item">
10
-        <span>订单名称</span>
11
-        <span>拉伸柔韧度</span>
10
+        <span>课程名称</span>
11
+        <span>{{courseOrderDetail.CourseName}}</span>
12 12
       </div>
13 13
       <div class="list-item">
14
-        <span>课数</span>
15
-        <span>2节课</span>
14
+        <span>课数</span>
15
+        <span>{{courseOrderDetail.JoinNum}}/{{courseOrderDetail.CourseNum}}</span>
16 16
       </div>
17 17
       <div class="list-item">
18 18
         <span>类型</span>
19
-        <span>健身</span>
19
+        <span>{{returnLocationName(courseOrderDetail.LocationId)}}</span>
20 20
       </div>
21 21
       <div class="list-item">
22 22
         <span>商品价格</span>
23
-        <span>¥1999</span>
23
+        <span>¥{{courseOrderDetail.Price}}</span>
24 24
       </div>
25 25
       <div class="list-item">
26 26
         <span>下单时间</span>
27
-        <span>2018/04/12 14:26:09</span>
27
+        <span>{{toolClass.dateFormat(courseOrderDetail.CreateDate)}}</span>
28 28
       </div>
29
-      <div class="list-item">
30
-        <span>课程时间</span>
31
-        <span>2018/04/12 12:00至14:00 计划备注(每周六 19:30)</span>
32
-      </div>
33
-      <div class="list-item">
29
+      <!-- <div class="list-item">
34 30
         <span>地点</span>
35
-        <span>悦见山G99</span>
36
-      </div>
31
+        <span>{{returnCaseName(courseOrderDetail.CaseId)}}</span>
32
+      </div> -->
37 33
       <div class="list-item">
38 34
         <span>付款方式</span>
39
-        <span>优惠券抵用 <div class="coupon-name">小拉伸柔韧度体验券</div></span>
35
+        <span>{{courseOrderDetail.CourseObtaimType === 'cheng-coin' ? '城币支付' : '优惠券抵用'}}</span>
36
+        <!-- <span>优惠券抵用 <div class="coupon-name">小拉伸柔韧度体验券</div></span> -->
40 37
       </div>
41 38
       <div class="half-cic">
42 39
         <span></span>
43 40
         <span></span>
44 41
       </div>
45
-      <div class="qr-code">
46
-        <qrCode :msg='msg'></qrCode>
47
-        <div class="number">32237489123</div>
42
+      <div class="qr-code" v-if="courseOrderDetail.IsDone === 0">
43
+        <qrCode :msg="courseOrderDetail.QrCodeString"></qrCode>
44
+        <!-- <div class="number">32237489123</div> -->
48 45
       </div>
49 46
     </div>
50 47
     <div class="useType">
51
-      <img :src="used" alt="已使用" v-if="useType == '已使用'" width="100%" height="100%">
52
-      <img :src="failure" alt="已失效" v-if="useType == '已失效'" width="100%" height="100%">
48
+      <img :src="used" alt="已使用" v-if="courseOrderDetail.IsDone === 1" width="100%" height="100%">
49
+      <!-- <img :src="failure" alt="已失效" v-if="useType == '已失效'" width="100%" height="100%"> -->
53 50
     </div>
54 51
   </div>
55 52
 </template>
@@ -58,6 +55,9 @@
58 55
 import qrCode from '../../../components/qrCodeCard/qrCodeCard'
59 56
 import used from '../../../common/icon/already.png'
60 57
 import failure from '../../../common/icon/inv.png'
58
+import { mapState, createNamespacedHelpers } from 'vuex'
59
+const { mapActions: actions } = createNamespacedHelpers('app')
60
+const { mapActions: mapUserActions, mapState: mapUserState } = createNamespacedHelpers('userCenter')
61 61
 export default {
62 62
   data () {
63 63
     return {
@@ -70,15 +70,55 @@ export default {
70 70
       failure,
71 71
     }
72 72
   },
73
+  created () {
74
+    this.getCourseLocationList().then(() => {
75
+      this.getCaseList().then(() => {
76
+        this.getCourseOrderDetail({
77
+          id: this.$route.query.id
78
+        }).then((res) => {
79
+          // console.log(JSON.stringify(res))
80
+        })
81
+      })
82
+    })
83
+  },
84
+  computed: {
85
+    ...mapUserState({
86
+      courseOrderDetail: x => x.courseOrderDetail,
87
+      courseLocationList: x => x.courseLocationList,
88
+    }),
89
+    ...mapState({
90
+      CaseList: x => x.app.CaseList,
91
+    })
92
+  },
73 93
   methods: {
74
-
94
+    ...mapUserActions([
95
+      'getCourseOrderDetail',
96
+      'getCourseLocationList',
97
+    ]),
98
+    ...actions([
99
+      'getCaseList',
100
+    ]),
101
+    returnLocationName (id) {
102
+      for (var n = 0; n < this.courseLocationList.length; n++) {
103
+        if (this.courseLocationList[n].LocationId === id) {
104
+          return this.courseLocationList[n].LocationName
105
+        }
106
+      }
107
+    },
108
+    returnCaseName (id) {
109
+      for (var n = 0; n < this.CaseList.length; n++) {
110
+        if (this.CaseList[n].CaseId === id) {
111
+          return this.CaseList[n].CaseName
112
+        }
113
+      }
114
+    },
75 115
   },
76 116
   components: {
77
-    qrCode
117
+    qrCode,
78 118
   }
79 119
 }
80 120
 </script>
81 121
 
82 122
 <style lang="scss" scoped>
83
-@import "page.scss";
123
+@import 'page.scss';
84 124
 </style>

+ 46
- 69
src/pages/user/lessonOrder/index.vue ファイルの表示

@@ -1,20 +1,20 @@
1 1
 <template>
2 2
   <div class="mainPage">
3
-    <scroll ref='scroll' :isloading='isloading' class='wrapper' :data='list' :pullUpLoad='pullUpLoadObj' :startY='parseInt(startY)' @pullingUp='getList'>
3
+    <scroll ref='scroll' :isloading='isloading' class='wrapper' :data='courseOrderList.list' :pullUpLoad='pullUpLoadObj' :startY='parseInt(startY)' @pullingUp='getList'>
4 4
       <div class="box">
5
-        <div class="order-card flex-h" v-for="(item,index) in list" :key='index' :class="{'opacity' : item.useType == '已失效'}" @click="toDetail(item)">
5
+        <div class="order-card flex-h" v-for="(item,index) in courseOrderList.list" :key='index' :class="{'opacity' : item.status === 1}" @click="toDetail(item)">
6 6
           <div class="card-pic">
7
-            <div :class="{'gray-location' : item.useType == '已失效'}"><span>{{item.LocationName}}</span></div>
7
+            <div :class="{'gray-location' : item.status === 1}"><span>{{returnLocationName(item.LocationId)}}</span></div>
8 8
             <img src="" class="cover" width="100%" height="100%" alt="">
9 9
           </div>
10 10
           <div class="card-msg">
11
-            <div class="title">{{item.title}}</div>
12
-            <div class="text">付款方式:{{item.payType}}</div>
13
-            <div class="text">下单时间:{{item.time}}</div>
11
+            <div class="title">{{item.CourseName}}</div>
12
+            <div class="text">付款方式:{{item.CourseObtaimType === 'cheng-coin' ? '城币支付' : '优惠券抵用'}}</div>
13
+            <div class="text">下单时间:{{toolClass.dateFormat(item.CreateDate)}}</div>
14 14
           </div>
15 15
           <div class="card-price">
16
-            <div class="price">¥ {{item.price}}</div>
17
-            <div class="type" :class="{'un-use' : item.useType == '未使用'}">{{item.useType}}</div>
16
+            <div class="price" style="white-space: nowrap;">¥ {{item.Price}}</div>
17
+            <div class="type" :class="{'un-use' : item.IsDone === 0}">{{item.IsDone === 0 ? '未使用' : '已使用'}}</div>
18 18
           </div>
19 19
         </div>
20 20
         <!-- <noMore v-if="hasPic"></noMore> -->
@@ -27,6 +27,8 @@
27 27
 // 上拉加载组件
28 28
 import scroll from '../../../components/scroll/scroll'
29 29
 import noMore from '../../../components/noMore/noMore'
30
+import { mapState, createNamespacedHelpers } from 'vuex'
31
+const { mapActions: mapUserActions, mapState: mapUserState } = createNamespacedHelpers('userCenter')
30 32
 export default {
31 33
   data () {
32 34
     return {
@@ -34,65 +36,28 @@ export default {
34 36
       pullUpLoad: true,
35 37
       pullUpLoadThreshold: 40,
36 38
       startY: 0,
39
+      page: 1,
37 40
       isloading: true,
38 41
       hasMore: true,
39
-      list: [
40
-        {
41
-          LocationName: '社交',
42
-          title: '小小外交官课程',
43
-          payType: '优惠券抵用',
44
-          time: '2018-7-18 12:19',
45
-          price: 199,
46
-          useType: '未使用'
47
-        },
48
-        {
49
-          LocationName: '社交',
50
-          title: '小小外交官课程',
51
-          payType: '优惠券抵用',
52
-          time: '2018-7-18 12:19',
53
-          price: 199,
54
-          useType: '已使用'
55
-        },
56
-        {
57
-          LocationName: '社交',
58
-          title: '小小外交官课程',
59
-          payType: '优惠券抵用',
60
-          time: '2018-7-18 12:19',
61
-          price: 199,
62
-          useType: '已失效'
63
-        },
64
-        {
65
-          LocationName: '社交',
66
-          title: '小小外交官课程',
67
-          payType: '优惠券抵用',
68
-          time: '2018-7-18 12:19',
69
-          price: 199,
70
-          useType: '已失效'
71
-        },
72
-        {
73
-          LocationName: '社交',
74
-          title: '小小外交官课程',
75
-          payType: '优惠券抵用',
76
-          time: '2018-7-18 12:19',
77
-          price: 199,
78
-          useType: '已失效'
79
-        },
80
-        {
81
-          LocationName: '社交',
82
-          title: '小小外交官课程',
83
-          payType: '优惠券抵用',
84
-          time: '2018-7-18 12:19',
85
-          price: 199,
86
-          useType: '已失效'
87
-        }
88
-      ]
42
+      list: []
89 43
     }
90 44
   },
91 45
   components: {
92 46
     scroll,
93 47
     noMore
94 48
   },
49
+  created () {
50
+    var _that = this
51
+    this.getCourseLocationList().then((res) => {
52
+      // console.log(JSON.stringify(res))
53
+      this.getCourseOrderList({ page: this.page })
54
+    })
55
+  },
95 56
   computed: {
57
+    ...mapUserState({
58
+      courseOrderList: x => x.courseOrderList,
59
+      courseLocationList: x => x.courseLocationList,
60
+    }),
96 61
     pullUpLoadObj: function () {
97 62
       return this.pullUpLoad
98 63
         ? {
@@ -106,17 +71,29 @@ export default {
106 71
     }
107 72
   },
108 73
   methods: {
74
+    ...mapUserActions([
75
+      'getCourseOrderList',
76
+      'getCourseLocationList',
77
+    ]),
78
+    returnLocationName (id) {
79
+      for (var n = 0; n < this.courseLocationList.length; n++) {
80
+        if (this.courseLocationList[n].LocationId === id) {
81
+          return this.courseLocationList[n].LocationName
82
+        }
83
+      }
84
+    },
109 85
     getList () {
110
-      this.list.length <= 8 ? this.hasMore = true : this.hasMore = false
86
+      var _that = this
87
+      Math.ceil(this.courseOrderList.pagenum / this.courseOrderList.pagesize) > this.page ? this.hasMore = true : this.hasMore = false
88
+      // this.list.length <= 8 ? this.hasMore = true : this.hasMore = false
111 89
       if (this.hasMore) {
112 90
         setTimeout(() => {
113
-          this.list.push({
114
-            LocationName: '社交',
115
-            title: '小小外交官课程',
116
-            payType: '优惠券抵用',
117
-            time: '2018-7-18 12:19',
118
-            price: 199,
119
-            useType: '已失效'
91
+          this.getCourseOrderList({
92
+            page: _that.page + 1
93
+          }).then((res) => {
94
+            if (res.list.length) {
95
+              _that.page += 1
96
+            }
120 97
           })
121 98
         }, 1000)
122 99
       } else {
@@ -124,13 +101,13 @@ export default {
124 101
         return false
125 102
       }
126 103
     },
127
-    toDetail () {
128
-      this.$router.push({name: 'lessonDetail'})
104
+    toDetail (item) {
105
+      this.$router.push({ name: 'lessonDetail', query: {id: item.CustomerCourseId} })
129 106
     }
130 107
   }
131 108
 }
132 109
 </script>
133 110
 
134 111
 <style lang="scss" scoped>
135
-@import "page.scss";
112
+@import 'page.scss';
136 113
 </style>

+ 5
- 2
src/pages/user/mainPage/userCenter/index.vue ファイルの表示

@@ -46,7 +46,7 @@
46 46
           <span>课程订单</span>
47 47
           <i class="iconfont icon-jiantou-right"></i>
48 48
         </div>
49
-        <div class="menu-item flex-h">
49
+        <div class="menu-item flex-h" @click="toGoodsOrder">
50 50
           <span>商品订单</span>
51 51
           <i class="iconfont icon-jiantou-right"></i>
52 52
         </div>
@@ -105,7 +105,10 @@ export default {
105 105
     },
106 106
     bindMobile () {
107 107
       this.$router.push({ name: 'bindMobile' })
108
-    }
108
+    },
109
+    toGoodsOrder () {
110
+      this.$router.push({ name: 'orderList' })
111
+    },
109 112
   }
110 113
 }
111 114
 </script>

+ 1
- 1
src/pages/user/majorProjectsDetail/index.vue ファイルの表示

@@ -113,7 +113,7 @@ export default {
113 113
     this.getCourseDetailInfo({ id: this.$route.query.id }).then((res) => {
114 114
       var arr = res.CourseDetail
115 115
       this.courseTimeList = arr.sort(function (a, b) { return new Date(a.BeginDate).getTime() > new Date(b.BeginDate).getTime() ? 1 : -1 })
116
-      console.log(JSON.stringify(this.courseTimeList))
116
+      // console.log(JSON.stringify(res))
117 117
     })
118 118
   },
119 119
   methods: {

+ 72
- 99
src/pages/user/orderList/index.vue ファイルの表示

@@ -1,16 +1,23 @@
1 1
 <template>
2 2
   <div class="mainPage flex-v">
3
-    <div class="top">
4
-      <topCaseInfo :data="topCaseInfoData"></topCaseInfo>
5
-    </div>
3
+    <!-- <div class="top">
4
+      <topCaseInfo :data="topCaseInfoData" :userName="userInfo.customer != undefined ? userInfo.customer.CustomerName : ''"></topCaseInfo>
5
+    </div> -->
6 6
     <div class="flex-item">
7 7
       <div class="flex-h">
8 8
         <div class="flex-item">
9
-          <ul>
10
-            <li v-for="(item,index) in list" :key="index">
9
+          <!-- <ul>
10
+            <li v-for="(item,index) in orders.list" :key="index">
11 11
               <orderListItem :data="item"></orderListItem>
12 12
             </li>
13
-          </ul>
13
+          </ul> -->
14
+          <scroll ref='scroll' :isloading='isloading' class='wrapper' :data='orders.list' :pullUpLoad='pullUpLoadObj' :startY='parseInt(startY)' @pullingUp='getList'>
15
+            <ul>
16
+              <li v-for="(item,index) in orders.list" :key="index">
17
+                <orderListItem :data="item"></orderListItem>
18
+              </li>
19
+            </ul>
20
+          </scroll>
14 21
         </div>
15 22
       </div>
16 23
     </div>
@@ -18,113 +25,79 @@
18 25
 </template>
19 26
 
20 27
 <script>
28
+import scroll from '../../../components/scroll/scroll'
29
+import noMore from '../../../components/noMore/noMore'
21 30
 import topCaseInfo from '../../../components/topCaseInfo/index'
22 31
 import orderListItem from '../../../components/orderListItem/index'
32
+import { mapState, createNamespacedHelpers } from 'vuex'
33
+// const { mapActions: actions } = createNamespacedHelpers('app')
34
+
35
+const { mapState: mapOrdersState, mapActions: mapOrdersActions } = createNamespacedHelpers('goodsOrder')
23 36
 
24 37
 export default {
25 38
   name: '',
26 39
   data () {
27 40
     return {
28
-      topCaseInfoData: {
29
-        caseName: 'xxx',
30
-        caseId: '',
31
-        showSelect: false,
32
-        userName: 'xxx'
33
-      },
34
-      list: [{
35
-        status: 0,
36
-        caseName: '案场名称',
37
-        creatTime: '02/16 14:20',
38
-        goodsList: [{
39
-          name: '商品名称1',
40
-          specName: '加冰',
41
-          price: null,
42
-          specPrice: 20,
43
-          num: null,
44
-          specNum: 2,
45
-        },{
46
-          name: '商品名称2',
47
-          specName: null,
48
-          price: 100,
49
-          specPrice: null,
50
-          num: 1,
51
-          specNum: null,
52
-        },{
53
-          name: '商品名称3',
54
-          specName: null,
55
-          price: 100,
56
-          specPrice: null,
57
-          num: 1,
58
-          specNum: null,
59
-        },{
60
-          name: '商品名称4',
61
-          specName: null,
62
-          price: 100,
63
-          specPrice: null,
64
-          num: 1,
65
-          specNum: null,
66
-        },{
67
-          name: '商品名称5',
68
-          specName: null,
69
-          price: 100,
70
-          specPrice: null,
71
-          num: 1,
72
-          specNum: null,
73
-        },{
74
-          name: '商品名称6',
75
-          specName: null,
76
-          price: 100,
77
-          specPrice: null,
78
-          num: 1,
79
-          specNum: null,
80
-        }],
81
-      },{
82
-        status: 1,
83
-        caseName: '案场名称',
84
-        creatTime: '02/16 14:20',
85
-        goodsList: [{
86
-          name: '商品名称1',
87
-          specName: '加冰',
88
-          price: null,
89
-          specPrice: 20,
90
-          num: null,
91
-          specNum: 2,
92
-        }],
93
-      },{
94
-        status: 2,
95
-        caseName: '案场名称',
96
-        creatTime: '02/16 14:20',
97
-        goodsList: [{
98
-          name: '商品名称1',
99
-          specName: '加冰',
100
-          price: null,
101
-          specPrice: 20,
102
-          num: null,
103
-          specNum: 2,
104
-        }],
105
-      },{
106
-        status: 0,
107
-        caseName: '案场名称',
108
-        creatTime: '02/16 14:20',
109
-        goodsList: [{
110
-          name: '商品名称1',
111
-          specName: '加冰',
112
-          price: null,
113
-          specPrice: 20,
114
-          num: null,
115
-          specNum: 2,
116
-        }],
117
-      }],
41
+      pullUpLoad: true,
42
+      pullUpLoadThreshold: 40,
43
+      startY: 0,
44
+      page: 1,
45
+      pagesize: 10,
46
+      isloading: true,
47
+      hasMore: true,
48
+    }
49
+  },
50
+  computed: {
51
+    ...mapState({
52
+      userInfo: x => x.userCenter.userInfo,
53
+    }),
54
+    ...mapOrdersState({
55
+      orders: x => x.orders,
56
+    }),
57
+    pullUpLoadObj: function () {
58
+      return this.pullUpLoad
59
+        ? {
60
+          threshold: parseInt(this.pullUpLoadThreshold),
61
+          txt: {
62
+            more: this.pullUpLoadMoreTxt,
63
+            noMore: this.pullUpLoadNoMoreTxt
64
+          }
65
+        }
66
+        : false
118 67
     }
119 68
   },
120
-  computed: {},
121 69
   components: {
122 70
     topCaseInfo,
123 71
     orderListItem,
72
+    scroll,
73
+    noMore,
74
+  },
75
+  created () {
76
+    this.getCustomerGoodsOrder({
77
+      page: this.page,
78
+      pagesize: this.pagesize,
79
+    })
124 80
   },
125
-  created () { },
126 81
   methods: {
127
-    
82
+    ...mapOrdersActions([
83
+      'getCustomerGoodsOrder',
84
+    ]),
85
+    getList () {
86
+      var _that = this
87
+      Math.ceil(this.orders.pagenum / this.orders.pagesize) > this.page ? this.hasMore = true : this.hasMore = false
88
+      // this.list.length <= 8 ? this.hasMore = true : this.hasMore = false
89
+      if (this.hasMore) {
90
+        setTimeout(() => {
91
+          _that.getCustomerGoodsOrder({
92
+            page: _that.page,
93
+            pagesize: _that.pagesize,
94
+          })
95
+        }, 1000)
96
+      } else {
97
+        this.$refs.scroll.forceUpdate()
98
+        return false
99
+      }
100
+    },
128 101
   }
129 102
 }
130 103
 </script>

+ 4
- 116
src/pages/user/orderList/page.scss ファイルの表示

@@ -13,7 +13,10 @@
13 13
       &>div{
14 14
         margin: 0 .25rem;
15 15
         overflow: visible;
16
-        &>ul{
16
+        div{
17
+          overflow: visible;
18
+        }
19
+        ul{
17 20
           width: 100%;
18 21
           position: relative;
19 22
           overflow: visible;
@@ -27,121 +30,6 @@
27 30
             box-shadow: 0 0 .2rem .02rem rgba(0, 0, 0, .1);
28 31
             padding: .08rem 0;
29 32
             margin: .25rem auto 0;
30
-            // .title{
31
-            //   width: 100%;
32
-            //   position: relative;
33
-            //   overflow: hidden;
34
-            //   align-items: center;
35
-            //   &>div:nth-child(1){
36
-            //     width: .5rem;
37
-            //     text-align: center;
38
-            //     *{
39
-            //       display: inline-block;
40
-            //       font-size: .1rem;
41
-            //       line-height: .17rem;
42
-            //     }
43
-            //     i{
44
-            //       font-size: .15rem;
45
-            //     }
46
-            //   }
47
-            //   &>div:nth-child(1).orange{
48
-            //     *{
49
-            //       color: #fc6243;
50
-            //     }
51
-            //   }
52
-            //   &>div:nth-child(1).grey{
53
-            //     *{
54
-            //       color: #ccc;
55
-            //     }
56
-            //   }
57
-            //   &>div:nth-child(1).green{
58
-            //     *{
59
-            //       color: #63c86f;
60
-            //     }
61
-            //   }
62
-            //   &>div:nth-child(2){
63
-            //     margin-right: .1rem;
64
-            //     &>div{
65
-            //       width: 100%;
66
-            //       position: relative;
67
-            //       overflow: hidden;
68
-            //       span{
69
-            //         width: 100%;
70
-            //         display: block;
71
-            //         font-size: .14rem;
72
-            //         overflow: hidden;
73
-            //         text-overflow: ellipsis;
74
-            //         white-space: nowrap;
75
-            //       }
76
-            //     }
77
-            //   }
78
-            //   &>span{
79
-            //     font-size: .11rem;
80
-            //     color: #666;
81
-            //     margin-right: .15rem;
82
-            //   }
83
-            // }
84
-            // .line{
85
-            //   width: 100%;
86
-            //   height: .2rem;
87
-            //   position: relative;
88
-            //   overflow: hidden;
89
-            //   &>div{
90
-            //     width: 100%;
91
-            //     position: absolute;
92
-            //     overflow: hidden;
93
-            //     left: 0;
94
-            //     top: 50%;
95
-            //     transform: translateY(-50%) translateX(-.035rem);
96
-            //     -webkit-transform: translateY(-50%) translateX(-.035rem);
97
-            //     font-size: 0;
98
-            //     white-space: nowrap;
99
-            //     i{
100
-            //       display: inline-block;
101
-            //       width: .07rem;
102
-            //       height: .07rem;
103
-            //       position: relative;
104
-            //       overflow: hidden;
105
-            //       border-radius: 100%;
106
-            //       background: #eee;
107
-            //       margin-right: .1rem;
108
-            //     }
109
-            //   }
110
-            // }
111
-            // .list{
112
-            //   &>div{
113
-            //     margin: 0 .15rem;
114
-            //     &>ul{
115
-            //       margin: .06rem auto;
116
-            //       &>li{
117
-            //         font-size: 0;
118
-            //         white-space: nowrap;
119
-            //         &>*{
120
-            //           display: inline-block;
121
-            //           vertical-align: middle;
122
-            //           width: 50%;
123
-            //           overflow: hidden;
124
-            //           text-overflow: ellipsis;
125
-            //           white-space: nowrap;
126
-            //         }
127
-            //         &>span{
128
-            //           line-height: .26rem;
129
-            //           font-size: .14rem;
130
-            //           color: #555;
131
-            //         }
132
-            //         &>div{
133
-            //           text-align: right;
134
-            //           font-size: 0;
135
-            //           span{
136
-            //             font-size: .11rem;
137
-            //             line-height: .26rem;
138
-            //             color: #666;
139
-            //           }
140
-            //         }
141
-            //       }
142
-            //     }
143
-            //   }
144
-            // }
145 33
           }
146 34
         }
147 35
       }

+ 32
- 0
src/store/case/case.js ファイルの表示

@@ -0,0 +1,32 @@
1
+import Ajax from '../../util/ajax'
2
+import api from '../../util/api'
3
+
4
+// 请求数据
5
+export default {
6
+  namespaced: true,
7
+  state: {
8
+    caseTotal: {},
9
+  },
10
+  mutations: {
11
+    setCaseTotal (state, data) { // 获取案场下单数量信息
12
+      state.caseTotal = data
13
+    },
14
+  },
15
+  actions: {
16
+    getCaseTotal ({ commit }, { caseid }) {
17
+      return new Promise((resolve, reject) => {
18
+        Ajax(api.case.total.url, {
19
+          method: api.case.total.method,
20
+          urlData: {
21
+            caseid
22
+          }
23
+        }).then(res => {
24
+          commit("setCaseTotal", res)
25
+          resolve(res)
26
+        }).catch((err) => {
27
+          reject(err)
28
+        })
29
+      })
30
+    },
31
+  }
32
+}

+ 31
- 0
src/store/goods/order.js ファイルの表示

@@ -0,0 +1,31 @@
1
+import Ajax from '../../util/ajax'
2
+import api from '../../util/api'
3
+
4
+export default {
5
+  namespaced: true,
6
+  state: {
7
+    orders: {},
8
+  },
9
+  mutations: {
10
+    setGoodsOrders (state, data) { // 获取案场下单数量信息
11
+      state.orders = data
12
+    },
13
+  },
14
+  actions: {
15
+    getCustomerGoodsOrder ({ commit }, payload) {
16
+      return new Promise((resolve, reject) => {
17
+        Ajax(api.goods.getCustOrders.url, {
18
+          method: api.goods.getCustOrders.method,
19
+          queryData: {
20
+            ...payload
21
+          },
22
+        }).then(res => {
23
+          commit("setGoodsOrders", res)
24
+          resolve(res)
25
+        }).catch((err) => {
26
+          reject(err)
27
+        })
28
+      })
29
+    },
30
+  }
31
+}

+ 2
- 0
src/store/index.js ファイルの表示

@@ -16,6 +16,8 @@ export const modules = {
16 16
   userCenter: () => require('./userCenter/userCenter').default,
17 17
   majorProjects: () => require('./majorProjects/majorProjects').default,
18 18
   placeOrderForCoffee: () => require('./placeOrderForCoffee/index').default,
19
+  case: () => require('./case/case').default,
20
+  goodsOrder: () => require('./goods/order').default,
19 21
 }
20 22
 
21 23
 Object.keys(modules).forEach((modKey) => {

+ 1
- 1
src/store/majorProjects/majorProjects.js ファイルの表示

@@ -47,7 +47,7 @@ export default {
47 47
         })
48 48
       })
49 49
     },
50
-    getCourseDetailInfo (context, { id }) { // 获取课程列表
50
+    getCourseDetailInfo (context, { id }) { // 获取课程详情信息
51 51
       return new Promise((resolve) => {
52 52
         Ajax(api.majorProjects.getCourseDetail.url, {
53 53
           method: api.majorProjects.getCourseDetail.method,

+ 50
- 32
src/store/userCenter/userCenter.js ファイルの表示

@@ -73,38 +73,11 @@ http.submitData = (data) => { // 绑定手机号
73 73
 export default {
74 74
   namespaced: true,
75 75
   state: {
76
-    userInfo: {
77
-      // AccountInfo: {
78
-      //   "city": "CITY",
79
-      //   "country": "COUNTRY",
80
-      //   "headimgurl": "http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46",
81
-      //   "nickname": "NICKNAME",
82
-      //   "openid": "OPENID",
83
-      //   "province": "PROVINCE",
84
-      //   "sex": "1",
85
-      //   "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
86
-      // },
87
-      // AccountType: "wechat",
88
-      // CreateDate: "0001-01-01T00:00:00Z",
89
-      // CustomerId: "1",
90
-      // CustomerName: "测试",
91
-      // Headimgurl: "",
92
-      // MapUser: "",
93
-      // MappingId: "1",
94
-      // Name: "测试",
95
-      // Openid: "OPENID",
96
-      // OrgId: "1",
97
-      // Phone: "13823838438",
98
-      // Points: 0,
99
-      // RecommendCase: "1",
100
-      // RecommendId: "0",
101
-      // RecommendName: "",
102
-      // Sex: 1,
103
-      // Status: 1,
104
-      // UserType: "customer",
105
-      // Uuid: "",
106
-    },
107
-    caseInfo: {}
76
+    userInfo: {},
77
+    caseInfo: {},
78
+    courseOrderList: {},
79
+    courseLocationList: [],
80
+    courseOrderDetail: {},
108 81
   },
109 82
   mutations: {
110 83
     setUserInfo (state, data) {
@@ -112,9 +85,54 @@ export default {
112 85
     },
113 86
     setCaseInfo (state, data) {
114 87
       state.caseInfo = data
88
+    },
89
+    setCourseOrderDetail (state, data) { // 设置课程订单详情
90
+      state.courseOrderDetail = data
91
+    },
92
+    setCourseLocationList (state, data) { // 设置课程类型列表
93
+      state.courseLocationList = data
94
+    },
95
+    setCourseOrder (state, { res, page }) { // 设置我的课程订单信息
96
+      if (page === 1) {
97
+        state.courseOrderList = res
98
+      } else {
99
+        state.courseOrderList = { ...res, list: [...state.courseOrderList.list, res.list] }
100
+      }
115 101
     }
116 102
   },
117 103
   actions: {
104
+    getCourseOrderDetail (context, payload) { // 获取课程类型列表
105
+      return new Promise((resolve) => {
106
+        Ajax(api.user.getCourseOrderDetail.url, {
107
+          method: api.user.getCourseOrderDetail.method,
108
+          urlData: { ...payload }
109
+        }).then(res => {
110
+          context.commit('setCourseOrderDetail', res)
111
+          resolve(res)
112
+        })
113
+      })
114
+    },
115
+    getCourseLocationList (context) { // 获取课程类型列表
116
+      return new Promise((resolve) => {
117
+        Ajax(api.user.getCourseLoactionList.url, {
118
+          method: api.user.getCourseLoactionList.method,
119
+        }).then(res => {
120
+          context.commit('setCourseLocationList', res)
121
+          resolve(res)
122
+        })
123
+      })
124
+    },
125
+    getCourseOrderList (context, payload) { // 获取我的课程订单信息
126
+      return new Promise((resolve) => {
127
+        Ajax(api.user.getCourseOrderList.url, {
128
+          method: api.user.getCourseOrderList.method,
129
+          queryData: { ...payload }
130
+        }).then(res => {
131
+          context.commit('setCourseOrder', { res, page: payload.page })
132
+          resolve(res)
133
+        })
134
+      })
135
+    },
118 136
     getUserInfo (context, data) {
119 137
       return new Promise((resolve) => {
120 138
         http.getUserInfo(data).then((res) => {

+ 1
- 1
src/util/ajax.js ファイルの表示

@@ -49,7 +49,7 @@ Axios.interceptors.request.use((config) => {
49 49
 const ajax = (...args) => {
50 50
   return new Promise((resolve, reject) => {
51 51
     Axios(...args).then(({ data }) => {
52
-      console.log(111)
52
+      // console.log(111)
53 53
       const { code, message, result } = data
54 54
       if (code === 200) {
55 55
         resolve(result)

+ 26
- 2
src/util/api.js ファイルの表示

@@ -80,12 +80,36 @@ const $api = {
80 80
       method: 'get',
81 81
       url: `${baseUrl}${guest}/case`
82 82
     },
83
+    getCourseOrderList: { // 获取我的课程订单信息
84
+      method: 'get',
85
+      url: `${baseUrl}${wechat}/course/user`
86
+    },
87
+    getCourseLoactionList: { // 获取课程类型列表
88
+      method: 'get',
89
+      url: `${baseUrl}${guest}/cms/location`
90
+    },
91
+    getCourseOrderDetail: { // 获取课程订单详情
92
+      method: 'get',
93
+      url: `${baseUrl}${wechat}/course/user/:id`
94
+    },
83 95
   },
84
-  login:{ // 主管、销售端登陆
96
+  login: { // 主管、销售端登陆
85 97
     login: {
86 98
       method: 'post',
87 99
       url: `${baseUrl}${guest}/wxsignin`
88 100
     }
89
-  }
101
+  },
102
+  case: {
103
+    total: {
104
+      method: 'get',
105
+      url: `${baseUrl}${wechat}/goods/case/:caseid`
106
+    },
107
+  },
108
+  goods: {
109
+    getCustOrders: {
110
+      method: 'get',
111
+      url: `${baseUrl}${wechat}/goods/user`
112
+    }
113
+  },
90 114
 }
91 115
 export default $api