Pārlūkot izejas kodu

新增付费管理tab页面

yuhao 2 gadi atpakaļ
vecāks
revīzija
27801e6f9c

+ 1 - 1
src/components/common/layout/layout.vue

@@ -313,7 +313,7 @@ export default {
313 313
     }, 20000)
314 314
   },
315 315
   mounted () {
316
-    if(this.$route.path=='/customerMan/details'||this.$route.path=='/testSkin/details'){
316
+    if(this.$route.path=='/payUser/details'||this.$route.path=='/testSkin/details'){
317 317
       this.isback=true
318 318
     }
319 319
   },

+ 8 - 1
src/components/common/layout/leftMenu.vue

@@ -105,6 +105,13 @@ export default {
105 105
             "https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/icon/slices/unskin.png",
106 106
           icon: "https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/icon/slices/Skin.png",
107 107
         },
108
+        {
109
+          name: "付费客户",
110
+          path: "/payUser",
111
+          unicon:
112
+            "https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/icon/slices/unskin.png",
113
+          icon: "https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/icon/slices/Skin.png",
114
+        },
108 115
       ],
109 116
       nowIndex: 0,
110 117
     };
@@ -122,7 +129,7 @@ export default {
122 129
         }
123 130
       });
124 131
       // 客户管理详情跳转测肤记录修改返回键显示
125
-      if (from.path == "/customerMan/details") {
132
+      if (from.path == "/payUser/details") {
126 133
         this.$emit("changeIsBack", this.$route.query.isback);
127 134
       }
128 135
     },

+ 1 - 1
src/config/env.js

@@ -1,6 +1,6 @@
1 1
 // 环境配置
2 2
 let basePath = 'https://store.api.ijolijoli.com'; 	// api请求地址
3
-
3
+let vrsion  = '1.0.0' //版本号
4 4
 export {
5 5
   basePath,
6 6
 }

+ 94 - 338
src/pages/customerMan/details/index.vue

@@ -4,13 +4,13 @@
4 4
       <div class="user-info">
5 5
         <div class="title">
6 6
           <div class="txt">个人信息</div>
7
-          <!-- <div
7
+          <div
8 8
             class="test-record"
9 9
             @click="toTestRecord"
10 10
             v-if="userInfo.analysis_id"
11 11
           >
12 12
             测肤记录
13
-          </div> -->
13
+          </div>
14 14
         </div>
15 15
         <div class="detail-info">
16 16
           <div class="user-img">
@@ -21,17 +21,14 @@
21 21
               <div class="name">
22 22
                 <span>{{ userInfo.nickname | ellipsis(3) }}</span>
23 23
               </div>
24
-              <!-- <div class="skin-type">
25
-                肤龄:<span>{{ userInfo.age }}</span>
26
-              </div> -->
27 24
               <div class="sex"><img :src="gender" alt="" /></div>
28
-              <div class="age">
25
+              <!-- <div class="age">
29 26
                 <span>{{ userInfo.skin_age }}</span
30 27
                 ><span class="min-size">肤龄</span>
31
-              </div>
28
+              </div> -->
32 29
             </div>
33 30
             <div class="real-name">
34
-              真实姓名:
31
+              姓名:
35 32
               <span v-show="!nameInpVisible">{{ userInfo.real_name }}</span>
36 33
               <el-input
37 34
                 size="mini"
@@ -49,116 +46,84 @@
49 46
                 srcset=""
50 47
               />
51 48
             </div>
52
-
53 49
             <div class="skin-type">
54
-              用户ID:<span> {{ userInfo.user_id }}</span>
50
+              肤质:<span>{{ userInfo.skin_type }}</span>
51
+            </div>
52
+            <div class="skin-type">
53
+              肤龄:<span>{{ userInfo.age }}</span>
54
+            </div>
55
+            <div class="skin-color">
56
+              肤色:<span>{{ userInfo.skin_color }}</span>
55 57
             </div>
56
-            <!-- <div class="skin-type">
57
-              上传报告时间:<span> {{ userDetail.create_time }}</span>
58
-            </div> -->
59 58
           </div>
60 59
         </div>
61 60
       </div>
62 61
 
63 62
       <div class="personage-data">
64 63
         <div class="myDataList">
65
-          <span class="dataListTitle">出生日期</span> :
66
-
64
+          检测时间:
65
+          <span>{{ userInfo.check_time }}</span>
66
+        </div>
67
+        <div class="myDataList">
68
+          出生日期:
67 69
           <span>{{ userInfo.birthday }}</span>
68 70
         </div>
69 71
         <div class="myDataList">
70
-          <span class="dataListTitle">联系电话</span> :
72
+          手机号:
71 73
           <span>{{ userInfo.mobile }}</span>
72 74
         </div>
73 75
 
74 76
         <div class="myDataList">
75
-          <span class="dataListTitle">所在地</span> :
77
+          所在地:
76 78
           <span>{{ userInfo.city }}</span>
77 79
         </div>
78 80
 
79 81
         <div class="myDataList">
80
-          <span class="dataListTitle">客户来源</span> :
81
-          <!-- <span>{{ userInfo.store_name }}</span> -->
82
-          <el-select
83
-            v-model="sourceValue"
84
-            placeholder="请选择"
85
-            size="mini"
86
-            @change="selectSource"
87
-          >
88
-            <el-option
89
-              v-for="(item, index) in sourceList"
90
-              :key="index"
91
-              :label="item"
92
-              :value="index"
93
-            >
94
-            </el-option>
95
-          </el-select>
82
+          开卡店铺:
83
+          <span>{{ userInfo.store_name }}</span>
96 84
         </div>
97
-        <div class="assetInfo">资产信息</div>
98 85
 
99 86
         <div class="myDataList coupon-num">
100
-          <span class="dataListTitle">次卡数量</span> :
101
-          <span class="JEcolor" @click="toOrder(2)">{{ order_total.card_num }}</span>
87
+          次卡数量:
88
+          <span @click="toOrder(2)">{{ order_total.card_num }}</span>
102 89
         </div>
103 90
 
104 91
         <div class="myDataList coupon-num">
105
-          <span class="dataListTitle">优惠券</span> :
106
-          <span class="JEcolor" @click="toOrder(4)">{{ userInfo.card_num }}</span>
92
+          优惠券数量:
93
+          <span @click="toOrder(4)">{{ userInfo.card_num }}</span>
107 94
         </div>
108 95
 
109 96
         <div class="myDataList">
110
-          <span class="dataListTitle">储值金额</span> :
111
-          <span class="JEcolor" @click="toOrder(5)"> 
112
-            ¥<span class="bigSixe">{{ userInfo.amount }}</span>
97
+          储值金额:
98
+          <span class="JEcolor">
99
+            ¥
100
+            <span class="bigSixe">{{ userInfo.amount }}</span>
113 101
             <!-- .00 -->
114 102
           </span>
115 103
         </div>
116 104
         <div class="myDataList">
117
-          <span class="dataListTitle">积分</span> :
105
+          积分:
118 106
           <span>{{ userInfo.coin }}</span>
119 107
         </div>
120
-        <div class="detectionInfo">
121
-          <div>检测信息</div>
122
-          <div @click="goTestSkin">测肤记录</div>
123
-        </div>  
124
-        <div class="skin-type">
125
-          <span class="dataListTitle">肤质</span> :
126
-          <span class="item" v-if="userDetail.detection">{{
127
-            skin_type[userDetail.detection.skin_type - 1]
128
-          }}</span>
129
-        </div>
130
-        <!-- <div class="skin-color">
131
-          <span class="dataListTitle">肤色</span> :
132
-          <span>{{ userInfo.skin_color }}</span>
133
-        </div> -->
134
-        <div class="myDataList">
135
-          <span class="dataListTitle">测肤时间</span> :
136
-          <span v-if="userDetail.detection">{{ userDetail.detection.create_time }}</span>
137
-        </div>
138
-        <!-- <div class="myDataList" @click="remarkPupopVisible = true">
108
+        <div class="myDataList" @click="remarkPupopVisible = true">
139 109
           备注信息:
140 110
           <span>{{ userInfo.remark | ellipsis(20) }}</span>
141
-        </div> -->
111
+        </div>
142 112
       </div>
143 113
     </div>
144 114
     <div class="right">
145 115
       <div class="right-top">
146 116
         <div class="right-top-data">
147 117
           <div class="lable">
148
-            <div class="lable-title" v-if="userDetail.detection">
149
-              <div>面诊标签</div>
150
-              <div @click="goTestSkinDetials" v-if='userDetail.detection.id'>执行方案</div>
151
-            </div>
118
+            <div class="lable-title">面诊标签</div>
152 119
             <div class="problem">
153
-              <div class="problem-title">问题标签&nbsp;</div>
154
-              :
120
+              <div class="problem-title">问题标签</div>
155 121
               <div class="problem-lable">
156 122
                 <div class="lable-text problem-text">{{ problem }}</div>
157 123
               </div>
158 124
             </div>
159 125
             <div class="problem">
160
-              <div class="problem-title">面部标签&nbsp;</div>
161
-              :
126
+              <div class="problem-title">面部标签</div>
162 127
               <div class="problem-lable">
163 128
                 <div
164 129
                   class="lable-text"
@@ -207,90 +172,54 @@
207 172
       </div>
208 173
       <div class="right-bottom">
209 174
         <div class="programme">
