李志伟 3 年之前
父節點
當前提交
2af8ae9fa8
共有 42 個檔案被更改,包括 1628 行新增1088 行删除
  1. 10
    3
      src/app.js
  2. 二進制
      src/assets/icons/ProCard/QCRsgl.png
  3. 二進制
      src/assets/icons/ProCard/ico_delete.png
  4. 3
    3
      src/components/AlreadyUsedMolded/style.less
  5. 6
    6
      src/components/BossCard/index.jsx
  6. 16
    10
      src/components/BossCard/style.less
  7. 4
    3
      src/components/CollectList/MyCollect/index.jsx
  8. 240
    10
      src/components/CollectList/MyCollect/style.less
  9. 59
    0
      src/components/CompoentsOrder/TobeWritten/index.jsx
  10. 180
    0
      src/components/CompoentsOrder/TobeWritten/style.less
  11. 80
    46
      src/components/CompoentsOrder/complete/index.jsx
  12. 33
    8
      src/components/CompoentsOrder/complete/style.less
  13. 0
    316
      src/components/CompoentsOrder/complete/styleoen.less
  14. 1
    1
      src/components/List/index.jsx
  15. 13
    13
      src/components/OrderMolded/index.jsx
  16. 32
    42
      src/components/OrderMolded/style.less
  17. 6
    5
      src/components/PayOrderCard/style.less
  18. 21
    21
      src/components/tip/index.jsx
  19. 3
    3
      src/components/toggleRole/ToggleRole.jsx
  20. 6
    1
      src/pages/MineUserAll/AllOrder/index.config.js
  21. 37
    28
      src/pages/MineUserAll/ContactMe/index.jsx
  22. 9
    1
      src/pages/MineUserAll/ContactMe/style.less
  23. 8
    18
      src/pages/MineUserAll/RefundMoney/CheckRefund/style.less
  24. 27
    27
      src/pages/MineUserAll/RefundMoney/index.jsx
  25. 200
    211
      src/pages/MineUserAll/RefundMoney/style.less
  26. 64
    0
      src/pages/PayOrder/Card/index.jsx
  27. 168
    0
      src/pages/PayOrder/Card/style.less
  28. 83
    112
      src/pages/PayOrder/index.jsx
  29. 245
    148
      src/pages/PayOrder/style.less
  30. 1
    1
      src/pages/TobeShop/index.jsx
  31. 6
    15
      src/pages/TobeShop/style.less
  32. 4
    12
      src/pages/details/foodDetails/foodDetails.jsx
  33. 5
    5
      src/pages/details/mjDetails/sceneryDetails.jsx
  34. 3
    2
      src/pages/index/index.config.js
  35. 3
    3
      src/pages/index/index.jsx
  36. 21
    8
      src/pages/index/tabs/Guide.jsx
  37. 2
    2
      src/pages/index/tabs/Mine.jsx
  38. 9
    0
      src/services/payOrder.js
  39. 1
    1
      src/shop/components/ShopKeeper/shopKeeper.jsx
  40. 2
    0
      src/store/index.js
  41. 10
    0
      src/store/models/hotel.js
  42. 7
    3
      src/utils/hooks/useRouter.js

+ 10
- 3
src/app.js 查看文件

6
 
6
 
