李志伟 3 年 前
コミット
63a4caa72f

+ 4
- 62
src/components/foodCards/CustomCard/index.jsx ファイルの表示

@@ -1,94 +1,37 @@
1
-import { useState, useEffect, useRef } from 'react'
2
-
3 1
 import Taro from '@tarojs/taro'
4
-import { deleteTravel, deleteTravelItem } from '@/services/travel'
5
-
6
-import { View, Text, Image, ScrollView } from '@tarojs/components'
2
+import { View, Text } from '@tarojs/components'
7 3
 import CouponCard from '@/components/CouponCard'
8 4
 import { compressImage } from '@/utils'
9 5
 import SaveIcon from '@/components/SaveIcon'
10 6
 import Location from '@/components/Location'
11
-
12
-import grassOFF from '@/assets/icons/housemantj/grassOFF.png'
13 7
 import DeleteTravel from '@/assets/icons/Travel/delete.png'
14 8
 
15
-import grassNO from '@/assets/icons/housemantj/grassNO.png'
16
-import Popup from '@/components/Popup'
17
-
18 9
 import './style.less'
19 10
 
20
-
21 11
 const CouponMedia = CouponCard.Media
22 12
 const Action = CouponCard.Action
23 13
 
24 14
 //套餐卡片
25 15
 export default (props) => {
26
-  const { item, st, editable, setScroll, goshop, det, onDay, onDelete } = props
27
-  // const travelId = travelMineContent?.records[0]?.travelId
16
+  const { item, st, editable, onDelete } = props
28 17
   const { targetId, itemId } = props.item
29 18
   const goDetail = () => {
30 19
     Taro.navigateTo({ url: `/pages/details/mjDetails/sceneryDetails?id=${targetId}` })
31
-
32 20
   }
33 21
   const goFood = () => {
34 22
     Taro.navigateTo({ url: `/pages/details/foodDetails/foodDetails?id=${targetId}` })
35
-
36
-  }
37
-  const [showCutover, setShowCutover] = useState(false)
38
-  const [valueList, setValueList] = useState([])
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-  // useEffect(() => {
49
-
50
-  // }, [item])
51
-
52
-  const onClose = () => {
53
-    //关闭当前套餐详情弹窗
54
-    setShowCutover(false)
55
-    //使父组件恢复滚动
56
-    setScroll(true)
57 23
   }
58
-
59
-
60
-
61
-
62 24
   const handlePayClick = (e) => {
63
-
64 25
     onDelete(itemId)
65
-
66
-    // Taro.navigateTo({ url: `/pages/PayOrder/index?packageId=${item.packageId}&scene=${scene || ''}&subOrderId=${subOrderId}&id=${id}` })
67
-
68 26
   }
69 27
   const PayAction = <Action.Icon icon={DeleteTravel} text='删除' onClick={handlePayClick} />
70
-
71
-
72
-
73
-
74 28
   return (
75 29
     <View style={{ margin: '15px 5px' }} >
76
-      <View className='packageDetail' style={{ display: goshop ? '' : 'none' }}>
77
-        <Popup show={showCutover} maskClosable={showCutover} onClose={onClose}>
78
-          <ScrollView
79
-            scrollY
80
-            style={{ maxHeight: '60vh' }}
81
-          >
82
-            <Image mode='widthFix' src={item.details ? item.details : item.poster} />
83
-          </ScrollView>
84
-        </Popup >
85
-      </View>
86 30
       <CouponCard action={PayAction}>
87 31
         <CouponMedia onClick={item.targetType === 'tourist' ? goDetail : goFood}>
88 32
           <CouponMedia.Header
89 33
             cashback={item.cashback}
90 34
             image={compressImage(item.poster)}
91
-          // badge='food'
92 35
           />
93 36
           <CouponMedia.Body star={st}>
94 37
             <View className='foodCard'>
@@ -97,11 +40,10 @@ export default (props) => {
97 40
               </View>
98 41
               <View className='cpn-card-text' style={{ marginTop: '10rpx' }}>
99 42
                 <Text className='cpn-card-text_mn'>¥{`${(item.averagePrice == '' ? '0.00' : item.averagePrice / 100)?.toFixed(2)}元`}</Text>
100
-                {/* <Text className='cpn-card-text_rm'>{`门市价${(item.standardPrice / 100)?.toFixed(2)}元`}</Text> */}
101 43
               </View>
102 44
               <View className='cpn-md-act'>
103
-                <Location {...det} />
104
-                <SaveIcon saved={item.isSaved > 0} targetType='shop_package' editable={editable} targetId={item.targetId} />
45
+                <Location {...item} />
46
+                <SaveIcon saved={item.isSaved > 0} targetType={item.targetType} editable={editable} targetId={item.targetId} />
105 47
               </View>
106 48
             </View>
107 49
           </CouponMedia.Body>

+ 0
- 4
src/components/foodCards/CustomCard/style.less ファイルの表示

@@ -1,7 +1,3 @@
1
-.view-picker {
2
-  position: relative;
3
-  top: 30%;
4
-}
5 1
 
6 2
 .foodCard {
7 3
   .cpn-card-text {

+ 7
- 54
src/components/foodCards/RecommendedCard/index.jsx ファイルの表示

@@ -1,90 +1,44 @@
1
-import { useState } from 'react'
2
-
3 1
 import Taro from '@tarojs/taro'
4
-import { saveTravel } from '@/services/travel'
5
-
6
-import { View, Text, Image, ScrollView } from '@tarojs/components'
7
-import CouponCard from '@/components/CouponCard'
2
+import { View, Text, } from '@tarojs/components'
8 3
 import { compressImage } from '@/utils'
4
+import CouponCard from '@/components/CouponCard'
9 5
 import SaveIcon from '@/components/SaveIcon'
10 6
 import Location from '@/components/Location'
11
-
7
+import { saveTravel } from '@/services/travel'
12 8
 import add from '@/assets/icons/Travel/add.png'
13
-
14
-import Popup from '@/components/Popup'
15
-
16 9
 import './style.less'
17 10
 
18
-
19 11
 const CouponMedia = CouponCard.Media
20 12
 const Action = CouponCard.Action
21 13
 
22 14
 //套餐卡片
23 15
 export default (props) => {
24
-  const { item, st, editable, setScroll, goshop, det, travelId, handelAddTravel, dayNumber } = props
25
-  // const travelId = travelMineContent?.records[0]?.travelId
26
-  const { targetId, itemId, targetType } = props.item
16
+  const { item, st, editable, travelId, handelAddTravel, dayNumber } = props
17
+  const { targetId,  targetType } = props.item
27 18
   const goDetail = () => {
28 19
     Taro.navigateTo({ url: `/pages/details/mjDetails/sceneryDetails?id=${targetId}` })
29
-
30 20
   }
31 21
   const goFood = () => {
32 22
     Taro.navigateTo({ url: `/pages/details/foodDetails/foodDetails?id=${targetId}` })
33
-
34
-  }
35
-  const [showCutover, setShowCutover] = useState(false)
36
-  const [valueList, setValueList] = useState([])
37
-
38
-
39
-  const onClose = () => {
40
-    //关闭当前套餐详情弹窗
41
-    setShowCutover(false)
42
-    //使父组件恢复滚动
43
-    setScroll(true)
44 23
   }
45
-
46
-
47
-
48 24
   const handlePayClick = (e) => {
49
-
50 25
     saveTravel(travelId, { dayOrder: dayNumber, targetId: targetId, targetType: targetType }).then((res) => {
51 26
       Taro.showToast({
52 27
         title: '添加成功',
53 28
         icon: 'none',
54
-
55 29
         duration: 1000
56 30
       })
57 31
       handelAddTravel()
58
-
59
-
60 32
     })
61
-
62
-    // Taro.navigateTo({ url: `/pages/PayOrder/index?packageId=${item.packageId}&scene=${scene || ''}&subOrderId=${subOrderId}&id=${id}` })
63
-
64 33
   }
65 34
   const PayAction = <Action.Icon icon={add} text='增加' onClick={handlePayClick} />
66
-
67
-
68
-
69
-
70 35
   return (
71 36
     <View style={{ margin: '15px 5px' }} >
72
-      <View className='packageDetail' style={{ display: goshop ? '' : 'none' }}>
73
-        <Popup show={showCutover} maskClosable={showCutover} onClose={onClose}>
74
-          <ScrollView
75
-            scrollY
76
-            style={{ maxHeight: '60vh' }}
77
-          >
78
-            <Image mode='widthFix' src={item.details ? item.details : item.poster} />
79
-          </ScrollView>
80
-        </Popup >
81
-      </View>
82 37
       <CouponCard action={PayAction}>
83 38
         <CouponMedia onClick={item.targetType === 'tourist' ? goDetail : goFood}>
84 39
           <CouponMedia.Header
85 40
             cashback={item.cashback}
86 41
             image={compressImage(item.poster)}
87
-          // badge='food'
88 42
           />
89 43
           <CouponMedia.Body star={st}>
90 44
             <View className='foodCard'>
@@ -93,11 +47,10 @@ export default (props) => {
93 47
               </View>
94 48
               <View className='cpn-card-text' style={{ marginTop: '10rpx' }}>
95 49
                 <Text className='cpn-card-text_mn'>¥{`${(item.averagePrice == '' ? '0.00' : item.averagePrice / 100)?.toFixed(2)}元`}</Text>
96
-                {/* <Text className='cpn-card-text_rm'>{`门市价${(item.standardPrice / 100)?.toFixed(2)}元`}</Text> */}
97 50
               </View>
98 51
               <View className='cpn-md-act'>
99
-                <Location {...det} />
100
-                <SaveIcon saved={item.isSaved > 0} targetType='shop_package' editable={editable} targetId={item.targetId} />
52
+                <Location {...item} />
53
+                <SaveIcon saved={item.isSaved > 0} targetType={item.targetType} editable={editable} targetId={item.targetId} />
101 54
               </View>
102 55
             </View>
103 56
           </CouponMedia.Body>

バイナリ
src/pages/Travel/Edit/NewCustom/ico/openUp.png ファイルの表示


バイナリ
src/pages/Travel/Edit/NewCustom/ico/packUp.png ファイルの表示


+ 0
- 79
src/pages/Travel/Edit/NewCustom/index.jsx ファイルの表示

@@ -1,79 +0,0 @@
1
-
2
-import { useState } from 'react'
3
-import CustomCard from '@/components/foodCards/CustomCard/index'
4
-
5
-import Taro from '@tarojs/taro'
6
-import { getTravelMine, deleteTravelItem } from '@/services/travel'
7
-import openUp from './ico/openUp.png'
8
-import packUp from './ico/packUp.png'
9
-import './style.less'
10
-
11
-
12
-
13
-export default (props) => {
14
-  const { item, handleDelete } = props
15
-  const { travelItemList, travelId, dayNum } = item
16
-
17
-
18
-
19
-
20
-  const [unfold, setUnfold] = useState(false)
21
-  const onUnfold = () => {
22
-    setUnfold(!unfold)
23
-
24
-  }
25
-  const onDelete = (e) => {
26
-
27
-    const itemId = e
28
-    Taro.showModal({
29
-      title: '提示',
30
-      content: '确定要删除吗',
31
-      success: function (res) {
32
-        if (res.confirm) {
33
-          handleDelete()
34
-
35
-          deleteTravelItem(travelId, itemId).then(val => {
36
-            Taro.showToast({
37
-              title: '删除成功',
38
-              icon: 'none',
39
-              duration: 1000
40
-            })
41
-          })
42
-        } else if (res.cancel) {
43
-
44
-
45
-        }
46
-      }
47
-    })
48
-
49
-  }
50
-
51
-
52
-  return (
53
-    <view style='height:100%'>
54
-      {
55
-
56
-        travelItemList == '' ? '' : <view onClick={onUnfold} className='cssUnfold' >
57
-          <image className='unfoldIcoCss' src={unfold === true ? packUp : openUp} />
58
-          展开</view>
59
-      }
60
-
61
-
62
-      <scroll-view scrollY style={unfold === false ? 'height:100%;' : ' height:0em;'} >
63
-        {
64
-
65
-          travelItemList.map((ite, index) =>
66
-            item == '' ? <view></view> :
67
-
68
-              <CustomCard item={ite} det={ite} travelId={travelId} onDelete={onDelete} />
69
-
70
-          )
71
-
72
-        }
73
-
74
-      </scroll-view>
75
-    </view>
76
-
77
-
78
-  )
79
-}

+ 0
- 9
src/pages/Travel/Edit/NewCustom/style.less ファイルの表示

@@ -1,9 +0,0 @@
1
-.cssUnfold {
2
-  margin-left: 10px;
3
-  display: flex;
4
-  align-items: center;
5
-  .unfoldIcoCss {
6
-    width: 40px;
7
-    height: 40px;
8
-  }
9
-}

+ 2
- 2
src/pages/Travel/Edit/index.jsx ファイルの表示

@@ -44,6 +44,7 @@ export default withLayout((props) => {
44 44
     })
45 45
   }
46 46
 
47
+  //第几天
47 48
   const [dayNumber, setDayNumber] = useState(1)
48 49
   const sum = dayNum - dayNumber
49 50
   const [state, setstate] = useState(true)
@@ -103,7 +104,6 @@ export default withLayout((props) => {
103 104
   const onDelete = (e) => {
104 105
     //这个删除是需要两个id的前一个id是整个行程的id需要根据这个id找到这条行程的全部信息  后面那个itemId是行程数组travelItemList里面的一条当前点击的需要删除的信息的id
105 106
     const itemId = e
106
-    console.log(e)
107 107
     Taro.showModal({
108 108
       title: '提示',
109 109
       content: '确定要删除吗',
@@ -190,7 +190,7 @@ export default withLayout((props) => {
190 190
               <View className='View-box'>
191 191
                 {
192 192
                   showCutover.map((item, index) =>
193
-                    <CustomCard key={index} item={item} det={item} editable='1' travelId={item.travelId} onDelete={onDelete} />
193
+                    <CustomCard key={index} item={item} editable='1' travelId={item.travelId} onDelete={onDelete} />
194 194
                   )
195 195
                 }
196 196
               </View>