210
-          <div class="consume">
211
-            <div class="consume-box">
212
-              <div class="consume-title">总消费</div>
213
-              <div class="consume-content">
214
-                <div class="consume-one">
215
-                  <div class="consume-type">
216
-                    总消费金额:<span class="consume-price">{{
217
-                      userDetail.total_price
218
-                    }}</span>
219
-                  </div>
220
-                  <div class="consume-type">
221
-                    项目叠加次数:<span class="consume-price">{{
222
-                      userDetail.overlay
223
-                    }}</span>
224
-                  </div>
225
-                </div>
226
-                <div class="consume-two">
227
-                  <div class="consume-type">
228
-                    总储值金额:<span class="consume-price">{{
229
-                      userDetail.balance==null?0:userDetail.balance
230
-                    }}</span>
231
-                  </div>
232
-
233
-                  <div class="consume-type">
234
-                    转化次数:<span class="consume-price">{{
235
-                      userDetail.conversion
236
-                    }}</span>
237
-                  </div>
238
-                </div>
239
-              </div>
240
-            </div>
241
-            <div class="consume-title">最近消费记录</div>
242
-            <div class="consume-record">
243
-              <div class="record-item">
244
-                <div class="record-title">项目</div>
245
-                :
246
-                <div v-if="userDetail.project" class="record-name">
247
-                  {{ userDetail.project.project_name }}
248
-                </div>
249
-                <div v-if="userDetail.project">
250
-                  {{ userDetail.project.create_time }}
251
-                </div>
252
-              </div>
253
-              <div class="record-item">
254
-                <div class="record-title">次卡</div>
255
-                :
256
-                <div v-if="userDetail.user_card" class="record-name">
257
-                  {{ userDetail.user_card.card_name }}
258
-                </div>
259
-                <div v-if="userDetail.user_card">
260
-                  {{ userDetail.user_card.create_time }}
261
-                </div>
262
-              </div>
263
-              <div class="record-item">
264
-                <div class="record-title">美妆产品</div>
265
-                :
266
-                <div v-if="userDetail.goods" class="record-name">
267
-                  {{ userDetail.goods.goods_name }}
268
-                </div>
269
-                <div v-if="userDetail.goods">
270
-                  {{ userDetail.goods.create_time }}
271
-                </div>
272
-              </div>
273
-              <div class="record-item">
274
-                <div class="record-title">充值</div>
275
-                :
276
-                <div v-if="userDetail.recharge" class="record-name">
277
-                  {{ userDetail.recharge.price }}
278
-                </div>
279
-                <div v-if="userDetail.recharge">
280
-                  {{ userDetail.recharge.create_time }}
175
+          <div class="tab">
176
+            <div class="tab-title">执行方案</div>
177
+          </div>
178
+          <div class="programmeList" v-if="programmeList.length > 0">
179
+            <div class="programmeWeek">
180
+              <div
181
+                class="programmeItem"
182
+                v-for="(item, index) in programmeList"
183
+                :key="index"
184
+              >
185
+                <div
186
+                  :class="selectWeek == index ? 'weekItemSelect' : 'weekItem'"
187
+                  @click="weekSelect(index)"
188
+                >
189
+                  {{ item.name }}
281 190
                 </div>
191
+                <div class="weekLine" v-if="index == 3 ? false : true"></div>
282 192
               </div>
283 193
             </div>
284
-            <div class="consume-title">最近消耗</div>
285
-            <div class="card-record">
286
-              <div class="record-item">
287
-                <div class="record-title">消耗次卡</div>
288
-                :
289
-                <div v-if="userDetail.time_card" class="record-name">
290
-                  {{ userDetail.time_card.card_name }}
194
+            <div class="doTime">{{ programmeList[selectWeek].time }}</div>
195
+            <div class="weekDetails" v-if="programmeList.length > 0">
196
+              <div
197
+                class="contentItem"
198
+                v-for="(item, index1) in programmeList[selectWeek].list"
199
+                :key="index1"
200
+              >
201
+                <div class="itemTitle">
202
+                  <div>{{ item.name }}</div>
203
+                  <div>{{ item.classify_name }}</div>
204
+                  <!-- <div>{{item.time}}</div> -->
291 205
                 </div>
292
-                <div v-if="userDetail.time_card">
293
-                  {{ userDetail.time_card.create_time }}
206
+                <div
207
+                  class="itemContent"
208
+                  v-for="(items, index2) in item.list"
209
+                  :key="index2"
210
+                >
211
+                  <img class="itemContent-img" :src="items.cover_url" />
212
+                  <div class="itemContent-right">
213
+                    <div class="right-content">
214
+                      <div class="right-name">
215
+                        {{ items.name | ellipsis(14) }}
216
+                      </div>
217
+                      <div class="right-price">
218
+                        {{ items.price | doubleNum(2) }}
219
+                      </div>
220
+                    </div>
221
+                    <div class="right-project">{{ items.product_name }}</div>
222
+                  </div>
294 223
                 </div>
295 224
               </div>
296 225
             </div>
@@ -358,20 +287,6 @@ export default {
358 287
       isPupop: false,
359 288
       nameInpVisible: false,
360 289
       remarkPupopVisible: false,
361
-      sourceList: [
362
-        " ",
363
-        "线下进店",
364
-        "种子用户",
365
-        "美团/大众",
366
-        "抖音",
367
-        "达人探店",
368
-        "霸王餐",
369
-        "老带新/转介绍",
370
-      ], //客户来源下拉选择
371
-      sourceValue: "", //客户来源值
372
-      id: this.$route.id, //用户的id
373
-      userDetail: [], //客户管理详情
374
-      skin_type: ["干性肌肤", "中性肌肤", "油性肌肤", "混合型肌肤"], //肤质 (肤质类型 1-干性肌肤 2-中性肌肤 3-油性肌肤 4-混合型肌肤)
375 290
     };
376 291
   },
377 292
   components: { minePupop },
@@ -384,50 +299,8 @@ export default {
384 299
     },
385 300
   },
386 301
   watch: {},
