소스 검색

静态页面

1002884655 3 년 전
부모
커밋
193840268b

+ 1
- 1
src/pages/index/activityDetail/index.jsx 파일 보기

@@ -201,7 +201,7 @@ export default withLayout((props) => {
201 201
             <view className='flex-item'>
202 202
               <text>{detail.address}</text>
203 203
             </view>
204
-            <text className='Price'>价格待定</text>
204
+            <text className='Price'>{detail.groupBuyPrice || '价格待定'}</text>
205 205
           </view>
206 206
           <text className='Time'>时间:{formatDate(detail.startDate, 'yyyy/M/d')} - {formatDate(detail.endDate, 'yyyy/M/d')}</text>
207 207
         </view>

+ 1
- 1
src/pages/index/brandDetail/index.jsx 파일 보기

@@ -31,7 +31,7 @@ export default withLayout((props) => {
31 31
 
32 32
   const GetPageList = () => {
33 33
     setHasNextPage(false)
34
-    fetch({ url: API_ITEMS_LIST, method: 'get', payload: { pageNumber, pageSize: 10 } }).then((res) => {
34
+    fetch({ url: API_ITEMS_LIST, method: 'get', payload: { pageNumber, pageSize: 10, brandId: id } }).then((res) => {
35 35
       setPageList(pageNumber === 1 ? res.records || [] : PageList.concat(res.records || []))
36 36
       setHasNextPage(res.current < res.pages)
37 37
       setPull(false)

+ 53
- 12
src/pages/index/buildingList/components/FilterForCityArea/index.jsx 파일 보기

@@ -1,34 +1,75 @@
1
-import { useState } from 'react'
1
+import { useState, useEffect } from 'react'
2 2
 import { Image } from '@tarojs/components'
3 3
 import './index.scss'
4 4
 
5 5
 export default function FilterForCityArea (props) {
6 6
 
7
-  const { change = () => { }, Cancel = () => { }, defaultValue = '-', List = [] } = props
8
-  const [CurrentId, setCurrentId] = useState(defaultValue)
7
+  const { change = () => { }, Cancel = () => { }, defaultValue = [], List = [] } = props
8
+  const [PageList, setPageList] = useState([])
9 9
 
10
-  const CutArea = (id) => {
10
+  useEffect(() => {
11
+    if (List.length) {
12
+      let Arr = List.map((item) => { return { ...item, Selected: false } })
13
+      if (defaultValue.length) {
14
+        defaultValue.map((item) => {
15
+          Arr.map((subItem) => {
16
+            if (item === subItem.id) {
17
+              subItem.Selected = true
18
+            }
19
+          })
20
+        })
21
+      } else {
22
+        Arr[0].Selected = true
23
+      }
24
+      setPageList(Arr)
25
+    }
26
+  }, [List])
27
+
28
+  const CutArea = (item, index) => {
11 29
     return () => {
12
-      setCurrentId(id)
30
+      let Arr = [...PageList]
31
+      if (item.id === '-') {
32
+        if (!item.Selected) {
33
+          Arr.map((aItem) => { if (aItem.id !== '-') aItem.Selected = false })
34
+          Arr[index].Selected = !item.Selected
35
+        }
36
+      } else {
37
+        if (item.Selected) { // 取消单个勾选
38
+          let Bool = false
39
+          Arr.map((aItem) => { if (aItem.Selected && aItem.id !== '-' && item.id !== aItem.id) Bool = true})
40
+          if (!Bool) Arr[0].Selected = true
41
+          Arr[index].Selected = !item.Selected
42
+        } else { // 单个勾选
43
+          Arr[index].Selected = !item.Selected
44
+          let Bool = false
45
+          Arr.map((aItem) => { if (!aItem.Selected && aItem.id !== '-') Bool = true })
46
+          if (!Bool) {
47
+            Arr.map((aItem) => { if (aItem.id !== '-') aItem.Selected = false })
48
+            Arr[0].Selected = true
49
+          } else {
50
+            Arr[0].Selected = false
51
+          }
52
+        }
53
+      }
54
+      setPageList(Arr)
13 55
     }
14 56
   }
15 57
 
16 58
   const Sure = () => {
17
-    change({ name: 'buildingArea', value: CurrentId })
59
+    let Arr = []
60
+    PageList.map((item) => { if (item.Selected && item.id !== '-') Arr.push(item.id) })
61
+    change({ name: 'buildingArea', value: Arr })
18 62
   }
19 63
 
20 64
   return (
21 65
     <view className='components FilterForCityArea'>
22 66
       {
23
-        List.map((item, index) => (
24
-          <view className='ListItem' key={`ListItem${index}`} onClick={CutArea(item.id)}>
67
+        PageList.map((item, index) => (
68
+          <view className='ListItem' key={`ListItem${index}`} onClick={CutArea(item, index)}>
25 69
             <view>
26 70
               <view>
27 71
                 <text>{item.name}</text>
28
-                {
29
-                  CurrentId === item.id &&
30
-                  <Image mode='heightFix' src={require('@/assets/findHouse-icon1.png')}></Image>
31
-                }
72
+                <Image className={item.Selected ? 'active' : ''} mode='heightFix' src={require('@/assets/findHouse-icon1.png')}></Image>
32 73
               </view>
33 74
             </view>
34 75
           </view>

+ 4
- 0
src/pages/index/buildingList/components/FilterForCityArea/index.scss 파일 보기

@@ -31,6 +31,10 @@
31 31
           right: -2px;
32 32
           bottom: 0;
33 33
           height: 36px;
34
+          opacity: 0;
35
+          &.active {
36
+            opacity: 1;
37
+          }
34 38
         }
35 39
       }
36 40
     }

+ 10
- 5
src/pages/index/buildingList/index.jsx 파일 보기

@@ -33,7 +33,7 @@ export default withLayout((props) => {
33 33
   ])
34 34
   const [CurrentFilter, setCurrentFilter] = useState(null)
35 35
   const [FilterData, setFilterData] = useState({
36
-    buildingArea: '-',
36
+    buildingArea: [],
37 37
     area: '-',
38 38
     price: '-',
39 39
     priceType: null,
@@ -85,10 +85,14 @@ export default withLayout((props) => {
85 85
     setHasNextPage(false)
86 86
     let Data = {}
87 87
     for (let key in FilterData) {
88
-      if (FilterData[key] !== '-' && FilterData[key] !== null) {
88
+      if (FilterData[key] !== '-' && FilterData[key] !== null && key !== 'buildingArea') {
89 89
         Data[key] = FilterData[key]
90 90
       }
91 91
     }
92
+    if(FilterData.buildingArea.length) {
93
+      Data.buildingArea = FilterData.buildingArea.join(',')
94
+    }
95
+    console.log(Data)
92 96
     fetch({ url: API_ITEMS_LIST, method: 'get', payload: { cityId: city.curCity.id, pageNumber, pageSize, isRecentOpening, isCommerce, ...Data } }).then((res) => {
93 97
       setPageList(pageNumber === 1 ? res.records || [] : PageList.concat(res.records || []))
94 98
       setHasNextPage(res.current < res.pages)
@@ -117,7 +121,8 @@ export default withLayout((props) => {
117 121
   const FilterChange = (e) => {
118 122
     let Data = { ...FilterData }
119 123
     Data[e.name] = e.value
120
-    setFilterData(Data)
124
+    console.log(Data)
125
+    setFilterData({...Data})
121 126
   }
122 127
 
123 128
   const FiltersChange = (e) => {
@@ -125,7 +130,7 @@ export default withLayout((props) => {
125 130
     e.map((item) => {
126 131
       Data[item.name] = item.value
127 132
     })
128
-    setFilterData(Data)
133
+    setFilterData({...Data})
129 134
   }
130 135
 
131 136
   const PriceChange = (e) => {
@@ -133,7 +138,7 @@ export default withLayout((props) => {
133 138
     for (let key in e) {
134 139
       Data[key] = e[key]
135 140
     }
136
-    setFilterData(Data)
141
+    setFilterData({...Data})
137 142
   }
138 143
 
139 144
   const SearchConfirm = (e) => {

+ 1
- 1
src/pages/index/findHouseFromMap/index.scss 파일 보기

@@ -55,7 +55,7 @@
55 55
     width: 100%;
56 56
     transition: all 0.3s ease-out;
57 57
     -webkit-transition: all 0.3s ease-out;
58
-    height: 120px;
58
+    min-height: 120px;
59 59
     &.active {
60 60
       height: 784px;
61 61
     }