吃个甘蔗嚼一年 3 年 前
コミット
b79df12d67

+ 13
- 12
src/components/CompoentsOrder/OrderCard/index.jsx ファイルの表示

17
 const Action = CouponCard.Action
17
 const Action = CouponCard.Action
18
 
18
 
19
 export default (props) => {
19
 export default (props) => {
20
-  const { item, setShowCutover, show, sh } = props
20
+  const { item, setShowCutover, show, sh, kkp } = props
21
 
21
 
22
   const handleDetail = () => {
22
   const handleDetail = () => {
23
     if (item.status === 0) {
23
     if (item.status === 0) {
60
     });
60
     });
61
   };
61
   };
62
   const PayAction =
62
   const PayAction =
63
-    sh == '1' ? <Action.Icon icon={Refund} text='售后/退款' onClick={() => handleRefund(item)} /> :
64
-      item.status === 0 ? <Action.Icon icon={Pay} text='支付' onClick={handleDetail} /> :
65
-        item.status === 1 && item.isVerified == false ? <Action.Icon icon={QRcode} text='扫码核销' onClick={() => onWriteOff(item)} /> :
66
-          item.status === 2 && item.isVerified == false ? <Action.Image image={refund} /> :
67
-            item.status === 7 && item.isVerified == false ? <Action.Image image={Cancel} /> :
68
-              item.status === 9 ? <Action.Image image={Null} /> :
69
-                item.isVerified == true && item.isEvaluated > 0 ? <Action.Image image={Evaluated} /> :
70
-                  item.isVerified == true ? <Action.Icon icon={Evaluation} text='评价' onClick={() => evaluation(item)} /> : <Action.Icon icon={Evaluation} />
63
+    kkp == '1' ? null :
64
+      sh == '1' ? <Action.Icon icon={Refund} text='售后/退款' onClick={() => handleRefund(item)} /> :
65
+        item.status === 0 ? <Action.Icon icon={Pay} text='支付' onClick={handleDetail} /> :
66
+          item.status === 1 && item.isVerified == false ? <Action.Icon icon={QRcode} text='扫码核销' onClick={() => onWriteOff(item)} /> :
67
+            item.status === 2 && item.isVerified == false ? <Action.Image image={refund} /> :
68
+              item.status === 7 && item.isVerified == false ? <Action.Image image={Cancel} /> :
69
+                item.status === 9 ? <Action.Image image={Null} /> :
70
+                  item.isVerified == true && item.isEvaluated > 0 ? <Action.Image image={Evaluated} /> :
71
+                    item.isVerified == true ? <Action.Icon icon={Evaluation} text='评价' onClick={() => evaluation(item)} /> : null
71
 
72
 
72
 
73
 
