李志伟 3 lat temu
rodzic
commit
2af8ae9fa8
42 zmienionych plików z 1628 dodań i 1088 usunięć
  1. 10
    3
      src/app.js
  2. BIN
      src/assets/icons/ProCard/QCRsgl.png
  3. BIN
      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 Wyświetl plik

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

BIN
src/assets/icons/ProCard/QCRsgl.png Wyświetl plik


BIN
src/assets/icons/ProCard/ico_delete.png Wyświetl plik


+ 3
- 3
src/components/AlreadyUsedMolded/style.less Wyświetl plik

@@ -14,9 +14,9 @@
14 14
     position: relative;
15 15
     display: flex;
16 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 20
         right;
21 21
     background-size: 100% 60%;
22 22
     background-repeat: no-repeat;

+ 6
- 6
src/components/BossCard/index.jsx Wyświetl plik

@@ -36,8 +36,8 @@ export default (props) => {
36 36
   return (
37 37
     <view class='container'>
38 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 41
           <view className='left-viewText'>
42 42
             返现¥{(item.cashback / 100)?.toFixed(2)}
43 43
           </view>
@@ -46,23 +46,23 @@ export default (props) => {
46 46
             <Star star={st} />
47 47
             <text className='card-star-text' >{st}</text>
48 48
           </view>
49
-          <view className='title-image' onClick={() => { goFood() }}>
49
+          <view className='title-image' >
50 50
             <image className='image-1' mode='scaleToFill' src={item.poster}></image>
51 51
             <image className='image-2' src={food}></image>
52 52
           </view>
53 53
           <view className='title-content'>
54
-            <view className='Pro-title' onClick={() => { goFood() }} >
54
+            <view className='Pro-title'  >
55 55
               <view className='title-text'>{(item.description).toString().length > 25 ? (item.description).substring(0, 25) + '...' : (item.description)}</view>
56 56
             </view>
57 57
             <text className='title-money' >¥{(item.actualPrice / 100)?.toFixed(2)}元<text className='title-money-2'>门市价{(item.standardPrice / 100)?.toFixed(2)}元</text></text>
58 58
             <view className='title-position-on'>
59 59
               <image className='title-position' src={position} />
60 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 63
                 <image className='title-on' src={isSaved > 0 ? starOn : starOff} />
64 64
                 <text className='title-on-text'>{isSaved > 0 ? '已收藏' : '加入收藏'}</text>
65
-              </view>
65
+              </view> */}
66 66
             </view>
67 67
           </view>
68 68
         </view>

+ 16
- 10
src/components/BossCard/style.less Wyświetl plik

@@ -78,10 +78,14 @@
78 78
       position: relative;
79 79
       display: flex;
80 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 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 89
       background-size: 100% 60%;
86 90
       background-repeat: no-repeat;
87 91
 
@@ -96,15 +100,17 @@
96 100
         position: absolute;
97 101
         top: 22px;
98 102
       }
103
+      // @/assets/icons/ProCard/ProCard_hot.png
99 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 108
         width: auto;
109
+        font-size: 24px;
110
+        line-height: 48px;
103 111
         height: 44.3px;
104 112
         position: absolute;
105
-        left: 1px;
106
-        top: 28px;
107
-        font-size: 24px;
113
+        top: 20px;
108 114
         color: @whiteColor;
109 115
         font-weight: 600;
110 116
       }
@@ -170,9 +176,9 @@
170 176
 
