storeBelieveInLight 1 рік тому
батько
коміт
369a20283a

+ 5 - 7
shop/commodity/components/orderDetail/orderCardDetailInfo.vue

@@ -110,14 +110,12 @@ export default {
110 110
       },
111 111
     };
112 112
   },
113
-  
113
+
114 114
   methods: {
115 115
     handleCopy(val) {
116 116
       copy(val);
117 117
     },
118
-	sendGoods(){
119
-		
120
-	}
118
+    sendGoods() {},
121 119
   },
122 120
 };
123 121
 </script>
@@ -140,7 +138,7 @@ export default {
140 138
   min-height: 719rpx;
141 139
   background: #ffffff;
142 140
   border-radius: 16px;
143
-  padding:0 20rpx;
141
+  padding: 0 20rpx;
144 142
   display: flex;
145 143
   flex-direction: column;
146 144
   align-items: center;
@@ -188,7 +186,7 @@ export default {
188 186
   .details-xiangqing-niri {
189 187
     // width: 634rpx;
190 188
     // height: 548rpx;
191
-	    width: 100%;
189
+    width: 100%;
192 190
     margin: 26rpx 0 50rpx 0;
193 191
     display: flex;
194 192
     flex-direction: column;
@@ -224,7 +222,7 @@ export default {
224 222
         .order-list-yi-in-neibu-left-url {
225 223
           // width: 290rpx;
226 224
           display: flex;
227
-		  padding:0 20rpx;
225
+          padding: 0 20rpx;
228 226
 
229 227
           .order-list-yi-in-neibu-left-url-top {
230 228
             width: 100%;

+ 368 - 7
shop/commodity/logisticsInformationDetail.vue

@@ -1,21 +1,136 @@
1 1
 <template>
2
-  <view class="logistics-info-card">
2
+  <view class="logistics-info-cardssss">
3 3
     <headersVue @headerJump="topgi" header-title="物流信息"></headersVue>
4
-    <view class="logistics-info-card-wrapper">1212</view>
4
+    <view class="logistics-info-card-headers">
5
+      <view class="logistics-info-card-headers__imagelist">
6
+        <view class="image-list">
7
+          <view class="image-scroll_box">
8
+            <view class="image-scroll_box__image">
9
+              <view
10
+                v-for="(item, index) in procductList"
11
+                :key="item.cart_num + '_index_' + index"
12
+                class="cmsd-ocm"
13
+              >
14
+                <image :src="item.image" />
15
+                <view class="tip-num">{{ 10 }}件</view>
16
+              </view>
17
+            </view>
18
+          </view>
19
+        </view>
20
+        <view class="icon-right" @click="handlePopup">
21
+          <uni-icons type="right" size="20" class="icon-image"></uni-icons>
22
+        </view>
23
+      </view>
24
+      <view class="logistics-info-card-headers__logicistics">
25
+        <view class="image-company__image">
26
+          <image
27
+            src="https://cdn.bjtdba.com/chuxubao/images/2025-02-10/8198d202502101042344757.png"
28
+          />
29
+        </view>
30
+        <view class="image-company__content">
31
+          <view class="image-company__content-title">
32
+            <text>中通快递: </text>
33
+            <text>98765432345678</text>
34
+          </view>
35
+        </view>
36
+        <view class="image-company__btn">
37
+          <view class="copy-btn btn" @click="handleGiop('copy')">复制</view>
38
+          <view class="tel-btn btn" @click="handleGiop('tel')">电话</view>
39
+        </view>
40
+      </view>
41
+    </view>
42
+    <view class="logistics-info-card-wrapper">
43
+      <view class="logistics-info-card-wrapper__logicistics">
44
+        <view class="logistics-info-card-wrapper__logicistics-title">
45
+          <view class="order-list-yi-bot-xiangxi">
46
+            <view class="order-list-yi-bot-xiangxier">
47
+              <view class="shou-icon">收</view>
48
+            </view>
49
+            <view class="order-list-yi-bot-xadasrfe">
50
+              <view class="order-list-yi-bot-xadasrfe-top">
51
+                <text
52
+                  >北京市北京市朝阳区北京市北京市朝阳区北京市北京市朝阳</text
53
+                >
54
+                <text> 郭女士</text>
55
+                <text>185****4736</text>
56
+              </view>
57
+            </view>
58
+          </view>
59
+        </view>
60
+        <view class="logicistis">
61
+          <view
62
+            class="logicistis-bot-xiangxi"
63
+            v-for="(items, index) in logisticsData"
64
+            :key="index + '_index_'"
65
+          >
66
+            <view class="logicistis-bot-xiangxier">
67
+              <view class="shou-icon " :class="[index===0?'ativedata':'']"></view>
68
+            </view>
69
+            <view class="logicistis-bot-xadasrfe">
70
+              <view class="logicistis-bot-xadasrfe-top">
71
+                <view class="title-cs">{{ items.status }}</view>
72
+                <view class="title-time">{{ items.time }}</view>
73
+              </view>
74
+            </view>
75
+          </view>
76
+        </view>
77
+      </view>
78
+    </view>
79
+    <ItemsInsidePackageVue ref="refsPackage" />
5 80
   </view>
6 81
 </template>
7 82
 
8 83
 <script>
9 84
 import headersVue from "../components/headers/headers.vue";
10
-import { toQueryString } from "@/utils/index.js";
85
+import { toQueryString, copy } from "@/utils/index.js";
86
+import ItemsInsidePackageVue from "./components/changeDetailInfo/ItemsInsidePackage.vue";
87
+import { mockDataLogistics } from "./mockData.js";
11 88
 export default {
12
-  components: { headersVue },
89
+  components: { headersVue, ItemsInsidePackageVue },
13 90
   data() {
14 91
     return {
15 92
       indexs: "",
16 93
       status: "",
17 94
       order_id: "", //订单ID
18
-      formType: ""
95
+      formType: "",
96
+      logisticsData: [],
97
+      procductList: [
98
+        {
99
+          pay_price: "88888",
100
+          cart_num: "10",
101
+          image:
102
+            "https://cdn.bjtdba.com/chuxubao/images/2025-02-10/8198d202502101042344757.png",
103
+          store_name: "三个苹果 纯天然浓缩果蔬汁清汁苹果汁…"
104
+        },
105
+        {
106
+          pay_price: "88888",
107
+          cart_num: "10",
108
+          image:
109
+            "https://cdn.bjtdba.com/chuxubao/images/2025-02-10/8198d202502101042344757.png",
110
+          store_name: "三个苹果 纯天然浓缩果蔬汁清汁苹果汁…"
111
+        },
112
+        {
113
+          pay_price: "88888",
114
+          cart_num: "10",
115
+          image:
116
+            "https://cdn.bjtdba.com/chuxubao/images/2025-02-10/8198d202502101042344757.png",
117
+          store_name: "三个苹果 纯天然浓缩果蔬汁清汁苹果汁…"
118
+        },
119
+        {
120
+          pay_price: "88888",
121
+          cart_num: "10",
122
+          image:
123
+            "https://cdn.bjtdba.com/chuxubao/images/2025-02-10/8198d202502101042344757.png",
124
+          store_name: "三个苹果 纯天然浓缩果蔬汁清汁苹果汁…"
125
+        },
126
+        {
127
+          pay_price: "88888",
128
+          cart_num: "10",
129
+          image:
130
+            "https://cdn.bjtdba.com/chuxubao/images/2025-02-10/8198d202502101042344757.png",
131
+          store_name: "三个苹果 纯天然浓缩果蔬汁清汁苹果汁…"
132
+        }
133
+      ]
19 134
     };
20 135
   },
21 136
   onLoad(e) {
@@ -24,8 +139,21 @@ export default {
24 139
     this.status = e.status;
25 140
     this.formType = e.formType || "";
26 141
     // this.getOrderDetails()
142
+    this.logisticsData = mockDataLogistics || [];
27 143
   },
28 144
   methods: {
145
+    handleGiop(type) {
146
+      if (type === "copy") {
147
+        copy("98765432345678");
148
+      } else {
149
+        uni.makePhoneCall({
150
+          phoneNumber: "98765432345678"
151
+        });
152
+      }
153
+    },
154
+    handlePopup() {
155
+      this.$refs.refsPackage.open();
156
+    },
29 157
     topgi() {
30 158
       const obj = {
31 159
         status: this.status,
@@ -33,7 +161,7 @@ export default {
33 161
         formType: this.formType,
34 162
         order_id: this.order_id
35 163
       };
36
-	  const params = toQueryString(obj);
164
+      const params = toQueryString(obj);
37 165
       const redirectUrl =
38 166
         this.formType === "detail" ? `./details?` : `./order?`;
39 167
       uni.redirectTo({
@@ -44,5 +172,238 @@ export default {
44 172
   }
45 173
 };
46 174
 </script>
175
+<style>
176
+page {
177
+  background-color: #f7f8fc;
178
+  /* height: 100%; */
179
+  box-sizing: border-box;
180
+}
181
+</style>
182
+<style lang="scss" scoped>
183
+.logistics-info-cardssss {
184
+  // height: 100%;
185
+  box-sizing: border-box;
186
+  .logistics-info-card-headers {
187
+    padding: 15rpx 16rpx 15rpx 32rpx;
188
+    margin-top: 95rpx;
189
+    width: 100%;
190
+    min-height: 260rpx;
191
+    background: #ffffff;
192
+    box-sizing: border-box;
193
+    &__imagelist {
194
+      display: flex;
195
+      align-items: center;
196
+      .image-list {
197
+        // border: 2rpx solid #4e14ec;
198
+        flex: 1;
199
+        height: 160rpx;
200
+        overflow-x: auto;
201
+        overflow-y: hidden;
202
+        padding-right: 20rpx;
203
+        .image-scroll_box {
204
+          display: flex;
205
+          .image-scroll_box__image {
206
+            display: flex;
207
+            flex: 1;
208
+            flex-shrink: 0;
209
+            .cmsd-ocm {
210
+              position: relative;
211
+            }
212
+            image {
213
+              border-radius: 16rpx;
214
+              width: 158rpx;
215
+              height: 158rpx;
216
+              flex-shrink: 0;
217
+              margin-right: 20rpx;
218
+              &:last-child {
219
+                margin-right: 50rpx;
220
+              }
221
+            }
222
+            .tip-num {
223
+              position: absolute;
224
+              right: 20rpx;
225
+              bottom: 10rpx;
226
+              width: 61rpx;
227
+              height: 37rpx;
228
+              background: rgba($color: #000000, $alpha: 0.2);
229
+              border-radius: 16rpx 0rpx 16rpx 0rpx;
230
+              font-weight: 400;
231
+              font-size: 24rpx;
232
+              color: #ffffff;
233
+              padding: 0 5rpx;
234
+              text-align: center;
235
+            }
236
+          }
237
+        }
238
+      }
239
+      .icon-right {
240
+        display: flex;
241
+        align-items: center;
242
+        justify-content: center;
243
+        box-shadow: 2rpx 6rpx 20rpx 0rpx rgba(231, 79, 79, 0.1);
244
+        flex-shrink: 0;
245
+        width: 30rpx;
246
+        height: 160rpx;
247
+        text-align: center;
47 248
 
48
-<style lang="scss"></style>
249
+        .icon-image {
250
+        }
251
+      }
252
+    }
253
+    &__logicistics {
254
+      // border: 2rpx solid #4e14ec;
255
+      display: flex;
256
+      min-height: 70rpx;
257
+      align-items: center;
258
+      gap: 20rpx;
259
+      padding-top: 10rpx;
260
+      .image-company__image {
261
+        width: 35rpx;
262
+        height: 35rpx;
263
+        border-radius: 50%;
264
+        flex-shrink: 0;
265
+        image {
266
+          width: 100%;
267
+          height: 100%;
268
+          border-radius: 50%;
269
+        }
270
+      }
271
+      .image-company__content-title {
272
+        font-weight: 400;
273
+        font-size: 26rpx;
274
+        color: #333333;
275
+        flex: 1;
276
+        word-break: break-all;
277
+      }
278
+      .image-company__btn {
279
+        display: flex;
280
+        gap: 20rpx;
281
+        user-select: none;
282
+        .btn {
283
+          width: 62rpx;
284
+          height: 35rpx;
285
+          border-radius: 4rpx;
286
+          border: 1rpx solid #c8c8c8;
287
+          font-weight: 400;
288
+          font-size: 24rpx;
289
+          color: #333333;
290
+          text-align: center;
291
+          line-height: 35rpx;
292
+        }
293
+      }
294
+    }
295
+  }
296
+  .logistics-info-card-wrapper {
297
+    margin-top: 30rpx;
298
+    background: #ffffff;
299
+    min-height: 100rpx;
300
+    &__logicistics {
301
+      padding: 32rpx 20rpx 15rpx 32rpx;
302
+      &-title {
303
+        .order-list-yi-bot-xiangxi {
304
+          position: relative;
305
+          display: flex;
306
+          align-items: flex-start;
307
+
308
+          .order-list-yi-bot-xiangxier {
309
+            width: 40rpx;
310
+            height: 40rpx;
311
+            background: #1f7cff;
312
+            flex-shrink: 0;
313
+            border-radius: 50%;
314
+            display: flex;
315
+            align-items: center;
316
+            justify-content: center;
317
+            .shou-icon {
318
+              font-family: PingFangSC, PingFang SC;
319
+              font-weight: 400;
320
+              font-size: 24rpx;
321
+              color: #ffffff;
322
+            }
323
+          }
324
+
325
+          .order-list-yi-bot-xadasrfe {
326
+            height: 100%;
327
+            margin-left: 16rpx;
328
+            display: flex;
329
+            flex-direction: column;
330
+            justify-content: space-between;
331
+            align-items: flex-start;
332
+            &:last-child {
333
+              padding-bottom: 20rpx;
334
+            }
335
+
336
+            .order-list-yi-bot-xadasrfe-top {
337
+              width: 100%;
338
+              font-weight: 400;
339
+              font-size: 28rpx;
340
+              color: #333333;
341
+              // display: -webkit-box;
342
+              // -webkit-box-orient: vertical;
343
+              // -webkit-line-clamp: 2;
344
+              // overflow: hidden;
345
+              padding-bottom: 5rpx;
346
+              text {
347
+                padding-right: 20rpx;
348
+              }
349
+            }
350
+          }
351
+        }
352
+      }
353
+    }
354
+  }
355
+  .logicistis {
356
+    .logicistis-bot-xiangxi {
357
+      position: relative;
358
+      display: flex;
359
+      padding-bottom: 35rpx;
360
+      &::before{
361
+        content: '';
362
+        width: 2rpx;
363
+        background: #bdafaf;
364
+        height: calc(100% - 2rpx);
365
+        position: absolute;
366
+        left: 13rpx;
367
+        top: 23rpx;
368
+      }
369
+      &:last-child {
370
+        &::before {
371
+          height: 0rpx;
372
+        }
373
+      }
374
+      .logicistis-bot-xiangxier {
375
+        padding-right: 20rpx;
376
+        // padding-left: 5rpx;
377
+        .shou-icon {
378
+          width: 20rpx;
379
+          height: 20rpx;
380
+          background: #999999;
381
+          flex-shrink: 0;
382
+          border-radius: 50%;
383
+          &:not(.ativedata){
384
+            margin-left: 5rpx;
385
+          }
386
+          &.ativedata {
387
+            width: 28rpx;
388
+            height: 28rpx;
389
+            background: #1f7cff;
390
+            z-index: 66;
391
+          }
392
+        }
393
+      }
394
+      .title-cs {
395
+        font-weight: 400;
396
+        font-size: 28rpx;
397
+        color: #333333;
398
+        line-height: 40rpx;
399
+      }
400
+      .title-time {
401
+        font-weight: 400;
402
+        font-size: 26rpx;
403
+        color: #999999;
404
+        padding-top: 10rpx;
405
+      }
406
+    }
407
+  }
408
+}
409
+</style>