xcx 4 gadus atpakaļ
vecāks
revīzija
db12d316a7

+ 1
- 1
project.config.json Parādīt failu

@@ -27,7 +27,7 @@
27 27
 			"outputPath": ""
28 28
 		},
29 29
 		"useIsolateContext": true,
30
-		"useCompilerModule": true,
30
+		"useCompilerModule": false,
31 31
 		"userConfirmedUseCompilerModuleSwitch": false
32 32
 	},
33 33
 	"compileType": "miniprogram",

Binārs
src/assets/img/icon16.png Parādīt failu


+ 42
- 31
src/pages/activity/assembleItem/index.js Parādīt failu

@@ -2,6 +2,7 @@ import Taro, { Component } from '@tarojs/taro';
2 2
 import './index.scss'
3 3
 import dayjs from 'dayjs'
4 4
 import { transferImage } from '@/utils/tools'
5
+import { View } from '@tarojs/components';
5 6
 
6 7
 const groupSuccess = require('@/assets/helpgroup/group/already.png')
7 8
 const groupFail = require('@/assets/helpgroup/fail.png')
@@ -11,7 +12,7 @@ export default class Item extends Component {
11 12
     data: {},
12 13
     style: {}
13 14
   }
14
-  handleClick(data) {
15
+  handleClick (data) {
15 16
 
16 17
     this.props.onClick(data)
17 18
   }
@@ -67,38 +68,48 @@ export default class Item extends Component {
67 68
 
68 69
   //   return `${day}天${hour}小时${min}分${sec}秒`
69 70
   // }
70
-  render() {
71
+  render () {
71 72
     const { data, style } = this.props
72 73
     return (
73
-      <View className="item" style={style} onClick={this.handleClick.bind(this, data)}>
74
-        <Image className="pic" mode="aspectFill" src={transferImage(data.mainImg)} ></Image>
75
-        <View className="title">{data.activityName}</View>
76
-        {(!data.verificationCode && data.status == 1) &&
77
-          <View className="time">参与截止时间: 
78
-          {data.endDate&&
79
-            <Text className="count-time">{`${dayjs(data.endDate).format('YYYY-MM-DD HH:mm:ss')}`}</Text>
80
-          }</View>
81
-        }
82
-        {(!data.verificationCode && data.status != 1) &&
83
-          <View className="time"><Text className="count-time">活动已结束</Text></View>
84
-        }
85
-        {data.verificationCode &&
86
-          <Block>
87
-            <View className={data.verificationStatus == 0 ? 'type' : 'type2'}>{data.verificationStatus == 0 ? '未核销' : '已核销'}</View>
88
-            <View className="hexiaoma">核销码:{data.verificationCode}</View>
89
-          </Block>
90
-        }
91
-        {data.createTime&&<View className="start-date">{`${dayjs(data.createTime).format('YYYY-MM-DD HH:mm:ss')}`}</View>}
92
-        {data.status == 0 &&
93
-          <Image className="status-icon" src={groupSuccess} ></Image>
94
-        }
95
-        {data.status == 1 &&
96
-          <View className="btn">进行中</View>
97
-        }
98
-        {data.status == 2 &&
99
-          <Image className="status-icon" src={groupFail} ></Image>
100
-        }
101
-
74
+      <View className="item flex-h" style={style} onClick={this.handleClick.bind(this, data)}>
75
+        <View className='Img'>
76
+          <Image mode="aspectFill" src={transferImage(data.mainImg)} ></Image>
77
+          {
78
+            data.verificationCode &&
79
+            <Text className={data.verificationStatus == 0 ? 'active' : ''}>{data.verificationStatus == 0 ? '未核销' : '已核销'}</Text>
80
+          }
81
+        </View>
82
+        <View className='flex-item'>
83
+          <View className="title">{data.activityName}</View>
84
+          {(!data.verificationCode && data.status == 1) &&
85
+            <View className="time">参与截止时间:
86
+          {data.endDate &&
87
+                <Text className="count-time">{`${dayjs(data.endDate).format('YYYY-MM-DD HH:mm:ss')}`}</Text>
88
+              }</View>
89
+          }
90
+          {(!data.verificationCode && data.status != 1) &&
91
+            <View className="time"><Text className="count-time">活动已结束</Text></View>
92
+          }
93
+          {data.verificationCode &&
94
+            <Block>
95
+              <View className="hexiaoma">核销码:{data.verificationCode}</View>
96
+            </Block>
97
+          }
98
+          {data.createTime &&
99
+            <View className='flex-h'>
100
+              <View className="start-date flex-item">{`${dayjs(data.createTime).format('YYYY-MM-DD HH:mm:ss')}`}</View>
101
+              {data.status == 1 &&
102
+                <View className="btn">进行中</View>
103
+              }
104
+            </View>
105
+          }
106
+          {data.status == 0 &&
107
+            <Image className="status-icon" src={groupSuccess} ></Image>
108
+          }
109
+          {data.status == 2 &&
110
+            <Image className="status-icon" src={groupFail} ></Image>
111
+          }
112
+        </View>
102 113
       </View>
103 114
 
104 115
     );

+ 84
- 48
src/pages/activity/assembleItem/index.scss Parādīt failu

@@ -1,5 +1,6 @@
1 1
 @import "@/styles/theme.scss";
2 2
 @import "@/styles/mixins.scss";
3
+@import "@/styles/reset.scss";
3 4
 
4 5
 .flex {
5 6
   display: flex;
@@ -9,85 +10,120 @@
9 10
 
10 11
 .item {
11 12
   overflow: hidden;
12
-  padding: 20px 10px;
13
+  padding: 20px 0;
13 14
   position: relative;
14
-  border-bottom:1px solid #eee;
15
-  .date{
15
+  border-bottom: 1px solid #eee;
16
+  align-items: center;
17
+  > .flex-item {
18
+    > view {
19
+      margin-top: 10px;
20
+      &:first-child {
21
+        margin-top: 0;
22
+      }
23
+    }
24
+  }
25
+  .date {
16 26
     font-size: 24px;
17 27
     margin-bottom: 12px;
18 28
   }
19
-  .type{
29
+  .type {
20 30
     position: absolute;
21
-    left:10px;
22
-    top:20px;
31
+    left: 10px;
32
+    top: 20px;
23 33
     color: #fff;
24
-    background:#F6B61D;
34
+    background: #f6b61d;
25 35
     padding: 2px 8px;
26 36
     border-radius: 12px 0 12px 0;
27 37
     font-size: 24px;
28 38
   }
29
-  .type2{
39
+  .type2 {
30 40
     position: absolute;
31
-    left:10px;
32
-    top:20px;
41
+    left: 10px;
42
+    top: 20px;
33 43
     color: #fff;
34
-    background:#DADADA;
44
+    background: #dadada;
35 45
     padding: 2px 8px;
36 46
     border-radius: 12px 0 12px 0;
37 47
     font-size: 24px;
38
-
48
+  }
49
+  .Img {
50
+    width: 220px;
51
+    height: 176px;
52
+    position: relative;
53
+    overflow: hidden;
54
+    border-radius: 12px;
55
+    background: #f8f8f8;
56
+    margin-right: 20px;
57
+    > image {
58
+      width: 100%;
59
+      height: 100%;
60
+      position: relative;
61
+      display: block;
62
+      z-index: 1;
63
+    }
64
+    > text {
65
+      font-size: 24px;
66
+      display: inline-block;
67
+      position: absolute;
68
+      z-index: 2;
69
+      padding: 0 10px;
70
+      border-radius: 0 0 12px 0;
71
+      background: rgba(255, 255, 255, 0.8);
72
+      left: 0;
73
+      top: 0;
74
+      line-height: 40px;
75
+      color: #999;
76
+      &.active {
77
+        color: #1dd100;
78
+      }
79
+    }
39 80
   }
40 81
 
41 82
   .pic {
42 83
     width: 220px;
43
-    height:124px;
84
+    height: 176px;
44 85
   }
45
-  .status-icon{
46
-    width: 124px;
47
-    height: 124px;
86
+  .status-icon {
87
+    width: 105px;
88
+    height: 105px;
48 89
     position: absolute;
49
-    right:0;
50
-    top:22px;
90
+    right: 0;
91
+    top: 50%;
92
+    transform: translateY(-50%);
93
+    -webkit-transform: translateY(-50%);
94
+    display: block;
51 95
   }
52 96
 
53 97
   .title {
54
-    font-size: 30px;
55
-    width: 320px;
56
-    @include text-ellipsis;
57
-    position: absolute;
58
-    top:20px;
59
-    left:254px;
98
+    font-size: 28px;
99
+    color: #333;
100
+    font-weight: bold;
101
+    line-height: 40px;
60 102
   }
61 103
 
62 104
   .time {
63 105
     font-size: 26px;
64
-    color: #666;
65
-    position: absolute;
66
-    top:66px;
67
-    left:254px;
106
+    color: #fa1e1e;
107
+    line-height: 40px;
68 108
   }
69
-  .hexiaoma{
70
-    color: $primary-color;
71
-    font-size: 26px;
72
-    position: absolute;
73
-    top:66px;
74
-    left:254px;
109
+  .hexiaoma {
110
+    color: #1dd100;
111
+    font-size: 28px;
112
+    line-height: 40px;
75 113
   }
76
-  .count-time{
77
-    color:$primary-color;
114
+  .count-time {
115
+    color: #fa1e1e;
116
+    line-height: 40px;
78 117
   }
79
-  .start-date{
118
+  .start-date {
80 119
     color: #999;
81
-    font-size: 26px;
82
-    position: absolute;
83
-    bottom:30px;
84
-    left:254px;
85
-  }
120
+    font-size: 24px;
121
+    line-height: 40px;
86 122
   }
123
+}
87 124
 
88
-  .btn {
89
-    color: #E35E44;
90
-    position: absolute;
91
-    right:10px;
92
-    bottom:30px;
93
-  }
125
+.btn {
126
+  color: #1bc5d4;
127
+  font-size: 24px;
128
+  line-height: 40px;
129
+}

+ 3
- 0
src/pages/activity/assemblePage.js Parādīt failu

@@ -119,6 +119,9 @@ export default class Index extends Component {
119 119
             ))
120 120
           }
121 121
         </View>
122
+        <View>
123
+          <Image className='Logo' mode='widthFix' src={require('@/assets/img/logo.png')}></Image>
124
+        </View>
122 125
       </ListView>
123 126
     );
124 127
   }

+ 37
- 28
src/pages/activity/assistanceItem/index.js Parādīt failu

@@ -11,7 +11,7 @@ export default class Item extends Component {
11 11
     data: {},
12 12
     style: {}
13 13
   }
14
-  handleClick(data) {
14
+  handleClick (data) {
15 15
 
16 16
     this.props.onClick(data)
17 17
   }
@@ -67,39 +67,48 @@ export default class Item extends Component {
67 67
 
68 68
   //   return `${day}天${hour}小时${min}分${sec}秒`
69 69
   // }
70
-  render() {
70
+  render () {
71 71
     const { data, style } = this.props
72 72
     return (
73
-      <View className="item" style={style} onClick={this.handleClick.bind(this, data)}>
74
-        <Image className="pic" mode="aspectFill" src={transferImage(data.img)} ></Image>
75
-        <View className="title">{data.title}</View>
76
-        {(!data.verification && data.status == 1) &&
77
-          <View className="time">参与截止时间:
73
+      <View className="item flex-h" style={style} onClick={this.handleClick.bind(this, data)}>
74
+        <View className='Img'>
75
+          <Image mode="aspectFill" src={transferImage(data.img)} ></Image>
76
+          {
77
+            data.verification &&
78
+            <Text className={data.verificationStatus == 0 ? 'active' : ''}>{data.verificationStatus == 0 ? '未核销' : '已核销'}</Text>
79
+          }
80
+        </View>
81
+        <View className='flex-item'>
82
+          <View className="title">{data.title}</View>
83
+          {(!data.verification && data.status == 1) &&
84
+            <View className="time">参与截止时间:
78 85
           {data.endDate &&
79
-              <Text className="count-time">{`${dayjs(data.endDate).format('YYYY-MM-DD HH:mm:ss')}`}</Text>
86
+                <Text className="count-time">{`${dayjs(data.endDate).format('YYYY-MM-DD HH:mm:ss')}`}</Text>
87
+              }
88
+            </View>
89
+          }
90
+          {(!data.verification && data.status != 1) &&
91
+            <View className="time"><Text className="count-time">活动已结束</Text></View>
92
+          }
93
+          {data.verification &&
94
+            <Block>
95
+              <View className="hexiaoma">核销码:{data.verification}</View>
96
+            </Block>
97
+          }
98
+          <View className='flex-h'>
99
+            {data.createDate && <View className="start-date flex-item">{`${dayjs(data.createDate).format('YYYY-MM-DD HH:mm:ss')}`}</View>}
100
+            {data.status == 1 &&
101
+              <View className="btn">进行中</View>
80 102
             }
81 103
           </View>
82
-        }
83
-        {(!data.verification && data.status != 1) &&
84
-          <View className="time"><Text className="count-time">活动已结束</Text></View>
85
-        }
86
-        {data.verification &&
87
-          <Block>
88
-            <View className={data.verificationStatus == 0 ? 'type' : 'type2'}>{data.verificationStatus == 0 ? '未核销' : '已核销'}</View>
89
-            <View className="hexiaoma">核销码:{data.verification}</View>
90
-          </Block>
91
-        }
92
-        {data.createDate && <View className="start-date">{`${dayjs(data.createDate).format('YYYY-MM-DD HH:mm:ss')}`}</View>}
93
-        {data.status == 0 &&
94
-          <Image className="status-icon" src={helpSuccess} ></Image>
95
-        }
96
-        {data.status == 1 &&
97
-          <View className="btn">进行中</View>
98
-        }
99
-        {data.status == 2 &&
100
-          <Image className="status-icon" src={helpFail} ></Image>
101
-        }
102 104
 
105
+          {data.status == 0 &&
106
+            <Image className="status-icon" src={helpSuccess} ></Image>
107
+          }
108
+          {data.status == 2 &&
109
+            <Image className="status-icon" src={helpFail} ></Image>
110
+          }
111
+        </View>
103 112
       </View>
104 113
 
105 114
     );

+ 84
- 48
src/pages/activity/assistanceItem/index.scss Parādīt failu

@@ -1,5 +1,6 @@
1 1
 @import "@/styles/theme.scss";
2 2
 @import "@/styles/mixins.scss";
3
+@import "@/styles/reset.scss";
3 4
 
4 5
 .flex {
5 6
   display: flex;
@@ -9,85 +10,120 @@
9 10
 
10 11
 .item {
11 12
   overflow: hidden;
12
-  padding: 20px 10px;
13
+  padding: 20px 0;
13 14
   position: relative;
14
-  border-bottom:1px solid #eee;
15
-  .date{
15
+  border-bottom: 1px solid #eee;
16
+  align-items: center;
17
+  > .flex-item {
18
+    > view {
19
+      margin-top: 10px;
20
+      &:first-child {
21
+        margin-top: 0;
22
+      }
23
+    }
24
+  }
25
+  .date {
16 26
     font-size: 24px;
17 27
     margin-bottom: 12px;
18 28
   }
19
-  .type{
29
+  .type {
20 30
     position: absolute;
21
-    left:10px;
22
-    top:20px;
31
+    left: 10px;
32
+    top: 20px;
23 33
     color: #fff;
24
-    background:#F6B61D;
34
+    background: #f6b61d;
25 35
     padding: 2px 8px;
26 36
     border-radius: 12px 0 12px 0;
27 37
     font-size: 24px;
28 38
   }
29
-  .type2{
39
+  .type2 {
30 40
     position: absolute;
31
-    left:10px;
32
-    top:20px;
41
+    left: 10px;
42
+    top: 20px;
33 43
     color: #fff;
34
-    background:#DADADA;
44
+    background: #dadada;
35 45
     padding: 2px 8px;
36 46
     border-radius: 12px 0 12px 0;
37 47
     font-size: 24px;
38
-
48
+  }
49
+  .Img {
50
+    width: 220px;
51
+    height: 176px;
52
+    position: relative;
53
+    overflow: hidden;
54
+    border-radius: 12px;
55
+    background: #f8f8f8;
56
+    margin-right: 20px;
57
+    > image {
58
+      width: 100%;
59
+      height: 100%;
60
+      position: relative;
61
+      display: block;
62
+      z-index: 1;
63
+    }
64
+    > text {
65
+      font-size: 24px;
66
+      display: inline-block;
67
+      position: absolute;
68
+      z-index: 2;
69
+      padding: 0 10px;
70
+      border-radius: 0 0 12px 0;
71
+      background: rgba(255, 255, 255, 0.8);
72
+      left: 0;
73
+      top: 0;
74
+      line-height: 40px;
75
+      color: #999;
76
+      &.active {
77
+        color: #1dd100;
78
+      }
79
+    }
39 80
   }
40 81
 
41 82
   .pic {
42 83
     width: 220px;
43
-    height:124px;
84
+    height: 176px;
44 85
   }
45
-  .status-icon{
46
-    width: 124px;
47
-    height: 124px;
86
+  .status-icon {
87
+    width: 105px;
88
+    height: 105px;
48 89
     position: absolute;
49
-    right:0;
50
-    top:22px;
90
+    right: 0;
91
+    top: 50%;
92
+    transform: translateY(-50%);
93
+    -webkit-transform: translateY(-50%);
94
+    display: block;
51 95
   }
52 96
 
53 97
   .title {
54
-    font-size: 30px;
55
-    width: 320px;
56
-    @include text-ellipsis;
57
-    position: absolute;
58
-    top:20px;
59
-    left:254px;
98
+    font-size: 28px;
99
+    color: #333;
100
+    font-weight: bold;
101
+    line-height: 40px;
60 102
   }
61 103
 
62 104
   .time {
63 105
     font-size: 26px;
64
-    color: #666;
65
-    position: absolute;
66
-    top:66px;
67
-    left:254px;
106
+    color: #fa1e1e;
107
+    line-height: 40px;
68 108
   }
69
-  .hexiaoma{
70
-    color: $primary-color;
71
-    font-size: 26px;
72
-    position: absolute;
73
-    top:66px;
74
-    left:254px;
109
+  .hexiaoma {
110
+    color: #1dd100;
111
+    font-size: 28px;
112
+    line-height: 40px;
75 113
   }
76
-  .count-time{
77
-    color:$primary-color;
114
+  .count-time {
115
+    color: #fa1e1e;
116
+    line-height: 40px;
78 117
   }
79
-  .start-date{
118
+  .start-date {
80 119
     color: #999;
81
-    font-size: 26px;
82
-    position: absolute;
83
-    bottom:30px;
84
-    left:254px;
85
-  }
120
+    font-size: 24px;
121
+    line-height: 40px;
86 122
   }
123
+}
87 124
 
88
-  .btn {
89
-    color: #E35E44;
90
-    position: absolute;
91
-    right:10px;
92
-    bottom:30px;
93
-  }
125
+.btn {
126
+  color: #1bc5d4;
127
+  font-size: 24px;
128
+  line-height: 40px;
129
+}

+ 3
- 0
src/pages/activity/assistancePage.js Parādīt failu

@@ -119,6 +119,9 @@ export default class Index extends Component {
119 119
             ))
120 120
           }
121 121
         </View>
122
+        <View>
123
+          <Image className='Logo' mode='widthFix' src={require('@/assets/img/logo.png')}></Image>
124
+        </View>
122 125
       </ListView>
123 126
     );
124 127
   }

+ 27
- 21
src/pages/activity/detail/assemble.js Parādīt failu

@@ -79,7 +79,7 @@ export default class Detail extends Component {
79 79
     queryInfo: {}
80 80
   }
81 81
 
82
-  componentWillMount() {
82
+  componentWillMount () {
83 83
     ready.queue(() => {
84 84
       // 必须授权电话
85 85
       if (this.toggleGrantPhone()) {
@@ -89,17 +89,17 @@ export default class Detail extends Component {
89 89
     })
90 90
   }
91 91
 
92
-  componentWillUnmount() {
92
+  componentWillUnmount () {
93 93
     this.stopTicker()
94 94
     this.state.pointRecordId && updatePoint(this.state.pointRecordId)
95 95
 
96 96
   }
97 97
 
98
-  componentDidShow() {
98
+  componentDidShow () {
99 99
     this.startTicker()
100 100
   }
101 101
 
102
-  componentDidHide() {
102
+  componentDidHide () {
103 103
     this.stopTicker()
104 104
   }
105 105
 
@@ -144,14 +144,14 @@ export default class Detail extends Component {
144 144
   }
145 145
 
146 146
   // 启动 ticker
147
-  startTicker() {
147
+  startTicker () {
148 148
     if (this.state.ltTicker && !this.state.ltTicker.processing) {
149 149
       this.state.ltTicker.start()
150 150
     }
151 151
   }
152 152
 
153 153
   // 清除 ticker
154
-  stopTicker() {
154
+  stopTicker () {
155 155
     if (this.state.ltTicker) {
156 156
       this.state.ltTicker.stop()
157 157
     }
@@ -269,7 +269,7 @@ export default class Detail extends Component {
269 269
   }
270 270
 
271 271
   // 计时器更新剩余时间
272
-  getLeftTimeTicker(startDate, endDate) {
272
+  getLeftTimeTicker (startDate, endDate) {
273 273
     let processing = false
274 274
     let ticker = undefined
275 275
 
@@ -299,7 +299,7 @@ export default class Detail extends Component {
299 299
     }
300 300
   }
301 301
 
302
-  loadDetail() {
302
+  loadDetail () {
303 303
     let { id, recordId, ltTicker, qrcodeParams, queryInfo } = this.state
304 304
     const { userInfo } = this.props
305 305
 
@@ -385,7 +385,7 @@ export default class Detail extends Component {
385 385
   //   }
386 386
   // }
387 387
 
388
-  currentPageAndParams() {
388
+  currentPageAndParams () {
389 389
     // currentPageAndParams(shareFrom) {
390 390
     const { id, recordId = '', qrcodeParams } = this.state
391 391
     const { userInfo: { person: { personId, personType, userId } } } = this.props
@@ -460,9 +460,9 @@ export default class Detail extends Component {
460 460
           const that = this
461 461
           wx.requestSubscribeMessage({
462 462
             tmplIds: [tplId],
463
-            success(res) { },
464
-            fail(res) { },
465
-            complete() {
463
+            success (res) { },
464
+            fail (res) { },
465
+            complete () {
466 466
 
467 467
               Taro.showLoading()
468 468
               that.setState({ submitting: true }, () => {
@@ -537,9 +537,9 @@ export default class Detail extends Component {
537 537
           const that = this
538 538
           wx.requestSubscribeMessage({
539 539
             tmplIds: [tplId],
540
-            success(res) { },
541
-            fail(res) { },
542
-            complete() {
540
+            success (res) { },
541
+            fail (res) { },
542
+            complete () {
543 543
 
544 544
 
545 545
               // 必须授权头像
@@ -630,7 +630,7 @@ export default class Detail extends Component {
630 630
 
631 631
   }
632 632
 
633
-  getQRCode() {
633
+  getQRCode () {
634 634
     const [page, scene] = this.currentPageAndParams()
635 635
     const payload = { page, scene }
636 636
 
@@ -648,7 +648,7 @@ export default class Detail extends Component {
648 648
     })
649 649
   }
650 650
 
651
-  transTPLs2Configs(tpls, params) {
651
+  transTPLs2Configs (tpls, params) {
652 652
     return tpls.map((tpl) => {
653 653
       const conf = getCanvasConfig(tpl.configs, params)
654 654
       return { ...conf }
@@ -656,7 +656,7 @@ export default class Detail extends Component {
656 656
   }
657 657
 
658 658
 
659
-  render() {
659
+  render () {
660 660
     const {
661 661
       recordId,
662 662
       recordDetail,
@@ -740,9 +740,15 @@ export default class Detail extends Component {
740 740
               <View className="detail-banner">
741 741
                 <Image mode="widthFix" src={transferImage(detail.mainImg)} className="detail-banner__img"></Image>
742 742
 
743
-                <View className="rest-time">
744
-                  <Text className="row-label" style={actState === ActBeforeStart || actState === ActInProcess ? 'margin-right: 8px;' : ''}>{actState === ActBeforeStart ? '距活动开始 :' : (actState === ActInProcess ? '活动剩余时间 :' : '')} </Text>
745
-                  <Text className="row-text">{actState != ActFinished ? formateLeftTime(leftTime) : '活动已结束'}</Text>
743
+                <View className="TimeData">
744
+                  <Text className="Tips" style={actState === ActBeforeStart || actState === ActInProcess ? 'margin-right: 8px;' : ''}>{actState === ActBeforeStart ? '距活动开始 :' : (actState === ActInProcess ? '活动剩余时间 :' : '')} </Text>
745
+                  {
746
+                    actState != ActFinished ? (
747
+                      <Text>{formateLeftTime(leftTime)}</Text>
748
+                    ) : (
749
+                        <Text className='Tips'>活动已结束</Text>
750
+                      )
751
+                  }
746 752
                 </View>
747 753
                 {detail.successNum > 0 &&
748 754
                   <View className="success-num">

+ 2
- 2
src/pages/activity/myActivity.js Parādīt failu

@@ -129,8 +129,8 @@ export default class Index extends Component {
129 129
                   <Image mode="widthFix" className='centerLabel cover' src={item.mainImg || item.img || item.listImgUrl || item.imgUrl}></Image>
130 130
                 </View>
131 131
                 <View className='flex-item'>
132
-                  <Text>{item.title}</Text>
133
-                  <Text>据活动结束:{item.endDate}</Text>
132
+                  <Text style={{ 'font-weight': 'bold' }}>{item.title}</Text>
133
+                  <Text>参与截止时间:{dayjs(item.endDate).format('YYYY年MM月DD日 HH:mm:ss')}</Text>
134 134
                   <View className='flex-h'>
135 135
                     <Text className='flex-item'>{dayjs(item.startDate).format('YYYY年MM月DD日 HH:mm:ss')}</Text>
136 136
                     <Text className={Date.now() < new Date(item.startDate).getTime() ? 'active' : Date.now() < new Date(item.endDate).getTime() ? 'active' : ''}>{Date.now() < new Date(item.startDate).getTime() ? '即将开始' : Date.now() < new Date(item.endDate).getTime() ? '进行中' : '已结束'}</Text>

+ 1
- 1
src/pages/index/index.js Parādīt failu

@@ -20,7 +20,7 @@ export default class Index extends Component {
20 20
       { id: 1, img: require('@/assets/img/icon1.png'), name: '雅居宝', router: null },
21 21
       { id: 2, img: require('@/assets/img/icon2.png'), name: '乐粉福利', router: `/pages/shop/index` },
22 22
       { id: 3, img: require('@/assets/img/icon3.png'), name: '乐趣头条', router: `/pages/activity/activity` },
23
-      { id: 4, img: require('@/assets/img/icon4.png'), name: '乐客联盟', router: null }
23
+      { id: 4, img: require('@/assets/img/icon4.png'), name: '乐客联盟', router: `/pages/league/index` }
24 24
     ]
25 25
   }
26 26
   render () {

+ 127
- 0
src/pages/league/index.js Parādīt failu

@@ -0,0 +1,127 @@
1
+import { View } from '@tarojs/components'
2
+import { Component } from '@tarojs/taro'
3
+import './index.scss'
4
+
5
+export default class Index extends Component {
6
+  config = {
7
+    navigationBarTitleText: '乐客联盟',
8
+    navigationStyle: 'custom'
9
+  }
10
+  state = {
11
+    TestImg: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1604566584132&di=33926cb8407ae341fa1d8cc0d322d392&imgtype=0&src=http%3A%2F%2Fattach.bbs.miui.com%2Fforum%2F201305%2F30%2F220025pxfkhykvkgkvuktq.jpg',
12
+    BannerData: [
13
+      { id: 1, img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1604485078843&di=e50cb70de152bb6b83f7b1d712b509c8&imgtype=0&src=http%3A%2F%2Fattachments.gfan.com%2Fforum%2F201503%2F19%2F211608ztcq7higicydxhsy.jpg' },
14
+      { id: 2, img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1604486077351&di=a5320b0e8f2dd45ccdee71f7e1a541d5&imgtype=0&src=http%3A%2F%2Fbenyouhuifile.it168.com%2Fforum%2F201304%2F06%2F11435052yrezzae1bua8ee.jpg' },
15
+      { id: 3, img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1604486077351&di=ba0b2021b0dce8807b75bcd81cd44d32&imgtype=0&src=http%3A%2F%2Fbenyouhuifile.it168.com%2Fforum%2Fday_100429%2F1004291840008539c8ac02cd5c.jpg' },
16
+      { id: 4, img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1604486077351&di=014ef8ce837f8762c1e982f093286f42&imgtype=0&src=http%3A%2F%2Fattach.bbs.miui.com%2Fforum%2F201306%2F23%2F110328s72xxse7lfis9fnd.jpg' },
17
+      { id: 5, img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1604486077349&di=861dfd8adb91ede1c5f6de5abb59638b&imgtype=0&src=http%3A%2F%2Fattach.bbs.miui.com%2Fforum%2F201205%2F15%2F152011zser9o5oa9ee9xx6.jpg' }
18
+    ],
19
+    StoreList: ['', '', '', '', ''],
20
+    NavList: [
21
+      { id: 1, img: require('@/assets/img/icon1.png'), name: '乐客美食' },
22
+      { id: 2, img: require('@/assets/img/icon2.png'), name: '乐客教育' },
23
+      { id: 3, img: require('@/assets/img/icon3.png'), name: '乐客休闲' },
24
+      { id: 4, img: require('@/assets/img/icon4.png'), name: '乐客便捷' }
25
+    ]
26
+  }
27
+  GoBack () {
28
+    Taro.navigateBack()
29
+  }
30
+  render () {
31
+    const { NavList, StoreList, BannerData } = this.state
32
+    return (
33
+      <View className='Page'>
34
+
35
+        <View className='DiyTop'>
36
+          <Text>乐客联盟</Text>
37
+          <Image mode='widthFix' src={require('@/assets/img/prev.png')} onClick={this.GoBack} />
38
+        </View>
39
+
40
+        <Image className="TopBg" src='../../assets/img/topbg.jpg' mode='widthFix'></Image>
41
+
42
+        {/* 搜索 */}
43
+        <View className='SearchContainer'>
44
+          <View>
45
+            <View className='Placeholder'>
46
+              <Image src='../../assets/img/icon16.png' mode='widthFix'></Image>
47
+              <Text>附近热搜:火锅</Text>
48
+            </View>
49
+            <Input type='text' />
50
+          </View>
51
+        </View>
52
+
53
+        {/* banner区域 */}
54
+        <View className='BannerContainer'>
55
+
56
+          {/* banner */}
57
+          <View className='Banner'>
58
+            <View>
59
+              <View>
60
+                <Swiper className='Swiper' indicatorColor='rgba(0,0,0,0.4)' indicatorActiveColor='#fff' circular indicatorDots autoplay>
61
+                  {
62
+                    BannerData.map((item, index) => (
63
+                      <SwiperItem key={`Swiper-${index}`}>
64
+                        <Image mode='widthFix' className='centerLabel' src={item.img} />
65
+                      </SwiperItem>
66
+                    ))
67
+                  }
68
+                </Swiper>
69
+              </View>
70
+            </View>
71
+          </View>
72
+
73
+          {/* nav */}
74
+          <View className='Nav flex-h'>
75
+            {
76
+              NavList.map((item, index) => (
77
+                <View className='flex-item' key={`Nav-${index}`}>
78
+                  <View>
79
+                    <Image mode='heightFix' className='centerLabel' src={item.img} />
80
+                  </View>
81
+                  <Text>{item.name}</Text>
82
+                </View>
83
+              ))
84
+            }
85
+          </View>
86
+
87
+        </View>
88
+
89
+        {/* 乐客商家 */}
90
+        <View className='LeKeStore'>
91
+          {
92
+            StoreList.map((item, index) => (
93
+              <Navigator key={`Store-${index}`} className='flex-h' url={null}>
94
+                <View className='Img'>
95
+                  <Image mode='widthFix' className='centerLabel' src={this.TestImg} />
96
+                </View>
97
+                <View className='flex-item'>
98
+                  <View>
99
+                    <View className='Title'><View>湖品</View><Text className='Type1'>买</Text><Text className='Type2'>订</Text><Text className='Type3'>外</Text><Text className='Type4'>促</Text></View>
100
+                    <View className='Score'>
101
+                      <Image mode='widthFix' src={require('@/assets/img/icon6.png')} />
102
+                      <Image mode='widthFix' src={require('@/assets/img/icon6.png')} />
103
+                      <Image mode='widthFix' src={require('@/assets/img/icon6.png')} />
104
+                      <Image mode='widthFix' src={require('@/assets/img/icon6.png')} />
105
+                      <Image mode='widthFix' src={require('@/assets/img/icon6.png')} />
106
+                      <Text>¥97/人</Text>
107
+                    </View>
108
+                    <View className='flex-h'>
109
+                      <View className='flex-item'>
110
+                        <View>
111
+                          <Text>淮扬菜</Text>
112
+                          <Text>徐庄软件园</Text>
113
+                        </View>
114
+                      </View>
115
+                      <Text>10.5km</Text>
116
+                    </View>
117
+                  </View>
118
+                </View>
119
+              </Navigator>
120
+            ))
121
+          }
122
+        </View>
123
+
124
+      </View>
125
+    )
126
+  }
127
+}

+ 384
- 0
src/pages/league/index.scss Parādīt failu

@@ -0,0 +1,384 @@
1
+@import "@/styles/theme.scss";
2
+@import "@/styles/reset.scss";
3
+
4
+.Page {
5
+  width: 100%;
6
+  min-height: 100vh;
7
+  background: #f8f8f8;
8
+  position: relative;
9
+  overflow: hidden;
10
+  > image {
11
+    width: 100%;
12
+    display: block;
13
+    position: absolute;
14
+    z-index: 1;
15
+    left: 0;
16
+    top: 0;
17
+  }
18
+  > view {
19
+    position: relative;
20
+    overflow: hidden;
21
+    margin-top: 20px;
22
+    padding: 0 30px;
23
+    z-index: 2;
24
+    &:first-child {
25
+      margin-top: 0;
26
+    }
27
+    > .Title {
28
+      display: block;
29
+      font-size: 34px;
30
+      color: #666;
31
+      line-height: 40px;
32
+      text-align: center;
33
+      margin-top: 20px;
34
+    }
35
+  }
36
+  > .DiyTop {
37
+    position: fixed;
38
+    top: 55px;
39
+    width: 100%;
40
+    left: 0;
41
+    z-index: 10;
42
+    > text {
43
+      display: block;
44
+      text-align: center;
45
+      font-size: 32px;
46
+      line-height: 64px;
47
+      color: #333;
48
+      position: relative;
49
+      z-index: 1;
50
+    }
51
+    > image {
52
+      display: inline-block;
53
+      position: absolute;
54
+      z-index: 2;
55
+      left: 30px;
56
+      width: 16px;
57
+      height: 35px;
58
+      top: 50%;
59
+      transform: translateY(-50%);
60
+      -webkit-transform: translateY(-50%);
61
+    }
62
+  }
63
+  > .SearchContainer {
64
+    margin-top: 140px;
65
+    position: relative;
66
+    overflow: hidden;
67
+    > view {
68
+      width: 100%;
69
+      position: relative;
70
+      overflow: hidden;
71
+      border-radius: 68px;
72
+      background: #fff;
73
+      > view {
74
+        width: 100%;
75
+        position: absolute;
76
+        left: 0;
77
+        top: 0;
78
+        font-size: 0;
79
+        white-space: nowrap;
80
+        z-index: 1;
81
+        height: 68px;
82
+        text-align: center;
83
+        > text {
84
+          display: inline-block;
85
+          vertical-align: middle;
86
+          font-size: 24px;
87
+          line-height: 68px;
88
+          color: #666;
89
+          margin-left: 20px;
90
+        }
91
+        > image {
92
+          width: 30px;
93
+          height: 30px;
94
+          display: inline-block;
95
+          vertical-align: middle;
96
+        }
97
+      }
98
+      > input {
99
+        line-height: 68px;
100
+        height: 68px;
101
+        display: block;
102
+        width: 100%;
103
+        font-size: 24px;
104
+        text-align: center;
105
+        position: relative;
106
+        z-index: 2;
107
+      }
108
+    }
109
+  }
110
+  > .BannerContainer {
111
+    padding-bottom: 20px;
112
+    > .Banner {
113
+      position: relative;
114
+      overflow: hidden;
115
+      > view {
116
+        width: 100%;
117
+        padding-bottom: 50%;
118
+        position: relative;
119
+        overflow: hidden;
120
+        > view {
121
+          width: 100%;
122
+          position: absolute;
123
+          left: 0;
124
+          top: 0;
125
+          bottom: 0;
126
+          > .DingWei {
127
+            display: inline-block;
128
+            height: 40px;
129
+            position: absolute;
130
+            z-index: 2;
131
+            right: 0;
132
+            top: 0;
133
+            font-size: 0;
134
+            white-space: nowrap;
135
+            padding: 0 10px;
136
+            background: rgba(255, 255, 255, 0.8);
137
+            > image {
138
+              width: 24px;
139
+              display: inline-block;
140
+              vertical-align: middle;
141
+              height: 28px;
142
+            }
143
+            > text {
144
+              display: inline-block;
145
+              vertical-align: middle;
146
+              font-size: 24px;
147
+              line-height: 40px;
148
+              margin-left: 10px;
149
+            }
150
+          }
151
+          > .Swiper {
152
+            width: 100%;
153
+            height: 100%;
154
+            position: relative;
155
+            overflow: hidden;
156
+            z-index: 1;
157
+            image {
158
+              min-width: 100%;
159
+              min-height: 100%;
160
+            }
161
+          }
162
+        }
163
+      }
164
+    }
165
+    > .Nav {
166
+      align-items: center;
167
+      margin-top: 40px;
168
+      > .flex-item {
169
+        > view {
170
+          width: 60%;
171
+          padding-bottom: 60%;
172
+          position: relative;
173
+          overflow: hidden;
174
+          margin: 0 auto;
175
+          > image {
176
+            height: 100%;
177
+          }
178
+        }
179
+        > text {
180
+          display: block;
181
+          font-size: 26px;
182
+          line-height: 40px;
183
+          text-align: center;
184
+          margin-top: 5px;
185
+        }
186
+      }
187
+    }
188
+  }
189
+  > .ActivityRecommed {
190
+    background: #fff;
191
+    padding-bottom: 20px;
192
+    > view {
193
+      width: 100%;
194
+      position: relative;
195
+      overflow: hidden;
196
+      padding-bottom: 33.33%;
197
+      background: #eee;
198
+      border-radius: 24px;
199
+      margin-top: 20px;
200
+      > image {
201
+        min-width: 100%;
202
+        min-height: 100%;
203
+      }
204
+    }
205
+  }
206
+  > .HousesRecommed {
207
+    background: #fff;
208
+    padding-bottom: 30px;
209
+    > view {
210
+      width: 100%;
211
+      position: relative;
212
+      overflow: hidden;
213
+      padding-bottom: 56%;
214
+      background: #eee;
215
+      border-radius: 24px;
216
+      margin-top: 20px;
217
+      > image {
218
+        min-width: 100%;
219
+        min-height: 100%;
220
+        z-index: 1;
221
+      }
222
+      > text {
223
+        width: 100%;
224
+        display: block;
225
+        position: absolute;
226
+        z-index: 2;
227
+        left: 0;
228
+        bottom: 0;
229
+        font-size: 28px;
230
+        color: #fff;
231
+        line-height: 80px;
232
+        text-indent: 15px;
233
+        background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5));
234
+      }
235
+    }
236
+  }
237
+  > .LeKeStore {
238
+    position: relative;
239
+    overflow: hidden;
240
+    padding: 0;
241
+    > .ListTitle {
242
+      padding: 0 30px;
243
+      display: block;
244
+      width: 100%;
245
+      font-size: 32px;
246
+      color: #000;
247
+      font-weight: bold;
248
+      line-height: 80px;
249
+      text-indent: 20px;
250
+      background: #fff;
251
+      position: relative;
252
+      border-bottom: 1px solid #f8f8f8;
253
+      &::after {
254
+        content: "";
255
+        width: 6px;
256
+        height: 32px;
257
+        display: block;
258
+        position: absolute;
259
+        left: 30px;
260
+        top: 50%;
261
+        transform: translateY(-50%);
262
+        -webkit-transform: translateY(-50%);
263
+        background: #1bc5d4;
264
+      }
265
+      & + .flex-h {
266
+        margin-top: 0;
267
+      }
268
+    }
269
+    > .flex-h {
270
+      position: relative;
271
+      overflow: hidden;
272
+      margin-top: 20px;
273
+      background: #fff;
274
+      padding: 30px;
275
+      > .Img {
276
+        width: 242px;
277
+        height: 182px;
278
+        position: relative;
279
+        overflow: hidden;
280
+        border-radius: 8px;
281
+        background: #eee;
282
+      }
283
+      > .flex-item {
284
+        position: relative;
285
+        overflow: hidden;
286
+        > view {
287
+          width: 100%;
288
+          position: relative;
289
+          overflow: hidden;
290
+          margin-left: 20px;
291
+          > .Title {
292
+            width: 100%;
293
+            font-size: 0;
294
+            > view {
295
+              display: inline-block;
296
+              vertical-align: middle;
297
+              font-size: 32px;
298
+              font-weight: bold;
299
+              color: #000;
300
+              line-height: 40px;
301
+            }
302
+            > text {
303
+              font-size: 20px;
304
+              font-weight: normal;
305
+              width: 30px;
306
+              line-height: 30px;
307
+              display: inline-block;
308
+              vertical-align: middle;
309
+              text-align: center;
310
+              color: #fff;
311
+              background: #eee;
312
+              border-radius: 4px;
313
+              margin-left: 10px;
314
+              &.Type1 {
315
+                background: #ff8c1f;
316
+              }
317
+              &.Type2 {
318
+                background: #fccb34;
319
+              }
320
+              &.Type3 {
321
+                background: #1bc5d4;
322
+              }
323
+              &.Type4 {
324
+                background: #1dd100;
325
+              }
326
+            }
327
+          }
328
+          > .Score {
329
+            font-size: 0;
330
+            white-space: nowrap;
331
+            margin-top: 10px;
332
+            > image {
333
+              width: 14px;
334
+              margin-right: 10px;
335
+              display: inline-block;
336
+              vertical-align: middle;
337
+            }
338
+            > text {
339
+              display: inline-block;
340
+              vertical-align: middle;
341
+              font-size: 30px;
342
+              line-height: 40px;
343
+              color: #fdac2e;
344
+              margin-left: 20px;
345
+              font-weight: bold;
346
+            }
347
+          }
348
+          > .flex-h {
349
+            width: 100%;
350
+            position: relative;
351
+            overflow: hidden;
352
+            align-items: center;
353
+            margin-top: 10px;
354
+            > view {
355
+              position: relative;
356
+              overflow: hidden;
357
+              > view {
358
+                width: 100%;
359
+                position: relative;
360
+                overflow: hidden;
361
+                font-size: 0;
362
+                white-space: nowrap;
363
+                > text {
364
+                  display: inline-block;
365
+                  vertical-align: middle;
366
+                  font-size: 24px;
367
+                  color: #999;
368
+                  line-height: 32px;
369
+                  margin-right: 10px;
370
+                }
371
+              }
372
+            }
373
+            > text {
374
+              font-size: 26px;
375
+              color: #666;
376
+              margin-left: 10px;
377
+              margin-right: 20px;
378
+            }
379
+          }
380
+        }
381
+      }
382
+    }
383
+  }
384
+}

+ 6
- 8
src/pages/person/favorite/index.js Parādīt failu

@@ -24,17 +24,13 @@ export default class Index extends Component {
24 24
         name: '楼盘',
25 25
         id: 1
26 26
       },
27
-      // {
28
-      //   name: '置业顾问',
29
-      //   id: 2
30
-      // },
31
-      {
32
-        name: '资讯',
33
-        id: 3
34
-      },
35 27
       {
36 28
         name: '活动',
37 29
         id: 4
30
+      },
31
+      {
32
+        name: '资讯',
33
+        id: 3
38 34
       }
39 35
     ],
40 36
     houseList: [],
@@ -153,6 +149,7 @@ export default class Index extends Component {
153 149
 
154 150
     return (
155 151
       <Block>
152
+        <View style={{ width: '100%', height: '10px' }}></View>
156 153
         {
157 154
           activityList.length > 0 ? activityList.map(item => (
158 155
             <ActivityItem
@@ -170,6 +167,7 @@ export default class Index extends Component {
170 167
     const { newsList } = this.state
171 168
     return (
172 169
       <Block>
170
+        <View style={{ width: '100%', height: '15px' }}></View>
173 171
         {
174 172
           newsList.length > 0 ? newsList.map(item => (
175 173
             <NewsItem

+ 9
- 4
src/pages/person/index.js Parādīt failu

@@ -278,6 +278,13 @@ export default class Person extends Component {
278 278
     })
279 279
   }
280 280
 
281
+  ToastMsg (msg) {
282
+    Taro.showToast({
283
+      title: msg,
284
+      icon: 'none'
285
+    })
286
+  }
287
+
281 288
   goPersonDetail () {
282 289
 
283 290
     const { users: { personType } } = this.state
@@ -311,9 +318,7 @@ export default class Person extends Component {
311 318
       <View className="person">
312 319
         <Notice></Notice>
313 320
         <View className="info">
314
-          <Image className="bg" src='../../assets/img/topbg.jpg' mode='widthFix'>
315
-            {/* <Image className="logo" src={transferImage(waterMark || require('@/assets/logo.png'))} mode='widthFix'></Image> */}
316
-          </Image>
321
+          <Image className="bg" src='../../assets/img/topbg.jpg' mode='widthFix'></Image>
317 322
 
318 323
           <View className="content">
319 324
             <View className="info-block">
@@ -370,7 +375,7 @@ export default class Person extends Component {
370 375
               <Block key={`grp-${ginx}`}>
371 376
                 {
372 377
                   group.map((menu, inx) => (
373
-                    <View onClick={() => this.redirectTo(menu.url)} style={{ color: menu.style }} className="menu-item-con" key={`menu-${inx}`}>
378
+                    <View onClick={() => { menu.url === null ? this.ToastMsg('敬请期待') : this.redirectTo(menu.url) }} style={{ color: menu.style }} className="menu-item-con" key={`menu-${inx}`}>
374 379
                       <Image className="left-icon" src={menu.icon} ></Image>
375 380
                       <View className="menu-maintext">
376 381
                         <Text className="menu-name" style={menu.style}>{menu.name}</Text>

+ 25
- 25
src/pages/shop/index.js Parādīt failu

@@ -34,10 +34,6 @@ export default class Shop extends Component {
34 34
     user: {},
35 35
     current: 0,
36 36
     points: 0,
37
-    NavList: [
38
-      { name: '兑换好礼', id: 1 },
39
-      { name: '金基天著尚居', id: 2 }
40
-    ],
41 37
     CurrentNavId: 1,
42 38
     cityId: (this.props.curCity || {}).id
43 39
 
@@ -110,6 +106,8 @@ export default class Shop extends Component {
110 106
         item.title = item.buildingName
111 107
       })
112 108
 
109
+      console.log(res, `----------------------`)
110
+
113 111
       this.setState({
114 112
         goodsBuilding: res || []
115 113
       }, () => {
@@ -444,31 +442,33 @@ export default class Shop extends Component {
444 442
             <AtTabs scroll tabDirection='horizontal' current={current} tabList={goodsBuilding} onClick={this.handleClick.bind(this)}>
445 443
               {
446 444
                 goodsBuilding.map((pItem, pIndex) => (
447
-                  <View className='PrizeList' key={`Parent-${pIndex}`}>
448
-                    {
449
-                      goodsList.map((item, index) => (
450
-                        <View className='ListItem' key={item.goodsId}>
451
-                          <View>
452
-                            <View onClick={this.onViewDetail.bind(this, item)}>
453
-                              <View className='Img'>
454
-                                <Image mode='widthFix' className='centerLabel' src={item.imgUrl} />
455
-                              </View>
456
-                              <View className='Title'>
457
-                                <Text>{item.goodsName}</Text>
458
-                              </View>
459
-                              <View className='flex-h'>
460
-                                <Text className='flex-item'>剩余数量{item.inventory}</Text>
461
-                                <View>
462
-                                  <Text>{item.pointPrice}</Text>
463
-                                  <Text>积分</Text>
445
+                  <AtTabsPane current={current} key={`pane-${pIndex}`} index={pIndex} >
446
+                    <View className='PrizeList'>
447
+                      {
448
+                        goodsList.map((item, index) => (
449
+                          <View className='ListItem' key={item.goodsId}>
450
+                            <View>
451
+                              <View onClick={this.onViewDetail.bind(this, item)}>
452
+                                <View className='Img'>
453
+                                  <Image mode='widthFix' className='centerLabel' src={item.imgUrl} />
454
+                                </View>
455
+                                <View className='Title'>
456
+                                  <Text>{item.goodsName}</Text>
457
+                                </View>
458
+                                <View className='flex-h'>
459
+                                  <Text className='flex-item'>剩余数量{item.inventory}</Text>
460
+                                  <View>
461
+                                    <Text>{item.pointPrice}</Text>
462
+                                    <Text>积分</Text>
463
+                                  </View>
464 464
                                 </View>
465 465
                               </View>
466 466
                             </View>
467 467
                           </View>
468
-                        </View>
469
-                      ))
470
-                    }
471
-                  </View>
468
+                        ))
469
+                      }
470
+                    </View>
471
+                  </AtTabsPane>
472 472
                 ))
473 473
               }
474 474
             </AtTabs>

+ 6
- 0
src/pages/shop/index.scss Parādīt failu

@@ -298,3 +298,9 @@
298 298
     }
299 299
   }
300 300
 }
301
+.at-tabs__item--active {
302
+  color: #333 !important;
303
+}
304
+.at-tabs__item-underline {
305
+  background-color: #333 !important;
306
+}

+ 7
- 0
src/routes.js Parādīt failu

@@ -33,6 +33,13 @@ const routes = [
33 33
     isTab: true,
34 34
     type: 'center',
35 35
   },
36
+  {
37
+    name: '乐客联盟',
38
+    page: 'pages/league/index',
39
+    pkg: 'main',
40
+    isTab: true,
41
+    type: 'center',
42
+  },
36 43
 
37 44
   /********************************
38 45
    * 项目相关