171 177
   .right-complete-two {
172 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 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 182
         left;
177 183
     background-size: 100% 60%;
178 184
     background-repeat: no-repeat;

+ 4
- 3
src/components/CollectList/MyCollect/index.jsx Wyświetl plik

@@ -84,14 +84,15 @@ export default (props) => {
84 84
                   <view className='Pro-title'  >
85 85
                     <view className='title-text'>{(item.title).toString().length > 25 ? (item.title).substring(0, 25) + '...' : (item.title)}</view>
86 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 88
                   <view onClick={toggleLike}>
89 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 91
                   </view>
92 92
                   <view className='title-position-on'>
93 93
                     <image className='title-position' src={position} />
94 94
                     <text className='title-position-image'>
95
+
95 96
                       {
96 97
                         targetType === "tourist" && (
97 98
                           item.areaPName == null ? item.areaName : (item.areaPName + '/' + item.areaName)
@@ -106,7 +107,7 @@ export default (props) => {
106 107
                 </view>
107 108
               </view>
108 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 111
                   <image className='right-image' src={SeeDetails} />
111 112
                   <view className='right-title'>查看详情</view>
112 113
                 </view>

+ 240
- 10
src/components/CollectList/MyCollect/style.less Wyświetl plik

@@ -43,9 +43,9 @@
43 43
 //     position: relative;
44 44
 //     display: flex;
45 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 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 49
 //         right;
50 50
 //     background-size: 100% 60%;
51 51
 //     background-repeat: no-repeat;
@@ -153,6 +153,11 @@
153 153
 //         //   height: 21px;
154 154
 //         //   padding-right: 10px;
155 155
 //         // }
156
+// .title-on {
157
+//   width: 21px;
158
+//   height: 21px;
159
+//   padding-right: 10px;
160
+// }
156 161
 //         .title-on-text {
157 162
 //           align-items: center;
158 163
 
@@ -170,9 +175,9 @@
170 175
 
171 176
 // .right-complete-two {
172 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 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 181
 //   background-size: 100% 60%;
177 182
 //   background-repeat: no-repeat;
178 183
 //   width: 129px;
@@ -251,9 +256,9 @@
251 256
 //     position: relative;
252 257
 //     display: flex;
253 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 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 262
 //         right;
258 263
 //     background-size: 100% 60%;
259 264
 //     background-repeat: no-repeat;
@@ -422,7 +427,7 @@
422 427
               #fff 0
423 428
             )
424 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 431
             bottom right;
427 432
         background-size: 100% 60%;
428 433
         background-repeat: no-repeat;
@@ -541,10 +546,14 @@
541 546
 
542 547
     .right-complete-two {
543 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 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 557
       background-size: 100% 60%;
549 558
       background-repeat: no-repeat;
550 559
       width: 129px;
@@ -586,5 +595,226 @@
586 595
     }
587 596
   }
588 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 Wyświetl plik

@@ -0,0 +1,59 @@
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 Wyświetl plik

@@ -0,0 +1,180 @@
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 Wyświetl plik

@@ -1,6 +1,7 @@
1 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 5
 import formatTime from "@/utils/formatTime";
5 6
 import image from "@/assets/icons/ProCard/8kb.jpg";
6 7
 import food from "@/assets/icons/ProCard/food.png";
@@ -13,7 +14,9 @@ import QRcode from "@/assets/icons/UserCenter/QRcode.png";
13 14
 import Pay from "@/assets/icons/GuideCheck/Pay_logo.png";
14 15
 import starOn from "@/assets/icons/GuideCheck/starOn.png";
15 16
 import starOff from "@/assets/icons/GuideCheck/starOff.png";
17
+import ico_delete from '../../../assets/icons/ProCard/ico_delete.png'
16 18
 import AlreadyUsed from "../AlreadyUsed";
19
+import TobeWritten from "../TobeWritten";
17 20
 import "./style.less";
18 21
 
19 22
 const scoreList = new Array(5).fill(0);
@@ -120,6 +123,30 @@ export default (props) => {
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 150
   return (
124 151
     <scroll-view
125 152
       scrollY
@@ -139,56 +166,62 @@ export default (props) => {
139 166
               /* 待支付 */
140 167
               if (item.status === 0) {
141 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 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 204
                           </view>
175 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 218
                         </view>
189 219
                       </view>
190 220
                     </view>
191
-                  </view>
221
+                  </mp-slideview>
222
+
223
+
224
+
192 225
                 );
193 226
               }
194 227
               /* 待核销 */
@@ -196,6 +229,7 @@ export default (props) => {
196 229
                 return (
197 230
                   <view key={`${type}-${item.orderId}`}>
198 231
                     <view className='OrderNumber'>订单编号:{item.orderId}</view>
232
+                    {/* <TobeWritten item={item} onWrite={onWriteOff} /> */}
199 233
                     <view class='wrapper'>
200 234
                       <view class='left-complete-one'>
201 235
                         <image className='left-image-1' src={ProCard_hot}></image>
@@ -410,7 +444,7 @@ export default (props) => {
410 444
               }
411 445
             })}
412 446
 
413
-            <view className='foot'>已经到底了~</view>
447
+            <view className='foot'>这是我的底线</view>
414 448
           </view>
415 449
       }
416 450
     </scroll-view>

+ 33
- 8
src/components/CompoentsOrder/complete/style.less Wyświetl plik

@@ -1,15 +1,35 @@
1 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 18
 .complete-boxs {
4 19
   margin: 40px auto;
5 20
   padding: 0 30px;
6 21
 
22
+  // .test-button {
23
+  //   border-radius: 10%;
24
+  //   background-color: #fff;
25
+  // }
26
+
7 27
   .OrderNumber {
8
-    height: 19px;
28
+    // height: 19px;
9 29
     font-size: 20px;
10 30
     font-weight: 400;
11 31
     color: #666666;
12
-    line-height: 44px;
32
+    // line-height: 44px;
13 33
   }
14 34
   .wrapper {
15 35
     margin-top: 40px;
@@ -47,10 +67,14 @@
47 67
       position: relative;
48 68
       display: flex;
49 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 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 78
       background-size: 100% 60%;
55 79
       background-repeat: no-repeat;
56 80
 
@@ -168,9 +192,10 @@
168 192
 
169 193
   .right-complete-two {
170 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 199
     background-size: 100% 60%;
175 200
     background-repeat: no-repeat;
176 201
     width: 129px;

+ 0
- 316
src/components/CompoentsOrder/complete/styleoen.less Wyświetl plik

@@ -1,316 +0,0 @@
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 Wyświetl plik

@@ -106,7 +106,7 @@ export default React.forwardRef((props, ref) => {
106 106
       }
107 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 111
     </ScrollView>
112 112
   )

+ 13
- 13
src/components/OrderMolded/index.jsx Wyświetl plik

@@ -11,22 +11,22 @@ export default (props) => {
11 11
   const { item } = props
12 12
 
13 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 18
           返现¥{(item.cashback / 100).toFixed(2)}
19 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 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 30
         </view>
31 31
       </view>
32 32
     </view>

+ 32
- 42
src/components/OrderMolded/style.less Wyświetl plik

@@ -1,23 +1,19 @@
1 1
 @whiteColor: #fff;
2 2
 
3
-.wrapper-box {
3
+.wrapper-box-cardOrder {
4 4
   border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
5 5
 
6
-  .left-complete-one {
6
+  .left-complete-one-cardOrder {
7 7
     padding-top: 87px;
8 8
     padding-bottom: 21px;
9 9
     position: relative;
10 10
     display: flex;
11 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 17
     background-repeat: no-repeat;
22 18
 
23 19
     width: 573px;
@@ -25,13 +21,13 @@
25 21
     // border-radius: 12px;
26 22
 
27 23
     align-items: center;
28
-    .left-image-1 {
24
+    .left-image-1-cardOrder {
29 25
       width: 145px;
30 26
       height: 44px;
31 27
       position: absolute;
32 28
       top: 22px;
33 29
     }
34
-    .left-viewText {
30
+    .left-viewText-cardOrder {
35 31
       // background-image: url(@Image-ProCard_hot);
36 32
       // width: 287px;
37 33
       width: auto;
@@ -44,17 +40,17 @@
44 40
       font-weight: 600;
45 41
     }
46 42
     //图片
47
-    .title-image {
43
+    .title-image-cardOrder {
48 44
       width: 145px;
49 45
       margin-left: 20px;
50 46
       border-radius: 24px;
51 47
       overflow: hidden;
52 48
       position: relative;
53
-      .image-1 {
49
+      .image-1-cardOrder {
54 50
         width: 100%;
55 51
         height: 145px;
56 52
       }
57
-      .image-2 {
53
+      .image-2-cardOrder {
58 54
         width: 89px;
59 55
         height: 34px;
60 56
         position: absolute;
@@ -63,25 +59,24 @@
63 59
       }
64 60
     }
65 61
     // 商品标题
66
-    .title-content {
62
+    .title-content-cardOrder {
67 63
       // padding: 84px 0 56px 20px;
68 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 80
         padding-top: 34px;
86 81
         font-size: 24px;
87 82
         // color: red;
@@ -89,14 +84,14 @@
89 84
         right: 136px;
90 85
         font-weight: 800;
91 86
       }
92
-      .title-money-2 {
87
+      .title-money-2-cardOrder {
93 88
         font-size: 18px;
94 89
         color: #666;
95 90
         padding-left: 10px;
96 91
         text-decoration: line-through;
97 92
       }
98 93
 
99
-      .title-time {
94
+      .title-time-cardOrder {
100 95
         font-size: 24px;
101 96
         padding-top: 20px;
102 97
         color: #c0c8d3;
@@ -105,16 +100,11 @@
105 100
   }
106 101
 }
107 102
 
108
-.right-complete-two {
103
+.right-complete-two-cardOrder {
109 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 108
   background-size: 100% 60%;
119 109
   background-repeat: no-repeat;
120 110
   width: 129px;

+ 6
- 5
src/components/PayOrderCard/style.less Wyświetl plik

@@ -78,9 +78,9 @@
78 78
       position: relative;
79 79
       display: flex;
80 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 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 84
           right;
85 85
       background-size: 100% 60%;
86 86
       background-repeat: no-repeat;
@@ -168,9 +168,10 @@
168 168
 
169 169
   .right-complete-two {
170 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 175
     background-size: 100% 60%;
175 176
     background-repeat: no-repeat;
176 177
     width: 129px;

+ 21
- 21
src/components/tip/index.jsx Wyświetl plik

@@ -1,34 +1,34 @@
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 4
 import icontip from '@/assets/icons/housemantj/tip.png'
5 5
 import './index.less'
6 6
 
7
-export default ()=>{  
8
-  const [tips,setTips]=useState([])
7
+export default () => {
8
+  const [tips, setTips] = useState([])
9 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 17
       <Swiper
18
-      className='swp'
18
+        className='swp'
19 19
         vertical
20
-        circular        
21
-        interval="3000"        
20
+        circular
21
+        interval="3000"
22 22
         autoplay>
23
-          {
24
-            tips==''?<SwiperItem>Tip:暂无公告  欢迎使用十公里小程序</SwiperItem>:
25
-            tips.map((item)=>
23
+        {
24
+          tips == '' ? <SwiperItem>暂无公告  欢迎使用十公里小程序</SwiperItem> :
25
+            tips.map((item) =>
26 26
               <SwiperItem>
27
-                <View>Tip:{item.content}</View>
27
+                <View>{item.content}</View>
28 28
               </SwiperItem>
29 29
             )
30
-          }        
30
+        }
31 31
       </Swiper>
32
-      </view>
33
-    )  
32
+    </view>
33
+  )
34 34
 }

+ 3
- 3
src/components/toggleRole/ToggleRole.jsx Wyświetl plik

@@ -31,15 +31,15 @@ export default (props) => {
31 31
         <view className='User-box-selectUser'>请选择身份:</view>
32 32
         <view className='User-box-tourist' onClick={goToPerson}>
33 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 35
         </view>
36 36
         <view className='User-box-hotelBoss' onClick={goToHotel}>
37 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 39
         </view>
40 40
         <view className='User-box-shopBoss' onClick={goToShop}>
41 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 43
         </view>
44 44
       </view>
45 45
     </Popup>

+ 6
- 1
src/pages/MineUserAll/AllOrder/index.config.js Wyświetl plik

@@ -3,7 +3,12 @@ export default {
3 3
   navigationStyle: 'custom',
4 4
   "usingComponents": {
5 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 Wyświetl plik

@@ -1,56 +1,65 @@
1
+import { saveFeedback } from '@/services/mine'
2
+import QCRsgl from '@/assets/icons/ProCard/QCRsgl.png'
1 3
 import CustomNav from '@/components/CustomNav'
2 4
 import Taro from '@tarojs/taro'
5
+import { Image, Button } from '@tarojs/components'
3 6
 import withLayout from '@/layouts'
4
-import { Button} from '@tarojs/components'
5 7
 import './style.less'
6
-import {saveFeedback} from '@/services/mine'
7 8
 
8 9
 
9 10
 export default withLayout((props) => {
10 11
   const { person } = props
11
-  const {personId}=person
12
+  const { personId } = person
12 13
   const back = () => {
13 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 19
       saveFeedback({
19 20
         personId,
20 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 38
         title: '请重新输入',
38 39
         icon: 'none',
39 40
         duration: 2000
40
-      }) 
41
+      })
41 42
     }
42 43
   }
43 44
   return (
44 45
     <view className='box-content'>
45 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 63
       </view>
55 64
     </view>
56 65
   )

+ 9
- 1
src/pages/MineUserAll/ContactMe/style.less Wyświetl plik

@@ -2,9 +2,10 @@
2 2
   .section {
3 3
     height: 254px;
4 4
     border: 1px solid #b5b5b5;
5
+    font-size: 24px;
6
+
5 7
     box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.08);
6 8
     padding: 30px;
7
-    font-size: 24px;
8 9
     textarea {
9 10
       height: 100%;
10 11
     }
@@ -14,6 +15,13 @@
14 15
     border-radius: 12px;
15 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 25
   .button-info {
18 26
     width: calc(100% - 60px);
19 27
     position: absolute;

+ 8
- 18
src/pages/MineUserAll/RefundMoney/CheckRefund/style.less Wyświetl plik

@@ -35,7 +35,7 @@
35 35
     // margin-top: 600px;
36 36
     // margin: 30px auto;
37 37
     // width: 100%;
38
-
38
+    width: calc(100% -25px);
39 39
     // box-shadow: 0px 8px 38px 0px rgba(0, 0, 0, 0.12);
40 40
     // filter: drop-shadow(5px 8px 6px rgb(202, 202, 202));
41 41
     filter: drop-shadow(0 0 0.9rem rgba(0, 0, 0, 0.12));
@@ -60,7 +60,6 @@
60 60
         font-weight: 700;
61 61
       }
62 62
     }
63
-    
64 63
 
65 64
     .left-complete-one {
66 65
       padding-top: 87px;
@@ -68,14 +67,10 @@
68 67
       position: relative;
69 68
       display: flex;
70 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 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 74
       background-size: 100% 60%;
80 75
       background-repeat: no-repeat;
81 76
 
@@ -103,7 +98,6 @@
103 98
       }
104 99
       //图片
105 100
       .title-image {
106
-
107 101
         height: 144px;
108 102
         margin-left: 20px;
109 103
         border-radius: 24px;
@@ -158,7 +152,7 @@
158 152
           font-weight: 400;
159 153
           color: #333333;
160 154
           padding-left: 50px;
161
-          text-decoration:line-through;
155
+          text-decoration: line-through;
162 156
         }
163 157
 
164 158
         .title-time {
@@ -201,14 +195,10 @@
201 195
 
202 196
   .right-complete-two {
203 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 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 202
     background-size: 100% 60%;
213 203
     background-repeat: no-repeat;
214 204
     width: 129px;

+ 27
- 27
src/pages/MineUserAll/RefundMoney/index.jsx Wyświetl plik

@@ -82,77 +82,77 @@ export default withLayout((props) => {
82 82
   }, [pageNum]);
83 83
 
84 84
   return (
85
-    <view className="box-content">
86
-      <CustomNav title="售后退款" />
85
+    <view className='box-content'>
86
+      <CustomNav title='售后退款' />
87 87
       <scroll-view
88 88
         scrollY
89
-        style="height: calc(100vh - 176rpx);"
89
+        style='height: calc(100vh - 176rpx);'
90 90
         refresher-enabled
91 91
         refresher-triggered={IsPull}
92 92
         onrefresherrefresh={pageRefresh}
93
-        refresher-background="#fff"
93
+        refresher-background='#fff'
94 94
         onscrolltolower={pageLoadMore}
95 95
       >
96
-        <view>
96
+        <view className='View-box-Card'>
97 97
           {(list || []).map((item) => {
98 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 104
                     返现¥{item.cashback / 100}
105 105
                   </view>
106 106
                   {/* 评分 */}
107
-                  <view className="card-box-star">
107
+                  <view className='card-box-star'>
108 108
                     {scoreList.map((_, index) => {
109 109
                       const src = index + 1 <= item.score ? starOn : starOff;
110 110
                       return (
111 111
                         <image
112
-                          className="card-star-image"
112
+                          className='card-star-image'
113 113
                           key={index}
114 114
                           src={src}
115 115
                         />
116 116
                       );
117 117
                     })}
118
-                    <text className="card-star-text">
118
+                    <text className='card-star-text'>
119 119
                       {item.score?.toFixed(1)}
120 120
                     </text>
121 121
                   </view>
122
-                  <view className="title-image">
122
+                  <view className='title-image'>
123 123
                     <image
124
-                      className="image-1"
125
-                      mode="scaleToFill"
124
+                      className='image-1'
125
+                      mode='scaleToFill'
126 126
                       src={item.poster}
127 127
                     ></image>
128
-                    <image className="image-2" src={food}></image>
128
+                    <image className='image-2' src={food}></image>
129 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 133
                         {item.packageDescription}
134
-                        <text className="title-money-2">
134
+                        <text className='title-money-2'>
135 135
                           数量:{item.amount}张
136 136
                         </text>
137 137
                       </view>
138 138
                     </view>
139
-                    <text className="title-money">
139
+                    <text className='title-money'>
140 140
                       ¥{item.unitPrice / 100}元
141 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 143
                   </view>
144 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 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 150
                   </view>
151 151
                 </view>
152 152
               </view>
153 153
             );
154 154
           })}
155
-          <view className="foot">已经到底了~</view>
155
+          <view className='foot'>这是我的底线</view>
156 156
         </view>
157 157
       </scroll-view>
158 158
     </view>

+ 200
- 211
src/pages/MineUserAll/RefundMoney/style.less Wyświetl plik

@@ -2,247 +2,236 @@
2 2
 
3 3
 .box-content {
4 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 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 18
         position: absolute;
61
-        top: 22px;
62
-      }
63
-      .left-viewText {
64
-        // background-image: url(@Image-ProCard_hot);
65
-        // width: 287px;
66 19
         width: auto;
67 20
         height: 44.3px;
68 21
         position: absolute;
69
-        left: 1px;
22
+        left: 200px;
70 23
         top: 28px;
71 24
         font-size: 20px;
72 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 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 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 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 Wyświetl plik

@@ -0,0 +1,64 @@
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 Wyświetl plik

@@ -0,0 +1,168 @@
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 Wyświetl plik

@@ -14,14 +14,15 @@ import { getPackageDetail } from "@/services/home";
14 14
 import { saveOrder, getOrderSub, payOrder } from "@/services/payOrder";
15 15
 import formatTime from "@/utils/formatTime";
16 16
 import formatPrice from "@/utils/formatPrice";
17
+import Card from "./Card";
17 18
 
18 19
 export default withLayout((props) => {
20
+  //#region 
19 21
   const { router, person } = props;
20 22
   const { packageId, orderId } = props.router.params;
21 23
 
22 24
   const [payInfo, setPayInfo] = useState();
23 25
 
24
-  const [showDialog, setShowDialog] = useState(false);
25 26
   // 是否已阅读协议
26 27
   const [agreement, setAgreement] = useState(false);
27 28
   // 总价 totalPrice
@@ -30,6 +31,7 @@ export default withLayout((props) => {
30 31
 
31 32
   const [BuyNumber, setBuyNumber] = useState(1);
32 33
   const [detail, setDetail] = useState({});
34
+  const [showDialog, setShowDialog] = useState(false);
33 35
 
34 36
   const [DisabledBool, setDisabledBool] = useState(false);
35 37
 
@@ -186,130 +188,99 @@ export default withLayout((props) => {
186 188
     setTotalPrice(total);
187 189
   }, [list]);
188 190
 
191
+  //#endregion
189 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 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 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 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 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 254
               </Radio>
289
-              <text className='ptxy'onClick={goRules}>
255
+              <text className='ptxy' onClick={goRules}>
290 256
                 《平台用户服务协议》
291 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 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 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 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 283
         </view>
312 284
       </view>
313
-    </view>
314 285
   );
315 286
 });

+ 245
- 148
src/pages/PayOrder/style.less Wyświetl plik

@@ -2,8 +2,10 @@
2 2
 @Image-ProCard_hot: "../../assets/icons/ProCard/ProCard_hot.png";
3 3
 .container {
4 4
   width: 100%;
5
+  //商品数量
5 6
   .item-center-Number {
6
-    width: 100%;
7
+    width: auto;
8
+    height: auto;
7 9
     margin-top: 30px;
8 10
     .buy-num-minus {
9 11
       display: inline-block;
@@ -23,7 +25,7 @@
23 25
       background: #ffffff;
24 26
       border: 1px solid #999999;
25 27
       position: relative;
26
-      top: 26px;
28
+      top: 29px;
27 29
     }
28 30
     .buy-num-add {
29 31
       display: inline-block;
@@ -35,6 +37,7 @@
35 37
       border-radius: 0px 8px 8px 0px;
36 38
     }
37 39
   }
40
+  //确定按钮
38 41
   .buy-button-box {
39 42
     width: 100%;
40 43
     margin: 40px 0 0 0;
@@ -62,161 +65,231 @@
62 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 293
   .view-button {
221 294
     position: fixed;
222 295
     bottom: 0;
@@ -250,6 +323,30 @@
250 323
         text-decoration: underline;
251 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 351
     .button-box-button-box {
255 352
       position: relative;

+ 1
- 1
src/pages/TobeShop/index.jsx Wyświetl plik

@@ -156,7 +156,7 @@ export default withLayout((props) => {
156 156
                     <image className='Check_OK-image' src={item.verifyNo == checked ? Check_OK : Check_NO} />
157 157
                   </view>
158 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 160
                   <view className='title-image'>
161 161
                     <image
162 162
                       className='image-1'

+ 6
- 15
src/pages/TobeShop/style.less Wyświetl plik

@@ -1,7 +1,6 @@
1 1
 @whiteColor: #fff;
2 2
 
3 3
 .shop-Eat {
4
-  width: 100%;
5 4
   padding: 0 30px;
6 5
   .Consumption-Now {
7 6
     height: 33px;
@@ -114,14 +113,10 @@
114 113
       position: relative;
115 114
       display: flex;
116 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 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 120
       background-size: 100% 60%;
126 121
       background-repeat: no-repeat;
127 122
 
@@ -249,14 +244,10 @@
249 244
   }
250 245
   .right-complete-two {
251 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 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 251
     background-size: 100% 60%;
261 252
     background-repeat: no-repeat;
262 253
     width: 129px;

+ 4
- 12
src/pages/details/foodDetails/foodDetails.jsx Wyświetl plik

@@ -32,15 +32,7 @@ export default withLayout((props) => {
32 32
   const { id, subOrderId, scene } = props.router.params;
33 33
 
34 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 36
       getVerifyTargetList({
45 37
         shopId: id,
46 38
         isMine: true,
@@ -48,12 +40,12 @@ export default withLayout((props) => {
48 40
       }).then((res) => {
49 41
         if (res?.records?.length > 0) {
50 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 51
   const [detail, setDetail] = useState({});
@@ -271,7 +263,7 @@ export default withLayout((props) => {
271 263
                   className="botton"
272 264
                   style={{ display: newextNum == AllextNum ? "" : "none" }}
273 265
                 >
274
-                  已经到底了~
266
+                  这是我的底线
275 267
                 </view>
276 268
               </>
277 269
           }

+ 5
- 5
src/pages/details/mjDetails/sceneryDetails.jsx Wyświetl plik

@@ -10,7 +10,7 @@ import baozan from '@/assets/icons/housemantj/bgood.png'
10 10
 import weibaozan from '@/assets/icons/housemantj/unLike.png'
11 11
 import zhuandao from "@/assets/icons/housemantj/backTop.png";
12 12
 import withLayout from '@/layouts'
13
-import { useState, useEffect} from 'react'
13
+import { useState, useEffect } from 'react'
14 14
 import { getTouristDetail, getExtendContent, getRecommendList } from '@/services/home'
15 15
 import { Swiper, SwiperItem, Button } from '@tarojs/components';
16 16
 import useSave from "@/utils/hooks/useSave"
@@ -156,10 +156,10 @@ export default withLayout((props) => {
156 156
             <view className='title'>
157 157
               <image src={titlems} />老板推荐好吃的
158 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 161
           </view>
162
-          <view className='bottom'>已经到底了~</view>
162
+          <view className='bottom'>这是我的底线</view>
163 163
         </scroll-view>
164 164
       </view>
165 165
       <view className='bottomTab'>
@@ -168,7 +168,7 @@ export default withLayout((props) => {
168 168
           <image className='share' src={share} />分享
169 169
         </view>
170 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 172
         </view>
173 173
         <view className='tab' onClick={toggleSave}>
174 174
           <image className='collection' src={isSaved > 0 ? ax : good} />{isSaved > 0 ? '已收藏' : '加入收藏'}

+ 3
- 2
src/pages/index/index.config.js Wyświetl plik

@@ -5,10 +5,11 @@ export default {
5 5
   enableShareAppMessage: true,
6 6
   usingComponents: {
7 7
     "mp-tabbar": "weui-miniprogram/tabbar/tabbar",
8
-    "mp-tabs": "../../../components/tabs/index",
8
+    "mp-tabs": "../../../components/tabs/index",
9 9
     "mp-checkbox-group": "weui-miniprogram/checkbox-group/checkbox-group",
10 10
     "mp-checkbox": "weui-miniprogram/checkbox/checkbox",
11 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 Wyświetl plik

@@ -30,9 +30,9 @@ export default withLayout((props) => {
30 30
 
31 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 36
     setIsDidShow(isDidShow + 1)
37 37
   })
38 38
   const handleTabChange = (e) => {
@@ -82,7 +82,7 @@ export default withLayout((props) => {
82 82
         {currentTab === 0 && <Recommend location={location} />}
83 83
         {currentTab === 1 && <Guide person={person} router={router} location={location} />}
84 84
         {/* {currentTab === 2 && <Strategy />} */}
85
-        {currentTab === 2 && <Mine person={person} isDidShow={isDidShow}/>}
85
+        {currentTab === 2 && <Mine person={person} isDidShow={isDidShow} router={router} />}
86 86
       </view>
87 87
       <view className='index-tabbar'>
88 88
         <mp-tabbar extClass='custom-tabbar' current={currentTab} list={tabList} onChange={handleTabChange}></mp-tabbar>

+ 21
- 8
src/pages/index/tabs/Guide.jsx Wyświetl plik

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

+ 2
- 2
src/pages/index/tabs/Mine.jsx Wyświetl plik

@@ -22,7 +22,7 @@ import './MineCss/style.less'
22 22
 
23 23
 
24 24
 export default (props) => {
25
-  const { person,isDidShow } = props
25
+  const { person, isDidShow, router } = props
26 26
   const { getAvatar, sessionKey } = useModel('person')
27 27
   const [showCutover, setShowCutover] = useState(false)
28 28
   const hasAvatar = !!person.avatar
@@ -85,7 +85,7 @@ export default (props) => {
85 85
   }
86 86
   //入住指引
87 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 91
   const handleCollect = () => {

+ 9
- 0
src/services/payOrder.js Wyświetl plik

@@ -63,3 +63,12 @@ export const putVerifyTarget = (id) => request(`/verifyTarget/${id}`, { method:
63 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 Wyświetl plik

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

+ 2
- 0
src/store/index.js Wyświetl plik

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

+ 10
- 0
src/store/models/hotel.js Wyświetl plik

@@ -0,0 +1,10 @@
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 Wyświetl plik

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