|
@@ -29,12 +29,12 @@
|
29
|
29
|
</div>
|
30
|
30
|
|
31
|
31
|
<div class="PhotoList-box">
|
32
|
|
- <div class="PhotoList-box-text">
|
33
|
|
- <div></div>
|
34
|
|
- <span>1122222</span>
|
35
|
|
- </div>
|
36
|
|
- <div class="PhotoList-box-images">
|
37
|
|
- <span v-for="(image, index) in imageList" :key="index">
|
|
32
|
+ <div class="PhotoList-box-images" v-for="(item, index) in newArrImageList" :key="index">
|
|
33
|
+ <div class="PhotoList-box-text">
|
|
34
|
+ <div></div>
|
|
35
|
+ <span>{{item.createDate}}</span>
|
|
36
|
+ </div>
|
|
37
|
+ <span v-for="(image, index) in item.res" :key="index">
|
38
|
38
|
<van-image width="31vw" :src="image.url" style="padding:0 3px 0 2px" />
|
39
|
39
|
</span>
|
40
|
40
|
</div>
|
|
@@ -44,6 +44,7 @@
|
44
|
44
|
|
45
|
45
|
<script>
|
46
|
46
|
import { getPhotoSotr, getPhotos } from '../util/api'
|
|
47
|
+import { parseTime, SignInTime } from '../util/formattingData'
|
47
|
48
|
|
48
|
49
|
import { getBanner } from '../util/api'
|
49
|
50
|
|
|
@@ -57,12 +58,15 @@ export default {
|
57
|
58
|
buttList: [],
|
58
|
59
|
photoBannerImages: [],
|
59
|
60
|
|
60
|
|
- imageList: []
|
|
61
|
+ imageList: [],
|
|
62
|
+ newArrImageList: []
|
61
|
63
|
}
|
62
|
64
|
},
|
|
65
|
+ watch: {},
|
63
|
66
|
mounted() {
|
64
|
67
|
this.onBanner()
|
65
|
68
|
this.onLoadSort()
|
|
69
|
+ this.dataResort()
|
66
|
70
|
|
67
|
71
|
// if (this.buttList.length >= 2) {
|
68
|
72
|
// this.iconShow = true
|
|
@@ -71,6 +75,39 @@ export default {
|
71
|
75
|
// }
|
72
|
76
|
},
|
73
|
77
|
methods: {
|
|
78
|
+ parseTime,
|
|
79
|
+ dataResort(arr) {
|
|
80
|
+ var newArr = []
|
|
81
|
+ this.imageList.forEach(function (oldData, i) {
|
|
82
|
+ var index = -1
|
|
83
|
+ var createTime = parseTime(oldData.createDate, '{y}-{m}-{d}')
|
|
84
|
+ var newTime = parseTime(createTime, '{y}-{m}-{d}')
|
|
85
|
+
|
|
86
|
+ var alreadyExists = newArr.some(function (newData, j) {
|
|
87
|
+ var noData = parseTime(newData.createDate, '{y}-{m}-{d}')
|
|
88
|
+ if (newTime === noData) {
|
|
89
|
+ index = j
|
|
90
|
+ return true
|
|
91
|
+ }
|
|
92
|
+ })
|
|
93
|
+ if (!alreadyExists) {
|
|
94
|
+ var res = []
|
|
95
|
+ res.push(oldData)
|
|
96
|
+ newArr.push({
|
|
97
|
+ createDate: createTime,
|
|
98
|
+ res: res
|
|
99
|
+ })
|
|
100
|
+ } else {
|
|
101
|
+ newArr[index].res.push(oldData)
|
|
102
|
+ }
|
|
103
|
+ })
|
|
104
|
+ console.log(
|
|
105
|
+ '🚀 ~ file: StrongPhoto.vue ~ line 105 ~ dataResort ~ newArr',
|
|
106
|
+ newArr
|
|
107
|
+ )
|
|
108
|
+
|
|
109
|
+ this.newArrImageList = newArr
|
|
110
|
+ },
|
74
|
111
|
onLoadSort() {
|
75
|
112
|
getPhotoSotr().then((e) => {
|
76
|
113
|
this.buttList = e.records
|
|
@@ -85,6 +122,7 @@ export default {
|
85
|
122
|
this.activeNum = i
|
86
|
123
|
getPhotos(id).then((e) => {
|
87
|
124
|
this.imageList = e.records
|
|
125
|
+ this.dataResort()
|
88
|
126
|
})
|
89
|
127
|
// this.clickStyle = !this.clickStyle
|
90
|
128
|
},
|
|
@@ -146,27 +184,27 @@ export default {
|
146
|
184
|
height: auto;
|
147
|
185
|
background-color: #fff;
|
148
|
186
|
|
149
|
|
- .PhotoList-box-text {
|
150
|
|
- display: flex;
|
151
|
|
- align-items: center;
|
152
|
|
- margin: 1.2em 0 0.8em 0;
|
153
|
|
- > div {
|
154
|
|
- width: 6px;
|
155
|
|
- height: 6px;
|
156
|
|
- border-radius: 50%;
|
157
|
|
- background-color: #13c0b4;
|
158
|
|
- margin: 0 13px 0 9px;
|
159
|
|
- }
|
160
|
|
- > span {
|
161
|
|
- font-size: 12px;
|
162
|
|
- letter-spacing: 1px;
|
163
|
|
- color: rgb(128, 128, 128);
|
164
|
|
- }
|
165
|
|
- }
|
166
|
187
|
.PhotoList-box-images {
|
167
|
188
|
width: 97%;
|
168
|
189
|
margin: 0 auto;
|
169
|
190
|
padding-bottom: 10vh;
|
|
191
|
+ .PhotoList-box-text {
|
|
192
|
+ display: flex;
|
|
193
|
+ align-items: center;
|
|
194
|
+ margin: 1.2em 0 0.8em 0;
|
|
195
|
+ > div {
|
|
196
|
+ width: 6px;
|
|
197
|
+ height: 6px;
|
|
198
|
+ border-radius: 50%;
|
|
199
|
+ background-color: #13c0b4;
|
|
200
|
+ margin: 0 13px 0 9px;
|
|
201
|
+ }
|
|
202
|
+ > span {
|
|
203
|
+ font-size: 12px;
|
|
204
|
+ letter-spacing: 1px;
|
|
205
|
+ color: rgb(128, 128, 128);
|
|
206
|
+ }
|
|
207
|
+ }
|
170
|
208
|
}
|
171
|
209
|
}
|
172
|
210
|
}
|