73
   return (
74
   return (
74
     <>
75
     <>
75
       {
76
       {
76
-        sh != '1' ? <view className='OrderNumber'>订单编号:{item.orderId}</view> : null
77
+        sh != '1'|| kkp == '1'? <view className='OrderNumber'>订单编号:{item.orderId}</view> : null
77
       }
78
       }
78
       <CouponCard action={PayAction}>
79
       <CouponCard action={PayAction}>
79
         <CouponMedia>
80
         <CouponMedia>
82
             image={item.poster}
83
             image={item.poster}
83
             badge='food'
84
             badge='food'
84
           />
85
           />
85
-          <CouponMedia.Body star={item.score}>
86
+          <CouponMedia.Body star={kkp == '1' ? 'ss' : item.score}>
86
             <View className='orderCard'>
87
             <View className='orderCard'>
87
               <View className='cpn-card-text'>
88
               <View className='cpn-card-text'>
88
                 <View style={{ flex: '1' }}>{(item.packageDescription).toString().length > 25 ? (item.packageDescription).substring(0, 25) + '...' : (item.packageDescription)}</View>
89
                 <View style={{ flex: '1' }}>{(item.packageDescription).toString().length > 25 ? (item.packageDescription).substring(0, 25) + '...' : (item.packageDescription)}</View>
89
-                <text className='title-money-2'>
90
+                <text className={kkp == '1' ? 'shanchu' : 'title-money-2'}>
90
                   数量:{item.amount}张
91
                   数量:{item.amount}张
91
                 </text>
92
                 </text>
92
               </View>
93
               </View>

+ 5
- 0
src/components/CompoentsOrder/OrderCard/style.less ファイルの表示

9
     .title-money-2 {
9
     .title-money-2 {
10
       font-size: 20px;
10
       font-size: 20px;
11
       color: #333333;
11
       color: #333333;
12
+      text-decoration: line-through;
13
+    }
14
+    .shanchu{
15
+      font-size: 20px;
16
+      color: #333333;
12
     }
17
     }
13
     & > text {
18
     & > text {
14
       display: inline-block;
19
       display: inline-block;

+ 4
- 1
src/components/CouponCard/Media/Body.jsx ファイルの表示

10
 
10
 
11
   return (
11
   return (
12
     <View className='coupun-media_body'>
12
     <View className='coupun-media_body'>
13
-      {enableStar && <Star score={(star).toFixed(1)} style={{ marginTop: '26rpx' }} />}      
13
+      {
14
+        star == 'ss' ? <Star score={5} style={{ marginTop: '26rpx', opacity: '0' }} /> :
15
+          enableStar ? <Star score={(star).toFixed(1)} style={{ marginTop: '26rpx' }} /> : null
16
+      }
14
       <View className='coupun-media_body_ctt'>
17
       <View className='coupun-media_body_ctt'>
15
         {props.children}
18
         {props.children}
16
       </View>
19
       </View>

+ 97
- 0
src/components/SlideView/index.jsx ファイルの表示

1
+
2
+import React, { useEffect, useMemo, useRef, useState } from 'react'
3
+import Taro from '@tarojs/taro';
4
+import { ScrollView, View, Image, Text } from '@tarojs/components';
5
+import deleteIcon from '@/assets/icons/landlord/delete.png';
6
+import './style.less'
7
+
8
+export default (props) => {
9
+  const { className, action, del, onDelete } = props;
10
+
11
+  const contextRef = useRef()
12
+  const contentHeightRef = useRef(0)
13
+  const [actStyle, setActStyle]= useState()
14
+
15
+  const uqClass = useMemo(() => `f-${Math.random().toString(36).substring(2)}`, [])
16
+  const classes = [className, 'slideview-wrapper', uqClass].filter(Boolean).join(' ');
17
+
18
+  const handleScrollLeft = () => {
19
+    if (contextRef.current) {
20
+      contextRef.current.scrollIntoView('.slideview-content')
21
+    }
22
+  }
23
+
24
+  const handleScrollRight = () => {
25
+    if (contextRef.current) {
26
+      contextRef.current.scrollIntoView('.slideview-actions')
27
+    }
28
+  }
29
+
30
+  const handleDelete = (e) => {
31
+    if (onDelete) {
32
+      onDelete(e)
33
+    }
34
+  }
35
+
36
+  useEffect(() => {
37
+    Taro.nextTick(() => {
38
+      Taro.createSelectorQuery()
39
+      .select(`.${uqClass}`)
40
+      .node()
41
+      .exec((res) => {
42
+        contextRef.current = res[0].node;
43
+      })
44
+    })
45
+  }, [])
46
+
47
+  useEffect(() => {
48
+    Taro.nextTick(() => {
49
+      // 不清楚为什么, 此处获取高度一直不准确
50
+      const t = setTimeout(() => {
51
+        Taro.createSelectorQuery()
52
+        .select(`.${uqClass}`)
53
+        .boundingClientRect()
54
+        .exec((res) => {
55
+          if (res && res[0]) {
56
+            const { height } = res[0]
57
+            if (height && height !== contentHeightRef.current) {
58
+              setActStyle({
59
+                height: `${height}px`,
60
+              })
61
+              contentHeightRef.current = height
62
+            }
63
+          }
64
+        })
65
+        clearTimeout(t)
66
+      }, 500)
67
+    })
68
+  })
69
+
70
+  return (
71
+    <ScrollView
72
+      className={classes}
73
+      upperThreshold={20}
74
+      lowerThreshold={20}
75
+      scrollX
76
+      scrollWithAnimation
77
+      enhanced
78
+      onScrollToUpper={handleScrollLeft}
79
+      onScrollToLower={handleScrollRight}
80
+    >
81
+      <View className='slideview-content'>{props.children}</View>
82
+      <View className='slideview-actions' style={actStyle}>
83
+        <View className='slideview-action'>
84
+          {
85
+            del && (
86
+              <View className='slideview-action_delete' onClick={handleDelete}>
87
+                <Image src={deleteIcon} />
88
+                <View>删除</View>
89
+              </View>
90
+            )
91
+          }
92
+          {action}
93
+        </View>
94
+      </View>
95
+    </ScrollView>
96
+  )
97
+}

+ 52
- 0
src/components/SlideView/style.less ファイルの表示

1
+.slideview-wrapper {
2
+  box-sizing: border-box;
3
+  white-space: nowrap;
4
+
5
+  &::-webkit-scrollbar{
6
+    width: 0;
7
+    height: 0;
8
+    color: transparent;
9
+  }
10
+
11
+  .slideview-content {
12
+    min-width: 100%;
13
+    display: inline-block;
14
+    vertical-align: middle;
15
+  }
16
+
17
+  .slideview-actions {
18
+    display: inline-block;
19
+    vertical-align: middle;
20
+    margin: 0 20px;
21
+    background: #FFFFFF;
22
+    box-shadow: 0px 8px 38px 0px rgba(0, 0, 0, 0.12);
23
+    border-radius: 12px;
24
+
25
+    .slideview-action {
26
+      height: 100%;
27
+      display: flex;
28
+      align-items: center;
29
+      justify-content: center;
30
+      
31
+      &_delete {
32
+        display: block;
33
+        flex: none;
34
+        height: 74px;
35
+        width: 67px;
36
+        text-align: center;
37
+        padding: 10px;
38
+        font-size: 24px;
39
+        font-weight: bold;
40
+        color: #FF3434;
41
+
42
+        & > image {
43
+          width: 28px;
44
+          height: 30px;
45
+          display: block;
46
+          margin: 0 auto 20px;
47
+        }
48
+      }
49
+    }
50
+
51
+  }
52
+}

+ 1
- 1
src/hotel/components/HouseManage/houseManage.jsx ファイルの表示

94
     getShareMessage: () => {
94
     getShareMessage: () => {
95
       const { shareImage, roomOrderId } = shareDataRef.current
95
       const { shareImage, roomOrderId } = shareDataRef.current
96
       setShowCard(false)
96
       setShowCard(false)
97
-      console.log(`/pages/index/index?tab=1&roomId=${room.roomId}&roomOrderId=${roomOrderId}&fromType=hotel&recommender=${hotel.hotelId}`)
97
+      // console.log(`/pages/index/index?tab=1&roomId=${room.roomId}&roomOrderId=${roomOrderId}&fromType=hotel&recommender=${hotel.hotelId}`)
98
       return {
98
       return {
99
         title: room.roomName,
99
         title: room.roomName,
100
         path: `/pages/index/index?tab=1&roomId=${room.roomId}&roomOrderId=${roomOrderId}&fromType=hotel&recommender=${hotel.hotelId}`,
100
         path: `/pages/index/index?tab=1&roomId=${room.roomId}&roomOrderId=${roomOrderId}&fromType=hotel&recommender=${hotel.hotelId}`,

+ 5
- 4
src/hotel/pages/components/Extend/index.jsx ファイルの表示

4
 import Popup from '@/components/Popup'
4
 import Popup from '@/components/Popup'
5
 import { View, Text, Image, Textarea, Label, Button } from '@tarojs/components';
5
 import { View, Text, Image, Textarea, Label, Button } from '@tarojs/components';
6
 import { update, deleteExtend } from '@/services/landlord'
6
 import { update, deleteExtend } from '@/services/landlord'
7
+import SlideView from '@/components/SlideView';
7
 import './style.less'
8
 import './style.less'
8
 
9
 
9
 export default (props) => {
10
 export default (props) => {
91
       {
92
       {
92
         item.contentType == 'image' ?
93
         item.contentType == 'image' ?
93
           <View>
94
           <View>
94
-            <mp-slideview buttons={detele} icon onbuttontap={handelDelete}>
95
+            <SlideView del onDelete={handelDelete}>
95
               <Image src={eimg} mode='widthFix' style={{ width: '100%', display: 'block' }} onClick={handerChange} />
96
               <Image src={eimg} mode='widthFix' style={{ width: '100%', display: 'block' }} onClick={handerChange} />
96
-            </mp-slideview>
97
+            </SlideView>
97
           </View>
98
           </View>
98
           :
99
           :
99
           item.contentType == 'text' ?
100
           item.contentType == 'text' ?
100
             <View>
101
             <View>
101
-              <mp-slideview buttons={detele} icon onbuttontap={handelDelete2}>
102
+              <SlideView del onDelete={handelDelete2}>
102
                 <View className='storezn' onClick={showText}>{content}</View>
103
                 <View className='storezn' onClick={showText}>{content}</View>
103
-              </mp-slideview>
104
+              </SlideView>
104
             </View>
105
             </View>
105
             : null
106
             : null
106
       }
107
       }

+ 13
- 13
src/hotel/pages/components/Extend/style.less ファイルの表示

49
     margin-bottom: 60px;
49
     margin-bottom: 60px;
50
     text-align: justify;
50
     text-align: justify;
51
   }
51
   }
52
-  .weui-slideview__btn__wrp{
53
-    background: #FFFFFF;
54
-    box-shadow: 0px 8px 38px 0px rgba(0, 0, 0, 0.12);
55
-    border-radius: 12px;
56
-    margin: 5px 5px 5px 20px;
57
-    height: 97%;
58
-    width: 67px;
59
-  }
60
-  .weui-slideview__btn{
61
-    width: 44px;
62
-    height: 44px;
63
-    line-height: 44px;
64
-  }
52
+  // .weui-slideview__btn__wrp{
53
+  //   background: #FFFFFF;
54
+  //   box-shadow: 0px 8px 38px 0px rgba(0, 0, 0, 0.12);
55
+  //   border-radius: 12px;
56
+  //   margin: 5px 5px 5px 20px;
57
+  //   height: 97%;
58
+  //   width: 67px;
59
+  // }
60
+  // .weui-slideview__btn{
61
+  //   width: 44px;
62
+  //   height: 44px;
63
+  //   line-height: 44px;
64
+  // }
65
   Textarea{
65
   Textarea{
66
     height: 300px;
66
     height: 300px;
67
     width: 100%;
67
     width: 100%;

+ 5
- 4
src/hotel/pages/landlord/addRoom/addRoom.jsx ファイルの表示

214
               </mp-cell>
214
               </mp-cell>
215
             </mp-cells>
215
             </mp-cells>
216
             {roomId ? <>
216
             {roomId ? <>
217
-              <mp-cells title='其他指引'>
217
+              <view>
218
+                <view className='weui-cells__title'>其他指引</view>
218
                 {
219
                 {
219
                   extend == '' ? null :
220
                   extend == '' ? null :
220
-                    <mp-cell >
221
+                    <view>
221
                       {extend.map((item) => (
222
                       {extend.map((item) => (
222
                         <Extend key={item.extId} item={item} setReset={setReset} />
223
                         <Extend key={item.extId} item={item} setReset={setReset} />
223
                       ))}
224
                       ))}
224
-                    </mp-cell>
225
+                    </view>
225
                 }
226
                 }
226
-              </mp-cells>
227
+              </view>
227
             </> : null
228
             </> : null
228
             }
229
             }
229
           </mp-form>
230
           </mp-form>

+ 97
- 143
src/pages/MineUserAll/RefundMoney/CheckRefund/index.jsx ファイルの表示

1
-import BlackSpot from "@/assets/icons/GuideCheck/BlackSpot.png";
2
 import Taro from "@tarojs/taro";
1
 import Taro from "@tarojs/taro";
3
 import { Button, Textarea, View } from "@tarojs/components";
2
 import { Button, Textarea, View } from "@tarojs/components";
4
 import formatPrice from "@/utils/formatPrice";
3
 import formatPrice from "@/utils/formatPrice";
5
-import formatTime from "@/utils/formatTime";
6
 import { useState, useEffect } from "react";
4
 import { useState, useEffect } from "react";
5
+import OrderCard from '@/components/CompoentsOrder/OrderCard'
7
 import withLayout from "@/layouts";
6
 import withLayout from "@/layouts";
8
 import { getOrderSub, refund } from "@/services/payOrder";
7
 import { getOrderSub, refund } from "@/services/payOrder";
9
-import food from "@/assets/icons/ProCard/food.png";
10
-import ProCard_hot from "@/assets/icons/ProCard/ProCard_hot.png";
11
 import CustomNav from "@/components/CustomNav";
8
 import CustomNav from "@/components/CustomNav";
9
+import BlackSpot from "@/assets/icons/GuideCheck/BlackSpot.png";
12
 import "./style.less";
10
 import "./style.less";
13
 
11
 
14
 const options = [
12
 const options = [
114
       <view className='index-navbar'>
112
       <view className='index-navbar'>
115
         <CustomNav title='售后退款' />
113
         <CustomNav title='售后退款' />
116
       </view>
114
       </view>
117
-
118
-      <View className='box-content '>
119
-        <scroll-view scroll-y style='height: calc(100vh - 65px);' >
120
-
121
-          <view className='Refund-Content-box'>
122
-
123
-            <view className='title-image'>
124
-              <image
125
-                mode='scaleToFill'
126
-                className='title-image-cup'
127
-                src={BlackSpot}
128
-              />
129
-              <text className='title-title-boss'>商品信息</text>
115
+      <View className='index-container'>
116
+        <View className='box-content'>
117
+          <scroll-view scroll-y style='height: calc(100vh - 65px);' >
118
+            <view className='Refund-Content-box'>
119
+              <view className='title-image'>
120
+                <image
121
+                  mode='scaleToFill'
122
+                  className='title-image-cup'
123
+                  src={BlackSpot}
124
+                />
125
+                <text className='title-title-boss'>商品信息</text>
126
+              </view>
130
             </view>
127
             </view>
131
-          </view>
132
-          {/* 商品信息结束 */}
133
-          <view>
134
-            {(list || []).map((item) => {
135
-              return (
136
-                <view class='wrapper' key={item.orderId}>
137
-                  <view class='left-complete-one'>
138
-                    <image className='left-image-1' src={ProCard_hot}></image>
139
-                    <view className='left-viewText'>
140
-                      返现¥{formatPrice(item.cashback)}
141
-                    </view>
142
-                    <view className='title-image'>
143
-                      <image
144
-                        className='image-1'
145
-                        mode='scaleToFill'
146
-                        src={item.poster}
147
-                      ></image>
148
-                      <image className='image-2' src={food}></image>
149
-                    </view>
150
-                    <view className='title-content'>
151
-                      <view className='Pro-title'>
152
-                        <view className='title-text'>
153
-                          {item.packageDescription}
154
-                          <text className='title-money-2'>
155
-                            数量:{item.amount}张
156
-                          </text>
157
-                        </view>
158
-                      </view>
159
-                      <text className='title-money'>
160
-                        ¥{formatPrice(item.unitPrice)}元
161
-                        <text className='title-money-2'>
162
-                          门市价{formatPrice(item.standardPrice)}元
163
-                        </text>
164
-                      </text>
165
-                      <view className='title-time'>
166
-                        有效期:{formatTime(item?.startTime, "yyyy/MM/dd")}-
167
-                        {formatTime(item.endTime, "yyyy/MM/dd")}
168
-                      </view>
169
-                    </view>
170
-                  </view>
171
-                  <view class='right-complete-two'>
172
-                    <view className='right-content'></view>
173
-                  </view>
174
-                </view>
175
-              );
176
-            })}
177
-          </view>
178
-
179
-          {/* 卡片结束 */}
180
-          <view className='Refund-Content-box'>
181
-            <view className='title-image'>
182
-              <image
183
-                mode='scaleToFill'
184
-                className='title-image-cup'
185
-                src={BlackSpot}
186
-              />
187
-              <text className='title-title-boss'>退款原因</text>
128
+            {/* 商品信息结束 */}
129
+            <view>
130
+              {(list || []).map((item) => {
131
+                return (
132
+                  <OrderCard item={item} key={item.orderId} kkp='1' />
133
+                );
134
+              })}
188
             </view>
135
             </view>
189
-            {/* 退款结束 */}
190
-          </view>
191
-          <view className='Refund-content'>
192
-            {options.map((x) => {
193
-              return (
194
-                <text
195
-                  className={`Refund-star-view${x.key} ${checkeds.indexOf(x.key) > -1
196
-                    ? "bg2"
197
-                    : `Refund-star-view${x.key}`
198
-                    }`}
199
-                  key={x.key}
200
-                  onClick={() => viewOK(x)}
201
-                >
202
-                  {x.title}
203
-                </text>
204
-              );
205
-            })}
206
-          </view>
207
-
208
-          <view className='Refund-Content-box'>
209
-            <view className='title-image'>
210
-              <image
211
-                mode='scaleToFill'
212
-                className='title-image-cup'
213
-                src={BlackSpot}
136
+            {/* 卡片结束 */}
137
+            <view className='Refund-Content-box'>
138
+              <view className='title-image'>
139
+                <image
140
+                  mode='scaleToFill'
141
+                  className='title-image-cup'
142
+                  src={BlackSpot}
143
+                />
144
+                <text className='title-title-boss'>退款原因</text>
145
+              </view>
146
+              {/* 退款结束 */}
147
+            </view>
148
+            <view className='Refund-content'>
149
+              {options.map((x) => {
150
+                return (
151
+                  <text
152
+                    className={`Refund-star-view1 ${checkeds.indexOf(x.key) > -1
153
+                      ? "bg2"
154
+                      : `Refund-star-view2`
155
+                      }`}
156
+                    key={x.key}
157
+                    onClick={() => viewOK(x)}
158
+                  >
159
+                    {x.title}
160
+                  </text>
161
+                );
162
+              })}
163
+            </view>
164
+            <view className='Refund-Content-box'>
165
+              <view className='title-image'>
166
+                <image
167
+                  mode='scaleToFill'
168
+                  className='title-image-cup'
169
+                  src={BlackSpot}
170
+                />
171
+                <text className='title-title-boss'>退款说明</text>
172
+              </view>
173
+            </view>
174
+            <view class='section'>
175
+              <Textarea
176
+                placeholder='请补充退款说明(选填)!'
177
+                onInput={(e) => setExplain(e.detail.value)}
178
+                confirm-type='done'
214
               />
179
               />
215
-              <text className='title-title-boss'>退款说明</text>
216
             </view>
180
             </view>
217
-          </view>
218
-          <view class='section'>
219
-            <Textarea
220
-              placeholder='请补充退款说明(选填)!'
221
-              onInput={(e) => setExplain(e.detail.value)}
222
-              confirm-type='done'
223
-            />
224
-          </view>
225
-          <view className='money-title'>
226
-            实付金额:{" "}
227
-            <text className='money-name'>{formatPrice(totalPrice.charges)}元</text>
228
-          </view>
229
-          <view className='money-title'>
230
-            已获返现:{" "}
231
-            <text className='money-name'>{formatPrice(totalPrice.cashback)}元</text>
232
-          </view>
233
-          <view className='money-title'>
234
-            退款金额:{" "}
235
-            <text className='money-name'>{formatPrice(totalPrice.refundPrice)}元</text>
236
-          </view>
237
-          <view className='ul-li-text'>
238
-            <view className='ul-li-view'></view>
239
-            <text className='ul-li-textname'>退款金额不可修改;</text>
240
-          </view>
241
-          <view className='ul-li-text'>
242
-            <view className='ul-li-view'></view>
243
-            <text className='ul-li-textname'>
244
-              下单获得返现金额,会在退款时被扣除;
245
-            </text>
246
-          </view>
247
-          <view className='ul-li-text'>
248
-            <view className='ul-li-view'></view>
249
-            <text className='ul-li-textname'>退款将在七个工作日内原路退还。</text>
250
-          </view>
251
-
252
-          <view className='button-info'>
253
-            <Button className='button-box' onClick={() => onRefund()}>
254
-              提交申请
255
-            </Button>
256
-          </view>
257
-        </scroll-view>
258
-
181
+            <view className='money-title'>
182
+              实付金额:{" "}
183
+              <text className='money-name'>{formatPrice(totalPrice.charges)}元</text>
184
+            </view>
185
+            <view className='money-title'>
186
+              已获返现:{" "}
187
+              <text className='money-name'>{formatPrice(totalPrice.cashback)}元</text>
188
+            </view>
189
+            <view className='money-title'>
190
+              退款金额:{" "}
191
+              <text className='money-name'>{formatPrice(totalPrice.refundPrice)}元</text>
192
+            </view>
193
+            <view className='ul-li-text'>
194
+              <view className='ul-li-view'></view>
195
+              <text className='ul-li-textname'>退款金额不可修改</text>
196
+            </view>
197
+            <view className='ul-li-text'>
198
+              <view className='ul-li-view'></view>
199
+              <text className='ul-li-textname'>
200
+                下单获得返现金额,会在退款时被扣除;
201
+              </text>
202
+            </view>
203
+            <view className='ul-li-text'>
204
+              <view className='ul-li-view'></view>
205
+              <text className='ul-li-textname'>退款将在七个工作日内原路退还。</text>
206
+            </view>
207
+            <view className='button-info'>
208
+              <Button className='button-box' onClick={() => onRefund()}>
209
+                提交申请
210
+              </Button>
211
+            </view>
212
+          </scroll-view>
213
+        </View>
259
       </View>
214
       </View>
260
-
261
     </view >
215
     </view >
262
   );
216
   );
263
 });
217
 });

+ 21
- 284
src/pages/MineUserAll/RefundMoney/CheckRefund/style.less ファイルの表示

1
 @whiteColor: #fff;
1
 @whiteColor: #fff;
2
 
2
 
3
 .box-content {
3
 .box-content {
4
-  padding: 0 30px;
4
+  margin: 0 30px;
5
+  height: 100%;
5
   .Refund-Content-box {
6
   .Refund-Content-box {
6
     .title-image {
7
     .title-image {
7
       margin-top: 39px;
8
       margin-top: 39px;
13
         height: 32px;
14
         height: 32px;
14
         margin-top: 10px;
15
         margin-top: 10px;
15
         padding-right: 10px;
16
         padding-right: 10px;
16
-        align-items: center;
17
       }
17
       }
18
       .title-title-boss {
18
       .title-title-boss {
19
-        align-items: center;
20
         font-size: 32px;
19
         font-size: 32px;
21
         font-weight: 800;
20
         font-weight: 800;
22
-        color: #202020;
23
       }
21
       }
24
     }
22
     }
25
   }
23
   }
26
 
24
 
27
-  .wrapper {
28
-    margin: auto;
29
-    margin-top: 40px;
30
-    display: flex;
31
-    position: relative;
32
-    width: calc(100% -25px);
33
-    filter: drop-shadow(0 0 0.9rem rgba(0, 0, 0, 0.12));
34
-    .card-box-star {
35
-      position: absolute;
36
-      width: auto;
37
-      height: 44.3px;
38
-      position: absolute;
39
-      left: 200px;
40
-      top: 28px;
41
-      font-size: 20px;
42
-      color: @whiteColor;
43
-      .card-star-image {
44
-        padding-left: 6px;
45
-        width: 21px;
46
-        height: 21px;
47
-      }
48
-      .card-star-text {
49
-        padding-left: 10px;
50
-        font-size: 20px;
51
-        color: #333;
52
-        font-weight: 700;
53
-      }
54
-    }
55
-
56
-    .left-complete-one {
57
-      padding-top: 87px;
58
-      padding-bottom: 43px;
59
-      position: relative;
60
-      display: flex;
61
-      background: @whiteColor;
62
-      background: radial-gradient(circle at top right, transparent 15px, #fff 0)
63
-          top right,
64
-        radial-gradient(circle at bottom right, transparent 15px, #fff 0) bottom
65
-          right;
66
-      background-size: 100% 60%;
67
-      background-repeat: no-repeat;
68
-      width: 573px;
69
-      border-radius: 15px 0px 0px 15px;
70
-      align-items: center;
71
-      .left-image-1 {
72
-        width: 145px;
73
-        height: 44px;
74
-        position: absolute;
75
-        top: 22px;
76
-      }
77
-      .left-viewText {
78
-        width: auto;
79
-        height: 44.3px;
80
-        position: absolute;
81
-        left: 1px;
82
-        top: 28px;
83
-        font-size: 20px;
84
-        color: @whiteColor;
85
-      }
86
-      //图片
87
-      .title-image {
88
-        height: 144px;
89
-        margin-left: 20px;
90
-        border-radius: 24px;
91
-        overflow: hidden;
92
-        position: relative;
93
-
94
-        .image-1 {
95
-          width: 144px;
96
-          height: 144px;
97
-          margin: 0;
98
-        }
99
-        .image-2 {
100
-          width: 89px;
101
-          height: 34px;
102
-          position: absolute;
103
-          left: 0;
104
-          top: 0;
105
-        }
106
-      }
107
-      // 商品标题
108
-      .title-content {
109
-        padding-left: 18px;
110
-
111
-        .Pro-title {
112
-          .title-text {
113
-            width: 375px;
114
-            overflow: hidden;
115
-            text-overflow: ellipsis;
116
-            //必须要
117
-            -webkit-line-clamp: 1;
118
-            -webkit-box-orient: vertical;
119
-            /* 多出文本省略号代替 */
120
-            text-align: left;
121
-            font-size: 24px;
122
-          }
123
-        }
124
-        .title-money {
125
-          font-size: 24px;
126
-          display: inline-block;
127
-          font-weight: 800;
128
-          margin: 15px auto;
129
-        }
130
-        .title-money-2 {
131
-          height: 19px;
132
-          font-size: 20px;
133
-          font-weight: 400;
134
-          color: #333333;
135
-          padding-left: 50px;
136
-          text-decoration: line-through;
137
-        }
138
-
139
-        .title-time {
140
-          font-size: 24px;
141
-          color: #c0c8d3;
142
-        }
143
-        .title-position-on {
144
-          display: flex;
145
-          font-size: 20px;
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
-            padding-top: 5px;
159
-            padding-left: 40px;
160
-            width: 21px;
161
-            height: 21px;
162
-            padding-right: 10px;
163
-          }
164
-          .title-on-text {
165
-            align-items: center;
166
-
167
-            font-size: 20px;
168
-            color: #333;
169
-          }
170
-        }
171
-      }
172
-    }
173
-  }
174
-
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: 120px;
189
-      position: absolute;
190
-      top: 50%;
191
-      left: 50%;
192
-      transform: translate(-50%, -50%);
193
-
194
-      .right-image {
195
-        width: 36px;
196
-        height: 36px;
197
-        margin: 0 auto;
198
-        align-items: center;
199
-        margin: auto;
200
-        padding-left: 8px;
201
-      }
202
-
203
-      .right-title {
204
-        font-weight: 700;
205
-        font-size: 24px;
206
-        padding-top: 10px;
207
-        text-align: center;
208
-      }
209
-    }
210
-  }
211
   .Refund-content {
25
   .Refund-content {
212
-    width: 100%;
213
     margin-top: 45px;
26
     margin-top: 45px;
214
     .Refund-star-view1 {
27
     .Refund-star-view1 {
215
-      display: inline-block;
216
-      width: 295px;
217
-      height: 60px;
218
       border: 1px solid #999999;
28
       border: 1px solid #999999;
219
       border-radius: 30px;
29
       border-radius: 30px;
220
       font-size: 24px;
30
       font-size: 24px;
221
-      font-weight: bold;
222
-      color: #666666;
223
-      text-align: center;
224
-      line-height: 60px;
225
-    }
226
-    .Refund-star-view2 {
227
-      width: 198px;
228
-      height: 60px;
229
-      border: 1px solid #999999;
230
-      border-radius: 30px;
231
-      font-size: 24px;
232
-      font-weight: bold;
233
-      color: #666666;
234
-      text-align: center;
235
-      line-height: 60px;
236
       display: inline-block;
31
       display: inline-block;
237
-      margin-left: 30px;
238
-    }
239
-    .Refund-star-view3 {
240
-      margin: 30px auto;
241
-      display: inline-block;
242
-      width: 507px;
243
-      height: 60px;
244
-      border: 1px solid #999999;
245
-      border-radius: 30px;
246
-      font-size: 24px;
247
-      font-weight: bold;
248
-      color: #666666;
249
-      text-align: center;
250
-      line-height: 60px;
251
-    }
252
-    .Refund-star-view4 {
253
-      display: inline-block;
254
-      width: 146px;
255
-      height: 60px;
256
-      background: #ffffff;
257
-      border-radius: 30px;
258
-      border: 1px solid #999999;
259
-      font-size: 24px;
260
-      font-weight: bold;
261
-      color: #666666;
262
-      text-align: center;
263
-      line-height: 60px;
264
-      margin-left: 30px;
265
-    }
266
-    .Refund-star-view5 {
267
-      display: inline-block;
268
-      width: 220px;
269
-      height: 60px;
270
-      background: #ffffff;
271
-      border-radius: 30px;
272
-      border: 1px solid #999999;
273
-      font-size: 24px;
274
       font-weight: bold;
32
       font-weight: bold;
275
       color: #666666;
33
       color: #666666;
276
-      text-align: center;
277
-      line-height: 60px;
34
+      padding: 18px 23px 19px 23px;
35
+      margin-bottom: 30px;
278
     }
36
     }
279
-    .Refund-star-view6 {
280
-      display: inline-block;
281
-      width: 257px;
282
-      height: 60px;
283
-      background: #ffffff;
284
-      border-radius: 30px;
285
-      border: 1px solid #999999;
286
-      font-size: 24px;
287
-      font-weight: bold;
288
-      color: #666666;
289
-      text-align: center;
290
-      line-height: 60px;
291
-      margin-left: 30px;
37
+    .Refund-star-view2 {
38
+      margin-right: 30px;
292
     }
39
     }
293
     /* 点击以后的样式 */
40
     /* 点击以后的样式 */
294
     .bg2 {
41
     .bg2 {
295
       color: #274190;
42
       color: #274190;
43
+      margin-right: 30px;
296
       border: 2px solid #274190;
44
       border: 2px solid #274190;
297
     }
45
     }
298
   }
46
   }
299
 
47
 
300
   .section {
48
   .section {
301
-    height: 254px;
302
-    background: #ffffff;
303
     border: 1px solid #b5b5b5;
49
     border: 1px solid #b5b5b5;
50
+    font-size: 24px;
304
     box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.08);
51
     box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.08);
305
-    padding: 0 20px 0 20px;
52
+    padding: 30px;
306
     margin-top: 40px;
53
     margin-top: 40px;
307
-    textarea {
308
-      padding-top: 20px;
309
-      font-size: 24px;
310
-      font-weight: 400;
311
-      color: #666666;
312
-    }
313
   }
54
   }
314
 
55
 
315
   .money-title {
56
   .money-title {
316
     margin: 40px 0;
57
     margin: 40px 0;
317
-    padding-bottom: 20px;
58
+    padding: 30px 0;
318
     font-size: 30px;
59
     font-size: 30px;
319
     font-weight: bold;
60
     font-weight: bold;
320
     color: #202020;
61
     color: #202020;
321
-    background: #ffffff;
322
     box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.12);
62
     box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.12);
63
+    .money-name {
64
+      font-size: 30px;
65
+      color: #ff3434;
66
+    }
323
   }
67
   }
324
 
68
 
325
-  .money-name {
326
-    font-size: 30px;
327
-    font-weight: bold;
328
-    color: #ff3434;
329
-  }
330
   .ul-li-text {
69
   .ul-li-text {
331
     .ul-li-view {
70
     .ul-li-view {
332
       display: inline-block;
71
       display: inline-block;
338
       border-radius: 50%;
77
       border-radius: 50%;
339
     }
78
     }
340
     .ul-li-textname {
79
     .ul-li-textname {
341
-      display: inline-block;
342
-      height: 19px;
343
       font-size: 20px;
80
       font-size: 20px;
344
-      font-weight: 400;
345
       color: #999999;
81
       color: #999999;
346
     }
82
     }
347
   }
83
   }
348
 
84
 
349
   .button-info {
85
   .button-info {
350
-    margin-bottom: 70px;
86
+    margin-bottom: 80px;
351
     .button-box {
87
     .button-box {
352
-      margin: 60px 0;
353
-      height: 88px;
354
-      line-height: 88px;
355
-      background: #274291;
88
+      margin-top: 60px;
89
+      height: 92px;
90
+      line-height: 92px;
91
+      background: #1a3b83;
356
       border-radius: 12px;
92
       border-radius: 12px;
357
       color: @whiteColor;
93
       color: @whiteColor;
358
-      margin-bottom: 2em;
94
+      font-size: 30px;
95
+      letter-spacing: 0.1em;
359
     }
96
     }
360
   }
97
   }
361
 }
98
 }

+ 1
- 2
src/pages/MineUserAll/RefundMoney/style.less ファイルの表示

1
 @whiteColor: #fff;
1
 @whiteColor: #fff;
2
 
2
 
3
 .box-content {
3
 .box-content {
4
-  padding: 0 30px;
5
   .View-box-Card {
4
   .View-box-Card {
6
-    margin: 30px 5px 0 5px;
5
+    margin: 30px 30px 0 30px;
7
     .foot {
6
     .foot {
8
       font-size: 28px;
7
       font-size: 28px;
9
       color: #c0c8d3;
8
       color: #c0c8d3;

+ 1
- 14
src/pages/PayOrder/Card/index.jsx ファイルの表示

8
 
8
 
9
 
9
 
10
 export default (props) => {
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
-  // };
11
+  const { item, onMoldeOn } = props
22
   return (
12
   return (
23
     <view class='wrapper-payOrder' key={item.orderId}>
13
     <view class='wrapper-payOrder' key={item.orderId}>
24
       <view class='left-complete-one-payOrder'>
14
       <view class='left-complete-one-payOrder'>
25
-        {/* <image className='left-image-1' src={ProCard_hot}></image> */}
26
         <view className='left-viewText-payOrder'>
15
         <view className='left-viewText-payOrder'>
27
           返现¥{formatPrice(item.cashback)}
16
           返现¥{formatPrice(item.cashback)}
28
         </view>
17
         </view>
35
           <image className='image-2-payOrder' src={food}></image>
24
           <image className='image-2-payOrder' src={food}></image>
36
         </view>
25
         </view>
37
         <view className='title-content-payOrder'>
26
         <view className='title-content-payOrder'>
38
-          {/* <view className='Pro-title-payOrder'> */}
39
           <view className='title-text-payOrder'>{item.description}</view>
27
           <view className='title-text-payOrder'>{item.description}</view>
40
-          {/* </view> */}
41
           <text className='title-money-payOrder'>
28
           <text className='title-money-payOrder'>
42
             ¥{formatPrice(item.actualPrice || item.unitPrice)}元
29
             ¥{formatPrice(item.actualPrice || item.unitPrice)}元
43
             <text className='title-money-2-payOrder'>
30
             <text className='title-money-2-payOrder'>

+ 4
- 45
src/pages/PayOrder/Card/style.less ファイルの表示

2
 
2
 
3
 .wrapper-payOrder {
3
 .wrapper-payOrder {
4
   display: flex;
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));
5
+  margin: 30px 30px 0;
10
   filter: drop-shadow(0 0 0.9rem rgba(0, 0, 0, 0.12));
6
   filter: drop-shadow(0 0 0.9rem rgba(0, 0, 0, 0.12));
11
-
12
   .left-complete-one-payOrder {
7
   .left-complete-one-payOrder {
13
     padding-top: 87px;
8
     padding-top: 87px;
14
     padding-bottom: 43px;
9
     padding-bottom: 43px;
15
     position: relative;
10
     position: relative;
16
     display: flex;
11
     display: flex;
17
     background: #fff;
12
     background: #fff;
18
-
19
     background: radial-gradient(circle at top right, transparent 15px, #fff 0 0)
13
     background: radial-gradient(circle at top right, transparent 15px, #fff 0 0)
20
         top right,
14
         top right,
21
       radial-gradient(circle at bottom right, transparent 15px, #fff 0 0) bottom
15
       radial-gradient(circle at bottom right, transparent 15px, #fff 0 0) bottom
22
         right;
16
         right;
23
     background-size: 100% 60%;
17
     background-size: 100% 60%;
24
     background-repeat: no-repeat;
18
     background-repeat: no-repeat;
25
-
26
-    width: 573px;
27
     border-radius: 15px 0px 0px 15px;
19
     border-radius: 15px 0px 0px 15px;
28
-    // border-radius: 12px;
29
-
30
     align-items: center;
20
     align-items: center;
31
     .left-image-1-payOrder {
21
     .left-image-1-payOrder {
32
       width: 145px;
22
       width: 145px;
35
       top: 22px;
25
       top: 22px;
36
     }
26
     }
37
     .left-viewText-payOrder {
27
     .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;
28
       background: url(../../../assets/icons/ProCard/ProCard_hot.png) no-repeat;
50
       background-size: 100% 100%;
29
       background-size: 100% 100%;
51
       padding: 0 24px 7px 2px;
30
       padding: 0 24px 7px 2px;
52
-      width: auto;
53
       font-size: 24px;
31
       font-size: 24px;
54
       line-height: 48px;
32
       line-height: 48px;
55
       height: 44.3px;
33
       height: 44.3px;
61
     //图片
39
     //图片
62
     .title-image-payOrder {
40
     .title-image-payOrder {
63
       height: 144px;
41
       height: 144px;
42
+      min-width: 144px;
64
       margin-left: 20px;
43
       margin-left: 20px;
65
       border-radius: 24px;
44
       border-radius: 24px;
66
       overflow: hidden;
45
       overflow: hidden;
79
     }
58
     }
80
     // 商品标题
59
     // 商品标题
81
     .title-content-payOrder {
60
     .title-content-payOrder {
82
-      // padding: 84px 0 56px 20px;
83
-      padding-left: 18px;
61
+      padding-left: 20px;
84
 
62
 
85
-      // .Pro-title {
86
       .title-text-payOrder {
63
       .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;
64
         font-size: 24px;
96
         padding-bottom: 10px;
65
         padding-bottom: 10px;
97
       }
66
       }
98
-      // }
99
       .title-money-payOrder {
67
       .title-money-payOrder {
100
         padding-top: 34px;
68
         padding-top: 34px;
101
         font-size: 24px;
69
         font-size: 24px;
102
-        // color: red;
103
         font-weight: 800;
70
         font-weight: 800;
104
       }
71
       }
105
       .title-money-2-payOrder {
72
       .title-money-2-payOrder {
125
         left;
92
         left;
126
     background-size: 100% 60%;
93
     background-size: 100% 60%;
127
     background-repeat: no-repeat;
94
     background-repeat: no-repeat;
128
-    width: 129px;
95
+    min-width: 129px;
129
     border-radius: 0 15px 15px 0;
96
     border-radius: 0 15px 15px 0;
130
     position: relative;
97
     position: relative;
131
     //右面部分
98
     //右面部分
132
     .right-content-payOrder {
99
     .right-content-payOrder {
133
-      // width: 100px;
134
-      // height: 80px;
135
       position: absolute;
100
       position: absolute;
136
       top: 50%;
101
       top: 50%;
137
       left: 50%;
102
       left: 50%;
138
       transform: translate(-50%, -50%);
103
       transform: translate(-50%, -50%);
139
-      // border: 1px solid red;
140
-
141
       .right-number-payOrder {
104
       .right-number-payOrder {
142
-        width: 40px;
143
         font-size: 20px;
105
         font-size: 20px;
144
         border-radius: 4px;
106
         border-radius: 4px;
145
         border: 2px solid #999;
107
         border: 2px solid #999;
146
-        margin: auto;
147
         text-align: center;
108
         text-align: center;
148
       }
109
       }
149
-
150
       .right-title-payOrder {
110
       .right-title-payOrder {
151
         font-weight: 700;
111
         font-weight: 700;
152
         font-size: 24px;
112
         font-size: 24px;
153
         padding-top: 20px;
113
         padding-top: 20px;
154
-        text-align: center;
155
       }
114
       }
156
     }
115
     }
157
   }
116
   }