387
-  // 返回页面缓存客户管理页面
388
-    beforeRouteLeave(to,from,next){
389
-    to.meta.keepAlive=true
390
-    next()
391
-  },
302
+
392 303
   methods: {
393
-    // 获取客户管理详情
394
-    getUserDetail() {
395
-      api.getUserDetail({ id: this.id }).then((res) => {
396
-        this.userDetail = res.data;
397
-        this.sourceValue = this.sourceList[res.data.tag];
398
-      });
399
-    },
400
-    // 编辑客户管理用户标签
401
-    editSign(tag){
402
-      api.editSign({
403
-        tag,
404
-        id:this.id
405
-      }).then()
406
-    },
407
-    // 选择客户来源
408
-    selectSource(e) {
409
-      this.editSign(e)
410
-    },
411
-    // 跳转到测肤记录详情
412
-    goTestSkinDetials() {
413
-      this.$router.push({
414
-        path: "/testSkin/details",
415
-        query: {
416
-          id: this.userDetail.detection.id,
417
-          isback:true
418
-        }
419
-      });
420
-    },
421
-    // 跳转到测肤记录列表
422
-    goTestSkin() {
423
-      this.$router.push({
424
-        path: "/testSkin",
425
-        query: {
426
-          isback: true,
427
-          id:this.id
428
-        },
429
-      });
430
-    },
431 304
     getPadUserInfo() {
432 305
       api.getPadUserInfo({ id: this.id }).then((res) => {
433 306
         console.log(res, "aaaaaaaa");
@@ -504,17 +377,14 @@ export default {
504 377
         activeName = "third";
505 378
       } else if (index == 2) {
506 379
         activeName = "second";
507
-      } else if (index == 4) {
508
-        activeName = "fourth";
509
-      }else if(index==5){
510
-        activeName = "five";
380
+      }else if(index==4){
381
+        activeName = 'fourth'
511 382
       }
512 383
       this.$router.push({
513 384
         path: "/customerMan/projectOrder",
514 385
         query: {
515 386
           id: this.id,
516 387
           activeName: activeName,
517
-          isback:true
518 388
         },
519 389
       });
520 390
     },
@@ -555,8 +425,6 @@ export default {
555 425
   created() {
556 426
     let id = this.$route.query.id;
557 427
     this.id = id;
558
-    // 获取客户管理详情
559
-    this.getUserDetail();
560 428
     this.getPadUserInfo();
561 429
   },
562 430
 
@@ -621,12 +489,11 @@ export default {
621 489
             justify-content: space-between;
622 490
             .name {
623 491
               font-size: 14px;
624
-              width: 60px;
625 492
             }
626 493
             .sex {
627 494
               img {
628
-                width: 19px;
629
-                height: 19px;
495
+                width: 24px;
496
+                height: 24px;
630 497
               }
631 498
             }
632 499
             .age {
@@ -662,55 +529,11 @@ export default {
662 529
     }
663 530
     .personage-data {
664 531
       margin-top: 14px;
665
-      .assetInfo {
666
-        font-size: 14px;
667
-        color: #333;
668
-        font-weight: 600;
669
-        margin-top: 10px;
670
-      }
671
-      .detectionInfo {
672
-        margin-top: 10px;
673
-        display: flex;
674
-        justify-content: space-between;
675
-        font-size: 14px;
676
-        font-weight: 600;
677
-        color: #fa7d22;
678
-        div:first-child {
679
-          color: #333333;
680
-        }
681
-      }
682
-      .skin-type {
683
-        margin-top: 10px;
684
-        .dataListTitle {
685
-          display: inline-block;
686
-          font-size: 13px;
687
-          color: #999999;
688
-          width: 55px;
689
-          text-align: justify;
690
-          text-justify: distribute-all-lines;
691
-          text-align-last: justify;
692
-        }
693
-        .item{
694
-          color: #333;
695
-        }
696
-      }
697
-      .skin-color {
698
-        margin-top: 10px;
699
-        .dataListTitle {
700
-          display: inline-block;
701
-          font-size: 13px;
702
-          color: #999999;
703
-          width: 55px;
704
-          text-align: justify;
705
-          text-justify: distribute-all-lines;
706
-          text-align-last: justify;
707
-        }
708
-      }
709 532
       .myDataList {
710
-        margin-top: 10px;
533
+        margin-top: 15px;
711 534
         .bigSixe {
712 535
           font-size: 18px;
713
-          color: #ff3007;
536
+          color: #fa7d22;
714 537
         }
715 538
         span {
716 539
           color: #333333;
@@ -718,21 +541,10 @@ export default {
718 541
         .JEcolor {
719 542
           color: #fa7d22;
720 543
         }
721
-        .dataListTitle {
722
-          display: inline-block;
723
-          font-size: 13px;
724
-          color: #999999;
725
-          width: 55px;
726
-          text-align: justify;
727
-          text-justify: distribute-all-lines;
728
-          text-align-last: justify;
729
-        }
730
-        /deep/.el-select {
731
-          width: 150px;
732
-        }
733 544
       }
734 545
       .coupon-num {
735 546
         span {
547
+          color: #fa7d22;
736 548
           font-size: 16px;
737 549
           font-weight: 500;
738 550
         }
@@ -799,15 +611,10 @@ export default {
799 611
           .lable-title {
800 612
             font-size: 14px;
801 613
             font-family: PingFangSC-Medium, PingFang SC;
802
-            font-weight: 600;
614
+            font-weight: 500;
803 615
             color: #333333;
804 616
             line-height: 20px;
805 617
             margin-bottom: 14px;
806
-            display: flex;
807
-            justify-content: space-between;
808
-            div:last-child {
809
-              color: #fa7d22;
810
-            }
811 618
           }
812 619
           .problem {
813 620
             display: flex;
@@ -1067,67 +874,16 @@ export default {
1067 874
             color: #ffc630;
1068 875
           }
1069 876
         }
1070
-        .consume {
1071
-          .consume-box {
1072
-            display: flex;
1073
-          }
1074
-          .consume-title {
877
+        .tab {
878
+          display: flex;
879
+          align-items: center;
880
+          justify-content: space-between;
881
+          .tab-title {
1075 882
             font-size: 14px;
1076 883
             font-family: PingFangSC-Medium, PingFang SC;
1077
-            font-weight: 700;
884
+            font-weight: 500;
1078 885
             color: #333333;
1079 886
             line-height: 20px;
1080
-            margin-top: 15px;
1081
-          }
1082
-          .consume-title:first-child {
1083
-            margin-top: 0;
1084
-          }
1085
-          .consume-content {
1086
-            display: flex;
1087
-            justify-content: space-between;
1088
-            flex-wrap: wrap;
1089
-            .consume-two {
1090
-              margin-left: 90px;
1091
-            }
1092
-            .consume-type {
1093
-              line-height: 25px;
1094
-              width: 160px;
1095
-              font-size: 13px;
1096
-              color: #999999;
1097
-              margin-left: 20px;
1098
-            }
1099
-            .consume-price {
1100
-              font-size: 13px;
1101
-              color: #333333;
1102
-              margin-left: 14px;
1103
-            }
1104
-          }
1105
-          .consume-record,
1106
-          .card-record {
1107
-            .record-item {
1108
-              display: flex;
1109
-              font-size: 13px;
1110
-              color: #666666;
1111
-              margin-top: 15px;
1112
-              .record-title {
1113
-                width: 65px;
1114
-                text-align: justify;
1115
-                text-justify: distribute-all-lines;
1116
-                text-align-last: justify;
1117
-              }
1118
-              .record-name {
1119
-                color: #333333;
1120
-                width: 260px;
1121
-                margin-left: 36px;
1122
-                margin-right: 36px;
1123
-                /* 强制超出不换行 */
1124
-                white-space: nowrap;
1125
-                /* 超出隐藏 */
1126
-                overflow: hidden;
1127
-                /* 文本超出显示成... */
1128
-                text-overflow: ellipsis;
1129
-              }
1130
-            }
1131 887
           }
1132 888
         }
1133 889
         .programme-list {

+ 6 - 146
src/pages/customerMan/index.vue

@@ -7,37 +7,6 @@
7 7
       <el-button type="primary" class="searchButton" @click="getUserList()"
8 8
         >搜索</el-button
9 9
       >
10
-      <div class="silenceUser">
11
-        <div class="title">显示沉默付费用户</div>
12
-        <el-switch
13
-          v-model="silence"
14
-          active-color="#fa7d22"
15
-          inactive-color="#e7e7e7"
16
-          @change="showSilence"
17
-        >
18
-        </el-switch>
19
-      </div>
20
-      <div class="faceUser">
21
-        <div class="title">显示未面诊付费用户</div>
22
-        <el-switch
23
-          v-model="face"
24
-          active-color="#fa7d22"
25
-          inactive-color="#e7e7e7"
26
-          @change="showFace"
27
-        >
28
-        </el-switch>
29
-      </div>
30
-      <div class="filter">
31
-        <div class="title">筛选</div>
32
-        <i @click="openFilterPop" class="el-icon-s-operation"></i>
33
-      </div>
34
-      <!-- 筛选条件弹窗 -->
35
-      <select-pop
36
-        :visible.sync="dialogVisible"
37
-        @saveSelectList="saveSelectList"
38
-        :resetPop='resetPop'
39
-        :key='key'
40
-      ></select-pop>
41 10
     </div>
42 11
 
43 12
     <div class="user-list">
@@ -56,9 +25,9 @@
56 25
             </div>
57 26
           </template>
58 27
         </el-table-column>
28
+        <el-table-column prop="id" label="用户ID" width="120"></el-table-column>
59 29
         <el-table-column prop="nickname" label="昵称" width="120">
60 30
         </el-table-column>
61
-        <el-table-column prop="id" label="用户ID" width="120"></el-table-column>
62 31
         <el-table-column prop="mobile" label="联系电话" show-overflow-tooltip>
63 32
         </el-table-column>
64 33
         <el-table-column
@@ -67,12 +36,6 @@
67 36
           show-overflow-tooltip
68 37
         >
69 38
         </el-table-column>
70
-        <el-table-column
71
-          prop="last_login_time"
72
-          label="最后登录时间"
73
-          show-overflow-tooltip
74
-        >
75
-        </el-table-column>
76 39
       </el-table>
77 40
 
78 41
       <div class="pagin">
@@ -92,9 +55,8 @@
92 55
 
93 56
 <script>
94 57
 import api from "../../server/home";
95
-import selectPop from "./selectPop/index.vue";
96 58
 export default {
97
-  components: { selectPop },
59
+  components: {},
98 60
   data() {
99 61
     return {
100 62
       searchText: "",
@@ -114,87 +76,28 @@ export default {
114 76
       currentPage1: 1,
115 77
       multipleSelection: "",
116 78
       total: 0,
117
-      face: false, //未面诊用户开关
118
-      silence: false, //沉默用户开关
119
-      dialogVisible: false, // 控制筛选弹框
120
-      // 筛选框内的变量内容
121
-      customerKey: 0,
122
-      couponKey: 0,
123
-      cardKey: 0,
124
-      latelyKey: 0,
125
-      superpositionNum: 0,
126
-      StoredPrice: 0,
127
-      transitionNum: 0,
128
-      consumeprice:0,
129
-      resetPop:false, //设置筛选弹窗开关
130
-      key:1 //筛选弹框组件刷新加载
131 79
     };
132 80
   },
133 81
   computed: {},
134 82
   watch: {},
83
+
135 84
   methods: {
136
-    // 筛选其他条件
137
-    saveSelectList(
138
-      customerKey,
139
-      couponKey,
140
-      cardKey,
141
-      latelyKey,
142
-      superpositionNum,
143
-      StoredPrice,
144
-      transitionNum,
145
-      consumeprice,
146
-    ) {
147
-      (this.customerKey = customerKey),
148
-        (this.couponKey = couponKey),
149
-        (this.cardKey = cardKey),
150
-        (this.latelyKey = latelyKey),
151
-        (this.superpositionNum = superpositionNum),
152
-        (this.StoredPrice = StoredPrice),
153
-        (this.transitionNum = transitionNum),
154
-        this.consumeprice = consumeprice
155
-        this.getUserList();
156
-    },
157
-    // 筛选沉默用户
158
-    showSilence(e) {
159
-      this.getUserList();
160
-    },
161
-    // 筛选未面诊用户
162
-    showFace(e) {
163
-      this.getUserList();
164
-    },
165
-    // 打开筛选条件弹框
166
-    openFilterPop() {
167
-      this.dialogVisible = true;
168
-    },
169 85
     // 获取订单列表
170 86
     getUserList() {
171 87
       let params = {
172 88
         page: this.currentPage1,
173 89
         limit: this.limit,
174 90
         keywords: this.searchText,
175
-        silence_user: this.silence ? 1 : 0, //沉默付费用户1是显示 0是不显示
176
-        face_user: this.face ? 1 : 0, //显示未面诊付费用户 1是显示 0是不显示
177
-        tag: this.customerKey,
178
-        coupon_days: this.couponKey,
179
-        card_days: this.cardKey,
180
-        buying_time: this.latelyKey,
181
-        project_add: this.superpositionNum,
182
-        balance_money: this.StoredPrice,
183
-        change_add: this.transitionNum,
184
-        consume_money:this.consumeprice
185 91
       };
186
-      api.getUserPayList(params).then((res) => {
92
+      api.getUserList(params).then((res) => {
187 93
         if (res.code == 200) {
188 94
           // 将用户手机号中间四位变成****
189 95
           res.data.list.map((item) => {
190
-            if (item.mobile) {
191
-              item.mobile =
192
-                item.mobile.substring(0, 3) + "****" + item.mobile.substring(7);
193
-            }
96
+            item.mobile =
97
+              item.mobile.substring(0, 3) + "****" + item.mobile.substring(7);
194 98
           });
195 99
           this.tableData = res.data.list;
196 100
           this.total = res.data.total;
197
-          console.log(this.tableData);
198 101
         }
199 102
       });
200 103
     },
@@ -220,20 +123,6 @@ export default {
220 123
   },
221 124
 
222 125
   mounted() {},
223
-  // 不是客户详情页面返回重置数据
224
-  beforeRouteEnter(to, from, next) {
225
-    if (from.path != "/customerMan/details") {
226
-      next((vm)=>{
227
-        let key = vm.key
228
-        Object.assign(vm.$data, vm.$options.data());
229
-        vm.key=key+1 
230
-        vm.resetPop = true
231
-        vm.getUserList()
232
-      })
233
-    }else{
234
-      next()
235
-    }
236
-  },
237 126
 };
238 127
 </script>
239 128
 
@@ -257,35 +146,6 @@ export default {
257 146
       border-radius: 2px;
258 147
       border-color: #fa7d22;
259 148
     }
260
-    .silenceUser {
261
-      display: flex;
262
-      margin-left: 53px;
263
-      align-items: center;
264
-      .title {
265
-        line-height: 40px;
266
-        margin-right: 16px;
267
-      }
268
-    }
269
-    .faceUser {
270
-      display: flex;
271
-      margin-left: 53px;
272
-      align-items: center;
273
-      .title {
274
-        line-height: 40px;
275
-        margin-right: 16px;
276
-      }
277
-    }
278
-    .filter {
279
-      display: flex;
280
-      align-items: center;
281
-      margin-left: 53px;
282
-      .title {
283
-        margin-right: 17px;
284
-      }
285
-      i {
286
-        font-size: 17px;
287
-      }
288
-    }
289 149
   }
290 150
   .user-list {
291 151
     margin-top: 18px;

+ 3 - 130
src/pages/customerMan/myOrder/index.vue

@@ -79,12 +79,7 @@
79 79
                   <div>{{ scope.row.card_name | ellipsis(8) }}</div>
80 80
                 </template>
81 81
               </el-table-column>
82
-              <el-table-column
83
-                prop="total_num"
84
-                label="总次数"
85
-                show-overflow-tooltip
86
-                align="center"
87
-              >
82
+              <el-table-column prop="total_num" label="总次数" show-overflow-tooltip align="center">
88 83
               </el-table-column>
89 84
               <el-table-column
90 85
                 prop="num"
@@ -263,88 +258,6 @@ type: "全额券" -->
263 258
             </div>
264 259
           </div>
265 260
         </el-tab-pane>
266
-        <el-tab-pane label="余额记录" name="five">
267
-          <div class="user-list">
268
-            <el-table
269
-              ref="multipleTable"
270
-              :data="balanceListData"
271
-              tooltip-effect="dark"
272
-              height="354"
273
-              style="width: 100%; border-radius: 8px"
274
-            >
275
-              <el-table-column prop="goods" label="变更时间" width="200">
276
-                <template slot-scope="scope">
277
-                  <div>{{ scope.row.create_time }}</div>
278
-                </template>
279
-              </el-table-column>
280
-              <el-table-column prop="goods" label="变更前金额">
281
-                <template slot-scope="scope">
282
-                  <div>{{ scope.row.before_amount }}</div>
283
-                </template>
284
-              </el-table-column>
285
-              <el-table-column
286
-                prop="goods"
287
-                label="变更后金额"
288
-                show-overflow-tooltip
289
-              >
290
-                <template slot-scope="scope">
291
-                  <div>{{ scope.row.after_amount }}</div>
292
-                </template>
293
-              </el-table-column>
294
-              <el-table-column
295
-                prop="price"
296
-                label="变更金额"
297
-                show-overflow-tooltip
298
-              >
299
-                <template slot-scope="scope">
300
-                  <div>
301
-                    {{ scope.row.is_add == 1 ? "+" : "-" }}{{ scope.row.amount }}
302
-                  </div>
303
-                </template>
304
-              </el-table-column>
305
-              <!-- <el-table-column prop="status" label="状态" show-overflow-tooltip>
306
-                <template slot-scope="scope">
307
-                  <div>{{ scope.row.msg }}</div>
308
-                </template>
309
-              </el-table-column> -->
310
-              <!--  余额类型(记录类型,1充值,2充值赠送,3订单退款,5提现驳回,-1消费,-2提现冻结,10客服添加,-10客服扣除) -->
311
-              <el-table-column prop="status" label="类型" show-overflow-tooltip>
312
-                <template slot-scope="scope">
313
-                  <div>
314
-                    {{
315
-                      scope.row.type == 1
316
-                        ? "充值"
317
-                        : scope.row.type == 2
318
-                        ? "充值赠送"
319
-                        : scope.row.type == 3
320
-                        ? "订单退款"
321
-                        : scope.row.type == 5
322
-                        ? "提现驳回"
323
-                        : scope.row.type == -1
324
-                        ? "消费"
325
-                        : scope.row.type == -2
326
-                        ? "提现冻结"
327
-                        : scope.row.type == 10
328
-                        ? "客服添加"
329
-                        : scope.row.type == -10
330
-                        ? "客服扣除"
331
-                        : ""
332
-                    }}
333
-                  </div>
334
-                </template>
335
-              </el-table-column>
336
-            </el-table>
337
-            <div class="pagin">
338
-              <el-pagination
339
-                background
340
-                layout="prev, pager, next"
341
-                @current-change="handleCurrentChange"
342
-                :current-page.sync="currentPage1"
343
-                :total="total"
344
-              ></el-pagination>
345
-            </div>
346
-          </div>
347
-        </el-tab-pane>
348 261
       </el-tabs>
349 262
     </div>
350 263
     <!-- 次卡详情 -->
@@ -467,7 +380,6 @@ export default {
467 380
       cardInfo: {}, //订单详情
468 381
       cardLogList: [], //次卡消耗记录
469 382
       cardListData: [], //用户次卡列表
470
-      balanceListData: [], //用户余额变更记录
471 383
     };
472 384
   },
473 385
   computed: {},
@@ -584,20 +496,6 @@ export default {
584 496
         this.total = resp.data.total;
585 497
       }
586 498
     },
587
-    // 获取余额变更记录
588
-    async getBalanceRecord() {
589
-      let params = {
590
-        page: this.currentPage1,
591
-        limit: this.limit,
592
-        id: this.id,
593
-      };
594
-      let resp = await api.getBalanceRecord(params);
595
-      if (resp.code === 200) {
596
-        console.log(resp, "asdasdasd");
597
-        this.balanceListData = resp.data.list;
598
-        this.total = resp.data.count;
599
-      }
600
-    },
601 499
     handleCurrentChange(val) {
602 500
       this.currentPage1 = val;
603 501
       if (this.activeName == "first") {
@@ -609,8 +507,6 @@ export default {
609 507
         this.getUserGoods();
610 508
       } else if (this.activeName == "fourth") {
611 509
         this.getUserCoupon();
612
-      } else if (this.activeName == "five") {
613
-        this.getBalanceRecord();
614 510
       }
615 511
     },
616 512
     handleSelectionChange(row, column, event) {
@@ -625,7 +521,6 @@ export default {
625 521
     submitFrequency() {},
626 522
     changeTab(e) {
627 523
       this.currentPage1 = 1;
628
-      console.log(this.currentPage1);
629 524
       if (e.index == 0) {
630 525
         this.getUserProject();
631 526
       } else if (e.index == 1) {
@@ -635,8 +530,6 @@ export default {
635 530
         this.getUserGoods();
636 531
       } else if (e.index == 3) {
637 532
         this.getUserCoupon();
638
-      } else if (e.index == 4) {
639
-        this.getBalanceRecord();
640 533
       }
641 534
     },
642 535
   },
@@ -653,28 +546,8 @@ export default {
653 546
       this.getCardList();
654 547
     } else if (this.activeName == "third") {
655 548
       this.getUserGoods();
656
-    } else if (this.activeName == "fourth") {
657
-      this.getUserCoupon();
658
-    } else if (this.activeName == "five") {
659
-      this.getBalanceRecord();
660
-    }
661
-  },
662
-  activated(){
663
-    let id = this.$route.query.id;
664
-    let activeName = this.$route.query.activeName;
665
-    this.activeName = activeName;
666
-    this.id = id;
667
-    if (this.activeName == "first") {
668
-      this.getUserProject();
669
-    } else if (this.activeName == "second") {
670
-      // this.getCardOrders();
671
-      this.getCardList();
672
-    } else if (this.activeName == "third") {
673
-      this.getUserGoods();
674
-    } else if (this.activeName == "fourth") {
675
-      this.getUserCoupon();
676
-    } else if (this.activeName == "five") {
677
-      this.getBalanceRecord();
549
+    }else if (this.activeName == 'fourth'){
550
+      this.getUserCoupon()
678 551
     }
679 552
   },
680 553
 

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 1266 - 0
src/pages/payUser/details/index.vue


+ 326 - 0
src/pages/payUser/index.vue

@@ -0,0 +1,326 @@
1
+<template>
2
+  <div class="mine">
3
+    <div class="condition">
4
+      <el-input placeholder="请输入内容" class="search" v-model="searchText">
5
+        <i slot="prefix" class="el-input__icon el-icon-search"></i>
6
+      </el-input>
7
+      <el-button type="primary" class="searchButton" @click="getUserList()"
8
+        >搜索</el-button
9
+      >
10
+      <div class="silenceUser">
11
+        <div class="title">显示沉默付费用户</div>
12
+        <el-switch
13
+          v-model="silence"
14
+          active-color="#fa7d22"
15
+          inactive-color="#e7e7e7"
16
+          @change="showSilence"
17
+        >
18
+        </el-switch>
19
+      </div>
20
+      <div class="faceUser">
21
+        <div class="title">显示未面诊付费用户</div>
22
+        <el-switch
23
+          v-model="face"
24
+          active-color="#fa7d22"
25
+          inactive-color="#e7e7e7"
26
+          @change="showFace"
27
+        >
28
+        </el-switch>
29
+      </div>
30
+      <div class="filter">
31
+        <div class="title">筛选</div>
32
+        <i @click="openFilterPop" class="el-icon-s-operation"></i>
33
+      </div>
34
+      <!-- 筛选条件弹窗 -->
35
+      <select-pop
36
+        :visible.sync="dialogVisible"
37
+        @saveSelectList="saveSelectList"
38
+        :resetPop='resetPop'
39
+        :key='key'
40
+      ></select-pop>
41
+    </div>
42
+
43
+    <div class="user-list">
44
+      <el-table
45
+        ref="multipleTable"
46
+        :data="tableData"
47
+        tooltip-effect="dark"
48
+        height="500"
49
+        style="width: 100%; border-radius: 8px"
50
+        @row-click="handleSelectionChange"
51
+      >
52
+        <el-table-column label="头像" width="120">
53
+          <template slot-scope="scope">
54
+            <div class="head-img">
55
+              <img :src="scope.row.avatar_url" alt="" />
56
+            </div>
57
+          </template>
58
+        </el-table-column>
59
+        <el-table-column prop="nickname" label="昵称" width="120">
60
+        </el-table-column>
61
+        <el-table-column prop="id" label="用户ID" width="120"></el-table-column>
62
+        <el-table-column prop="mobile" label="联系电话" show-overflow-tooltip>
63
+        </el-table-column>
64
+        <el-table-column
65
+          prop="create_time"
66
+          label="注册时间"
67
+          show-overflow-tooltip
68
+        >
69
+        </el-table-column>
70
+        <el-table-column
71
+          prop="last_login_time"
72
+          label="最后登录时间"
73
+          show-overflow-tooltip
74
+        >
75
+        </el-table-column>
76
+      </el-table>
77
+
78
+      <div class="pagin">
79
+        <el-pagination
80
+          background
81
+          layout="prev, pager, next"
82
+          @size-change="handleSizeChange"
83
+          @current-change="handleCurrentChange"
84
+          :current-page.sync="currentPage1"
85
+          :total="total"
86
+        >
87
+        </el-pagination>
88
+      </div>
89
+    </div>
90
+  </div>
91
+</template>
92
+
93
+<script>
94
+import api from "../../server/home";
95
+import selectPop from "./selectPop/index.vue";
96
+export default {
97
+  components: { selectPop },
98
+  data() {
99
+    return {
100
+      searchText: "",
101
+      dates: "",
102
+      coupon: "",
103
+      couponList: [
104
+        {
105
+          value: "选项1",
106
+          label: "黄金糕",
107
+        },
108
+        {
109
+          value: "选项2",
110
+          label: "双皮奶",
111
+        },
112
+      ],
113
+      tableData: [],
114
+      currentPage1: 1,
115
+      multipleSelection: "",
116
+      total: 0,
117
+      face: false, //未面诊用户开关
118
+      silence: false, //沉默用户开关
119
+      dialogVisible: false, // 控制筛选弹框
120
+      // 筛选框内的变量内容
121
+      customerKey: 0,
122
+      couponKey: 0,
123
+      cardKey: 0,
124
+      latelyKey: 0,
125
+      superpositionNum: 0,
126
+      StoredPrice: 0,
127
+      transitionNum: 0,
128
+      consumeprice:0,
129
+      resetPop:false, //设置筛选弹窗开关
130
+      key:1 //筛选弹框组件刷新加载
131
+    };
132
+  },
133
+  computed: {},
134
+  watch: {},
135
+  methods: {
136
+    // 筛选其他条件
137
+    saveSelectList(
138
+      customerKey,
139
+      couponKey,
140
+      cardKey,
141
+      latelyKey,
142
+      superpositionNum,
143
+      StoredPrice,
144
+      transitionNum,
145
+      consumeprice,
146
+    ) {
147
+      (this.customerKey = customerKey),
148
+        (this.couponKey = couponKey),
149
+        (this.cardKey = cardKey),
150
+        (this.latelyKey = latelyKey),
151
+        (this.superpositionNum = superpositionNum),
152
+        (this.StoredPrice = StoredPrice),
153
+        (this.transitionNum = transitionNum),
154
+        this.consumeprice = consumeprice
155
+        this.getUserList();
156
+    },
157
+    // 筛选沉默用户
158
+    showSilence(e) {
159
+      this.getUserList();
160
+    },
161
+    // 筛选未面诊用户
162
+    showFace(e) {
163
+      this.getUserList();
164
+    },
165
+    // 打开筛选条件弹框
166
+    openFilterPop() {
167
+      this.dialogVisible = true;
168
+    },
169
+    // 获取订单列表
170
+    getUserList() {
171
+      let params = {
172
+        page: this.currentPage1,
173
+        limit: this.limit,
174
+        keywords: this.searchText,
175
+        silence_user: this.silence ? 1 : 0, //沉默付费用户1是显示 0是不显示
176
+        face_user: this.face ? 1 : 0, //显示未面诊付费用户 1是显示 0是不显示
177
+        tag: this.customerKey,
178
+        coupon_days: this.couponKey,
179
+        card_days: this.cardKey,
180
+        buying_time: this.latelyKey,
181
+        project_add: this.superpositionNum,
182
+        balance_money: this.StoredPrice,
183
+        change_add: this.transitionNum,
184
+        consume_money:this.consumeprice
185
+      };
186
+      api.getUserPayList(params).then((res) => {
187
+        if (res.code == 200) {
188
+          // 将用户手机号中间四位变成****
189
+          res.data.list.map((item) => {
190
+            if (item.mobile) {
191
+              item.mobile =
192
+                item.mobile.substring(0, 3) + "****" + item.mobile.substring(7);
193
+            }
194
+          });
195
+          this.tableData = res.data.list;
196
+          this.total = res.data.total;
197
+          console.log(this.tableData);
198
+        }
199
+      });
200
+    },
201
+
202
+    handleCurrentChange(e) {
203
+      this.currentPage1 = e;
204
+      this.getUserList();
205
+    },
206
+
207
+    handleSizeChange(val) {},
208
+    handleSelectionChange(row, column, event) {
209
+      this.$router.push({
210
+        path: "/payUser/details",
211
+        query: {
212
+          id: row.id,
213
+        },
214
+      });
215
+    },
216
+  },
217
+
218
+  created() {
219
+    this.getUserList();
220
+  },
221
+
222
+  mounted() {},
223
+  // 不是客户详情页面返回重置数据
224
+  beforeRouteEnter(to, from, next) {
225
+    if (from.path != "/payUser/details") {
226
+      next((vm)=>{
227
+        let key = vm.key
228
+        Object.assign(vm.$data, vm.$options.data());
229
+        vm.key=key+1 
230
+        vm.resetPop = true
231
+        vm.getUserList()
232
+      })
233
+    }else{
234
+      next()
235
+    }
236
+  },
237
+};
238
+</script>
239
+
240
+<style lang='less' scoped>
241
+.mine {
242
+  .condition {
243
+    display: flex;
244
+    .coupon-select {
245
+      width: 174px;
246
+      margin-left: 18px;
247
+    }
248
+    .search {
249
+      width: 152px;
250
+      margin-left: 18px;
251
+    }
252
+
253
+    .searchButton {
254
+      margin-left: 18px;
255
+      width: 68px;
256
+      background: #fa7d22;
257
+      border-radius: 2px;
258
+      border-color: #fa7d22;
259
+    }
260
+    .silenceUser {
261
+      display: flex;
262
+      margin-left: 53px;
263
+      align-items: center;
264
+      .title {
265
+        line-height: 40px;
266
+        margin-right: 16px;
267
+      }
268
+    }
269
+    .faceUser {
270
+      display: flex;
271
+      margin-left: 53px;
272
+      align-items: center;
273
+      .title {
274
+        line-height: 40px;
275
+        margin-right: 16px;
276
+      }
277
+    }
278
+    .filter {
279
+      display: flex;
280
+      align-items: center;
281
+      margin-left: 53px;
282
+      .title {
283
+        margin-right: 17px;
284
+      }
285
+      i {
286
+        font-size: 17px;
287
+      }
288
+    }
289
+  }
290
+  .user-list {
291
+    margin-top: 18px;
292
+    padding: 0 12px;
293
+    width: 100%;
294
+    background: #ffffff;
295
+    box-shadow: 0px 2px 4px 0px rgba(184, 191, 198, 0.2);
296
+    border-radius: 8px;
297
+    .head-img {
298
+      width: 36px;
299
+      height: 36px;
300
+      border-radius: 50%;
301
+
302
+      img {
303
+        width: 100%;
304
+        height: 100%;
305
+      }
306
+    }
307
+    .pagin {
308
+      padding: 20px 0;
309
+      .el-pagination {
310
+        text-align: center;
311
+      }
312
+    }
313
+    /deep/ .el-table th > .cell {
314
+      font-size: 14px !important;
315
+      font-family: PingFangSC-Regular, PingFang SC;
316
+      font-weight: 400;
317
+      color: #999999;
318
+      line-height: 20px;
319
+    }
320
+    /deep/ .el-table td,
321
+    .el-table th.is-leaf {
322
+      border-bottom: none;
323
+    }
324
+  }
325
+}
326
+</style>

+ 859 - 0
src/pages/payUser/myOrder/index.vue

@@ -0,0 +1,859 @@
1
+<template>
2
+  <div class="order">
3
+    <div class="warp">
4
+      <el-tabs type="border-card" @tab-click="changeTab" v-model="activeName">
5
+        <el-tab-pane label="项目订单" name="first">
6
+          <div class="user-list">
7
+            <el-table
8
+              ref="multipleTable"
9
+              :data="projectData"
10
+              tooltip-effect="dark"
11
+              height="354"
12
+              style="width: 100%; border-radius: 8px"
13
+              @row-click="handleSelectionChange"
14
+            >
15
+              <el-table-column prop="goods" label="项目名称" width="200">
16
+                <template slot-scope="scope">
17
+                  <div v-for="(val, index) in scope.row.goods" :key="index">
18
+                    <div>{{ val.name }}</div>
19
+                  </div>
20
+                </template>
21
+              </el-table-column>
22
+              <el-table-column prop="goods" label="数量" show-overflow-tooltip>
23
+                <template slot-scope="scope">
24
+                  <div>{{ scope.row.goods.length }}</div>
25
+                </template>
26
+              </el-table-column>
27
+              <el-table-column
28
+                prop="price"
29
+                label="总价格"
30
+                show-overflow-tooltip
31
+              ></el-table-column>
32
+              <el-table-column
33
+                prop="order_time"
34
+                label="预约时间"
35
+                width="180"
36
+                show-overflow-tooltip
37
+              ></el-table-column>
38
+              <el-table-column
39
+                prop="store_name"
40
+                label="预约店铺"
41
+                show-overflow-tooltip
42
+              ></el-table-column>
43
+              <el-table-column prop="status" label="状态" show-overflow-tooltip>
44
+                <template slot-scope="scope">
45
+                  <div :class="'color' + scope.row.status">
46
+                    {{
47
+                      scope.row.status != 5
48
+                        ? statusStr[scope.row.status]
49
+                        : statusStr[statusStr.length - 1]
50
+                    }}
51
+                  </div>
52
+                </template>
53
+              </el-table-column>
54
+            </el-table>
55
+
56
+            <div class="pagin">
57
+              <el-pagination
58
+                background
59
+                layout="prev, pager, next"
60
+                @current-change="handleCurrentChange"
61
+                :current-page.sync="currentPage1"
62
+                :total="total"
63
+              ></el-pagination>
64
+            </div>
65
+          </div>
66
+        </el-tab-pane>
67
+        <el-tab-pane label="次卡订单" name="second">
68
+          <div class="user-list">
69
+            <el-table
70
+              ref="multipleTable"
71
+              :data="cardListData"
72
+              tooltip-effect="dark"
73
+              height="354"
74
+              @row-click="openDetail"
75
+              style="width: 100%; border-radius: 8px"
76
+            >
77
+              <el-table-column prop="card_name" label="卡券名称" width="200">
78
+                <template slot-scope="scope">
79
+                  <div>{{ scope.row.card_name | ellipsis(8) }}</div>
80
+                </template>
81
+              </el-table-column>
82
+              <el-table-column
83
+                prop="total_num"
84
+                label="总次数"
85
+                show-overflow-tooltip
86
+                align="center"
87
+              >
88
+              </el-table-column>
89
+              <el-table-column
90
+                prop="num"
91
+                label="剩余次数"
92
+                show-overflow-tooltip
93
+                align="center"
94
+              ></el-table-column>
95
+              <el-table-column
96
+                prop="used_num"
97
+                label="已用次数"
98
+                width="180"
99
+                show-overflow-tooltip
100
+                align="center"
101
+              ></el-table-column>
102
+              <el-table-column
103
+                prop="expir_time"
104
+                label="过期时间"
105
+                width="180"
106
+                show-overflow-tooltip
107
+              ></el-table-column>
108
+              <el-table-column
109
+                prop="create_time"
110
+                label="创建时间"
111
+                width="180"
112
+                show-overflow-tooltip
113
+              ></el-table-column>
114
+              <el-table-column prop="status" label="状态" show-overflow-tooltip>
115
+                <template slot-scope="scope">
116
+                  <div :class="'color' + scope.row.status">
117
+                    {{
118
+                      scope.row.status == -1
119
+                        ? "已过期"
120
+                        : scope.row.status == -0
121
+                        ? "已使用"
122
+                        : "待使用"
123
+                    }}
124
+                  </div>
125
+                </template>
126
+              </el-table-column>
127
+            </el-table>
128
+
129
+            <div class="pagin">
130
+              <el-pagination
131
+                background
132
+                layout="prev, pager, next"
133
+                @current-change="handleCurrentChange"
134
+                :current-page.sync="currentPage1"
135
+                :total="total"
136
+              ></el-pagination>
137
+            </div>
138
+          </div>
139
+        </el-tab-pane>
140
+
141
+        <el-tab-pane label="商品订单" name="third">
142
+          <div class="user-list">
143
+            <el-table
144
+              ref="multipleTable"
145
+              :data="goodData"
146
+              tooltip-effect="dark"
147
+              height="354"
148
+              style="width: 100%; border-radius: 8px"
149
+            >
150
+              <!-- create_time: "2022-03-19 22:53:40"
151
+goods: [{order_id: 47, name: "润百颜玻尿酸屏障调理面膜", num: 1}]
152
+id: 47
153
+price: "0.01"
154
+status: 5 -->
155
+
156
+              <el-table-column prop="goods" label="商品名称" width="200">
157
+                <template slot-scope="scope">
158
+                  <div v-for="(val, index) in scope.row.goods" :key="index">
159
+                    <div>{{ val.name }}</div>
160
+                  </div>
161
+                </template>
162
+              </el-table-column>
163
+              <el-table-column prop="goods" label="数量" show-overflow-tooltip>
164
+                <template slot-scope="scope">
165
+                  <div>{{ scope.row.goods.length }}</div>
166
+                </template>
167
+              </el-table-column>
168
+              <el-table-column
169
+                prop="price"
170
+                label="实付款"
171
+                show-overflow-tooltip
172
+              ></el-table-column>
173
+              <el-table-column
174
+                prop="create_time"
175
+                label="下单时间"
176
+                width="180"
177
+                show-overflow-tooltip
178
+              ></el-table-column>
179
+              <el-table-column prop="status" label="状态" show-overflow-tooltip>
180
+                <template slot-scope="scope">
181
+                  <div :class="'classShow' + scope.$index">
182
+                    {{
183
+                      scope.row.status == 1 || scope.row.status == 2
184
+                        ? goodStatus[scope.row.status]
185
+                        : goodStatus[goodStatus.length - 1]
186
+                    }}
187
+                  </div>
188
+                </template>
189
+              </el-table-column>
190
+            </el-table>
191
+
192
+            <div class="pagin">
193
+              <el-pagination
194
+                background
195
+                layout="prev, pager, next"
196
+                @current-change="handleCurrentChange"
197
+                :current-page.sync="currentPage1"
198
+                :total="total"
199
+              ></el-pagination>
200
+            </div>
201
+          </div>
202
+        </el-tab-pane>
203
+        <el-tab-pane label="优惠券" name="fourth">
204
+          <div class="user-list">
205
+            <el-table
206
+              ref="multipleTable"
207
+              :data="couponData"
208
+              tooltip-effect="dark"
209
+              height="354"
210
+              style="width: 100%; border-radius: 8px"
211
+            >
212
+              <!-- create_time: "2022-03-10 10:39:19"
213
+ex_time: "2022.03.17 23:59"
214
+id: 2517
215
+name: "新人体验券"
216
+status: 2
217
+type: "全额券" -->
218
+
219
+              <el-table-column
220
+                prop="name"
221
+                label="卡卷名称"
222
+                width="200"
223
+              ></el-table-column>
224
+              <el-table-column
225
+                prop="type"
226
+                label="卡卷类型"
227
+                show-overflow-tooltip
228
+              ></el-table-column>
229
+              <el-table-column
230
+                prop="price"
231
+                label="总价格"
232
+                show-overflow-tooltip
233
+              ></el-table-column>
234
+              <el-table-column
235
+                prop="create_time"
236
+                label="到期时间"
237
+                width="180"
238
+                show-overflow-tooltip
239
+              ></el-table-column>
240
+              <el-table-column
241
+                prop="create_time"
242
+                label="创建时间"
243
+                width="180"
244
+                show-overflow-tooltip
245
+              ></el-table-column>
246
+              <el-table-column prop="status" label="状态" show-overflow-tooltip>
247
+                <template slot-scope="scope">
248
+                  <div :class="'color' + scope.row.status">
249
+                    {{ couponStatus[scope.row.status] }}
250
+                  </div>
251
+                </template>
252
+              </el-table-column>
253
+            </el-table>
254
+
255
+            <div class="pagin">
256
+              <el-pagination
257
+                background
258
+                layout="prev, pager, next"
259
+                @current-change="handleCurrentChange"
260
+                :current-page.sync="currentPage1"
261
+                :total="total"
262
+              ></el-pagination>
263
+            </div>
264
+          </div>
265
+        </el-tab-pane>
266
+        <el-tab-pane label="余额记录" name="five">
267
+          <div class="user-list">
268
+            <el-table
269
+              ref="multipleTable"
270
+              :data="balanceListData"
271
+              tooltip-effect="dark"
272
+              height="354"
273
+              style="width: 100%; border-radius: 8px"
274
+            >
275
+              <el-table-column prop="goods" label="变更时间" width="200">
276
+                <template slot-scope="scope">
277
+                  <div>{{ scope.row.create_time }}</div>
278
+                </template>
279
+              </el-table-column>
280
+              <el-table-column prop="goods" label="变更前金额">
281
+                <template slot-scope="scope">
282
+                  <div>{{ scope.row.before_amount }}</div>
283
+                </template>
284
+              </el-table-column>
285
+              <el-table-column
286
+                prop="goods"
287
+                label="变更后金额"
288
+                show-overflow-tooltip
289
+              >
290
+                <template slot-scope="scope">
291
+                  <div>{{ scope.row.after_amount }}</div>
292
+                </template>
293
+              </el-table-column>
294
+              <el-table-column
295
+                prop="price"
296
+                label="变更金额"
297
+                show-overflow-tooltip
298
+              >
299
+                <template slot-scope="scope">
300
+                  <div>
301
+                    {{ scope.row.is_add == 1 ? "+" : "-" }}{{ scope.row.amount }}
302
+                  </div>
303
+                </template>
304
+              </el-table-column>
305
+              <!-- <el-table-column prop="status" label="状态" show-overflow-tooltip>
306
+                <template slot-scope="scope">
307
+                  <div>{{ scope.row.msg }}</div>
308
+                </template>
309
+              </el-table-column> -->
310
+              <!--  余额类型(记录类型,1充值,2充值赠送,3订单退款,5提现驳回,-1消费,-2提现冻结,10客服添加,-10客服扣除) -->
311
+              <el-table-column prop="status" label="类型" show-overflow-tooltip>
312
+                <template slot-scope="scope">
313
+                  <div>
314
+                    {{
315
+                      scope.row.type == 1
316
+                        ? "充值"
317
+                        : scope.row.type == 2
318
+                        ? "充值赠送"
319
+                        : scope.row.type == 3
320
+                        ? "订单退款"
321
+                        : scope.row.type == 5
322
+                        ? "提现驳回"
323
+                        : scope.row.type == -1
324
+                        ? "消费"
325
+                        : scope.row.type == -2
326
+                        ? "提现冻结"
327
+                        : scope.row.type == 10
328
+                        ? "客服添加"
329
+                        : scope.row.type == -10
330
+                        ? "客服扣除"
331
+                        : ""
332
+                    }}
333
+                  </div>
334
+                </template>
335
+              </el-table-column>
336
+            </el-table>
337
+            <div class="pagin">
338
+              <el-pagination
339
+                background
340
+                layout="prev, pager, next"
341
+                @current-change="handleCurrentChange"
342
+                :current-page.sync="currentPage1"
343
+                :total="total"
344
+              ></el-pagination>
345
+            </div>
346
+          </div>
347
+        </el-tab-pane>
348
+      </el-tabs>
349
+    </div>
350
+    <!-- 次卡详情 -->
351
+    <mine-pupop :show="isPore">
352
+      <div class="pore-block">
353
+        <div class="delete-pupop" @click="isPore = false">
354
+          <img
355
+            src="https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/icon/slices/delete.png"
356
+            alt
357
+          />
358
+        </div>
359
+        <div class="pore-content">
360
+          <div class="card-title">订单详情</div>
361
+          <div class="project">
362
+            <div class="project-title">项目名称:</div>
363
+            <div class="project-list">
364
+              <div
365
+                class="project-info"
366
+                v-for="(item, index) in cardInfo.project_list"
367
+                :key="index"
368
+              >
369
+                <div class="name-text">{{ item.project_name }}</div>
370
+                <div class="change-num">
371
+                  <div class="num-content">
372
+                    <div class="content-left" @click="reduce(index)">-</div>
373
+                    <div class="content-num">{{ item.num || 0 }}</div>
374
+                    <div class="content-right" @click="item.num++">+</div>
375
+                  </div>
376
+                </div>
377
+              </div>
378
+            </div>
379
+          </div>
380
+          <div class="common">
381
+            <span class="common-title">支付方式:</span
382
+            ><span>{{ cardInfo.pay_way }}</span>
383
+          </div>
384
+          <div class="common">
385
+            <span class="common-title">有效期限:</span
386
+            ><span>{{ cardInfo.ex_time }}</span>
387
+          </div>
388
+          <div class="common">
389
+            <span class="common-title">实付金额:</span
390
+            ><span>¥{{ cardInfo.price }}</span>
391
+          </div>
392
+          <div class="consume-list">
393
+            <div class="consume-title">消耗信息:</div>
394
+            <div
395
+              class="consume-info min-size"
396
+              v-for="(item, index) in cardLogList"
397
+              :key="index"
398
+            >
399
+              <div class="shop">{{ item.store_name }}</div>
400
+              <div class="project-tips">{{ item.remark }}</div>
401
+              <div class="project-ts">{{ item.create_time }}</div>
402
+            </div>
403
+          </div>
404
+        </div>
405
+        <div class="confirm" @click="confirm">确定</div>
406
+      </div>
407
+    </mine-pupop>
408
+  </div>
409
+</template>
410
+
411
+<script>
412
+import api from "../../../server/home";
413
+import minePupop from "../../../components/minePupop/index.vue";
414
+
415
+export default {
416
+  components: {
417
+    minePupop,
418
+  },
419
+  data() {
420
+    return {
421
+      couponList: [
422
+        {
423
+          value: "选项1",
424
+          label: "黄金糕",
425
+        },
426
+        {
427
+          value: "选项2",
428
+          label: "双皮奶",
429
+        },
430
+      ],
431
+      tableData: [
432
+        {
433
+          date: "2022.04.25  14:30",
434
+          name: "滴滴滴",
435
+          headImg:
436
+            "https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/home/unpaid.png",
437
+          phone: "13346783645",
438
+          numberList: 2,
439
+          price: 100,
440
+          shop: "运用店",
441
+          status: 2,
442
+        },
443
+        {
444
+          date: "2022.04.25  14:30",
445
+          name: "滴滴滴",
446
+          headImg:
447
+            "https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/home/unpaid.png",
448
+          phone: "13346783645",
449
+          numberList: 5,
450
+          price: 800,
451
+          shop: "武昌店",
452
+          status: 1,
453
+        },
454
+      ],
455
+      statusStr: ["未支付", "待使用", "正在使用", "已结算", "已取消"],
456
+      couponStatus: ["待使用", "已使用", "已过期"],
457
+      goodStatus: ["未支付", "已支付", "已取货"],
458
+      activeName: "first",
459
+      currentPage1: 1,
460
+      couponData: [],
461
+      goodData: [],
462
+      projectData: [],
463
+      cardOrderData: [],
464
+      total: 100,
465
+      limit: 10,
466
+      isPore: false,
467
+      cardInfo: {}, //订单详情
468
+      cardLogList: [], //次卡消耗记录
469
+      cardListData: [], //用户次卡列表
470
+      balanceListData: [], //用户余额变更记录
471
+    };
472
+  },
473
+  computed: {},
474
+  watch: {},
475
+
476
+  methods: {
477
+    // 获取优惠券订单
478
+    getUserCoupon() {
479
+      let params = {
480
+        page: this.currentPage1,
481
+        limit: this.limit,
482
+        id: this.id,
483
+      };
484
+      api.getUserCoupon(params).then((res) => {
485
+        this.couponData = res.data.list;
486
+        this.total = res.data.total;
487
+      });
488
+    },
489
+    reduce(index) {
490
+      this.cardInfo.project_list[index].num--;
491
+      if (this.cardInfo.project_list[index].num < 0) {
492
+        this.cardInfo.project_list[index].num = 0;
493
+      }
494
+    },
495
+    //次卡订单详情
496
+    openDetail(row, column, event) {
497
+      this.isPore = true;
498
+      api.cardInfo({ id: row.id }).then((res) => {
499
+        if (res.code == 200) {
500
+          this.cardInfo = res.data;
501
+        }
502
+      });
503
+      api.cardLog({ id: row.id }).then((res) => {
504
+        if (res.code == 200) {
505
+          this.cardLogList = res.data.list;
506
+        }
507
+      });
508
+    },
509
+    confirm() {
510
+      // 项目ID,json字符,格式如:[{"project_id":"10","num":5}],project_id:适用项目ID,num:剩余次数
511
+      let project_data = [],
512
+        project_info = {};
513
+      this.cardInfo.project_list.forEach((res) => {
514
+        project_info = {
515
+          project_id: res.id,
516
+          num: res.num,
517
+        };
518
+        project_data.push(project_info);
519
+      });
520
+      api
521
+        .cardUpdate({
522
+          id: this.cardInfo.id,
523
+          project_data: JSON.stringify(project_data),
524
+        })
525
+        .then((res) => {
526
+          if (res.code == 200) {
527
+            this.$message.success("更改成功!");
528
+            this.isPore = false;
529
+          }
530
+        });
531
+    },
532
+
533
+    // 获取商品订单
534
+    getUserGoods() {
535
+      let params = {
536
+        page: this.currentPage1,
537
+        limit: this.limit,
538
+        id: this.id,
539
+      };
540
+      api.getUserGoods(params).then((res) => {
541
+        this.goodData = res.data.list;
542
+        this.total = res.data.total;
543
+      });
544
+    },
545
+
546
+    // 获取获取项目订单
547
+    getUserProject() {
548
+      let params = {
549
+        page: this.currentPage1,
550
+        limit: this.limit,
551
+        id: this.id,
552
+      };
553
+      api.getUserProject(params).then((res) => {
554
+        this.projectData = res.data.list;
555
+        this.total = res.data.total;
556
+      });
557
+    },
558
+
559
+    // 获取卡券订单
560
+    // async getCardOrders() {
561
+    //   let params = {
562
+    //     page: this.currentPage1,
563
+    //     limit: this.limit,
564
+    //     id: this.id,
565
+    //   };
566
+    //   let resp = await api.getCardOrders(params);
567
+    //   if (resp.code === 200) {
568
+    //     console.log(resp, "adadasdasdadsadsadasd");
569
+    //     this.cardOrderData = resp.data.list;
570
+    //     this.total = resp.data.total;
571
+    //   }
572
+    // },
573
+    //获取用户次卡列表
574
+    async getCardList() {
575
+      let params = {
576
+        page: this.currentPage1,
577
+        limit: this.limit,
578
+        id: this.id,
579
+      };
580
+      let resp = await api.getCardList(params);
581
+      if (resp.code === 200) {
582
+        console.log(resp, "asdasdasd");
583
+        this.cardListData = resp.data.list;
584
+        this.total = resp.data.total;
585
+      }
586
+    },
587
+    // 获取余额变更记录
588
+    async getBalanceRecord() {
589
+      let params = {
590
+        page: this.currentPage1,
591
+        limit: this.limit,
592
+        id: this.id,
593
+      };
594
+      let resp = await api.getBalanceRecord(params);
595
+      if (resp.code === 200) {
596
+        console.log(resp, "asdasdasd");
597
+        this.balanceListData = resp.data.list;
598
+        this.total = resp.data.count;
599
+      }
600
+    },
601
+    handleCurrentChange(val) {
602
+      this.currentPage1 = val;
603
+      if (this.activeName == "first") {
604
+        this.getUserProject();
605
+      } else if (this.activeName == "second") {
606
+        // this.getCardOrders();
607
+        this.getCardList();
608
+      } else if (this.activeName == "third") {
609
+        this.getUserGoods();
610
+      } else if (this.activeName == "fourth") {
611
+        this.getUserCoupon();
612
+      } else if (this.activeName == "five") {
613
+        this.getBalanceRecord();
614
+      }
615
+    },
616
+    handleSelectionChange(row, column, event) {
617
+      this.$router.push({
618
+        path: "/historicalOrder/details",
619
+        query: {
620
+          id: row.id,
621
+        },
622
+      });
623
+    },
624
+    onSubmit() {},
625
+    submitFrequency() {},
626
+    changeTab(e) {
627
+      this.currentPage1 = 1;
628
+      console.log(this.currentPage1);
629
+      if (e.index == 0) {
630
+        this.getUserProject();
631
+      } else if (e.index == 1) {
632
+        // this.getCardOrders();
633
+        this.getCardList();
634
+      } else if (e.index == 2) {
635
+        this.getUserGoods();
636
+      } else if (e.index == 3) {
637
+        this.getUserCoupon();
638
+      } else if (e.index == 4) {
639
+        this.getBalanceRecord();
640
+      }
641
+    },
642
+  },
643
+
644
+  created() {
645
+    let id = this.$route.query.id;
646
+    let activeName = this.$route.query.activeName;
647
+    this.activeName = activeName;
648
+    this.id = id;
649
+    if (this.activeName == "first") {
650
+      this.getUserProject();
651
+    } else if (this.activeName == "second") {
652
+      // this.getCardOrders();
653
+      this.getCardList();
654
+    } else if (this.activeName == "third") {
655
+      this.getUserGoods();
656
+    } else if (this.activeName == "fourth") {
657
+      this.getUserCoupon();
658
+    } else if (this.activeName == "five") {
659
+      this.getBalanceRecord();
660
+    }
661
+  },
662
+  activated(){
663
+    let id = this.$route.query.id;
664
+    let activeName = this.$route.query.activeName;
665
+    this.activeName = activeName;
666
+    this.id = id;
667
+    if (this.activeName == "first") {
668
+      this.getUserProject();
669
+    } else if (this.activeName == "second") {
670
+      // this.getCardOrders();
671
+      this.getCardList();
672
+    } else if (this.activeName == "third") {
673
+      this.getUserGoods();
674
+    } else if (this.activeName == "fourth") {
675
+      this.getUserCoupon();
676
+    } else if (this.activeName == "five") {
677
+      this.getBalanceRecord();
678
+    }
679
+  },
680
+
681
+  mounted() {},
682
+};
683
+</script>
684
+
685
+<style lang='less' scoped>
686
+.order {
687
+  height: 100%;
688
+  width: 100%;
689
+  .pagin {
690
+    padding: 20px 0;
691
+    .el-pagination {
692
+      text-align: center;
693
+    }
694
+  }
695
+  .colorList {
696
+    color: green;
697
+  }
698
+}
699
+.color0 {
700
+  color: #fc3019;
701
+}
702
+.color1 {
703
+  color: #3ef3ed;
704
+}
705
+.color2 {
706
+  color: #00eeee;
707
+}
708
+.color3 {
709
+  color: #61d09d;
710
+}
711
+.color4 {
712
+  color: #3115cc;
713
+}
714
+.color5 {
715
+  color: #fc3019;
716
+}
717
+.color6 {
718
+  color: #a999ea;
719
+}
720
+
721
+.priceColor {
722
+  color: #ff3007;
723
+}
724
+.pore-block {
725
+  width: 540px;
726
+  height: 400px;
727
+  background: #ffffff;
728
+  border-radius: 8px;
729
+  position: relative;
730
+  padding: 26px 72px 80px 30px;
731
+  .delete-pupop {
732
+    width: 32px;
733
+    position: absolute;
734
+    right: 5px;
735
+    top: 5px;
736
+    img {
737
+      width: 100%;
738
+    }
739
+  }
740
+  .pore-content {
741
+    overflow: scroll;
742
+    height: 310px;
743
+    .card-title {
744
+      font-size: 14px;
745
+      font-family: PingFangSC-Medium, PingFang SC;
746
+      font-weight: 500;
747
+      color: #333333;
748
+      line-height: 20px;
749
+      text-align: center;
750
+    }
751
+    .project {
752
+      display: flex;
753
+      font-size: 13px;
754
+      font-family: PingFangSC-Regular, PingFang SC;
755
+      font-weight: 400;
756
+      color: #333333;
757
+      line-height: 18px;
758
+      .project-title {
759
+        color: #999999;
760
+      }
761
+      .project-list {
762
+        flex: 1;
763
+        .project-info {
764
+          flex: 1;
765
+          .change-num {
766
+            margin-top: 6px;
767
+            width: 100%;
768
+            display: flex;
769
+            justify-content: end;
770
+            .num-content {
771
+              width: 104px;
772
+              height: 28px;
773
+              background: #ffffff;
774
+              border-radius: 2px;
775
+              border: 1px solid #fa7d22;
776
+              display: flex;
777
+              align-items: center;
778
+
779
+              .content-left,
780
+              .content-right {
781
+                width: 28px;
782
+                height: 100%;
783
+                background: #fa7d22;
784
+                font-size: 20px;
785
+                line-height: 24px;
786
+                color: #ffffff;
787
+                text-align: center;
788
+              }
789
+              .content-num {
790
+                flex: 1;
791
+                font-size: 12px;
792
+                font-family: PingFangSC-Regular, PingFang SC;
793
+                font-weight: 400;
794
+                color: rgba(0, 0, 0, 0.65);
795
+                text-align: center;
796
+              }
797
+            }
798
+          }
799
+        }
800
+      }
801
+    }
802
+    .common {
803
+      margin-top: 6px;
804
+      font-size: 13px;
805
+      font-family: PingFangSC-Regular, PingFang SC;
806
+      font-weight: 400;
807
+      color: #333333;
808
+      line-height: 18px;
809
+      .common-title {
810
+        color: #999999;
811
+      }
812
+    }
813
+    .consume-list {
814
+      margin-top: 6px;
815
+      .consume-title {
816
+        font-size: 13px;
817
+        font-family: PingFangSC-Regular, PingFang SC;
818
+        font-weight: 400;
819
+        color: #999999;
820
+        line-height: 18px;
821
+      }
822
+      .consume-info {
823
+        margin-top: 6px;
824
+        font-size: 10px;
825
+        font-family: PingFangSC-Regular, PingFang SC;
826
+        font-weight: 400;
827
+        color: #333333;
828
+        line-height: 14px;
829
+        display: flex;
830
+        justify-content: space-between;
831
+        .shop {
832
+        }
833
+        .project-tips {
834
+          flex: 1;
835
+          margin: 0 10px;
836
+        }
837
+        .project-ts {
838
+        }
839
+      }
840
+    }
841
+  }
842
+  .confirm {
843
+    background: #fa7d22;
844
+    border-radius: 14px;
845
+    position: absolute;
846
+    bottom: 42px;
847
+    left: 50%;
848
+    transform: translateX(-50%);
849
+    width: 176px;
850
+    height: 28px;
851
+    font-size: 14px;
852
+    font-family: PingFangSC-Medium, PingFang SC;
853
+    font-weight: 500;
854
+    color: #ffffff;
855
+    line-height: 28px;
856
+    text-align: center;
857
+  }
858
+}
859
+</style>

+ 1 - 1
src/pages/customerMan/selectPop/index.vue

@@ -86,7 +86,7 @@
86 86
             ></el-input-number>
87 87
           </div>
88 88
           <div class="transition">
89
-            <div class="transition-title">转次数</div>
89
+            <div class="transition-title">转次数</div>
90 90
             <el-input-number
91 91
               v-model="transitionNum"
92 92
               :min="0"

+ 18 - 4
src/router/map/home.js

@@ -17,6 +17,9 @@ import ConfirmOrderAddOrder from '@/pages/confirmOrder/addOrder'
17 17
 import StoreDetection from '@/pages/storeDetection/index'
18 18
 import Coupon from '@/pages/coupon/index'
19 19
 import projectOrder from '@/pages/customerMan/myOrder'
20
+import payUser from '@/pages/payUser/index'
21
+import payUserDetails from '@/pages/payUser/details/index'
22
+import payUserOrder from '@/pages/payUser/myOrder/index'
20 23
 
21 24
 export default {
22 25
   path: '/layout',
@@ -55,9 +58,6 @@ export default {
55 58
   {
56 59
     path: '/customerMan',
57 60
     component: CustomerMan,
58
-    meta:{
59
-      keepAlive:true
60
-    }
61 61
   },
62 62
   {
63 63
     path: '/customerMan/details',
@@ -72,6 +72,21 @@ export default {
72 72
       isback: true,
73 73
     },
74 74
     component: projectOrder
75
+  }, 
76
+  {
77
+    path: '/payUser',
78
+    component: payUser,
79
+    meta: {
80
+      keepAlive: true
81
+    }
82
+  },
83
+  {
84
+    path: '/payUser/Details',
85
+    component: payUserDetails,
86
+  },
87
+  {
88
+    path: '/payUser/Order',
89
+    component: payUserOrder,
75 90
   },
76 91
   {
77 92
     path: '/historicalOrder',
@@ -111,6 +126,5 @@ export default {
111 126
     path: '/coupon',
112 127
     component: Coupon
113 128
   },
114
-
115 129
   ]
116 130
 }

+ 4 - 4
vue.config.js

@@ -4,11 +4,11 @@ const MiniCssExtractPlugin = require('mini-css-extract-plugin');
4 4
 
5 5
 module.exports = {
6 6
   // 测试
7
-  publicPath: process.env.env_config === 'prod' ? 'https://h5-cms-vue.ijolijoli.com/test_pad/dist' :
8
-    process.env.env_config === 'test' ? '/vapps/calory/' : '/dist/',
9
-  // 正式
10
-  // publicPath: process.env.env_config === 'prod' ? 'https://h5-cms-vue.ijolijoli.com/dist' :
7
+  // publicPath: process.env.env_config === 'prod' ? 'https://h5-cms-vue.ijolijoli.com/test_pad/dist' :
11 8
   //   process.env.env_config === 'test' ? '/vapps/calory/' : '/dist/',
9
+  // 正式
10
+  publicPath: process.env.env_config === 'prod' ? 'https://h5-cms-vue.ijolijoli.com/dist' :
11
+    process.env.env_config === 'test' ? '/vapps/calory/' : '/dist/',
12 12
   // 设置跨域
13 13
   crossorigin: 'anonymous',
14 14
   /**