7
 class App extends Component {
7
 class App extends Component {
8
 
8
 
9
+  componentDidShow(options) {
10
+    if (options.path === 'pages/index/index' && options.query?.tab === '1' && options.query?.roomId) {
11
+      const { setRoomId } = store.getModel('hotel').getState()
12
+      setRoomId(options.query?.roomId)
13
+    }
14
+  }
15
+
9
   onLaunch(options) {
16
   onLaunch(options) {
10
     console.group('APP Launch')
17
     console.group('APP Launch')
11
     console.debug(options)
18
     console.debug(options)
12
     console.groupEnd()
19
     console.groupEnd()
13
 
20
 
14
-    const { login} = store.getModel('person').getState()
21
+    const { login } = store.getModel('person').getState()
15
 
22
 
16
     // 预拉取数据
23
     // 预拉取数据
17
     preFetchData().then((fetchData) => {
24
     preFetchData().then((fetchData) => {
18
-      const { fromType, recommender, scene : qrCodeId } = options.query
25
+      const { fromType, recommender, scene: qrCodeId } = options.query
19
       Taro.setStorageSync({ key: 'scene', data: qrCodeId })
26
       Taro.setStorageSync({ key: 'scene', data: qrCodeId })
20
 
27
 
21
       // 登录获取人员信息
28
       // 登录获取人员信息
34
   }
41
   }
35
 
42
 
36
   // this.props.children 是将要会渲染的页面
43
   // this.props.children 是将要会渲染的页面
37
-  render () {
44
+  render() {
38
     return (
45
     return (
39
       <StoreRoot>
46
       <StoreRoot>
40
         {this.props.children}
47
         {this.props.children}

二進制
src/assets/icons/ProCard/QCRsgl.png 查看文件


二進制
src/assets/icons/ProCard/ico_delete.png 查看文件


+ 3
- 3
src/components/AlreadyUsedMolded/style.less 查看文件

14
     position: relative;
14
     position: relative;
15
     display: flex;
15
     display: flex;
16
     background: @whiteColor;
16
     background: @whiteColor;
17
-    background: radial-gradient(circle at top right, transparent 15px, #fff) top
18
-        right,
19
-      radial-gradient(circle at bottom right, transparent 15px, #fff) bottom
17
+    background: radial-gradient(circle at top right, transparent 15px, #fff 0)
18
+        top right,
19
+      radial-gradient(circle at bottom right, transparent 15px, #fff 0) bottom
20
         right;
20
         right;
21
     background-size: 100% 60%;
21
     background-size: 100% 60%;
22
     background-repeat: no-repeat;
22
     background-repeat: no-repeat;

+ 6
- 6
src/components/BossCard/index.jsx 查看文件

36
   return (
36
   return (
37
     <view class='container'>
37
     <view class='container'>
38
       <view class='wrapper'>
38
       <view class='wrapper'>
39
-        <view class='left-complete-one'  >
40
-          <image className='left-image-1' src={ProCard_hot}></image>
39
+        <view class='left-complete-one' onClick={() => { goFood() }} >
40
+          {/* <image className='left-image-1' src={ProCard_hot}></image> */}
41
           <view className='left-viewText'>
41
           <view className='left-viewText'>
42
             返现¥{(item.cashback / 100)?.toFixed(2)}
42
             返现¥{(item.cashback / 100)?.toFixed(2)}
43
           </view>
43
           </view>
46
             <Star star={st} />
46
             <Star star={st} />
47
             <text className='card-star-text' >{st}</text>
47
             <text className='card-star-text' >{st}</text>
48
           </view>
48
           </view>
49
-          <view className='title-image' onClick={() => { goFood() }}>
49
+          <view className='title-image' >
50
             <image className='image-1' mode='scaleToFill' src={item.poster}></image>
50
             <image className='image-1' mode='scaleToFill' src={item.poster}></image>
51
             <image className='image-2' src={food}></image>
51
             <image className='image-2' src={food}></image>
52
           </view>
52
           </view>
53
           <view className='title-content'>
53
           <view className='title-content'>
54
-            <view className='Pro-title' onClick={() => { goFood() }} >
54
+            <view className='Pro-title'  >
55
               <view className='title-text'>{(item.description).toString().length > 25 ? (item.description).substring(0, 25) + '...' : (item.description)}</view>
55
               <view className='title-text'>{(item.description).toString().length > 25 ? (item.description).substring(0, 25) + '...' : (item.description)}</view>
56
             </view>
56
             </view>
57
             <text className='title-money' >¥{(item.actualPrice / 100)?.toFixed(2)}元<text className='title-money-2'>门市价{(item.standardPrice / 100)?.toFixed(2)}元</text></text>
57
             <text className='title-money' >¥{(item.actualPrice / 100)?.toFixed(2)}元<text className='title-money-2'>门市价{(item.standardPrice / 100)?.toFixed(2)}元</text></text>
58
             <view className='title-position-on'>
58
             <view className='title-position-on'>
59
               <image className='title-position' src={position} />
59
               <image className='title-position' src={position} />
60
               <text className='title-position-image'>{det.areaName == '南京市' ? det.areaName : det.areaPName + '/' + det.areaName}</text>
60
               <text className='title-position-image'>{det.areaName == '南京市' ? det.areaName : det.areaPName + '/' + det.areaName}</text>
61
-              <view style={{ display: 'inline-block' }} onClick={toggleSave}>
61
+              {/* <view style={{ display: 'inline-block' }} onClick={toggleSave}>
62
 
62
 
63
                 <image className='title-on' src={isSaved > 0 ? starOn : starOff} />
63
                 <image className='title-on' src={isSaved > 0 ? starOn : starOff} />
64
                 <text className='title-on-text'>{isSaved > 0 ? '已收藏' : '加入收藏'}</text>
64
                 <text className='title-on-text'>{isSaved > 0 ? '已收藏' : '加入收藏'}</text>
65
-              </view>
65
+              </view> */}
66
             </view>
66
             </view>
67
           </view>
67
           </view>
68
         </view>
68
         </view>

+ 16
- 10
src/components/BossCard/style.less 查看文件

78
       position: relative;
78
       position: relative;
79
       display: flex;
79
       display: flex;
80
       background: @whiteColor;
80
       background: @whiteColor;
81
-      background: radial-gradient(circle at top right, transparent 15px, #fff 0)
81
+      background: radial-gradient(
82
+            circle at top right,
83
+            transparent 15px,
84
+            #fff 0 0
85
+          )
82
           top right,
86
           top right,
83
-        radial-gradient(circle at bottom right, transparent 15px, #fff 0) bottom
84
-          right;
87
+        radial-gradient(circle at bottom right, transparent 15px, #fff 0 0)
88
+          bottom right;
85
       background-size: 100% 60%;
89
       background-size: 100% 60%;
86
       background-repeat: no-repeat;
90
       background-repeat: no-repeat;
87
 
91
 
96
         position: absolute;
100
         position: absolute;
97
         top: 22px;
101
         top: 22px;
98
       }
102
       }
103
+      // @/assets/icons/ProCard/ProCard_hot.png
99
       .left-viewText {
104
       .left-viewText {
100
-        // background-image: url(@Image-ProCard_hot);
101
-        // width: 287px;
105
+        background: url(../../assets/icons/ProCard/ProCard_hot.png) no-repeat;
106
+        background-size: 100% 100%;
107
+        padding: 0 24px 7px 2px;
102
         width: auto;
108
         width: auto;
109
+        font-size: 24px;
110
+        line-height: 48px;
103
         height: 44.3px;
111
         height: 44.3px;
104
         position: absolute;
112
         position: absolute;
105
-        left: 1px;
106
-        top: 28px;
107
-        font-size: 24px;
113
+        top: 20px;
108
         color: @whiteColor;
114
         color: @whiteColor;
109
         font-weight: 600;
115
         font-weight: 600;
110
       }
116
       }
170
 
176
 
171
   .right-complete-two {
177
   .right-complete-two {
172
     background: @whiteColor;
178
     background: @whiteColor;
173
-    background: radial-gradient(circle at top left, transparent 15px, #fff 0)
179
+    background: radial-gradient(circle at top left, transparent 15px, #fff 0 0)
174
         top left,
180
         top left,
175
-      radial-gradient(circle at bottom left, transparent 15px, #fff 0) bottom
181
+      radial-gradient(circle at bottom left, transparent 15px, #fff 0 0) bottom
176
         left;
182
         left;
177
     background-size: 100% 60%;
183
     background-size: 100% 60%;
178
     background-repeat: no-repeat;
184
     background-repeat: no-repeat;

+ 4
- 3
src/components/CollectList/MyCollect/index.jsx 查看文件

84
                   <view className='Pro-title'  >
84
                   <view className='Pro-title'  >
85
                     <view className='title-text'>{(item.title).toString().length > 25 ? (item.title).substring(0, 25) + '...' : (item.title)}</view>
85
                     <view className='title-text'>{(item.title).toString().length > 25 ? (item.title).substring(0, 25) + '...' : (item.title)}</view>
86
                   </view>
86
                   </view>
87
-                  <text className='title-money' >¥{formatPrice(item.actualPrice)}元<text className='title-money-2'>门市价{formatPrice(item.standardPrice)}元</text></text>
87
+                  <text className='title-money' >¥{formatPrice(item.averagePrice)}元</text>
88
                   <view onClick={toggleLike}>
88
                   <view onClick={toggleLike}>
89
                     <image className='title-on' src={isLike === 1 ? baozan : weibaozan} />
89
                     <image className='title-on' src={isLike === 1 ? baozan : weibaozan} />
90
-                    <text className='title-on-text'>{isLike === 1 ? '已爆赞' : '爆赞'}</text>
90
+                    <text className='title-on-text'>爆赞 {item.likeNum}</text>
91
                   </view>
91
                   </view>
92
                   <view className='title-position-on'>
92
                   <view className='title-position-on'>
93
                     <image className='title-position' src={position} />
93
                     <image className='title-position' src={position} />
94
                     <text className='title-position-image'>
94
                     <text className='title-position-image'>
95
+
95
                       {
96
                       {
96
                         targetType === "tourist" && (
97
                         targetType === "tourist" && (
97
                           item.areaPName == null ? item.areaName : (item.areaPName + '/' + item.areaName)
98
                           item.areaPName == null ? item.areaName : (item.areaPName + '/' + item.areaName)
106
                 </view>
107
                 </view>
107
               </view>
108
               </view>
108
               <view class='right-complete-two'>
109
               <view class='right-complete-two'>
109
-                <view className='right-content' onClick={() => { Taro.navigateTo({ url: `/pages/details/mjDetails/sceneryDetails?id=${item.targetId}` }) }}>
110
+                <view className='right-content' onClick={() => { targetType === 'tourist' ? Taro.navigateTo({ url: `/pages/details/mjDetails/sceneryDetails?id=${item.targetId}` }) : Taro.navigateTo({ url: `/pages/details/foodDetails/foodDetails?id=${item.targetId}` }) }}>
110
                   <image className='right-image' src={SeeDetails} />
111
                   <image className='right-image' src={SeeDetails} />
111
                   <view className='right-title'>查看详情</view>
112
                   <view className='right-title'>查看详情</view>
112
                 </view>
113
                 </view>

+ 240
- 10
src/components/CollectList/MyCollect/style.less 查看文件

43
 //     position: relative;
43
 //     position: relative;
44
 //     display: flex;
44
 //     display: flex;
45
 //     background: @whiteColor;
45
 //     background: @whiteColor;
46
-//     background: radial-gradient(circle at top right, transparent 15px, #fff) top
46
+//     background: radial-gradient(circle at top right, transparent 15px, #fff 0 ) top
47
 //         right,
47
 //         right,
48
-//       radial-gradient(circle at bottom right, transparent 15px, #fff) bottom
48
+//       radial-gradient(circle at bottom right, transparent 15px, #fff 0 ) bottom
49
 //         right;
49
 //         right;
50
 //     background-size: 100% 60%;
50
 //     background-size: 100% 60%;
51
 //     background-repeat: no-repeat;
51
 //     background-repeat: no-repeat;
153
 //         //   height: 21px;
153
 //         //   height: 21px;
154
 //         //   padding-right: 10px;
154
 //         //   padding-right: 10px;
155
 //         // }
155
 //         // }
156
+// .title-on {
157
+//   width: 21px;
158
+//   height: 21px;
159
+//   padding-right: 10px;
160
+// }
156
 //         .title-on-text {
161
 //         .title-on-text {
157
 //           align-items: center;
162
 //           align-items: center;
158
 
163
 
170
 
175
 
171
 // .right-complete-two {
176
 // .right-complete-two {
172
 //   background: @whiteColor;
177
 //   background: @whiteColor;
173
-//   background: radial-gradient(circle at top left, transparent 15px, #fff) top
178
+//   background: radial-gradient(circle at top left, transparent 15px, #fff 0 ) top
174
 //       left,
179
 //       left,
175
-//     radial-gradient(circle at bottom left, transparent 15px, #fff) bottom left;
180
+//     radial-gradient(circle at bottom left, transparent 15px, #fff 0 ) bottom left;
176
 //   background-size: 100% 60%;
181
 //   background-size: 100% 60%;
177
 //   background-repeat: no-repeat;
182
 //   background-repeat: no-repeat;
178
 //   width: 129px;
183
 //   width: 129px;
251
 //     position: relative;
256
 //     position: relative;
252
 //     display: flex;
257
 //     display: flex;
253
 //     background: @whiteColor;
258
 //     background: @whiteColor;
254
-//     background: radial-gradient(circle at top right, transparent 15px, #fff) top
259
+//     background: radial-gradient(circle at top right, transparent 15px, #fff 0 ) top
255
 //         right,
260
 //         right,
256
-//       radial-gradient(circle at bottom right, transparent 15px, #fff) bottom
261
+//       radial-gradient(circle at bottom right, transparent 15px, #fff 0 ) bottom
257
 //         right;
262
 //         right;
258
 //     background-size: 100% 60%;
263
 //     background-size: 100% 60%;
259
 //     background-repeat: no-repeat;
264
 //     background-repeat: no-repeat;
422
               #fff 0
427
               #fff 0
423
             )
428
             )
424
             top right,
429
             top right,
425
-          radial-gradient(circle at bottom right, transparent 15px, #fff 0)
430
+          radial-gradient(circle at bottom right, transparent 15px, #fff 0 0)
426
             bottom right;
431
             bottom right;
427
         background-size: 100% 60%;
432
         background-size: 100% 60%;
428
         background-repeat: no-repeat;
433
         background-repeat: no-repeat;
541
 
546
 
542
     .right-complete-two {
547
     .right-complete-two {
543
       background: @whiteColor;
548
       background: @whiteColor;
544
-      background: radial-gradient(circle at top left, transparent 15px, #fff 0)
549
+      background: radial-gradient(
550
+            circle at top left,
551
+            transparent 15px,
552
+            #fff 0 0
553
+          )
545
           top left,
554
           top left,
546
-        radial-gradient(circle at bottom left, transparent 15px, #fff 0) bottom
547
-          left;
555
+        radial-gradient(circle at bottom left, transparent 15px, #fff 0 0)
556
+          bottom left;
548
       background-size: 100% 60%;
557
       background-size: 100% 60%;
549
       background-repeat: no-repeat;
558
       background-repeat: no-repeat;
550
       width: 129px;
559
       width: 129px;
586
     }
595
     }
587
   }
596
   }
588
   .right-View-box {
597
   .right-View-box {
598
+    .wrapper {
599
+      display: flex;
600
+      position: relative;
601
+      margin: 30px auto;
602
+      width: 100%;
603
+      // box-shadow: 0px 8px 38px 0px rgba(0, 0, 0, 0.12);
604
+      // filter: drop-shadow(5px 8px 6px rgb(202, 202, 202));
605
+      filter: drop-shadow(0 0 0.9rem rgba(0, 0, 0, 0.12));
606
+
607
+      .card-box-star {
608
+        position: absolute;
609
+        width: auto;
610
+        height: 44.3px;
611
+        position: absolute;
612
+        left: 183px;
613
+        top: 28px;
614
+        font-size: 20px;
615
+        color: @whiteColor;
616
+        .card-star-image {
617
+          padding-left: 6px;
618
+          width: 21px;
619
+          height: 21px;
620
+        }
621
+        .card-star-text {
622
+          padding-left: 10px;
623
+          font-size: 20px;
624
+          color: #333;
625
+          font-weight: 700;
626
+        }
627
+      }
628
+
629
+      .left-complete-one {
630
+        padding-top: 41px;
631
+        padding-bottom: 45px;
632
+        position: relative;
633
+        display: flex;
634
+        background: @whiteColor;
635
+        background: radial-gradient(
636
+              circle at top right,
637
+              transparent 15px,
638
+              #fff 0
639
+            )
640
+            top right,
641
+          radial-gradient(circle at bottom right, transparent 15px, #fff 0 0)
642
+            bottom right;
643
+        background-size: 100% 60%;
644
+        background-repeat: no-repeat;
645
+
646
+        width: 573px;
647
+        border-radius: 15px 0px 0px 15px;
648
+        // border-radius: 12px;
649
+
650
+        align-items: center;
651
+        .left-image-1 {
652
+          width: 145px;
653
+          height: 44px;
654
+          position: absolute;
655
+          top: 22px;
656
+        }
657
+        .left-viewText {
658
+          // background-image: url(@Image-ProCard_hot);
659
+          // width: 287px;
660
+          width: auto;
661
+          height: 44.3px;
662
+          position: absolute;
663
+          left: 1px;
664
+          top: 28px;
665
+          font-size: 24px;
666
+          color: @whiteColor;
667
+          font-weight: 600;
668
+        }
669
+        //图片
670
+        .title-image {
671
+          height: 144px;
672
+          margin-left: 20px;
673
+          border-radius: 24px;
674
+          overflow: hidden;
675
+          position: relative;
676
+          .image-1 {
677
+            width: 144px;
678
+            height: 144px;
679
+            margin: 0;
680
+          }
681
+          .image-2 {
682
+            width: 89px;
683
+            height: 34px;
684
+            position: absolute;
685
+            left: 0;
686
+          }
687
+        }
688
+        // 商品标题
689
+        .title-content {
690
+          // padding: 84px 0 56px 20px;
691
+          padding-left: 18px;
692
+
693
+          .Pro-title {
694
+            .title-text {
695
+              width: 375px;
696
+              overflow: hidden;
697
+              text-overflow: ellipsis;
698
+              // display: -webkit-box; //必须要
699
+              -webkit-line-clamp: 1;
700
+              -webkit-box-orient: vertical;
701
+              // word-break: break-all; /* 多出文本省略号代替 */
702
+              text-align: left;
703
+              font-size: 24px;
704
+              // padding-bottom: 10px;
705
+              //
706
+            }
707
+          }
708
+          .title-money {
709
+            padding-top: 34px;
710
+            font-size: 24px;
711
+            // color: red;
712
+            font-weight: 800;
713
+          }
714
+          .title-money-2 {
715
+            font-size: 18px;
716
+            padding-left: 10px;
717
+            text-decoration: line-through;
718
+            color: rgba(102, 102, 102, 0.8);
719
+          }
720
+          .title-on {
721
+            width: 21px;
722
+            height: 21px;
723
+            padding-right: 10px;
724
+          }
725
+          .title-on-text {
726
+            align-items: center;
727
+
728
+            font-size: 20px;
729
+            color: #333;
730
+          }
731
+
732
+          .title-time {
733
+            font-size: 24px;
734
+            padding-top: 20px;
735
+            color: #c0c8d3;
736
+          }
737
+          .title-position-on {
738
+            display: flex;
739
+            font-size: 20px;
740
+            .title-position {
741
+              width: 18px;
742
+              height: 24px;
743
+              padding-right: 10px;
744
+              padding-top: 5px;
745
+            }
746
+            .title-position-image {
747
+              align-items: center;
748
+              font-size: 20px;
749
+              color: #333;
750
+            }
751
+            // .title-on {
752
+            //   // margin-bottom: 10px;
753
+            //   padding-top: 5px;
754
+            //   padding-left: 40px;
755
+            //   width: 21px;
756
+            //   height: 21px;
757
+            //   padding-right: 10px;
758
+            // }
759
+            .title-on-text {
760
+              align-items: center;
761
+
762
+              font-size: 20px;
763
+              color: #333;
764
+            }
765
+          }
766
+        }
767
+      }
768
+    }
769
+
770
+    .right-complete-two {
771
+      background: @whiteColor;
772
+      background: radial-gradient(
773
+            circle at top left,
774
+            transparent 15px,
775
+            #fff 0 0
776
+          )
777
+          top left,
778
+        radial-gradient(circle at bottom left, transparent 15px, #fff 0 0)
779
+          bottom left;
780
+      background-size: 100% 60%;
781
+      background-repeat: no-repeat;
782
+      width: 129px;
783
+      border-radius: 0 15px 15px 0;
784
+      position: relative;
785
+      //右面部分
786
+      .right-content {
787
+        // width: 50%;
788
+        height: 134px;
789
+        position: absolute;
790
+        top: calc(50% - 45px);
791
+        left: calc(50% - 30px);
792
+        .right-image {
793
+          width: 35px;
794
+          height: 34px;
795
+          margin-left: calc(50% - 41.5px);
796
+        }
797
+
798
+        .right-title {
799
+          font-weight: 700;
800
+          width: 110px;
801
+          font-size: 24px;
802
+          padding-top: 15px;
803
+          text-align: center;
804
+          position: relative;
805
+          left: -22px;
806
+        }
807
+      }
808
+    }
809
+    //线条
810
+    .right-complete-two::after {
811
+      content: "";
812
+      position: absolute;
813
+      top: 15px;
814
+      margin: 26px auto;
815
+      height: 70%;
816
+      border-left: 1px dashed #595959;
817
+      opacity: 0.12;
818
+    }
589
   }
819
   }
590
 }
820
 }

+ 59
- 0
src/components/CompoentsOrder/TobeWritten/index.jsx 查看文件

1
+
2
+import formatTime from "@/utils/formatTime";
3
+import image from "@/assets/icons/ProCard/8kb.jpg";
4
+import food from "@/assets/icons/ProCard/food.png";
5
+import ProCard_hot from "@/assets/icons/ProCard/ProCard_hot.png";
6
+import QRcode from "@/assets/icons/UserCenter/QRcode.png";
7
+
8
+import './style.less'
9
+
10
+
11
+export default (props) => {
12
+
13
+  const { item, onWrite } = props
14
+
15
+  return (
16
+    <view class='wrapper'>
17
+      <view class='left-complete-one'>
18
+        <image className='left-image-1' src={ProCard_hot}></image>
19
+        <view className='left-viewText'>
20
+          返现¥{(item.cashback / 100).toFixed(2)}
21
+        </view>
22
+        <view className='title-image'>
23
+          <image
24
+            className='image-1'
25
+            mode='scaleToFill'
26
+            src={item.poster || image}
27
+          ></image>
28
+          <image className='image-2' src={food}></image>
29
+        </view>
30
+        <view className='title-content'>
31
+          <view className='Pro-title'>
32
+            <view className='title-text'>
33
+              {item.packageDescription}
34
+              <text className='title-money-2'>
35
+                数量:{item.amount}张
36
+              </text>
37
+            </view>
38
+          </view>
39
+          <text className='title-money'>
40
+            ¥{(item.unitPrice / 100).toFixed(2)}元
41
+          </text>
42
+          <view className='title-time'>
43
+            有效期:{formatTime(item?.startTime, "yyyy/MM/dd")}-
44
+            {formatTime(item.endTime, "yyyy/MM/dd")}
45
+          </view>
46
+        </view>
47
+      </view>
48
+      <view class='right-complete-two'>
49
+        <view
50
+          className='right-content'
51
+          onClick={() => onWrite(item)}
52
+        >
53
+          <image className='right-image' src={QRcode} />
54
+          <view className='right-title'>扫码核销</view>
55
+        </view>
56
+      </view>
57
+    </view>
58
+  )
59
+}

+ 180
- 0
src/components/CompoentsOrder/TobeWritten/style.less 查看文件

1
+@whiteColor: #fff;
2
+
3
+.wrapper-Written {
4
+  margin-top: 40px;
5
+  display: flex;
6
+  position: relative;
7
+  margin: 30px auto;
8
+  width: 100%;
9
+  filter: drop-shadow(0 0 0.9rem rgba(0, 0, 0, 0.12));
10
+
11
+  .left-complete-one-Written {
12
+    padding-top: 85px;
13
+    padding-bottom: 43px;
14
+    position: relative;
15
+    display: flex;
16
+    background: @whiteColor;
17
+    background: radial-gradient(circle at top right, transparent 15px, #fff 0 0)
18
+        top right,
19
+      radial-gradient(circle at bottom right, transparent 15px, #fff 0 0) bottom
20
+        right;
21
+    background-size: 100% 60%;
22
+    background-repeat: no-repeat;
23
+
24
+    width: 573px;
25
+    border-radius: 15px 0px 0px 15px;
26
+    // border-radius: 12px;
27
+
28
+    align-items: center;
29
+    .left-image-1-Written {
30
+      width: 145px;
31
+      height: 44px;
32
+      position: absolute;
33
+      top: 22px;
34
+    }
35
+    .left-viewText-Written {
36
+      // background-image: url(@Image-ProCard_hot);
37
+      // width: 287px;
38
+      width: auto;
39
+      height: 44.3px;
40
+      position: absolute;
41
+      left: 1px;
42
+      top: 28px;
43
+      font-size: 20px;
44
+      color: @whiteColor;
45
+    }
46
+    //图片
47
+    .title-image-Written {
48
+      height: 144px;
49
+      margin-left: 20px;
50
+      border-radius: 24px;
51
+      overflow: hidden;
52
+      position: relative;
53
+      .image-1-Written {
54
+        width: 144px;
55
+        height: 144px;
56
+        margin: 0;
57
+      }
58
+      .image-2-Written {
59
+        width: 89px;
60
+        height: 34px;
61
+        position: absolute;
62
+        left: 0;
63
+      }
64
+    }
65
+    // 商品标题
66
+    .title-content-Written {
67
+      // padding: 84px 0 56px 20px;
68
+      padding-left: 18px;
69
+
70
+      .Pro-title-Written {
71
+        .title-text-Written {
72
+          width: 375px;
73
+          overflow: hidden;
74
+          text-overflow: ellipsis;
75
+          // display: -webkit-box; //必须要
76
+          -webkit-line-clamp: 1;
77
+          -webkit-box-orient: vertical;
78
+          // word-break: break-all; /* 多出文本省略号代替 */
79
+          text-align: left;
80
+          font-size: 24px;
81
+          // padding-bottom: 10px;
82
+        }
83
+      }
84
+      .title-money-Written {
85
+        // padding-top: 34px;
86
+        font-size: 24px;
87
+        // color: red;
88
+        font-weight: 800;
89
+      }
90
+      .title-money-2-Written {
91
+        height: 19px;
92
+        font-size: 20px;
93
+        font-weight: 400;
94
+        color: #333333;
95
+        padding-left: 40px;
96
+      }
97
+
98
+      .title-time-Written {
99
+        font-size: 24px;
100
+        // padding-top: 20px;
101
+        color: #c0c8d3;
102
+      }
103
+      .title-position-on-Written {
104
+        display: flex;
105
+        font-size: 20px;
106
+        .title-position-Written {
107
+          width: 18px;
108
+          height: 24px;
109
+          padding-right: 10px;
110
+          padding-top: 5px;
111
+        }
112
+        .title-position-image-Written {
113
+          align-items: center;
114
+          font-size: 20px;
115
+          color: #333;
116
+        }
117
+        .title-on-Written {
118
+          // margin-bottom: 10px;
119
+          padding-top: 5px;
120
+          padding-left: 40px;
121
+          width: 21px;
122
+          height: 21px;
123
+          padding-right: 10px;
124
+        }
125
+        .title-on-text-Written {
126
+          align-items: center;
127
+
128
+          font-size: 20px;
129
+          color: #333;
130
+        }
131
+      }
132
+    }
133
+  }
134
+  .right-complete-two-Written {
135
+    background: @whiteColor;
136
+    background: radial-gradient(circle at top left, transparent 15px, #fff 0 0)
137
+        top left,
138
+      radial-gradient(circle at bottom left, transparent 15px, #fff 0 0) bottom
139
+        left;
140
+    background-size: 100% 60%;
141
+    background-repeat: no-repeat;
142
+    width: 129px;
143
+    border-radius: 0 15px 15px 0;
144
+    position: relative;
145
+    //右面部分
146
+    .right-content-Written {
147
+      width: 100px;
148
+      height: 134px;
149
+      position: absolute;
150
+      top: calc(50% - 45px);
151
+      left: calc(50% - 46px);
152
+      .right-image-2-Written {
153
+        width: 76px;
154
+        height: 66px;
155
+        margin-top: 1em;
156
+      }
157
+      .right-image-Written {
158
+        width: 35px;
159
+        height: 34px;
160
+        margin-left: calc(50% - 17.5px);
161
+      }
162
+      .right-title-Written {
163
+        font-weight: 700;
164
+        font-size: 24px;
165
+        padding-top: 15px;
166
+        text-align: center;
167
+      }
168
+    }
169
+  }
170
+  //线条
171
+  .right-complete-two-Written::after {
172
+    content: "";
173
+    position: absolute;
174
+    top: 15px;
175
+    margin: 26px auto;
176
+    height: 70%;
177
+    border-left: 1px dashed #595959;
178
+    opacity: 0.12;
179
+  }
180
+}

+ 80
- 46
src/components/CompoentsOrder/complete/index.jsx 查看文件

1
 import React, { useState, useEffect } from "react";
1
 import React, { useState, useEffect } from "react";
2
-import Taro, { useDidShow } from "@tarojs/taro";
3
-import { getOrderSub } from "@/services/payOrder";
2
+// import { AtSwipeAction } from "taro-ui";
3
+import Taro, { useDidShow, AtSwipeAction } from "@tarojs/taro";
4
+import { getOrderSub, deleteOrder } from "@/services/payOrder";
4
 import formatTime from "@/utils/formatTime";
5
 import formatTime from "@/utils/formatTime";
5
 import image from "@/assets/icons/ProCard/8kb.jpg";
6
 import image from "@/assets/icons/ProCard/8kb.jpg";
6
 import food from "@/assets/icons/ProCard/food.png";
7
 import food from "@/assets/icons/ProCard/food.png";
13
 import Pay from "@/assets/icons/GuideCheck/Pay_logo.png";
14
 import Pay from "@/assets/icons/GuideCheck/Pay_logo.png";
14
 import starOn from "@/assets/icons/GuideCheck/starOn.png";
15
 import starOn from "@/assets/icons/GuideCheck/starOn.png";
15
 import starOff from "@/assets/icons/GuideCheck/starOff.png";
16
 import starOff from "@/assets/icons/GuideCheck/starOff.png";
17
+import ico_delete from '../../../assets/icons/ProCard/ico_delete.png'
16
 import AlreadyUsed from "../AlreadyUsed";
18
 import AlreadyUsed from "../AlreadyUsed";
19
+import TobeWritten from "../TobeWritten";
17
 import "./style.less";
20
 import "./style.less";
18
 
21
 
19
 const scoreList = new Array(5).fill(0);
22
 const scoreList = new Array(5).fill(0);
120
     });
123
     });
121
   };
124
   };
122
 
125
 
126
+  const slideButtonTap = (e) => {
127
+
128
+    deleteOrder(e.orderId || '').then(() => {
129
+      Taro.showToast({
130
+        title: '删除订单成功',
131
+        icon: 'none',
132
+      })
133
+      getList();
134
+
135
+    })
136
+
137
+
138
+  }
139
+
140
+
141
+
142
+
143
+  const button = [{
144
+    // type: 'warn',
145
+    // text: '删除',
146
+    extClass: 'test-button',
147
+    src: ico_delete
148
+  }]
149
+
123
   return (
150
   return (
124
     <scroll-view
151
     <scroll-view
125
       scrollY
152
       scrollY
139
               /* 待支付 */
166
               /* 待支付 */
140
               if (item.status === 0) {
167
               if (item.status === 0) {
141
                 return (
168
                 return (
142
-                  <view key={`${type}-${item.orderId}`}>
143
-                    <view className='OrderNumber'>订单编号:{item.orderId}</view>
169
+                  <mp-slideview buttons={button} onButtontap={() => slideButtonTap(item)} icon >
144
 
170
 
145
-                    <view class='wrapper'>
146
-                      <view class='left-complete-one'>
147
-                        <image className='left-image-1' src={ProCard_hot}></image>
148
-                        <view className='left-viewText'>
149
-                          返现¥{(item.cashback / 100).toFixed(2)}
150
-                        </view>
151
-                        <view className='title-image'>
152
-                          <image
153
-                            className='image-1'
154
-                            mode='scaleToFill'
155
-                            src={item.poster || image}
156
-                          ></image>
157
-                          <image className='image-2' src={food}></image>
158
-                        </view>
159
-                        <view className='title-content'>
160
-                          <view className='Pro-title'>
161
-                            <view className='title-text'>
162
-                              {item.packageDescription}
163
-                              <text className='title-money-2'>
164
-                                数量:{item.amount}张
165
-                              </text>
166
-                            </view>
171
+                    <view key={`${type}-${item.orderId}`}  >
172
+                      <view className='OrderNumber'>订单编号:{item.orderId}</view>
173
+                      {/* <TobePaid item={item} /> */}
174
+                      <view class='wrapper'>
175
+                        <view class='left-complete-one'>
176
+                          <image className='left-image-1' src={ProCard_hot}></image>
177
+                          <view className='left-viewText'>
178
+                            返现¥{(item.cashback / 100).toFixed(2)}
167
                           </view>
179
                           </view>
168
-                          <text className='title-money'>
169
-                            ¥{(item.unitPrice / 100).toFixed(2)}元
170
-                          </text>
171
-                          <view className='title-time'>
172
-                            有效期:{formatTime(item?.startTime, "yyyy/MM/dd")}-
173
-                            {formatTime(item.endTime, "yyyy/MM/dd")}
180
+                          <view className='title-image'>
181
+                            <image
182
+                              className='image-1'
183
+                              mode='scaleToFill'
184
+                              src={item.poster || image}
185
+                            ></image>
186
+                            <image className='image-2' src={food}></image>
187
+                          </view>
188
+                          <view className='title-content'>
189
+                            <view className='Pro-title'>
190
+                              <view className='title-text'>
191
+                                {item.packageDescription}
192
+                                <text className='title-money-2'>
193
+                                  数量:{item.amount}张
194
+                                </text>
195
+                              </view>
196
+                            </view>
197
+                            <text className='title-money'>
198
+                              ¥{(item.unitPrice / 100).toFixed(2)}元
199
+                            </text>
200
+                            <view className='title-time'>
201
+                              有效期:{formatTime(item?.startTime, "yyyy/MM/dd")}-
202
+                              {formatTime(item.endTime, "yyyy/MM/dd")}
203
+                            </view>
174
                           </view>
204
                           </view>
175
                         </view>
205
                         </view>
176
-                      </view>
177
-                      <view class='right-complete-two'>
178
-                        <view
179
-                          className='right-content'
180
-                          onClick={() => {
181
-                            Taro.navigateTo({
182
-                              url: `/pages/PayOrder/index?orderId=${item.orderId}`,
183
-                            });
184
-                          }}
185
-                        >
186
-                          <image className='right-image' src={Pay} />
187
-                          <view className='right-title'>支付</view>
206
+                        <view class='right-complete-two'>
207
+                          <view
208
+                            className='right-content'
209
+                            onClick={() => {
210
+                              Taro.navigateTo({
211
+                                url: `/pages/PayOrder/index?orderId=${item.orderId}`,
212
+                              });
213
+                            }}
214
+                          >
215
+                            <image className='right-image' src={Pay} />
216
+                            <view className='right-title'>支付</view>
217
+                          </view>
188
                         </view>
218
                         </view>
189
                       </view>
219
                       </view>
190
                     </view>
220
                     </view>
191
-                  </view>
221
+                  </mp-slideview>
222
+
223
+
224
+
192
                 );
225
                 );
193
               }
226
               }
194
               /* 待核销 */
227
               /* 待核销 */
196
                 return (
229
                 return (
197
                   <view key={`${type}-${item.orderId}`}>
230
                   <view key={`${type}-${item.orderId}`}>
198
                     <view className='OrderNumber'>订单编号:{item.orderId}</view>
231
                     <view className='OrderNumber'>订单编号:{item.orderId}</view>
232
+                    {/* <TobeWritten item={item} onWrite={onWriteOff} /> */}
199
                     <view class='wrapper'>
233
                     <view class='wrapper'>
200
                       <view class='left-complete-one'>
234
                       <view class='left-complete-one'>
201
                         <image className='left-image-1' src={ProCard_hot}></image>
235
                         <image className='left-image-1' src={ProCard_hot}></image>
410
               }
444
               }
411
             })}
445
             })}
412
 
446
 
413
-            <view className='foot'>已经到底了~</view>
447
+            <view className='foot'>这是我的底线</view>
414
           </view>
448
           </view>
415
       }
449
       }
416
     </scroll-view>
450
     </scroll-view>

+ 33
- 8
src/components/CompoentsOrder/complete/style.less 查看文件

1
 @whiteColor: #fff;
1
 @whiteColor: #fff;
2
 
2
 
3
+.test-button {
4
+  // width: 67px;
5
+  // height: 266px;
6
+  // background: #ffffff !important;
7
+  // box-shadow: 0px 8px 38px 0px rgba(0, 0, 0, 0.12);
8
+  // border-radius: 12px;
9
+  // position: relative;
10
+  // top: 18%;
11
+
12
+  .weui-slideview__btn {
13
+    position: relative;
14
+    top: 20px;
15
+  }
16
+}
17
+
3
 .complete-boxs {
18
 .complete-boxs {
4
   margin: 40px auto;
19
   margin: 40px auto;
5
   padding: 0 30px;
20
   padding: 0 30px;
6
 
21
 
22
+  // .test-button {
23
+  //   border-radius: 10%;
24
+  //   background-color: #fff;
25
+  // }
26
+
7
   .OrderNumber {
27
   .OrderNumber {
8
-    height: 19px;
28
+    // height: 19px;
9
     font-size: 20px;
29
     font-size: 20px;
10
     font-weight: 400;
30
     font-weight: 400;
11
     color: #666666;
31
     color: #666666;
12
-    line-height: 44px;
32
+    // line-height: 44px;
13
   }
33
   }
14
   .wrapper {
34
   .wrapper {
15
     margin-top: 40px;
35
     margin-top: 40px;
47
       position: relative;
67
       position: relative;
48
       display: flex;
68
       display: flex;
49
       background: @whiteColor;
69
       background: @whiteColor;
50
-      background: radial-gradient(circle at top right, transparent 15px, #fff)
70
+      background: radial-gradient(
71
+            circle at top right,
72
+            transparent 15px,
73
+            #fff 0 0
74
+          )
51
           top right,
75
           top right,
52
-        radial-gradient(circle at bottom right, transparent 15px, #fff) bottom
53
-          right;
76
+        radial-gradient(circle at bottom right, transparent 15px, #fff 0 0)
77
+          bottom right;
54
       background-size: 100% 60%;
78
       background-size: 100% 60%;
55
       background-repeat: no-repeat;
79
       background-repeat: no-repeat;
56
 
80
 
168
 
192
 
169
   .right-complete-two {
193
   .right-complete-two {
170
     background: @whiteColor;
194
     background: @whiteColor;
171
-    background: radial-gradient(circle at top left, transparent 15px, #fff) top
172
-        left,
173
-      radial-gradient(circle at bottom left, transparent 15px, #fff) bottom left;
195
+    background: radial-gradient(circle at top left, transparent 15px, #fff 0 0)
196
+        top left,
197
+      radial-gradient(circle at bottom left, transparent 15px, #fff 0 0) bottom
198
+        left;
174
     background-size: 100% 60%;
199
     background-size: 100% 60%;
175
     background-repeat: no-repeat;
200
     background-repeat: no-repeat;
176
     width: 129px;
201
     width: 129px;

+ 0
- 316
src/components/CompoentsOrder/complete/styleoen.less 查看文件

1
-@whiteColor: #fff;
2
-
3
-.AlreadyUsed-box {
4
-  margin: 40px auto;
5
-  padding: 0 30px;
6
-
7
-  .item-center-Number {
8
-    .card-box-star {
9
-      margin-top: 23px;
10
-      width: auto;
11
-      height: 44.3px;
12
-      font-size: 20px;
13
-      color: @whiteColor;
14
-      .card-box-star-text {
15
-        display: inline-block;
16
-        height: 22px;
17
-        font-size: 24px;
18
-        font-weight: 400;
19
-        color: #666666;
20
-      }
21
-      .card-star-image {
22
-        padding-left: 30px;
23
-        width: 21px;
24
-        height: 21px;
25
-      }
26
-      .card-star-text {
27
-        padding-left: 10px;
28
-        font-size: 20px;
29
-        color: #333;
30
-        font-weight: 700;
31
-      }
32
-    }
33
-  }
34
-
35
-  .buy-button-box {
36
-    width: 100%;
37
-    margin: 40px 0 0 0;
38
-
39
-    .button-Cancel {
40
-      display: inline-block;
41
-      width: 236px;
42
-      height: 78px;
43
-      border: 2px solid #274291;
44
-      font-size: 30px;
45
-      font-weight: bold;
46
-      color: #274291;
47
-      border-radius: 12px;
48
-      margin-right: 80px;
49
-    }
50
-    .button-OK {
51
-      display: inline-block;
52
-
53
-      width: 236px;
54
-      height: 78px;
55
-      background: #274291;
56
-      border-radius: 12px;
57
-      font-size: 30px;
58
-      font-weight: bold;
59
-      color: #ffffff;
60
-    }
61
-  }
62
-  .OrderNumber {
63
-    // width: 234px;
64
-    height: 19px;
65
-    font-size: 20px;
66
-    font-weight: 400;
67
-    color: #666666;
68
-    line-height: 44px;
69
-  }
70
-  .wrapper {
71
-    margin-top: 40px;
72
-    display: flex;
73
-    position: relative;
74
-    // margin-top: 600px;
75
-    margin: 30px auto;
76
-    width: 100%;
77
-    // box-shadow: 0px 8px 38px 0px rgba(0, 0, 0, 0.12);
78
-    // filter: drop-shadow(5px 8px 6px rgb(202, 202, 202));
79
-    filter: drop-shadow(0 0 0.9rem rgba(0, 0, 0, 0.12));
80
-    .card-box-star {
81
-      position: absolute;
82
-      width: auto;
83
-      height: 44.3px;
84
-      position: absolute;
85
-      left: 200px;
86
-      top: 28px;
87
-      font-size: 20px;
88
-      color: @whiteColor;
89
-      .card-star-image {
90
-        padding-left: 6px;
91
-        width: 21px;
92
-        height: 21px;
93
-      }
94
-      .card-star-text {
95
-        padding-left: 10px;
96
-        font-size: 20px;
97
-        color: #333;
98
-        font-weight: 700;
99
-      }
100
-    }
101
-
102
-    .left-complete-one {
103
-      padding-top: 85px;
104
-      padding-bottom: 43px;
105
-      position: relative;
106
-      display: flex;
107
-      background: @whiteColor;
108
-      background: radial-gradient(circle at top right, transparent 15px, #fff)
109
-          top right,
110
-        radial-gradient(circle at bottom right, transparent 15px, #fff) bottom
111
-          right;
112
-      background-size: 100% 60%;
113
-      background-repeat: no-repeat;
114
-
115
-      width: 573px;
116
-      border-radius: 15px 0px 0px 15px;
117
-      // border-radius: 12px;
118
-
119
-      align-items: center;
120
-      .left-image-1 {
121
-        width: 145px;
122
-        height: 44px;
123
-        position: absolute;
124
-        top: 22px;
125
-      }
126
-      .left-viewText {
127
-        // background-image: url(@Image-ProCard_hot);
128
-        // width: 287px;
129
-        width: auto;
130
-        height: 44.3px;
131
-        position: absolute;
132
-        left: 1px;
133
-        top: 28px;
134
-        font-size: 20px;
135
-        color: @whiteColor;
136
-      }
137
-      //图片
138
-      .title-image {
139
-        width: 145px;
140
-        margin-left: 20px;
141
-        border-radius: 24px;
142
-        overflow: hidden;
143
-        position: relative;
144
-        .image-1 {
145
-          width: 100%;
146
-          height: 145px;
147
-        }
148
-        .image-2 {
149
-          width: 89px;
150
-          height: 34px;
151
-          position: absolute;
152
-          left: 0;
153
-          top: 0;
154
-        }
155
-      }
156
-      // 商品标题
157
-      .title-content {
158
-        // padding: 84px 0 56px 20px;
159
-        padding-left: 18px;
160
-
161
-        .Pro-title {
162
-          .title-text {
163
-            width: 375px;
164
-            overflow: hidden;
165
-            text-overflow: ellipsis;
166
-            // display: -webkit-box; //必须要
167
-            -webkit-line-clamp: 1;
168
-            -webkit-box-orient: vertical;
169
-            // word-break: break-all; /* 多出文本省略号代替 */
170
-            text-align: left;
171
-            font-size: 24px;
172
-            // padding-bottom: 10px;
173
-          }
174
-        }
175
-        .title-money {
176
-          // padding-top: 34px;
177
-          font-size: 24px;
178
-          // color: red;
179
-          font-weight: 800;
180
-        }
181
-        .title-money-2 {
182
-          height: 19px;
183
-          font-size: 20px;
184
-          font-weight: 400;
185
-          color: #333333;
186
-          padding-left: 40px;
187
-        }
188
-
189
-        .title-time {
190
-          font-size: 24px;
191
-          // padding-top: 20px;
192
-          color: #c0c8d3;
193
-        }
194
-        .title-position-on {
195
-          display: flex;
196
-          font-size: 20px;
197
-          .title-position {
198
-            width: 18px;
199
-            height: 24px;
200
-            padding-right: 10px;
201
-            padding-top: 5px;
202
-          }
203
-          .title-position-image {
204
-            align-items: center;
205
-            font-size: 20px;
206
-            color: #333;
207
-          }
208
-          .title-on {
209
-            // margin-bottom: 10px;
210
-            padding-top: 5px;
211
-            padding-left: 40px;
212
-            width: 21px;
213
-            height: 21px;
214
-            padding-right: 10px;
215
-          }
216
-          .title-on-text {
217
-            align-items: center;
218
-
219
-            font-size: 20px;
220
-            color: #333;
221
-          }
222
-        }
223
-      }
224
-    }
225
-    // .left-complete-one:nth-child(2) {
226
-    //   background: rgb(182, 0, 0);
227
-    //   padding-top: 10px;
228
-    // }
229
-  }
230
-
231
-  .right-complete-two {
232
-    background: @whiteColor;
233
-    background: radial-gradient(circle at top left, transparent 15px, #fff) top
234
-        left,
235
-      radial-gradient(circle at bottom left, transparent 15px, #fff) bottom left;
236
-    background-size: 100% 60%;
237
-    background-repeat: no-repeat;
238
-    width: 129px;
239
-    border-radius: 0 15px 15px 0;
240
-    position: relative;
241
-    //右面部分
242
-    .right-content {
243
-      // width: 100px;
244
-      height: 120px;
245
-      position: absolute;
246
-      top: 50%;
247
-      left: 50%;
248
-      transform: translate(-50%, -50%);
249
-      // border: 1px solid red;
250
-      .right-image-2 {
251
-        width: 76px;
252
-        height: 66px;
253
-        margin-top: 1em;
254
-      }
255
-      .right-number {
256
-        // width: 32px;
257
-        // font-size: 20px;
258
-        // border-radius: 4px;
259
-        // border: 2px solid #999;
260
-        // margin: auto;
261
-        // text-align: center;
262
-      }
263
-      .right-image {
264
-        // float: convert();
265
-        width: 35px;
266
-        height: 34px;
267
-        margin: 0 auto;
268
-        align-items: center;
269
-        margin: auto;
270
-        padding-left: 8px;
271
-        // text-align: center;
272
-      }
273
-
274
-      .right-title {
275
-        font-weight: 700;
276
-        font-size: 24px;
277
-        padding-top: 15px;
278
-        text-align: center;
279
-      }
280
-    }
281
-  }
282
-  //线条
283
-  .right-complete-two::after {
284
-    content: "";
285
-    position: absolute;
286
-    top: 15px;
287
-    margin: 26px auto;
288
-    height: 70%;
289
-    border-left: 1px dashed #595959;
290
-    opacity: 0.12;
291
-  }
292
-  .foot {
293
-    width: 100%;
294
-    height: 26px;
295
-    font-size: 28px;
296
-    font-weight: 400;
297
-    color: #c0c8d3;
298
-    line-height: 34px;
299
-    margin-top: 40px;
300
-    text-align: center;
301
-  }
302
-
303
-  .button-info {
304
-    margin-bottom: 70px;
305
-
306
-    .button-box {
307
-      margin: 60px 0;
308
-      width: calc(100% - 60px);
309
-      height: 88px;
310
-      line-height: 88px;
311
-      background: #274291;
312
-      border-radius: 12px;
313
-      color: @whiteColor;
314
-    }
315
-  }
316
-}

+ 1
- 1
src/components/List/index.jsx 查看文件

106
       }
106
       }
107
       {!list || !list.length && noData}
107
       {!list || !list.length && noData}
108
 
108
 
109
-      {list && list.length > 0 && !hasMore && <view className='botton'>已经到底了~</view>}
109
+      {list && list.length > 0 && !hasMore && <view className='botton'>这是我的底线</view>}
110
 
110
 
111
     </ScrollView>
111
     </ScrollView>
112
   )
112
   )

+ 13
- 13
src/components/OrderMolded/index.jsx 查看文件

11
   const { item } = props
11
   const { item } = props
12
 
12
 
13
   return (
13
   return (
14
-    <view class='wrapper-box'>
15
-      <view class='left-complete-one'>
16
-        <image className='left-image-1' src={ProCard_hot}></image>
17
-        <view className='left-viewText'>
14
+    <view class='wrapper-box-cardOrder'>
15
+      <view class='left-complete-one-cardOrder'>
16
+        <image className='left-image-1-cardOrder' src={ProCard_hot}></image>
17
+        <view className='left-viewText-cardOrder'>
18
           返现¥{(item.cashback / 100).toFixed(2)}
18
           返现¥{(item.cashback / 100).toFixed(2)}
19
         </view>
19
         </view>
20
-        <view className='title-image'>
21
-          <image className='image-1' mode='scaleToFill' src={item.poster}></image>
22
-          <image className='image-2' src={food}></image>
20
+        <view className='title-image-cardOrder'>
21
+          <image className='image-1-cardOrder' mode='scaleToFill' src={item.poster}></image>
22
+          <image className='image-2-cardOrder' src={food}></image>
23
         </view>
23
         </view>
24
-        <view className='title-content'>
25
-          <view className='Pro-title'>
26
-            <view className='title-text'>{item.description}</view>
27
-          </view>
28
-          <text className='title-money' >¥{(item.actualPrice / 100).toFixed(2)}元</text>
29
-          <view className='title-time' >有效期:{formatTimes(item.startTime, "yyyy/MM/dd")}-{formatTimes(item.endTime, "yyyy/MM/dd")}</view>
24
+        <view className='title-content-cardOrder'>
25
+
26
+          <view className='title-text-cardOrder'>{item.description}</view>
27
+
28
+          <text className='title-money-cardOrder' >¥{(item.actualPrice / 100).toFixed(2)}元</text>
29
+          <view className='title-time-cardOrder' >有效期:{formatTimes(item.startTime, "yyyy/MM/dd")}-{formatTimes(item.endTime, "yyyy/MM/dd")}</view>
30
         </view>
30
         </view>
31
       </view>
31
       </view>
32
     </view>
32
     </view>

+ 32
- 42
src/components/OrderMolded/style.less 查看文件

1
 @whiteColor: #fff;
1
 @whiteColor: #fff;
2
 
2
 
3
-.wrapper-box {
3
+.wrapper-box-cardOrder {
4
   border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
4
   border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
5
 
5
 
6
-  .left-complete-one {
6
+  .left-complete-one-cardOrder {
7
     padding-top: 87px;
7
     padding-top: 87px;
8
     padding-bottom: 21px;
8
     padding-bottom: 21px;
9
     position: relative;
9
     position: relative;
10
     display: flex;
10
     display: flex;
11
     background: @whiteColor;
11
     background: @whiteColor;
12
-    background: radial-gradient(
13
-          circle at top right,
14
-          transparent 15px,
15
-          #fff
16
-        )
17
-        top right,
18
-      radial-gradient(circle at bottom right, transparent 15px, #fff)
19
-        bottom right;
20
-    background-size: 100% 60%;
12
+    // background: radial-gradient(circle at top right, transparent 15px, #fff 0 ) top
13
+    //     right,
14
+    //   radial-gradient(circle at bottom right, transparent 15px, #fff 0 ) bottom
15
+    //     right;
16
+    // background-size: 100% 60%;
21
     background-repeat: no-repeat;
17
     background-repeat: no-repeat;
22
 
18
 
23
     width: 573px;
19
     width: 573px;
25
     // border-radius: 12px;
21
     // border-radius: 12px;
26
 
22
 
27
     align-items: center;
23
     align-items: center;
28
-    .left-image-1 {
24
+    .left-image-1-cardOrder {
29
       width: 145px;
25
       width: 145px;
30
       height: 44px;
26
       height: 44px;
31
       position: absolute;
27
       position: absolute;
32
       top: 22px;
28
       top: 22px;
33
     }
29
     }
34
-    .left-viewText {
30
+    .left-viewText-cardOrder {
35
       // background-image: url(@Image-ProCard_hot);
31
       // background-image: url(@Image-ProCard_hot);
36
       // width: 287px;
32
       // width: 287px;
37
       width: auto;
33
       width: auto;
44
       font-weight: 600;
40
       font-weight: 600;
45
     }
41
     }
46
     //图片
42
     //图片
47
-    .title-image {
43
+    .title-image-cardOrder {
48
       width: 145px;
44
       width: 145px;
49
       margin-left: 20px;
45
       margin-left: 20px;
50
       border-radius: 24px;
46
       border-radius: 24px;
51
       overflow: hidden;
47
       overflow: hidden;
52
       position: relative;
48
       position: relative;
53
-      .image-1 {
49
+      .image-1-cardOrder {
54
         width: 100%;
50
         width: 100%;
55
         height: 145px;
51
         height: 145px;
56
       }
52
       }
57
-      .image-2 {
53
+      .image-2-cardOrder {
58
         width: 89px;
54
         width: 89px;
59
         height: 34px;
55
         height: 34px;
60
         position: absolute;
56
         position: absolute;
63
       }
59
       }
64
     }
60
     }
65
     // 商品标题
61
     // 商品标题
66
-    .title-content {
62
+    .title-content-cardOrder {
67
       // padding: 84px 0 56px 20px;
63
       // padding: 84px 0 56px 20px;
68
       padding-left: 18px;
64
       padding-left: 18px;
69
 
65
 
70
-      .Pro-title {
71
-        .title-text {
72
-          width: 375px;
73
-          overflow: hidden;
74
-          text-overflow: ellipsis;
75
-          display: -webkit-box; //必须要
76
-          -webkit-line-clamp: 1;
77
-          -webkit-box-orient: vertical;
78
-          word-break: break-all; /* 多出文本省略号代替 */
79
-          text-align: left;
80
-          font-size: 24px;
81
-          padding-bottom: 10px;
82
-        }
66
+      .title-text-cardOrder {
67
+        width: 375px;
68
+        overflow: hidden;
69
+        text-overflow: ellipsis;
70
+        display: -webkit-box; //必须要
71
+        -webkit-line-clamp: 1;
72
+        -webkit-box-orient: vertical;
73
+        word-break: break-all; /* 多出文本省略号代替 */
74
+        text-align: left;
75
+        font-size: 24px;
76
+        padding-bottom: 10px;
83
       }
77
       }
84
-      .title-money {
78
+
79
+      .title-money-cardOrder {
85
         padding-top: 34px;
80
         padding-top: 34px;
86
         font-size: 24px;
81
         font-size: 24px;
87
         // color: red;
82
         // color: red;
89
         right: 136px;
84
         right: 136px;
90
         font-weight: 800;
85
         font-weight: 800;
91
       }
86
       }
92
-      .title-money-2 {
87
+      .title-money-2-cardOrder {
93
         font-size: 18px;
88
         font-size: 18px;
94
         color: #666;
89
         color: #666;
95
         padding-left: 10px;
90
         padding-left: 10px;
96
         text-decoration: line-through;
91
         text-decoration: line-through;
97
       }
92
       }
98
 
93
 
99
-      .title-time {
94
+      .title-time-cardOrder {
100
         font-size: 24px;
95
         font-size: 24px;
101
         padding-top: 20px;
96
         padding-top: 20px;
102
         color: #c0c8d3;
97
         color: #c0c8d3;
105
   }
100
   }
106
 }
101
 }
107
 
102
 
108
-.right-complete-two {
103
+.right-complete-two-cardOrder {
109
   background: @whiteColor;
104
   background: @whiteColor;
110
-  background: radial-gradient(
111
-        circle at top left,
112
-        transparent 15px,
113
-        #fff
114
-      )
115
-      top left,
116
-    radial-gradient(circle at bottom left, transparent 15px, #fff)
117
-      bottom left;
105
+  background: radial-gradient(circle at top left, transparent 15px, #fff 0) top
106
+      left,
107
+    radial-gradient(circle at bottom left, transparent 15px, #fff 0) bottom left;
118
   background-size: 100% 60%;
108
   background-size: 100% 60%;
119
   background-repeat: no-repeat;
109
   background-repeat: no-repeat;
120
   width: 129px;
110
   width: 129px;

+ 6
- 5
src/components/PayOrderCard/style.less 查看文件

78
       position: relative;
78
       position: relative;
79
       display: flex;
79
       display: flex;
80
       background: @whiteColor;
80
       background: @whiteColor;
81
-      background: radial-gradient(circle at top right, transparent 15px, #fff)
81
+      background: radial-gradient(circle at top right, transparent 15px, #fff 0)
82
           top right,
82
           top right,
83
-        radial-gradient(circle at bottom right, transparent 15px, #fff) bottom
83
+        radial-gradient(circle at bottom right, transparent 15px, #fff 0) bottom
84
           right;
84
           right;
85
       background-size: 100% 60%;
85
       background-size: 100% 60%;
86
       background-repeat: no-repeat;
86
       background-repeat: no-repeat;
168
 
168
 
169
   .right-complete-two {
169
   .right-complete-two {
170
     background: @whiteColor;
170
     background: @whiteColor;
171
-    background: radial-gradient(circle at top left, transparent 15px, #fff) top
172
-        left,
173
-      radial-gradient(circle at bottom left, transparent 15px, #fff) bottom left;
171
+    background: radial-gradient(circle at top left, transparent 15px, #fff 0)
172
+        top left,
173
+      radial-gradient(circle at bottom left, transparent 15px, #fff 0) bottom
174
+        left;
174
     background-size: 100% 60%;
175
     background-size: 100% 60%;
175
     background-repeat: no-repeat;
176
     background-repeat: no-repeat;
176
     width: 129px;
177
     width: 129px;

+ 21
- 21
src/components/tip/index.jsx 查看文件

1
-import { Swiper, SwiperItem,View} from '@tarojs/components';
2
-import { getTipList} from '@/services/home'
3
-import { useState,useEffect } from 'react';
1
+import { Swiper, SwiperItem, View } from '@tarojs/components';
2
+import { getTipList } from '@/services/home'
3
+import { useState, useEffect } from 'react';
4
 import icontip from '@/assets/icons/housemantj/tip.png'
4
 import icontip from '@/assets/icons/housemantj/tip.png'
5
 import './index.less'
5
 import './index.less'
6
 
6
 
7
-export default ()=>{  
8
-  const [tips,setTips]=useState([])
7
+export default () => {
8
+  const [tips, setTips] = useState([])
9
   useEffect(() => {
9
   useEffect(() => {
10
-    getTipList(1).then((res)=>{
11
-      setTips(res.records||[])
10
+    getTipList(1).then((res) => {
11
+      setTips(res.records || [])
12
     })
12
     })
13
-  },[])
14
-    return (      
15
-      <view className='tip'>
16
-        <image className='tipicon' src={icontip} />
13
+  }, [])
14
+  return (
15
+    <view className='tip'>
16
+      <image className='tipicon' src={icontip} />
17
       <Swiper
17
       <Swiper
18
-      className='swp'
18
+        className='swp'
19
         vertical
19
         vertical
20
-        circular        
21
-        interval="3000"        
20
+        circular
21
+        interval="3000"
22
         autoplay>
22
         autoplay>
23
-          {
24
-            tips==''?<SwiperItem>Tip:暂无公告  欢迎使用十公里小程序</SwiperItem>:
25
-            tips.map((item)=>
23
+        {
24
+          tips == '' ? <SwiperItem>暂无公告  欢迎使用十公里小程序</SwiperItem> :
25
+            tips.map((item) =>
26
               <SwiperItem>
26
               <SwiperItem>
27
-                <View>Tip:{item.content}</View>
27
+                <View>{item.content}</View>
28
               </SwiperItem>
28
               </SwiperItem>
29
             )
29
             )
30
-          }        
30
+        }
31
       </Swiper>
31
       </Swiper>
32
-      </view>
33
-    )  
32
+    </view>
33
+  )
34
 }
34
 }

+ 3
- 3
src/components/toggleRole/ToggleRole.jsx 查看文件

31
         <view className='User-box-selectUser'>请选择身份:</view>
31
         <view className='User-box-selectUser'>请选择身份:</view>
32
         <view className='User-box-tourist' onClick={goToPerson}>
32
         <view className='User-box-tourist' onClick={goToPerson}>
33
           <image className='Ubs-tourist-image' src={role === 'normal' ? touristON : touristOFF} />
33
           <image className='Ubs-tourist-image' src={role === 'normal' ? touristON : touristOFF} />
34
-          <text className='Ubs-tourist-text'>游客</text>
34
+          <text className='Ubs-tourist-text'>我是用户</text>
35
         </view>
35
         </view>
36
         <view className='User-box-hotelBoss' onClick={goToHotel}>
36
         <view className='User-box-hotelBoss' onClick={goToHotel}>
37
           <image className='Ubs-hotelBoss-image' src={role === 'hotel' ? hotelBossON : hotelBossOFF} />
37
           <image className='Ubs-hotelBoss-image' src={role === 'hotel' ? hotelBossON : hotelBossOFF} />
38
-          <text className='Ubs-hotelBoss-text'>民宿老板</text>
38
+          <text className='Ubs-hotelBoss-text'>我是房东</text>
39
         </view>
39
         </view>
40
         <view className='User-box-shopBoss' onClick={goToShop}>
40
         <view className='User-box-shopBoss' onClick={goToShop}>
41
           <image className='Ubs-shopBoss-image' src={role === 'shop' ? shopBossON : shopBossOFF} />
41
           <image className='Ubs-shopBoss-image' src={role === 'shop' ? shopBossON : shopBossOFF} />
42
-          <text className='Ubs-shopBoss-text'>店铺老板</text>
42
+          <text className='Ubs-shopBoss-text'>我是商铺</text>
43
         </view>
43
         </view>
44
       </view>
44
       </view>
45
     </Popup>
45
     </Popup>

+ 6
- 1
src/pages/MineUserAll/AllOrder/index.config.js 查看文件

3
   navigationStyle: 'custom',
3
   navigationStyle: 'custom',
4
   "usingComponents": {
4
   "usingComponents": {
5
     "mp-dialog": "weui-miniprogram/dialog/dialog",
5
     "mp-dialog": "weui-miniprogram/dialog/dialog",
6
-    "mp-tabs": "../../../components/tabs/index"
6
+    "mp-tabs": "../../../components/tabs/index",
7
+    "mp-slideview": "weui-miniprogram/slideview/slideview",
8
+    "mp-cells": "weui-miniprogram/cells/cells",
9
+    "mp-cell": "weui-miniprogram/cell/cell"
7
   }
10
   }
8
 
11
 
12
+
13
+
9
 }
14
 }

+ 37
- 28
src/pages/MineUserAll/ContactMe/index.jsx 查看文件

1
+import { saveFeedback } from '@/services/mine'
2
+import QCRsgl from '@/assets/icons/ProCard/QCRsgl.png'
1
 import CustomNav from '@/components/CustomNav'
3
 import CustomNav from '@/components/CustomNav'
2
 import Taro from '@tarojs/taro'
4
 import Taro from '@tarojs/taro'
5
+import { Image, Button } from '@tarojs/components'
3
 import withLayout from '@/layouts'
6
 import withLayout from '@/layouts'
4
-import { Button} from '@tarojs/components'
5
 import './style.less'
7
 import './style.less'
6
-import {saveFeedback} from '@/services/mine'
7
 
8
 
8
 
9
 
9
 export default withLayout((props) => {
10
 export default withLayout((props) => {
10
   const { person } = props
11
   const { person } = props
11
-  const {personId}=person
12
+  const { personId } = person
12
   const back = () => {
13
   const back = () => {
13
     Taro.navigateBack()
14
     Taro.navigateBack()
14
   }
15
   }
15
-  const submit=()=>{
16
-    var content=document.getElementById('content').value
17
-    if(content!=''){
16
+  const submit = () => {
17
+    var content = document.getElementById('content').value
18
+    if (content != '') {
18
       saveFeedback({
19
       saveFeedback({
19
         personId,
20
         personId,
20
         content
21
         content
21
-      }).then(()=>{
22
+      }).then(() => {
22
         // 成功返回一个模态框提醒用户
23
         // 成功返回一个模态框提醒用户
23
-        wx.showModal({
24
-          title: '提示',
25
-          content: '反馈成功,感谢提交;\r\n如有需要平台将在24小时内添加您的微信,请留意您的手机信息。',
26
-          showCancel:false,
27
-          success (res) {
28
-            if (res.confirm) {
29
-              back()
30
-            }
31
-          }
32
-        })             
24
+        // Taro.showModal({
25
+        //   title: '提示',
26
+        //   content: '反馈成功,感谢提交;\r\n如有需要平台将在24小时内添加您的微信,请留意您的手机信息。',
27
+        //   showCancel: false,
28
+        //   success(res) {
29
+        //     if (res.confirm) {
30
+        //       back()
31
+        //     }
32
+        //   }
33
+        // })
33
       })
34
       })
34
     }
35
     }
35
-    else{
36
-      wx.showToast({
36
+    else {
37
+      Taro.showToast({
37
         title: '请重新输入',
38
         title: '请重新输入',
38
         icon: 'none',
39
         icon: 'none',
39
         duration: 2000
40
         duration: 2000
40
-      }) 
41
+      })
41
     }
42
     }
42
   }
43
   }
43
   return (
44
   return (
44
     <view className='box-content'>
45
     <view className='box-content'>
45
       <CustomNav title='联系我们' />
46
       <CustomNav title='联系我们' />
46
-      <view style={{padding:'60rpx 30rpx'}}>
47
-      <view class='section'>
48
-        <textarea placeholder='请输入您的建议或意见!' id='content' />
49
-      </view>
50
-      <view className='button-info'>
51
-        <Button className='button-box' onClick={submit}>提交</Button>
52
-        <Button className='button-box-Cancel' onClick={back} >取消</Button>
53
-      </view>
47
+      <view style={{ padding: '60rpx 30rpx' }}>
48
+        <view class='section'>
49
+          <textarea placeholder='请输入您的建议或意见!' id='content' />
50
+        </view>
51
+        <view className='content-Title'   >
52
+          如有需要平台将在24小时内添加您的微信,请留意您的手机信息。您也可直接截图后微信扫描二维码
53
+        </view>
54
+        <view className='content-Title'   >
55
+          <view>您也可直接截图后微信扫描二维码</view>
56
+          <view>添加客服企业微信号联系我们哟~</view>
57
+        </view>
58
+        <Image src={QCRsgl} style={{ width: '30vw', height: '30vw', margin: '0 auto', display: 'block' }} />
59
+        <view className='button-info'>
60
+          <Button className='button-box' onClick={submit}>提交</Button>
61
+          <Button className='button-box-Cancel' onClick={back} >取消</Button>
62
+        </view>
54
       </view>
63
       </view>
55
     </view>
64
     </view>
56
   )
65
   )

+ 9
- 1
src/pages/MineUserAll/ContactMe/style.less 查看文件

2
   .section {
2
   .section {
3
     height: 254px;
3
     height: 254px;
4
     border: 1px solid #b5b5b5;
4
     border: 1px solid #b5b5b5;
5
+    font-size: 24px;
6
+
5
     box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.08);
7
     box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.08);
6
     padding: 30px;
8
     padding: 30px;
7
-    font-size: 24px;
8
     textarea {
9
     textarea {
9
       height: 100%;
10
       height: 100%;
10
     }
11
     }
14
     border-radius: 12px;
15
     border-radius: 12px;
15
     line-height: 88px;
16
     line-height: 88px;
16
   }
17
   }
18
+  .content-Title {
19
+    margin-top: 1em;
20
+    color: #b5b5b5;
21
+    font-size: 24px;
22
+    text-align: center;
23
+  }
24
+
17
   .button-info {
25
   .button-info {
18
     width: calc(100% - 60px);
26
     width: calc(100% - 60px);
19
     position: absolute;
27
     position: absolute;

+ 8
- 18
src/pages/MineUserAll/RefundMoney/CheckRefund/style.less 查看文件

35
     // margin-top: 600px;
35
     // margin-top: 600px;
36
     // margin: 30px auto;
36
     // margin: 30px auto;
37
     // width: 100%;
37
     // width: 100%;
38
-
38
+    width: calc(100% -25px);
39
     // box-shadow: 0px 8px 38px 0px rgba(0, 0, 0, 0.12);
39
     // box-shadow: 0px 8px 38px 0px rgba(0, 0, 0, 0.12);
40
     // filter: drop-shadow(5px 8px 6px rgb(202, 202, 202));
40
     // filter: drop-shadow(5px 8px 6px rgb(202, 202, 202));
41
     filter: drop-shadow(0 0 0.9rem rgba(0, 0, 0, 0.12));
41
     filter: drop-shadow(0 0 0.9rem rgba(0, 0, 0, 0.12));
60
         font-weight: 700;
60
         font-weight: 700;
61
       }
61
       }
62
     }
62
     }
63
-    
64
 
63
 
65
     .left-complete-one {
64
     .left-complete-one {
66
       padding-top: 87px;
65
       padding-top: 87px;
68
       position: relative;
67
       position: relative;
69
       display: flex;
68
       display: flex;
70
       background: @whiteColor;
69
       background: @whiteColor;
71
-      background: radial-gradient(
72
-            circle at top right,
73
-            transparent 15px,
74
-            #fff
75
-          )
70
+      background: radial-gradient(circle at top right, transparent 15px, #fff 0)
76
           top right,
71
           top right,
77
-        radial-gradient(circle at bottom right, transparent 15px, #fff)
78
-          bottom right;
72
+        radial-gradient(circle at bottom right, transparent 15px, #fff 0) bottom
73
+          right;
79
       background-size: 100% 60%;
74
       background-size: 100% 60%;
80
       background-repeat: no-repeat;
75
       background-repeat: no-repeat;
81
 
76
 
103
       }
98
       }
104
       //图片
99
       //图片
105
       .title-image {
100
       .title-image {
106
-
107
         height: 144px;
101
         height: 144px;
108
         margin-left: 20px;
102
         margin-left: 20px;
109
         border-radius: 24px;
103
         border-radius: 24px;
158
           font-weight: 400;
152
           font-weight: 400;
159
           color: #333333;
153
           color: #333333;
160
           padding-left: 50px;
154
           padding-left: 50px;
161
-          text-decoration:line-through;
155
+          text-decoration: line-through;
162
         }
156
         }
163
 
157
 
164
         .title-time {
158
         .title-time {
201
 
195
 
202
   .right-complete-two {
196
   .right-complete-two {
203
     background: @whiteColor;
197
     background: @whiteColor;
204
-    background: radial-gradient(
205
-          circle at top left,
206
-          transparent 15px,
207
-          #fff
208
-        )
198
+    background: radial-gradient(circle at top left, transparent 15px, #fff 0)
209
         top left,
199
         top left,
210
-      radial-gradient(circle at bottom left, transparent 15px, #fff)
211
-        bottom left;
200
+      radial-gradient(circle at bottom left, transparent 15px, #fff 0) bottom
201
+        left;
212
     background-size: 100% 60%;
202
     background-size: 100% 60%;
213
     background-repeat: no-repeat;
203
     background-repeat: no-repeat;
214
     width: 129px;
204
     width: 129px;

+ 27
- 27
src/pages/MineUserAll/RefundMoney/index.jsx 查看文件

82
   }, [pageNum]);
82
   }, [pageNum]);
83
 
83
 
84
   return (
84
   return (
85
-    <view className="box-content">
86
-      <CustomNav title="售后退款" />
85
+    <view className='box-content'>
86
+      <CustomNav title='售后退款' />
87
       <scroll-view
87
       <scroll-view
88
         scrollY
88
         scrollY
89
-        style="height: calc(100vh - 176rpx);"
89
+        style='height: calc(100vh - 176rpx);'
90
         refresher-enabled
90
         refresher-enabled
91
         refresher-triggered={IsPull}
91
         refresher-triggered={IsPull}
92
         onrefresherrefresh={pageRefresh}
92
         onrefresherrefresh={pageRefresh}
93
-        refresher-background="#fff"
93
+        refresher-background='#fff'
94
         onscrolltolower={pageLoadMore}
94
         onscrolltolower={pageLoadMore}
95
       >
95
       >
96
-        <view>
96
+        <view className='View-box-Card'>
97
           {(list || []).map((item) => {
97
           {(list || []).map((item) => {
98
             return (
98
             return (
99
-              <view class="wrapper" key={item.orderId}>
100
-                <view class="left-complete-one">
101
-                  <image className="left-image-1" src={ProCard_hot}></image>
99
+              <view class='wrapper' key={item.orderId}>
100
+                <view class='left-complete-one'>
101
+                  <image className='left-image-1' src={ProCard_hot}></image>
102
 
102
 
103
-                  <view className="left-viewText">
103
+                  <view className='left-viewText'>
104
                     返现¥{item.cashback / 100}
104
                     返现¥{item.cashback / 100}
105
                   </view>
105
                   </view>
106
                   {/* 评分 */}
106
                   {/* 评分 */}
107
-                  <view className="card-box-star">
107
+                  <view className='card-box-star'>
108
                     {scoreList.map((_, index) => {
108
                     {scoreList.map((_, index) => {
109
                       const src = index + 1 <= item.score ? starOn : starOff;
109
                       const src = index + 1 <= item.score ? starOn : starOff;
110
                       return (
110
                       return (
111
                         <image
111
                         <image
112
-                          className="card-star-image"
112
+                          className='card-star-image'
113
                           key={index}
113
                           key={index}
114
                           src={src}
114
                           src={src}
115
                         />
115
                         />
116
                       );
116
                       );
117
                     })}
117
                     })}
118
-                    <text className="card-star-text">
118
+                    <text className='card-star-text'>
119
                       {item.score?.toFixed(1)}
119
                       {item.score?.toFixed(1)}
120
                     </text>
120
                     </text>
121
                   </view>
121
                   </view>
122
-                  <view className="title-image">
122
+                  <view className='title-image'>
123
                     <image
123
                     <image
124
-                      className="image-1"
125
-                      mode="scaleToFill"
124
+                      className='image-1'
125
+                      mode='scaleToFill'
126
                       src={item.poster}
126
                       src={item.poster}
127
                     ></image>
127
                     ></image>
128
-                    <image className="image-2" src={food}></image>
128
+                    <image className='image-2' src={food}></image>
129
                   </view>
129
                   </view>
130
-                  <view className="title-content">
131
-                    <view className="Pro-title">
132
-                      <view className="title-text">
130
+                  <view className='title-content'>
131
+                    <view className='Pro-title'>
132
+                      <view className='title-text'>
133
                         {item.packageDescription}
133
                         {item.packageDescription}
134
-                        <text className="title-money-2">
134
+                        <text className='title-money-2'>
135
                           数量:{item.amount}张
135
                           数量:{item.amount}张
136
                         </text>
136
                         </text>
137
                       </view>
137
                       </view>
138
                     </view>
138
                     </view>
139
-                    <text className="title-money">
139
+                    <text className='title-money'>
140
                       ¥{item.unitPrice / 100}元
140
                       ¥{item.unitPrice / 100}元
141
                     </text>
141
                     </text>
142
-                    <view className="title-time">有效期:{formatTime(item?.endTime, "yyyy/MM/dd")}</view>
142
+                    <view className='title-time'>有效期:{formatTime(item?.endTime, "yyyy/MM/dd")}</view>
143
                   </view>
143
                   </view>
144
                 </view>
144
                 </view>
145
-                <view class="right-complete-two" onClick={() => handleRefund2(item)}>
146
-                  <view className="right-content">
145
+                <view class='right-complete-two' onClick={() => handleRefund2(item)}>
146
+                  <view className='right-content'>
147
                     {/* <image className='right-image-two' src={Null} /> */}
147
                     {/* <image className='right-image-two' src={Null} /> */}
148
-                    <image className="right-image" src={Refund} />
149
-                    <view className="right-title">售后</view>
148
+                    <image className='right-image' src={Refund} />
149
+                    <view className='right-title'>售后/退款</view>
150
                   </view>
150
                   </view>
151
                 </view>
151
                 </view>
152
               </view>
152
               </view>
153
             );
153
             );
154
           })}
154
           })}
155
-          <view className="foot">已经到底了~</view>
155
+          <view className='foot'>这是我的底线</view>
156
         </view>
156
         </view>
157
       </scroll-view>
157
       </scroll-view>
158
     </view>
158
     </view>

+ 200
- 211
src/pages/MineUserAll/RefundMoney/style.less 查看文件

2
 
2
 
3
 .box-content {
3
 .box-content {
4
   width: 100%;
4
   width: 100%;
5
-  .wrapper {
6
-    margin: auto;
7
-
8
-    margin-top: 40px;
9
-    display: flex;
10
-    position: relative;
11
-    // margin-top: 600px;
12
-    // margin: 30px auto;
13
-    width: 100%;
14
-    // box-shadow: 0px 8px 38px 0px rgba(0, 0, 0, 0.12);
15
-    // filter: drop-shadow(5px 8px 6px rgb(202, 202, 202));
16
-    filter: drop-shadow(0 0 0.9rem rgba(0, 0, 0, 0.12));
17
-    .card-box-star {
18
-      position: absolute;
19
-      width: auto;
20
-      height: 44.3px;
21
-      position: absolute;
22
-      left: 200px;
23
-      top: 28px;
24
-      font-size: 20px;
25
-      color: @whiteColor;
26
-      .card-star-image {
27
-        padding-left: 6px;
28
-        width: 21px;
29
-        height: 21px;
30
-      }
31
-      .card-star-text {
32
-        padding-left: 10px;
33
-        font-size: 20px;
34
-        color: #333;
35
-        font-weight: 700;
36
-      }
37
-    }
38
-
39
-    .left-complete-one {
40
-      padding-top: 87px;
41
-      padding-bottom: 43px;
42
-      position: relative;
5
+  .View-box-Card {
6
+    .wrapper {
7
+      width: calc(100% -25px);
8
+      margin-left: 25px;
9
+      margin-top: 40px;
43
       display: flex;
10
       display: flex;
44
-      background: @whiteColor;
45
-      background: radial-gradient(circle at top right, transparent 15px, #fff)
46
-          top right,
47
-        radial-gradient(circle at bottom right, transparent 15px, #fff) bottom
48
-          right;
49
-      background-size: 100% 60%;
50
-      background-repeat: no-repeat;
51
-
52
-      width: 573px;
53
-      border-radius: 15px 0px 0px 15px;
54
-      // border-radius: 12px;
55
-
56
-      align-items: center;
57
-      .left-image-1 {
58
-        width: 145px;
59
-        height: 44px;
11
+      position: relative;
12
+      // margin-top: 600px;
13
+      // margin: 30px auto;
14
+      // box-shadow: 0px 8px 38px 0px rgba(0, 0, 0, 0.12);
15
+      // filter: drop-shadow(5px 8px 6px rgb(202, 202, 202));
16
+      filter: drop-shadow(0 0 0.9rem rgba(0, 0, 0, 0.12));
17
+      .card-box-star {
60
         position: absolute;
18
         position: absolute;
61
-        top: 22px;
62
-      }
63
-      .left-viewText {
64
-        // background-image: url(@Image-ProCard_hot);
65
-        // width: 287px;
66
         width: auto;
19
         width: auto;
67
         height: 44.3px;
20
         height: 44.3px;
68
         position: absolute;
21
         position: absolute;
69
-        left: 1px;
22
+        left: 200px;
70
         top: 28px;
23
         top: 28px;
71
         font-size: 20px;
24
         font-size: 20px;
72
         color: @whiteColor;
25
         color: @whiteColor;
26
+        .card-star-image {
27
+          padding-left: 6px;
28
+          width: 21px;
29
+          height: 21px;
30
+        }
31
+        .card-star-text {
32
+          padding-left: 10px;
33
+          font-size: 20px;
34
+          color: #333;
35
+          font-weight: 700;
36
+        }
73
       }
37
       }
74
-      //图片
75
-      .title-image {
76
-        // width: 145px;
77
-        // margin-left: 20px;
78
-        // border-radius: 24px;
79
-        // overflow: hidden;
80
-        // position: relative;
81
-        height: 144px;
82
-        margin-left: 20px;
83
-        border-radius: 24px;
84
-        overflow: hidden;
38
+
39
+      .left-complete-one {
40
+        padding-top: 87px;
41
+        padding-bottom: 43px;
85
         position: relative;
42
         position: relative;
43
+        display: flex;
44
+        background: @whiteColor;
45
+        background: radial-gradient(
46
+              circle at top right,
47
+              transparent 15px,
48
+              #fff 0
49
+            )
50
+            top right,
51
+          radial-gradient(circle at bottom right, transparent 15px, #fff 0)
52
+            bottom right;
53
+        background-size: 100% 60%;
54
+        background-repeat: no-repeat;
86
 
55
 
87
-        .image-1 {
88
-          // width: 100%;
89
-          // height: 145px;
90
-          width: 144px;
91
-          height: 144px;
92
-          margin: 0;
56
+        width: 573px;
57
+        border-radius: 15px 0px 0px 15px;
58
+        // border-radius: 12px;
59
+
60
+        align-items: center;
61
+        .left-image-1 {
62
+          width: 145px;
63
+          height: 44px;
64
+          position: absolute;
65
+          top: 22px;
93
         }
66
         }
94
-        .image-2 {
95
-          width: 89px;
96
-          height: 34px;
67
+        .left-viewText {
68
+          // background-image: url(@Image-ProCard_hot);
69
+          // width: 287px;
70
+          width: auto;
71
+          height: 44.3px;
97
           position: absolute;
72
           position: absolute;
98
-          left: 0;
99
-          top: 0;
73
+          left: 1px;
74
+          top: 28px;
75
+          font-size: 20px;
76
+          color: @whiteColor;
100
         }
77
         }
101
-      }
102
-      // 商品标题
103
-      .title-content {
104
-        // padding: 84px 0 56px 20px;
105
-        padding-left: 18px;
78
+        //图片
79
+        .title-image {
80
+          // width: 145px;
81
+          // margin-left: 20px;
82
+          // border-radius: 24px;
83
+          // overflow: hidden;
84
+          // position: relative;
85
+          height: 144px;
86
+          margin-left: 20px;
87
+          border-radius: 24px;
88
+          overflow: hidden;
89
+          position: relative;
106
 
90
 
107
-        .Pro-title {
108
-          .title-text {
109
-            width: 375px;
110
-            overflow: hidden;
111
-            text-overflow: ellipsis;
112
-            // display: -webkit-box; //必须要
113
-            -webkit-line-clamp: 1;
114
-            -webkit-box-orient: vertical;
115
-            // word-break: break-all; /* 多出文本省略号代替 */
116
-            text-align: left;
117
-            font-size: 24px;
118
-            // padding-bottom: 10px;
91
+          .image-1 {
92
+            // width: 100%;
93
+            // height: 145px;
94
+            width: 144px;
95
+            height: 144px;
96
+            margin: 0;
97
+          }
98
+          .image-2 {
99
+            width: 89px;
100
+            height: 34px;
101
+            position: absolute;
102
+            left: 0;
103
+            top: 0;
119
           }
104
           }
120
         }
105
         }
121
-        .title-money {
122
-          // padding-top: 34px;
123
-          font-size: 24px;
124
-          // color: red;
125
-          display: inline-block;
126
-          font-weight: 800;
127
-          margin: 10px auto;
128
-        }
129
-        .title-money-2 {
130
-          height: 19px;
131
-          font-size: 20px;
132
-          font-weight: 400;
133
-          color: #333333;
134
-          padding-left: 50px;
135
-        }
106
+        // 商品标题
107
+        .title-content {
108
+          // padding: 84px 0 56px 20px;
109
+          padding-left: 18px;
136
 
110
 
137
-        .title-time {
138
-          font-size: 24px;
139
-          // padding-top: 20px;
140
-          color: #c0c8d3;
141
-        }
142
-        .title-position-on {
143
-          display: flex;
144
-          font-size: 20px;
145
-          .title-position {
146
-            width: 18px;
147
-            height: 24px;
148
-            padding-right: 10px;
149
-            padding-top: 5px;
111
+          .Pro-title {
112
+            .title-text {
113
+              width: 375px;
114
+              overflow: hidden;
115
+              text-overflow: ellipsis;
116
+              -webkit-line-clamp: 1;
117
+              -webkit-box-orient: vertical;
118
+              text-align: left;
119
+              font-size: 24px;
120
+            }
150
           }
121
           }
151
-          .title-position-image {
152
-            align-items: center;
153
-            font-size: 20px;
154
-            color: #333;
122
+          .title-money {
123
+            // padding-top: 34px;
124
+            font-size: 24px;
125
+            // color: red;
126
+            display: inline-block;
127
+            font-weight: 800;
128
+            margin: 10px auto;
155
           }
129
           }
156
-          .title-on {
157
-            // margin-bottom: 10px;
158
-            padding-top: 5px;
159
-            padding-left: 40px;
160
-            width: 21px;
161
-            height: 21px;
162
-            padding-right: 10px;
130
+          .title-money-2 {
131
+            height: 19px;
132
+            font-size: 20px;
133
+            font-weight: 400;
134
+            color: #333333;
135
+            padding-left: 50px;
163
           }
136
           }
164
-          .title-on-text {
165
-            align-items: center;
166
 
137
 
138
+          .title-time {
139
+            font-size: 24px;
140
+            // padding-top: 20px;
141
+            color: #c0c8d3;
142
+          }
143
+          .title-position-on {
144
+            display: flex;
167
             font-size: 20px;
145
             font-size: 20px;
168
-            color: #333;
146
+            .title-position {
147
+              width: 18px;
148
+              height: 24px;
149
+              padding-right: 10px;
150
+              padding-top: 5px;
151
+            }
152
+            .title-position-image {
153
+              align-items: center;
154
+              font-size: 20px;
155
+              color: #333;
156
+            }
157
+            .title-on {
158
+              // margin-bottom: 10px;
159
+              padding-top: 5px;
160
+              padding-left: 40px;
161
+              width: 21px;
162
+              height: 21px;
163
+              padding-right: 10px;
164
+            }
165
+            .title-on-text {
166
+              align-items: center;
167
+              font-size: 20px;
168
+              color: #333;
169
+            }
169
           }
170
           }
170
         }
171
         }
171
       }
172
       }
172
     }
173
     }
173
-  }
174
-
175
-  .right-complete-two {
176
-    background: @whiteColor;
177
-    background: radial-gradient(circle at top left, transparent 15px, #fff) top
178
-        left,
179
-      radial-gradient(circle at bottom left, transparent 15px, #fff) bottom left;
180
-    background-size: 100% 60%;
181
-    background-repeat: no-repeat;
182
-    width: 129px;
183
-    border-radius: 0 15px 15px 0;
184
-    position: relative;
185
-    //右面部分
186
-    .right-content {
187
-      // width: 100px;
188
-      height: 120px;
189
-      position: absolute;
190
-      top: 50%;
191
-      left: 50%;
192
-      transform: translate(-50%, -50%);
193
-      // border: 1px solid red;
194
 
174
 
195
-      .right-number {
196
-        // width: 32px;
197
-        // font-size: 20px;
198
-        // border-radius: 4px;
199
-        // border: 2px solid #999;
200
-        // margin: auto;
201
-        // text-align: center;
202
-      }
203
-      .right-image {
204
-        // float: convert();
205
-        width: 36px;
206
-        height: 36px;
207
-        margin: 0 auto;
208
-        align-items: center;
209
-        margin: auto;
210
-        padding-left: 8px;
211
-        // text-align: center;
212
-      }
175
+    .right-complete-two {
176
+      background: @whiteColor;
177
+      background: radial-gradient(circle at top left, transparent 15px, #fff 0)
178
+          top left,
179
+        radial-gradient(circle at bottom left, transparent 15px, #fff 0) bottom
180
+          left;
181
+      background-size: 100% 60%;
182
+      background-repeat: no-repeat;
183
+      width: 129px;
184
+      border-radius: 0 15px 15px 0;
185
+      position: relative;
186
+      //右面部分
187
+      .right-content {
188
+        height: 134px;
189
+        position: absolute;
190
+        top: calc(50% - 45px);
191
+        left: calc(50% - 30px);
192
+        .right-image {
193
+          width: 35px;
194
+          height: 34px;
195
+          margin-left: calc(50% - 41.5px);
196
+          // text-align: center;
197
+        }
213
 
198
 
214
-      .right-title {
215
-        font-weight: 700;
216
-        font-size: 24px;
217
-        padding-top: 10px;
218
-        text-align: center;
199
+        .right-title {
200
+          font-weight: 700;
201
+          width: 110px;
202
+          font-size: 24px;
203
+          padding-top: 15px;
204
+          text-align: center;
205
+          position: relative;
206
+          left: -22px;
207
+        }
219
       }
208
       }
220
     }
209
     }
221
-  }
222
-  //线条
223
-  .right-complete-two::after {
224
-    content: "";
225
-    position: absolute;
226
-    top: 15px;
227
-    margin: 26px auto;
228
-    height: 70%;
229
-    border-left: 1px dashed #595959;
230
-    opacity: 0.12;
231
-  }
232
-  //已过期logo
233
-  .right-image-two {
234
-    margin-top: 30px;
235
-    width: 76px;
236
-    height: 66px;
237
-  }
238
-  .foot {
239
-    width: 100%;
240
-    height: 26px;
241
-    font-size: 28px;
242
-    font-weight: 400;
243
-    color: #c0c8d3;
244
-    line-height: 34px;
245
-    margin-top: 40px;
246
-    text-align: center;
210
+    //线条
211
+    .right-complete-two::after {
212
+      content: "";
213
+      position: absolute;
214
+      top: 15px;
215
+      margin: 26px auto;
216
+      height: 70%;
217
+      border-left: 1px dashed #595959;
218
+      opacity: 0.12;
219
+    }
220
+    //已过期logo
221
+    .right-image-two {
222
+      margin-top: 30px;
223
+      width: 76px;
224
+      height: 66px;
225
+    }
226
+    .foot {
227
+      width: 100%;
228
+      height: 26px;
229
+      font-size: 28px;
230
+      font-weight: 400;
231
+      color: #c0c8d3;
232
+      line-height: 34px;
233
+      margin-top: 40px;
234
+      text-align: center;
235
+    }
247
   }
236
   }
248
 }
237
 }

+ 64
- 0
src/pages/PayOrder/Card/index.jsx 查看文件

1
+import formatTime from "@/utils/formatTime";
2
+import { useState, useEffect } from "react";
3
+
4
+import formatPrice from "@/utils/formatPrice";
5
+import food from "@/assets/icons/ProCard/food.png";
6
+
7
+import './style.less'
8
+
9
+
10
+export default (props) => {
11
+  const { item, packageId, onMoldeOn } = props
12
+  // const [BuyNumber, setBuyNumber] = useState(1);
13
+  // const [detail, setDetail] = useState({});
14
+  // const [showDialog, setShowDialog] = useState(false);
15
+  // const ShowMoldeOn = (e) => {
16
+  //   if (packageId) {
17
+  //     setBuyNumber(e.amount || 1);
18
+  //     setDetail(e);
19
+  //     setShowDialog(true);
20
+  //   }
21
+  // };
22
+  return (
23
+    <view class='wrapper-payOrder' key={item.orderId}>
24
+      <view class='left-complete-one-payOrder'>
25
+        {/* <image className='left-image-1' src={ProCard_hot}></image> */}
26
+        <view className='left-viewText-payOrder'>
27
+          返现¥{formatPrice(item.cashback)}
28
+        </view>
29
+        <view className='title-image-payOrder'>
30
+          <image
31
+            className='image-1-payOrder'
32
+            mode='scaleToFill'
33
+            src={item.poster}
34
+          ></image>
35
+          <image className='image-2-payOrder' src={food}></image>
36
+        </view>
37
+        <view className='title-content-payOrder'>
38
+          {/* <view className='Pro-title-payOrder'> */}
39
+          <view className='title-text-payOrder'>{item.description}</view>
40
+          {/* </view> */}
41
+          <text className='title-money-payOrder'>
42
+            ¥{formatPrice(item.actualPrice || item.unitPrice)}元
43
+            <text className='title-money-2-payOrder'>
44
+              门市价{item.standardPrice}元
45
+            </text>
46
+          </text>
47
+          <view className='title-time-payOrder'>
48
+            有效期:{formatTime(item.startTime, "yyyy/MM/dd")}-
49
+            {formatTime(item.endTime, "yyyy/MM/dd")}
50
+          </view>
51
+        </view>
52
+      </view>
53
+      <view
54
+        class='right-complete-two-payOrder'
55
+        onClick={() => onMoldeOn(item)}
56
+      >
57
+        <view className='right-content-payOrder'>
58
+          <view className='right-number-payOrder'>×{item.amount || 1}</view>
59
+          <view className='right-title-payOrder'>数量</view>
60
+        </view>
61
+      </view>
62
+    </view>
63
+  )
64
+}

+ 168
- 0
src/pages/PayOrder/Card/style.less 查看文件

1
+@whiteColor: #fff;
2
+
3
+.wrapper-payOrder {
4
+  display: flex;
5
+  position: relative;
6
+  // margin-top: 600px;
7
+  margin: 30px auto;
8
+  width: calc(100% - 50px); // box-shadow: 0px 8px 38px 0px rgba(0, 0, 0, 0.12);
9
+  // filter: drop-shadow(5px 8px 6px rgb(202, 202, 202));
10
+  filter: drop-shadow(0 0 0.9rem rgba(0, 0, 0, 0.12));
11
+
12
+  .left-complete-one-payOrder {
13
+    padding-top: 87px;
14
+    padding-bottom: 43px;
15
+    position: relative;
16
+    display: flex;
17
+    background: #fff;
18
+
19
+    background: radial-gradient(circle at top right, transparent 15px, #fff 0 0)
20
+        top right,
21
+      radial-gradient(circle at bottom right, transparent 15px, #fff 0 0) bottom
22
+        right;
23
+    background-size: 100% 60%;
24
+    background-repeat: no-repeat;
25
+
26
+    width: 573px;
27
+    border-radius: 15px 0px 0px 15px;
28
+    // border-radius: 12px;
29
+
30
+    align-items: center;
31
+    .left-image-1-payOrder {
32
+      width: 145px;
33
+      height: 44px;
34
+      position: absolute;
35
+      top: 22px;
36
+    }
37
+    .left-viewText-payOrder {
38
+      // background-image: url(@Image-ProCard_hot);
39
+      // width: 287px;
40
+      // width: auto;
41
+      // height: 44.3px;
42
+      // position: absolute;
43
+      // left: 1px;
44
+      // top: 28px;
45
+      // font-size: 24px;
46
+      // color: @whiteColor;
47
+      // font-weight: 600;
48
+
49
+      background: url(../../../assets/icons/ProCard/ProCard_hot.png) no-repeat;
50
+      background-size: 100% 100%;
51
+      padding: 0 24px 7px 2px;
52
+      width: auto;
53
+      font-size: 24px;
54
+      line-height: 48px;
55
+      height: 44.3px;
56
+      position: absolute;
57
+      top: 20px;
58
+      color: @whiteColor;
59
+      font-weight: 600;
60
+    }
61
+    //图片
62
+    .title-image-payOrder {
63
+      height: 144px;
64
+      margin-left: 20px;
65
+      border-radius: 24px;
66
+      overflow: hidden;
67
+      position: relative;
68
+      .image-1-payOrder {
69
+        width: 144px;
70
+        height: 144px;
71
+        margin: 0;
72
+      }
73
+      .image-2-payOrder {
74
+        width: 89px;
75
+        height: 34px;
76
+        position: absolute;
77
+        left: 0;
78
+      }
79
+    }
80
+    // 商品标题
81
+    .title-content-payOrder {
82
+      // padding: 84px 0 56px 20px;
83
+      padding-left: 18px;
84
+
85
+      // .Pro-title {
86
+      .title-text-payOrder {
87
+        width: 375px;
88
+        overflow: hidden;
89
+        text-overflow: ellipsis;
90
+        display: -webkit-box; //必须要
91
+        -webkit-line-clamp: 1;
92
+        -webkit-box-orient: vertical;
93
+        word-break: break-all; /* 多出文本省略号代替 */
94
+        text-align: left;
95
+        font-size: 24px;
96
+        padding-bottom: 10px;
97
+      }
98
+      // }
99
+      .title-money-payOrder {
100
+        padding-top: 34px;
101
+        font-size: 24px;
102
+        // color: red;
103
+        font-weight: 800;
104
+      }
105
+      .title-money-2-payOrder {
106
+        font-size: 18px;
107
+        color: #666;
108
+        padding-left: 10px;
109
+        text-decoration: line-through;
110
+      }
111
+
112
+      .title-time-payOrder {
113
+        font-size: 24px;
114
+        padding-top: 20px;
115
+        color: #c0c8d3;
116
+      }
117
+    }
118
+  }
119
+
120
+  .right-complete-two-payOrder {
121
+    background: @whiteColor;
122
+    background: radial-gradient(circle at top left, transparent 15px, #fff 0 0)
123
+        top left,
124
+      radial-gradient(circle at bottom left, transparent 15px, #fff 0 0) bottom
125
+        left;
126
+    background-size: 100% 60%;
127
+    background-repeat: no-repeat;
128
+    width: 129px;
129
+    border-radius: 0 15px 15px 0;
130
+    position: relative;
131
+    //右面部分
132
+    .right-content-payOrder {
133
+      // width: 100px;
134
+      // height: 80px;
135
+      position: absolute;
136
+      top: 50%;
137
+      left: 50%;
138
+      transform: translate(-50%, -50%);
139
+      // border: 1px solid red;
140
+
141
+      .right-number-payOrder {
142
+        width: 40px;
143
+        font-size: 20px;
144
+        border-radius: 4px;
145
+        border: 2px solid #999;
146
+        margin: auto;
147
+        text-align: center;
148
+      }
149
+
150
+      .right-title-payOrder {
151
+        font-weight: 700;
152
+        font-size: 24px;
153
+        padding-top: 20px;
154
+        text-align: center;
155
+      }
156
+    }
157
+  }
158
+  //线条
159
+  .right-complete-two-payOrder::after {
160
+    content: "";
161
+    position: absolute;
162
+    top: 15px;
163
+    margin: 26px auto;
164
+    height: 70%;
165
+    border-left: 1px dashed #595959;
166
+    opacity: 0.12;
167
+  }
168
+}

+ 83
- 112
src/pages/PayOrder/index.jsx 查看文件

14
 import { saveOrder, getOrderSub, payOrder } from "@/services/payOrder";
14
 import { saveOrder, getOrderSub, payOrder } from "@/services/payOrder";
15
 import formatTime from "@/utils/formatTime";
15
 import formatTime from "@/utils/formatTime";
16
 import formatPrice from "@/utils/formatPrice";
16
 import formatPrice from "@/utils/formatPrice";
17
+import Card from "./Card";
17
 
18
 
18
 export default withLayout((props) => {
19
 export default withLayout((props) => {
20
+  //#region 
19
   const { router, person } = props;
21
   const { router, person } = props;
20
   const { packageId, orderId } = props.router.params;
22
   const { packageId, orderId } = props.router.params;
21
 
23
 
22
   const [payInfo, setPayInfo] = useState();
24
   const [payInfo, setPayInfo] = useState();
23
 
25
 
24
-  const [showDialog, setShowDialog] = useState(false);
25
   // 是否已阅读协议
26
   // 是否已阅读协议
26
   const [agreement, setAgreement] = useState(false);
27
   const [agreement, setAgreement] = useState(false);
27
   // 总价 totalPrice
28
   // 总价 totalPrice
30
 
31
 
31
   const [BuyNumber, setBuyNumber] = useState(1);
32
   const [BuyNumber, setBuyNumber] = useState(1);
32
   const [detail, setDetail] = useState({});
33
   const [detail, setDetail] = useState({});
34
+  const [showDialog, setShowDialog] = useState(false);
33
 
35
 
34
   const [DisabledBool, setDisabledBool] = useState(false);
36
   const [DisabledBool, setDisabledBool] = useState(false);
35
 
37
 
186
     setTotalPrice(total);
188
     setTotalPrice(total);
187
   }, [list]);
189
   }, [list]);
188
 
190
 
191
+  //#endregion
189
   return (
192
   return (
190
-    !person.phone ? <AuthPage /> : <view class='container'>
191
-      <CustomNav title='订单' />
192
-      <Popup show={showDialog} maskClosable={false}>
193
-        <OrderMolded item={detail} />
194
-        <view className='item-center-Number'>
195
-          <view
196
-            className='buy-num-minus'
197
-            disabled={DisabledBool}
198
-            onClick={NumberCut}
199
-          >
200
-            -
193
+    !person.phone ? <AuthPage /> :
194
+      <view class='container'>
195
+        <CustomNav title='订单' />
196
+        <Popup show={showDialog} maskClosable={false}>
197
+          <OrderMolded item={detail} />
198
+          <view className='item-center-Number'>
199
+            <view
200
+              className='buy-num-minus'
201
+              disabled={DisabledBool}
202
+              onClick={NumberCut}
203
+            >
204
+              -
205
+            </view>
206
+            <Input
207
+              className='buy-num-input'
208
+              type='number'
209
+              min='1'
210
+              onInput={onInput}
211
+              value={BuyNumber}
212
+            />
213
+            <view className='buy-num-add' onClick={NumberAdd}>
214
+              +
215
+            </view>
201
           </view>
216
           </view>
202
-          <Input
203
-            className='buy-num-input'
204
-            type='number'
205
-            min='1'
206
-            onInput={onInput}
207
-            value={BuyNumber}
208
-          />
209
-          <view className='buy-num-add' onClick={NumberAdd}>
210
-            +
217
+          <view className='buy-button-box'>
218
+            <button className='button-Cancel' onClick={ButtonCancel}>
219
+              取消
220
+            </button>
221
+            <button className='button-OK' onClick={ButtonOK}>
222
+              确定
223
+            </button>
211
           </view>
224
           </view>
225
+        </Popup>
226
+        <view class='coupon-list-box'>
227
+          {(list || []).map((item, index) => {
228
+            return (
229
+              <Card key={index} item={item} packageId={packageId} onMoldeOn={ShowMoldeOn} />
230
+            );
231
+          })}
212
         </view>
232
         </view>
213
-        <view className='buy-button-box'>
214
-          <button className='button-Cancel' onClick={ButtonCancel}>
215
-            取消
216
-          </button>
217
-          <button className='button-OK' onClick={ButtonOK}>
218
-            确定
219
-          </button>
220
-        </view>
221
-      </Popup>
222
-      <view class='coupon-list'>
223
-        {(list || []).map((item) => {
224
-          return (
225
-            <view class='wrapper' key={item.orderId}>
226
-              <view class='left-complete-one'>
227
-                <image className='left-image-1' src={ProCard_hot}></image>
228
-                <view className='left-viewText'>
229
-                  返现¥{formatPrice(item.cashback)}
230
-                </view>
231
-                <view className='title-image'>
232
-                  <image
233
-                    className='image-1'
234
-                    mode='scaleToFill'
235
-                    src={item.poster}
236
-                  ></image>
237
-                  <image className='image-2' src={food}></image>
238
-                </view>
239
-                <view className='title-content'>
240
-                  <view className='Pro-title'>
241
-                    <view className='title-text'>{item.description}</view>
242
-                  </view>
243
-                  <text className='title-money'>
244
-                    ¥{formatPrice(item.actualPrice || item.unitPrice)}元
245
-                    <text className='title-money-2'>
246
-                      门市价{formatPrice(item.standardPrice)}元
247
-                    </text>
248
-                  </text>
249
-                  <view className='title-time'>
250
-                    有效期:{formatTime(item.startTime, "yyyy/MM/dd")}-
251
-                    {formatTime(item.endTime, "yyyy/MM/dd")}
252
-                  </view>
253
-                </view>
254
-              </view>
255
-              <view
256
-                class='right-complete-two'
257
-                onClick={() => ShowMoldeOn(item)}
258
-              >
259
-                <view className='right-content'>
260
-                  <view className='right-number'>×{item.amount || 1}</view>
261
-                  <view className='right-title'>数量</view>
262
-                </view>
263
-              </view>
233
+        <view className='view-button'>
234
+          {/* 协议条款 */}
235
+          <view className='Card-number-box'>
236
+            <view className='Card-number'>
237
+              <text style='left:29px;position: absolute; padding-top:20px'>
238
+                手机号码:
239
+              </text>
240
+              <text style='right:29px;position: absolute;padding-top:20px'>
241
+                {person.phone}
242
+              </text>
264
             </view>
243
             </view>
265
-          );
266
-        })}
267
-      </view>
268
-      <view className='view-button'>
269
-        <view className='Card-number-box'>
270
-          <view className='Card-number'>
271
-            <text style='left:29px;position: absolute; padding-top:20px'>
272
-              手机号码:
273
-            </text>
274
-            <text style='right:29px;position: absolute;padding-top:20px'>
275
-              {person.phone}
276
-            </text>
277
-          </view>
278
-          <view className='Card-user'>
279
-            <Radio
280
-              className='Radio-text'
281
-              value='agreement'
282
-              checked={agreement}
283
-              onClick={() => {
284
-                setAgreement(!agreement);
285
-              }}
286
-            >
287
-              我已阅读知晓并同意
244
+            <view className='Card-user'>
245
+              <Radio
246
+                className='Radio-text'
247
+                value='agreement'
248
+                checked={agreement}
249
+                onClick={() => {
250
+                  setAgreement(!agreement);
251
+                }}
252
+              >
253
+                我已阅读知晓并同意
288
               </Radio>
254
               </Radio>
289
-              <text className='ptxy'onClick={goRules}>
255
+              <text className='ptxy' onClick={goRules}>
290
                 《平台用户服务协议》
256
                 《平台用户服务协议》
291
               </text>
257
               </text>
258
+            </view>
259
+            <view className='ul-li-text'>
260
+              <view className='ul-li-view'></view>
261
+              <text className='ul-li-textname'>返现金将以退款形式到账</text>
262
+            </view>
292
 
263
 
293
           </view>
264
           </view>
294
-        </view>
295
-        <view className='button-box-button-box'>
296
-          <view className='button-text-image'>
297
-            <text className='button-text-money-hot'>
298
-              返现¥{formatPrice(totalPrice?.cashback || 0)}
299
-            </text>
300
-            <image className='button-image' src={ProCard_hot}>
301
-              123123
302
-            </image>
303
-            <view className='button-text-money'>
304
-              门店市面价:{formatPrice(totalPrice?.standardPrice || 0)}元
265
+          {/* 支付按钮 */}
266
+          <view className='button-box-button-box'>
267
+            <view className='button-text-image'>
268
+              <text className='button-text-money-hot'>
269
+                返现¥{formatPrice(totalPrice?.cashback || 0)}
270
+              </text>
271
+              <image className='button-image' src={ProCard_hot}>
272
+                123123
273
+              </image>
274
+              <view className='button-text-money'>
275
+                门店市面价:{formatPrice(totalPrice?.standardPrice || 0)}元
276
+              </view>
305
             </view>
277
             </view>
278
+            <Button className='button-box-one' onClick={() => onShowPay()}>
279
+              ¥{formatPrice(totalPrice?.actualPrice || 0)}元
280
+              <text className='button-text-one'>支付订单</text>
281
+            </Button>
306
           </view>
282
           </view>
307
-          <Button className='button-box-one' onClick={() => onShowPay()}>
308
-            ¥{formatPrice(totalPrice?.actualPrice || 0)}元
309
-            <text className='button-text-one'>支付订单</text>
310
-          </Button>
311
         </view>
283
         </view>
312
       </view>
284
       </view>
313
-    </view>
314
   );
285
   );
315
 });
286
 });

+ 245
- 148
src/pages/PayOrder/style.less 查看文件

2
 @Image-ProCard_hot: "../../assets/icons/ProCard/ProCard_hot.png";
2
 @Image-ProCard_hot: "../../assets/icons/ProCard/ProCard_hot.png";
3
 .container {
3
 .container {
4
   width: 100%;
4
   width: 100%;
5
+  //商品数量
5
   .item-center-Number {
6
   .item-center-Number {
6
-    width: 100%;
7
+    width: auto;
8
+    height: auto;
7
     margin-top: 30px;
9
     margin-top: 30px;
8
     .buy-num-minus {
10
     .buy-num-minus {
9
       display: inline-block;
11
       display: inline-block;
23
       background: #ffffff;
25
       background: #ffffff;
24
       border: 1px solid #999999;
26
       border: 1px solid #999999;
25
       position: relative;
27
       position: relative;
26
-      top: 26px;
28
+      top: 29px;
27
     }
29
     }
28
     .buy-num-add {
30
     .buy-num-add {
29
       display: inline-block;
31
       display: inline-block;
35
       border-radius: 0px 8px 8px 0px;
37
       border-radius: 0px 8px 8px 0px;
36
     }
38
     }
37
   }
39
   }
40
+  //确定按钮
38
   .buy-button-box {
41
   .buy-button-box {
39
     width: 100%;
42
     width: 100%;
40
     margin: 40px 0 0 0;
43
     margin: 40px 0 0 0;
62
       color: #ffffff;
65
       color: #ffffff;
63
     }
66
     }
64
   }
67
   }
65
-  .wrapper {
66
-    display: flex;
67
-    position: relative;
68
-    // margin-top: 600px;
69
-    margin: 30px auto;
70
-    width: calc(
71
-      100% - 50px
72
-    ); // box-shadow: 0px 8px 38px 0px rgba(0, 0, 0, 0.12);
73
-    // filter: drop-shadow(5px 8px 6px rgb(202, 202, 202));
74
-    filter: drop-shadow(0 0 0.9rem rgba(0, 0, 0, 0.12));
68
+  // .coupon-list-box {
69
+  //卡片
70
+  // .wrapper {
71
+  //   display: flex;
72
+  //   position: relative;
73
+  //   // margin-top: 600px;
74
+  //   margin: 30px auto;
75
+  //   width: calc(
76
+  //     100% - 50px
77
+  //   ); // box-shadow: 0px 8px 38px 0px rgba(0, 0, 0, 0.12);
78
+  //   // filter: drop-shadow(5px 8px 6px rgb(202, 202, 202));
79
+  //   filter: drop-shadow(0 0 0.9rem rgba(0, 0, 0, 0.12));
75
 
80
 
76
-    .left-complete-one {
77
-      padding-top: 87px;
78
-      padding-bottom: 43px;
79
-      position: relative;
80
-      display: flex;
81
-      background: @whiteColor;
82
-      background: radial-gradient(circle at top right, transparent 15px, #fff)
83
-          top right,
84
-        radial-gradient(circle at bottom right, transparent 15px, #fff) bottom
85
-          right;
86
-      background-size: 100% 60%;
87
-      background-repeat: no-repeat;
81
+  //   .left-complete-one {
82
+  //     padding-top: 87px;
83
+  //     padding-bottom: 43px;
84
+  //     position: relative;
85
+  //     display: flex;
86
+  //     background: @whiteColor;
87
+  //     // background: radial-gradient(circle at top right, transparent 15px, #fff 0 )
88
+  //     //     top right,
89
+  //     //   radial-gradient(circle at bottom right, transparent 15px, #fff 0 ) bottom
90
+  //     //     right;
91
+  //     // background-size: 100% 60%;
92
+  //     background-repeat: no-repeat;
88
 
93
 
89
-      width: 573px;
90
-      border-radius: 15px 0px 0px 15px;
91
-      // border-radius: 12px;
94
+  //     width: 573px;
95
+  //     border-radius: 15px 0px 0px 15px;
96
+  //     // border-radius: 12px;
92
 
97
 
93
-      align-items: center;
94
-      .left-image-1 {
95
-        width: 145px;
96
-        height: 44px;
97
-        position: absolute;
98
-        top: 22px;
99
-      }
100
-      .left-viewText {
101
-        // background-image: url(@Image-ProCard_hot);
102
-        // width: 287px;
103
-        width: auto;
104
-        height: 44.3px;
105
-        position: absolute;
106
-        left: 1px;
107
-        top: 28px;
108
-        font-size: 24px;
109
-        color: @whiteColor;
110
-        font-weight: 600;
111
-      }
112
-      //图片
113
-      .title-image {
114
-        height: 144px;
115
-        margin-left: 20px;
116
-        border-radius: 24px;
117
-        overflow: hidden;
118
-        position: relative;
119
-        .image-1 {
120
-          width: 144px;
121
-          height: 144px;
122
-          margin: 0;
123
-        }
124
-        .image-2 {
125
-          width: 89px;
126
-          height: 34px;
127
-          position: absolute;
128
-          left: 0;
129
-        }
130
-      }
131
-      // 商品标题
132
-      .title-content {
133
-        // padding: 84px 0 56px 20px;
134
-        padding-left: 18px;
98
+  //     align-items: center;
99
+  //     .left-image-1 {
100
+  //       width: 145px;
101
+  //       height: 44px;
102
+  //       position: absolute;
103
+  //       top: 22px;
104
+  //     }
105
+  //     .left-viewText {
106
+  //       // background-image: url(@Image-ProCard_hot);
107
+  //       // width: 287px;
108
+  //       // width: auto;
109
+  //       // height: 44.3px;
110
+  //       // position: absolute;
111
+  //       // left: 1px;
112
+  //       // top: 28px;
113
+  //       // font-size: 24px;
114
+  //       // color: @whiteColor;
115
+  //       // font-weight: 600;
135
 
116
 
136
-        .Pro-title {
137
-          .title-text {
138
-            width: 375px;
139
-            overflow: hidden;
140
-            text-overflow: ellipsis;
141
-            display: -webkit-box; //必须要
142
-            -webkit-line-clamp: 1;
143
-            -webkit-box-orient: vertical;
144
-            word-break: break-all; /* 多出文本省略号代替 */
145
-            text-align: left;
146
-            font-size: 24px;
147
-            padding-bottom: 10px;
148
-          }
149
-        }
150
-        .title-money {
151
-          padding-top: 34px;
152
-          font-size: 24px;
153
-          // color: red;
154
-          font-weight: 800;
155
-        }
156
-        .title-money-2 {
157
-          font-size: 18px;
158
-          color: #666;
159
-          padding-left: 10px;
160
-          text-decoration: line-through;
161
-        }
117
+  //       background: url(../../assets/icons/ProCard/ProCard_hot.png) no-repeat;
118
+  //       background-size: 100% 100%;
119
+  //       padding: 0 24px 7px 2px;
120
+  //       width: auto;
121
+  //       font-size: 24px;
122
+  //       line-height: 48px;
123
+  //       height: 44.3px;
124
+  //       position: absolute;
125
+  //       top: 20px;
126
+  //       color: @whiteColor;
127
+  //       font-weight: 600;
128
+  //     }
129
+  //     //图片
130
+  //     .title-image {
131
+  //       height: 144px;
132
+  //       margin-left: 20px;
133
+  //       border-radius: 24px;
134
+  //       overflow: hidden;
135
+  //       position: relative;
136
+  //       .image-1 {
137
+  //         width: 144px;
138
+  //         height: 144px;
139
+  //         margin: 0;
140
+  //       }
141
+  //       .image-2 {
142
+  //         width: 89px;
143
+  //         height: 34px;
144
+  //         position: absolute;
145
+  //         left: 0;
146
+  //       }
147
+  //     }
148
+  //     // 商品标题
149
+  //     .title-content {
150
+  //       // padding: 84px 0 56px 20px;
151
+  //       padding-left: 18px;
162
 
152
 
163
-        .title-time {
164
-          font-size: 24px;
165
-          padding-top: 20px;
166
-          color: #c0c8d3;
167
-        }
168
-      }
169
-    }
170
-  }
153
+  //       .Pro-title {
154
+  //         .title-text {
155
+  //           width: 375px;
156
+  //           overflow: hidden;
157
+  //           text-overflow: ellipsis;
158
+  //           display: -webkit-box; //必须要
159
+  //           -webkit-line-clamp: 1;
160
+  //           -webkit-box-orient: vertical;
161
+  //           word-break: break-all; /* 多出文本省略号代替 */
162
+  //           text-align: left;
163
+  //           font-size: 24px;
164
+  //           padding-bottom: 10px;
165
+  //         }
166
+  //       }
167
+  //       .title-money {
168
+  //         padding-top: 34px;
169
+  //         font-size: 24px;
170
+  //         // color: red;
171
+  //         font-weight: 800;
172
+  //       }
173
+  //       .title-money-2 {
174
+  //         font-size: 18px;
175
+  //         color: #666;
176
+  //         padding-left: 10px;
177
+  //         text-decoration: line-through;
178
+  //       }
171
 
179
 
172
-  .right-complete-two {
173
-    background: @whiteColor;
174
-    background: radial-gradient(circle at top left, transparent 15px, #fff) top
175
-        left,
176
-      radial-gradient(circle at bottom left, transparent 15px, #fff) bottom left;
177
-    background-size: 100% 60%;
178
-    background-repeat: no-repeat;
179
-    width: 129px;
180
-    border-radius: 0 15px 15px 0;
181
-    position: relative;
182
-    //右面部分
183
-    .right-content {
184
-      // width: 100px;
185
-      // height: 80px;
186
-      position: absolute;
187
-      top: 50%;
188
-      left: 50%;
189
-      transform: translate(-50%, -50%);
190
-      // border: 1px solid red;
180
+  //       .title-time {
181
+  //         font-size: 24px;
182
+  //         padding-top: 20px;
183
+  //         color: #c0c8d3;
184
+  //       }
185
+  //     }
186
+  //   }
191
 
187
 
192
-      .right-number {
193
-        width: 40px;
194
-        font-size: 20px;
195
-        border-radius: 4px;
196
-        border: 2px solid #999;
197
-        margin: auto;
198
-        text-align: center;
199
-      }
188
+  //   .right-complete-two {
189
+  //     background: @whiteColor;
200
 
190
 
201
-      .right-title {
202
-        font-weight: 700;
203
-        font-size: 24px;
204
-        padding-top: 20px;
205
-        text-align: center;
206
-      }
207
-    }
208
-  }
209
-  //线条
210
-  .right-complete-two::after {
211
-    content: "";
212
-    position: absolute;
213
-    top: 15px;
214
-    margin: 26px auto;
215
-    height: 70%;
216
-    border-left: 1px dashed #595959;
217
-    opacity: 0.12;
218
-  }
191
+  //     background: radial-gradient(
192
+  //           circle at top right,
193
+  //           transparent 15px,
194
+  //           #fff 0
195
+  //         )
196
+  //         top right,
197
+  //       radial-gradient(circle at bottom right, transparent 15px, #fff 0  0)
198
+  //         bottom right;
199
+  //     background-size: 100% 60%;
200
+  //     background-repeat: no-repeat;
201
+  //     width: 129px;
202
+  //     border-radius: 0 15px 15px 0;
203
+  //     position: relative;
204
+  //     //右面部分
205
+  //     .right-content {
206
+  //       // width: 100px;
207
+  //       // height: 80px;
208
+  //       position: absolute;
209
+  //       top: 50%;
210
+  //       left: 50%;
211
+  //       transform: translate(-50%, -50%);
212
+  //       // border: 1px solid red;
213
+
214
+  //       .right-number {
215
+  //         width: 40px;
216
+  //         font-size: 20px;
217
+  //         border-radius: 4px;
218
+  //         border: 2px solid #999;
219
+  //         margin: auto;
220
+  //         text-align: center;
221
+  //       }
219
 
222
 
223
+  //       .right-title {
224
+  //         font-weight: 700;
225
+  //         font-size: 24px;
226
+  //         padding-top: 20px;
227
+  //         text-align: center;
228
+  //       }
229
+  //     }
230
+  //   }
231
+  //   //线条
232
+  //   .right-complete-two::after {
233
+  //     content: "";
234
+  //     position: absolute;
235
+  //     top: 15px;
236
+  //     margin: 26px auto;
237
+  //     height: 70%;
238
+  //     border-left: 1px dashed #595959;
239
+  //     opacity: 0.12;
240
+  //   }
241
+  // }
242
+
243
+  // .right-complete-two {
244
+  //   background: @whiteColor;
245
+  //   background: radial-gradient(circle at top left, transparent 15px, #fff 0 )
246
+  //       top left,
247
+  //     radial-gradient(circle at bottom left, transparent 15px, #fff 0 ) bottom
248
+  //       left;
249
+  //   background-size: 100% 60%;
250
+  //   background-repeat: no-repeat;
251
+  //   width: 129px;
252
+  //   border-radius: 0 15px 15px 0;
253
+  //   position: relative;
254
+  //   //右面部分
255
+  //   .right-content {
256
+  //     // width: 100px;
257
+  //     // height: 80px;
258
+  //     position: absolute;
259
+  //     top: 50%;
260
+  //     left: 50%;
261
+  //     transform: translate(-50%, -50%);
262
+  //     // border: 1px solid red;
263
+
264
+  //     .right-number {
265
+  //       width: 40px;
266
+  //       font-size: 20px;
267
+  //       border-radius: 4px;
268
+  //       border: 2px solid #999;
269
+  //       margin: auto;
270
+  //       text-align: center;
271
+  //     }
272
+
273
+  //     .right-title {
274
+  //       font-weight: 700;
275
+  //       font-size: 24px;
276
+  //       padding-top: 20px;
277
+  //       text-align: center;
278
+  //     }
279
+  //   }
280
+  // }
281
+  // //线条
282
+  // .right-complete-two::after {
283
+  //   content: "";
284
+  //   position: absolute;
285
+  //   top: 15px;
286
+  //   margin: 26px auto;
287
+  //   height: 70%;
288
+  //   border-left: 1px dashed #595959;
289
+  //   opacity: 0.12;
290
+  // }
291
+  // }
292
+  //协议条款 + 支付按钮
220
   .view-button {
293
   .view-button {
221
     position: fixed;
294
     position: fixed;
222
     bottom: 0;
295
     bottom: 0;
250
         text-decoration: underline;
323
         text-decoration: underline;
251
         font-size: 25px;
324
         font-size: 25px;
252
       }
325
       }
326
+      .ul-li-text {
327
+        padding-left: 30px;
328
+        /* padding-bottom: 10px; */
329
+        position: relative;
330
+        top: -1em;
331
+
332
+        .ul-li-view {
333
+          display: inline-block;
334
+          margin-bottom: 3px;
335
+          margin-right: 5px;
336
+          width: 10px;
337
+          height: 10px;
338
+          background: #999999;
339
+          border-radius: 50%;
340
+        }
341
+        .ul-li-textname {
342
+          // width: 177px;
343
+          display: inline-block;
344
+          height: 19px;
345
+          font-size: 20px;
346
+          font-weight: 400;
347
+          color: #999999;
348
+        }
349
+      }
253
     }
350
     }
254
     .button-box-button-box {
351
     .button-box-button-box {
255
       position: relative;
352
       position: relative;

+ 1
- 1
src/pages/TobeShop/index.jsx 查看文件

156
                     <image className='Check_OK-image' src={item.verifyNo == checked ? Check_OK : Check_NO} />
156
                     <image className='Check_OK-image' src={item.verifyNo == checked ? Check_OK : Check_NO} />
157
                   </view>
157
                   </view>
158
                   <image className='left-image-1' src={ProCard_hot}></image>
158
                   <image className='left-image-1' src={ProCard_hot}></image>
159
-                  <view className='left-viewText'>返现¥{item.cashback}</view>
159
+                  <view className='left-viewText'>返现¥{(item.cashback / 100).toFixed(2)}</view>
160
                   <view className='title-image'>
160
                   <view className='title-image'>
161
                     <image
161
                     <image
162
                       className='image-1'
162
                       className='image-1'

+ 6
- 15
src/pages/TobeShop/style.less 查看文件

1
 @whiteColor: #fff;
1
 @whiteColor: #fff;
2
 
2
 
3
 .shop-Eat {
3
 .shop-Eat {
4
-  width: 100%;
5
   padding: 0 30px;
4
   padding: 0 30px;
6
   .Consumption-Now {
5
   .Consumption-Now {
7
     height: 33px;
6
     height: 33px;
114
       position: relative;
113
       position: relative;
115
       display: flex;
114
       display: flex;
116
       background: @whiteColor;
115
       background: @whiteColor;
117
-      background: radial-gradient(
118
-            circle at top right,
119
-            transparent 15px,
120
-            #fff
121
-          )
116
+      background: radial-gradient(circle at top right, transparent 15px, #fff 0)
122
           top right,
117
           top right,
123
-        radial-gradient(circle at bottom right, transparent 15px, #fff)
124
-          bottom right;
118
+        radial-gradient(circle at bottom right, transparent 15px, #fff 0) bottom
119
+          right;
125
       background-size: 100% 60%;
120
       background-size: 100% 60%;
126
       background-repeat: no-repeat;
121
       background-repeat: no-repeat;
127
 
122
 
249
   }
244
   }
250
   .right-complete-two {
245
   .right-complete-two {
251
     background: @whiteColor;
246
     background: @whiteColor;
252
-    background: radial-gradient(
253
-          circle at top left,
254
-          transparent 15px,
255
-          #fff
256
-        )
247
+    background: radial-gradient(circle at top left, transparent 15px, #fff 0)
257
         top left,
248
         top left,
258
-      radial-gradient(circle at bottom left, transparent 15px, #fff)
259
-        bottom left;
249
+      radial-gradient(circle at bottom left, transparent 15px, #fff 0) bottom
250
+        left;
260
     background-size: 100% 60%;
251
     background-size: 100% 60%;
261
     background-repeat: no-repeat;
252
     background-repeat: no-repeat;
262
     width: 129px;
253
     width: 129px;

+ 4
- 12
src/pages/details/foodDetails/foodDetails.jsx 查看文件

32
   const { id, subOrderId, scene } = props.router.params;
32
   const { id, subOrderId, scene } = props.router.params;
33
 
33
 
34
   useEffect(() => {
34
   useEffect(() => {
35
-    if (id && subOrderId) {
36
-      Taro.navigateTo({
37
-        url: `/pages/TobeShop/index?id=${id}&subOrderId=${subOrderId}`,
38
-      });
39
-    }
40
-  }, [id, subOrderId]);
41
-
42
-  useEffect(() => {
43
-    if (id && scene&&!subOrderId) {
35
+    if (id && (scene || subOrderId)) {
44
       getVerifyTargetList({
36
       getVerifyTargetList({
45
         shopId: id,
37
         shopId: id,
46
         isMine: true,
38
         isMine: true,
48
       }).then((res) => {
40
       }).then((res) => {
49
         if (res?.records?.length > 0) {
41
         if (res?.records?.length > 0) {
50
           Taro.navigateTo({
42
           Taro.navigateTo({
51
-            url: `/pages/TobeShop/index?id=${id}`,
43
+            url: `/pages/TobeShop/index?id=${id}&subOrderId=${subOrderId}`,
52
           });
44
           });
53
         }
45
         }
54
       });
46
       });
55
     }
47
     }
56
-  }, [id, scene]);
48
+  }, [id, scene, subOrderId]);
57
 
49
 
58
   //商铺基础信息
50
   //商铺基础信息
59
   const [detail, setDetail] = useState({});
51
   const [detail, setDetail] = useState({});
271
                   className="botton"
263
                   className="botton"
272
                   style={{ display: newextNum == AllextNum ? "" : "none" }}
264
                   style={{ display: newextNum == AllextNum ? "" : "none" }}
273
                 >
265
                 >
274
-                  已经到底了~
266
+                  这是我的底线
275
                 </view>
267
                 </view>
276
               </>
268
               </>
277
           }
269
           }

+ 5
- 5
src/pages/details/mjDetails/sceneryDetails.jsx 查看文件

10
 import weibaozan from '@/assets/icons/housemantj/unLike.png'
10
 import weibaozan from '@/assets/icons/housemantj/unLike.png'
11
 import zhuandao from "@/assets/icons/housemantj/backTop.png";
11
 import zhuandao from "@/assets/icons/housemantj/backTop.png";
12
 import withLayout from '@/layouts'
12
 import withLayout from '@/layouts'
13
-import { useState, useEffect} from 'react'
13
+import { useState, useEffect } from 'react'
14
 import { getTouristDetail, getExtendContent, getRecommendList } from '@/services/home'
14
 import { getTouristDetail, getExtendContent, getRecommendList } from '@/services/home'
15
 import { Swiper, SwiperItem, Button } from '@tarojs/components';
15
 import { Swiper, SwiperItem, Button } from '@tarojs/components';
16
 import useSave from "@/utils/hooks/useSave"
16
 import useSave from "@/utils/hooks/useSave"
156
             <view className='title'>
156
             <view className='title'>
157
               <image src={titlems} />老板推荐好吃的
157
               <image src={titlems} />老板推荐好吃的
158
             </view>
158
             </view>
159
-            
160
-            {(recommend || []).map((item) => <Cards item={item} det={item} st={parseFloat(item.score.toFixed(1))}/>)}
159
+
160
+            {(recommend || []).map((item) => <Cards item={item} det={item} st={parseFloat(item.score.toFixed(1))} />)}
161
           </view>
161
           </view>
162
-          <view className='bottom'>已经到底了~</view>
162
+          <view className='bottom'>这是我的底线</view>
163
         </scroll-view>
163
         </scroll-view>
164
       </view>
164
       </view>
165
       <view className='bottomTab'>
165
       <view className='bottomTab'>
168
           <image className='share' src={share} />分享
168
           <image className='share' src={share} />分享
169
         </view>
169
         </view>
170
         <view className='tab' onClick={toggleLike}>
170
         <view className='tab' onClick={toggleLike}>
171
-          <image className='good' style={{top:'1px'}} src={isLike > 0 ? baozan : weibaozan} />{isLike > 0 ? '已爆赞' : '爆赞'}
171
+          <image className='good' style={{ top: '1px' }} src={isLike > 0 ? baozan : weibaozan} />{isLike > 0 ? '已爆赞' : '爆赞'}
172
         </view>
172
         </view>
173
         <view className='tab' onClick={toggleSave}>
173
         <view className='tab' onClick={toggleSave}>
174
           <image className='collection' src={isSaved > 0 ? ax : good} />{isSaved > 0 ? '已收藏' : '加入收藏'}
174
           <image className='collection' src={isSaved > 0 ? ax : good} />{isSaved > 0 ? '已收藏' : '加入收藏'}

+ 3
- 2
src/pages/index/index.config.js 查看文件

5
   enableShareAppMessage: true,
5
   enableShareAppMessage: true,
6
   usingComponents: {
6
   usingComponents: {
7
     "mp-tabbar": "weui-miniprogram/tabbar/tabbar",
7
     "mp-tabbar": "weui-miniprogram/tabbar/tabbar",
8
-    "mp-tabs": "../../../components/tabs/index",
8
+    "mp-tabs": "../../../components/tabs/index",
9
     "mp-checkbox-group": "weui-miniprogram/checkbox-group/checkbox-group",
9
     "mp-checkbox-group": "weui-miniprogram/checkbox-group/checkbox-group",
10
     "mp-checkbox": "weui-miniprogram/checkbox/checkbox",
10
     "mp-checkbox": "weui-miniprogram/checkbox/checkbox",
11
     "mp-cells": "weui-miniprogram/cells/cells",
11
     "mp-cells": "weui-miniprogram/cells/cells",
12
-    "mp-dialog": "weui-miniprogram/dialog/dialog"
12
+    "mp-dialog": "weui-miniprogram/dialog/dialog",
13
+    "mp-slideview": "weui-miniprogram/slideview/slideview",
13
   }
14
   }
14
 }
15
 }

+ 3
- 3
src/pages/index/index.jsx 查看文件

30
 
30
 
31
   const [currentTab, setCurrentTab] = useState(0)
31
   const [currentTab, setCurrentTab] = useState(0)
32
 
32
 
33
-  const [isDidShow,setIsDidShow] = useState(0)
33
+  const [isDidShow, setIsDidShow] = useState(0)
34
 
34
 
35
-  useDidShow(()=>{
35
+  useDidShow(() => {
36
     setIsDidShow(isDidShow + 1)
36
     setIsDidShow(isDidShow + 1)
37
   })
37
   })
38
   const handleTabChange = (e) => {
38
   const handleTabChange = (e) => {
82
         {currentTab === 0 && <Recommend location={location} />}
82
         {currentTab === 0 && <Recommend location={location} />}
83
         {currentTab === 1 && <Guide person={person} router={router} location={location} />}
83
         {currentTab === 1 && <Guide person={person} router={router} location={location} />}
84
         {/* {currentTab === 2 && <Strategy />} */}
84
         {/* {currentTab === 2 && <Strategy />} */}
85
-        {currentTab === 2 && <Mine person={person} isDidShow={isDidShow}/>}
85
+        {currentTab === 2 && <Mine person={person} isDidShow={isDidShow} router={router} />}
86
       </view>
86
       </view>
87
       <view className='index-tabbar'>
87
       <view className='index-tabbar'>
88
         <mp-tabbar extClass='custom-tabbar' current={currentTab} list={tabList} onChange={handleTabChange}></mp-tabbar>
88
         <mp-tabbar extClass='custom-tabbar' current={currentTab} list={tabList} onChange={handleTabChange}></mp-tabbar>

+ 21
- 8
src/pages/index/tabs/Guide.jsx 查看文件

1
 import { useState, useEffect, useRef } from "react";
1
 import { useState, useEffect, useRef } from "react";
2
-import Taro from '@tarojs/taro'
2
+import Taro, { useDidShow } from '@tarojs/taro'
3
 import MoreGuide from "@/components/MoreGuide";
3
 import MoreGuide from "@/components/MoreGuide";
4
 import BossCard from '@/components/BossCard'
4
 import BossCard from '@/components/BossCard'
5
 import Taxi from '@/assets/icons/GuideCheck/taxi.png'
5
 import Taxi from '@/assets/icons/GuideCheck/taxi.png'
12
 import { getTaRoom, goToRoomForm } from '@/services/taRoom​'
12
 import { getTaRoom, goToRoomForm } from '@/services/taRoom​'
13
 import useTrackClick from '@/utils/hooks/useTrackClick'
13
 import useTrackClick from '@/utils/hooks/useTrackClick'
14
 import showMore from '@/assets/icons/housemantj/setMore.png'
14
 import showMore from '@/assets/icons/housemantj/setMore.png'
15
+import { useModel } from "@/store";
15
 import './GuideCss/style.less'
16
 import './GuideCss/style.less'
16
 
17
 
17
 
18
 
18
 export default (props) => {
19
 export default (props) => {
19
   const { router, person, location, } = props
20
   const { router, person, location, } = props
20
-  const { roomId, roomOrderId } = router.params
21
+  let { roomId, roomOrderId } = router.params
21
   const [extend, setExtend] = useState([])
22
   const [extend, setExtend] = useState([])
22
   const [ifroomId, setIfroomId] = useState('havenot')
23
   const [ifroomId, setIfroomId] = useState('havenot')
23
   const [spackage, setPackage] = useState([])
24
   const [spackage, setPackage] = useState([])
24
 
25
 
26
+  const { roomId: rid } = useModel('hotel')
27
+  console.log("🚀 ~ file: Guide.jsx ~ line 27 ~ rid", rid)
28
+
29
+  if (!roomId && rid) {
30
+    roomId = rid
31
+  }
25
 
32
 
26
   const trackClick = useTrackClick(router)
33
   const trackClick = useTrackClick(router)
27
 
34
 
52
     })
59
     })
53
   }
60
   }
54
 
61
 
55
-  useEffect(() => {
62
+
63
+  useDidShow(() => {
56
     if (roomOrderId) {
64
     if (roomOrderId) {
57
       goToRoomForm(roomOrderId).then((res) => {
65
       goToRoomForm(roomOrderId).then((res) => {
58
-        if (res.status !== 1) {
66
+        if (res.status !== 0) {
59
           Taro.navigateTo({
67
           Taro.navigateTo({
60
             url: `/pages/RoomOrder/index?roomOrderId=${roomOrderId}&status=${res.status}&roomId=${roomId}`,
68
             url: `/pages/RoomOrder/index?roomOrderId=${roomOrderId}&status=${res.status}&roomId=${roomId}`,
61
           })
69
           })
70
+
62
         }
71
         }
63
       })
72
       })
64
     }
73
     }
65
-  }, [roomOrderId])
66
-
74
+  })
67
 
75
 
68
 
76
 
69
   useEffect(() => {
77
   useEffect(() => {
70
 
78
 
71
     if (roomId) {
79
     if (roomId) {
80
+      console.log('--------------------------');
72
       // 点击’去这里‘跳转导航
81
       // 点击’去这里‘跳转导航
73
       getTaRoom(roomId).then((res) => {
82
       getTaRoom(roomId).then((res) => {
74
         Roomlog.current = (res.location).toString().split(',')[0]
83
         Roomlog.current = (res.location).toString().split(',')[0]
87
       // getRecommendList({ location: RoomLocation }).then((res) => {
96
       // getRecommendList({ location: RoomLocation }).then((res) => {
88
       //   setPackage(res || [])
97
       //   setPackage(res || [])
89
       // })
98
       // })
90
-
99
+      getRecommendList({ location: location }).then((res) => {
100
+        setPackage(res || [])
101
+      })
91
 
102
 
92
     } else {
103
     } else {
93
       getRecommendList({ location: location }).then((res) => {
104
       getRecommendList({ location: location }).then((res) => {
107
     }
118
     }
108
 
119
 
109
 
120
 
110
-  }, [roomId, RoomLocation])
121
+  }, [roomId, RoomLocation, taRoomContent?.wifiPassword, taRoomContent?.parkingAddress, location])
111
 
122
 
112
 
123
 
113
   const goRoomMap = () => {
124
   const goRoomMap = () => {
153
     <scroll-view scrollY style='height:100%;'  >
164
     <scroll-view scrollY style='height:100%;'  >
154
 
165
 
155
       <view className='Guide-Home-box'>
166
       <view className='Guide-Home-box'>
167
+
168
+
156
         {
169
         {
157
           ifroomId === 'havenot' && (
170
           ifroomId === 'havenot' && (
158
             <view className='Guide-image-text-box'>
171
             <view className='Guide-image-text-box'>

+ 2
- 2
src/pages/index/tabs/Mine.jsx 查看文件

22
 
22
 
23
 
23
 
24
 export default (props) => {
24
 export default (props) => {
25
-  const { person,isDidShow } = props
25
+  const { person, isDidShow, router } = props
26
   const { getAvatar, sessionKey } = useModel('person')
26
   const { getAvatar, sessionKey } = useModel('person')
27
   const [showCutover, setShowCutover] = useState(false)
27
   const [showCutover, setShowCutover] = useState(false)
28
   const hasAvatar = !!person.avatar
28
   const hasAvatar = !!person.avatar
85
   }
85
   }
86
   //入住指引
86
   //入住指引
87
   const handleHomeLogo = () => {
87
   const handleHomeLogo = () => {
88
-    Taro.navigateTo({ url: '/pages/index/index?tab=1' })
88
+    Taro.navigateTo({ url: `/pages/index/index?tab=1` })
89
   }
89
   }
90
   //收藏
90
   //收藏
91
   const handleCollect = () => {
91
   const handleCollect = () => {

+ 9
- 0
src/services/payOrder.js 查看文件

63
 export const orderEvaluation = (targetType, targetId) => request(`/${targetType}/${targetId}/evaluate`, { method: 'post' })
63
 export const orderEvaluation = (targetType, targetId) => request(`/${targetType}/${targetId}/evaluate`, { method: 'post' })
64
 
64
 
65
 
65
 
66
+
67
+/**
68
+* 删除已支付订单
69
+* @param {*} id
70
+* @returns 
71
+*/
72
+export const deleteOrder = (id) => request(`/order/${id}`, { method: 'delete' })
73
+
74
+

+ 1
- 1
src/shop/components/ShopKeeper/shopKeeper.jsx 查看文件

175
               </>
175
               </>
176
             }
176
             }
177
           </view>
177
           </view>
178
-          {/* <view className='botton'>已经到底了~</view> */}
178
+          {/* <view className='botton'>这是我的底线</view> */}
179
         </scroll-view>
179
         </scroll-view>
180
       </view>
180
       </view>
181
     </view>
181
     </view>

+ 2
- 0
src/store/index.js 查看文件

1
 import { createStore, createStoreRoot, createModelHook } from '@zjxpcyc/react-tiny-store'
1
 import { createStore, createStoreRoot, createModelHook } from '@zjxpcyc/react-tiny-store'
2
 import system from './models/system'
2
 import system from './models/system'
3
 import person from './models/person'
3
 import person from './models/person'
4
+import hotel from './models/hotel'
4
 
5
 
5
 const store = createStore()
6
 const store = createStore()
6
 const models = {
7
 const models = {
7
   system,
8
   system,
8
   person,
9
   person,
10
+  hotel,
9
 }
11
 }
10
 
12
 
11
 const useModel = createModelHook(store)
13
 const useModel = createModelHook(store)

+ 10
- 0
src/store/models/hotel.js 查看文件

1
+import { useState } from "react";
2
+
3
+export default function useHotel() {
4
+  const [roomId, setRoomId] = useState()
5
+
6
+  return {
7
+    roomId,
8
+    setRoomId,
9
+  }
10
+}

+ 7
- 3
src/utils/hooks/useRouter.js 查看文件

10
   const { qrCode } = useModel('person')
10
   const { qrCode } = useModel('person')
11
 
11
 
12
   const [toggleRefresh, setToggleRefresh] = useState()
12
   const [toggleRefresh, setToggleRefresh] = useState()
13
-  
13
+
14
   routerRef.current = router
14
   routerRef.current = router
15
   const scene = router?.params?.scene
15
   const scene = router?.params?.scene
16
   const loginScene = Taro.getStorageSync('scene')
16
   const loginScene = Taro.getStorageSync('scene')
23
         routerRef.current.params = {
23
         routerRef.current.params = {
24
           ...routerRef.current.params || {},
24
           ...routerRef.current.params || {},
25
           ...qrParams,
25
           ...qrParams,
26
-          parseQRFinished: true, 
26
+          parseQRFinished: true,
27
         }
27
         }
28
         setToggleRefresh(Math.random().toString())
28
         setToggleRefresh(Math.random().toString())
29
         console.log('-----------qrCode---------------', qrCode)
29
         console.log('-----------qrCode---------------', qrCode)
34
           routerRef.current.params = {
34
           routerRef.current.params = {
35
             ...routerRef.current.params || {},
35
             ...routerRef.current.params || {},
36
             ...qrParams,
36
             ...qrParams,
37
-            parseQRFinished: true, 
37
+            parseQRFinished: true,
38
           }
38
           }
39
           setToggleRefresh(Math.random().toString())
39
           setToggleRefresh(Math.random().toString())
40
         })
40
         })
41
       }
41
       }
42
     }
42
     }
43
   }, [qrCode, scene])
43
   }, [qrCode, scene])
44
+<<<<<<< HEAD
45
+=======
46
+
47
+>>>>>>> b871529541525c34775f5c58a561d7153f4f99f7
44
   return routerRef.current
48
   return routerRef.current
45
 }
49
 }