From 671c24b65491f81399a79bd7ceef1d1b234613e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=AF=85?= <1335909236@qq.com> Date: Fri, 29 Aug 2025 16:53:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=99=BA=E6=85=A7=E5=81=9C?= =?UTF-8?q?=E8=BD=A6=E6=A8=A1=E5=9D=97=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/localLife/detail/index.vue | 46 +- packages/myOrders/sendBack/index.vue | 1 - packages/park/addCar/index.css | 106 +++++ packages/park/addCar/index.vue | 87 ++++ packages/park/index/index.css | 58 +++ packages/park/index/index.vue | 37 ++ packages/park/monthlyPayment/index.css | 295 ++++++++++++ packages/park/monthlyPayment/index.vue | 269 +++++++++++ packages/park/monthlyPaymentOrder/index.css | 147 ++++++ packages/park/monthlyPaymentOrder/index.vue | 191 ++++++++ packages/park/orderDetail/index.css | 166 +++++++ packages/park/orderDetail/index.vue | 129 ++++++ packages/park/parkOrder/index.css | 181 ++++++++ packages/park/parkOrder/index.vue | 152 +++++++ packages/park/parkOrderDetail/index.css | 151 +++++++ packages/park/parkOrderDetail/index.vue | 97 ++++ packages/park/temporaryOrder/index.css | 477 ++++++++++++++++++++ packages/park/temporaryOrder/index.vue | 308 +++++++++++++ packages/shop/groupPurchase/index.vue | 7 + packages/shop/groupPurchaseSubmit/index.vue | 2 +- pages.json | 25 +- pages/index/index.css | 1 - 22 files changed, 2902 insertions(+), 31 deletions(-) create mode 100644 packages/park/addCar/index.css create mode 100644 packages/park/addCar/index.vue create mode 100644 packages/park/index/index.css create mode 100644 packages/park/index/index.vue create mode 100644 packages/park/monthlyPayment/index.css create mode 100644 packages/park/monthlyPayment/index.vue create mode 100644 packages/park/monthlyPaymentOrder/index.css create mode 100644 packages/park/monthlyPaymentOrder/index.vue create mode 100644 packages/park/orderDetail/index.css create mode 100644 packages/park/orderDetail/index.vue create mode 100644 packages/park/parkOrder/index.css create mode 100644 packages/park/parkOrder/index.vue create mode 100644 packages/park/parkOrderDetail/index.css create mode 100644 packages/park/parkOrderDetail/index.vue create mode 100644 packages/park/temporaryOrder/index.css create mode 100644 packages/park/temporaryOrder/index.vue diff --git a/packages/localLife/detail/index.vue b/packages/localLife/detail/index.vue index 3a7944b8..b4174d66 100644 --- a/packages/localLife/detail/index.vue +++ b/packages/localLife/detail/index.vue @@ -157,30 +157,32 @@ export default { }, //获取评论列表 getCommentList() { - request(apiArr.getMerchantComment, "POST", { - page_num: this.page_num, - page_size: this.page_size, - merchant_id: this.info.id, - }).then(res => { - this.page_num++ - if (res.rows.length == this.page_size) { - this.flag = true; - } else { - this.flag = false; - } - this.isShow = res.rows[0].merchant_info.quick_purchase_enabled == 1 - const list = res.rows.filter((item) => { - return item.status == 2; - }); - - list.forEach(item => { - item.merchant_evaluation_reply_list =item.merchant_evaluation_reply_list.filter((item) => { + if (uni.getStorageSync('userId')) { + request(apiArr.getMerchantComment, "POST", { + page_num: this.page_num, + page_size: this.page_size, + merchant_id: this.info.id, + }).then(res => { + this.page_num++ + if (res.rows.length == this.page_size) { + this.flag = true; + } else { + this.flag = false; + } + this.isShow = res.rows[0].merchant_info.quick_purchase_enabled == 1 + const list = res.rows.filter((item) => { return item.status == 2; - }) - }) + }); - this.commentList = this.commentList.concat(list); - }) + list.forEach(item => { + item.merchant_evaluation_reply_list = item.merchant_evaluation_reply_list.filter((item) => { + return item.status == 2; + }) + }) + + this.commentList = this.commentList.concat(list); + }) + } }, getMerchantInfo() { diff --git a/packages/myOrders/sendBack/index.vue b/packages/myOrders/sendBack/index.vue index afde5bd4..2013eb4f 100644 --- a/packages/myOrders/sendBack/index.vue +++ b/packages/myOrders/sendBack/index.vue @@ -92,7 +92,6 @@ + + \ No newline at end of file diff --git a/packages/park/index/index.css b/packages/park/index/index.css new file mode 100644 index 00000000..d4e45b8a --- /dev/null +++ b/packages/park/index/index.css @@ -0,0 +1,58 @@ +page { + background-color: #f5f7fb; + padding-top: 20rpx; +} + + +/* 车辆信息容器样式 */ +.car-info-container { + width: 100%; + background-color: #ffffff; + padding: 30rpx; + margin-bottom: 30rpx; + box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05); +} + +/* 车牌样式 */ +.license-plate { + display: flex; + align-items: center; + gap: 20rpx; +} + +/* 车牌类型标签样式 */ +.plate-type-box{ + padding: 11rpx 2rpx; + border: 1rpx solid #1890ff; + border-radius: 8rpx; +} + +.plate-type { + background-color: #1890ff; + color: white; + padding: 10rpx 20rpx; + border-radius: 8rpx; + font-size: 28rpx; +} + +/* 车牌号样式 */ +.plate-number { + font-size: 32rpx; + color: #333333; + font-weight: 500; +} + +/* 添加车辆按钮样式 */ +.add-car-btn { + height: 100rpx; + width: 80%; + background-color: #ff3f15; + line-height: 100rpx; + color: white; + border-radius: 50rpx; + font-size: 32rpx; + font-weight: 500; + position: absolute; + bottom: 100rpx; + left: 10%; +} \ No newline at end of file diff --git a/packages/park/index/index.vue b/packages/park/index/index.vue new file mode 100644 index 00000000..6e6883d9 --- /dev/null +++ b/packages/park/index/index.vue @@ -0,0 +1,37 @@ + + + + + \ No newline at end of file diff --git a/packages/park/monthlyPayment/index.css b/packages/park/monthlyPayment/index.css new file mode 100644 index 00000000..30e3a42d --- /dev/null +++ b/packages/park/monthlyPayment/index.css @@ -0,0 +1,295 @@ +/* 包月支付页面样式 */ +page { + background-color: #f5f7fb; + overflow-y: hidden; +} + +.monthly-payment-container { + box-sizing: border-box; + width: 100%; +} + +.overlay { + position: absolute; + top: 90rpx; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.5); + z-index: 98; +} + +/* 下拉停车场列表样式 */ +.parking-list { + background-color: #ffffff; + padding: 20rpx 30rpx; + border-bottom: 1rpx solid #f0f0f0; + border-radius: 0 0 40rpx 40rpx; + position: fixed; + top: 80rpx; + left: 0; + right: 0; + z-index: 999; +} + +/* 搜索框样式 */ +.search-box { + display: flex; + align-items: center; + background-color: #f5f7fb; + border-radius: 50rpx; + padding: 20rpx 30rpx; + margin: 20rpx 0; +} + +.search-icon { + margin-right: 15rpx; +} + +.search-input { + flex: 1; + font-size: 26rpx; + color: #333333; + background-color: transparent; +} + +/* 停车场列表项样式 */ +.parking-items { + max-height: 600rpx; + overflow-y: auto; +} + +.parking-item { + display: flex; + align-items: center; + justify-content: space-between; + padding: 25rpx 0; + border-bottom: 1rpx solid #f0f0f0; +} + +.parking-item:last-child { + border-bottom: none; +} + +.parking-item-right { + flex: 1; +} + +.parking-name { + font-size: 32rpx; + font-weight: bold; + color: #333333; + margin-bottom: 10rpx; + display: block; +} + +.parking-distance { + font-size: 26rpx; + color: #999999; + margin-right: 20rpx; +} + +.parking-address { + font-size: 26rpx; + color: #999999; + display: block; + margin-top: 8rpx; +} + +.parking-item-left { + display: flex; + align-items: flex-start; + position: relative; +} + +.parking-selected { + font-size: 40rpx; + color: #ff4219; + position: relative; + right: 30rpx; +} + +.parking-spaces { + background-color: #ffeeee; + border-radius: 20rpx; + padding: 8rpx 16rpx; + display: flex; + flex-direction: column; + align-items: center; + margin-right: 30rpx; +} + +.spaces-label { + font-size: 22rpx; + color: #ff4219; + margin-bottom: 4rpx; +} + +.spaces-number { + font-size: 30rpx; + font-weight: bold; + color: #ff4219; +} + +/* 顶部标题样式 */ +.header { + display: flex; + align-items: center; + justify-content: center; + position: relative; + background-color: #fff3f1; + padding: 20rpx 0; + height: 45rpx; +} + +.header-title { + font-size: 32rpx; + font-weight: 500; + color: #333333; + text-align: center; + margin-right: 10rpx; + font-weight: bold; +} + +.header-arrow { + width: 30rpx; + height: 30rpx; + margin-left: 10rpx; +} + +/* 车辆信息样式 */ +.car-info { + display: flex; + justify-content: center; + margin: 40rpx 0; +} + +.car-image { + width: 400rpx; + height: 200rpx; + position: absolute; + top: 193rpx; +} + +/* 停车场信息样式 */ +.park-info { + margin-bottom: 20rpx; + margin-top: 50rpx; +} + +.park-name { + font-size: 32rpx; + color: #333333; +} + +.park-type { + font-size: 28rpx; + color: #ff4d4f; + margin-left: 30rpx; + font-weight: bold; +} + +/* 支付金额样式 */ +.payment-amount { + margin-bottom: 30rpx; +} + +.amount-label { + display: block; + font-size: 26rpx; + color: #c8c7c7; + margin-bottom: 10rpx; +} + +.amount-value { + font-size: 40rpx; + color: #ff4d4f; +} + +/* 选项列表样式 */ +.options-list { + background-color: #ffffff; + border-radius: 20rpx; + overflow: hidden; + border-radius: 30rpx; + margin: 200rpx 30rpx 0; + padding: 30rpx; +} + +.option-item { + padding: 20rpx 30rpx; + border-radius: 50rpx; + margin-bottom: 25rpx; + background-color: #f5f7fb; + transition: all 0.3s ease; +} + +.option-right { + display: flex; + align-items: center; +} + +.option-box { + display: flex; + justify-content: space-between; + align-items: center; +} + +.option-image { + width: 35rpx; + height: 35rpx; + margin-left: 20rpx; +} + +.option-label { + font-size: 26rpx; + color: #333333; + font-weight: bold; +} + +.option-val { + color: #ff370a; +} + +.option-val2 { + margin: 0 auto; +} + +.option-value { + font-size: 26rpx; + color: #999999; + flex: 1; + text-align: right; + margin-right: 20rpx; +} + +.option-arrow { + width: 24rpx; + height: 24rpx; +} + +/* 下一步按钮样式 */ +.next-step-btn { + background-color: #ff4219; + color: #ffffff; + text-align: center; + padding: 20rpx; + border-radius: 100rpx; + margin: 40rpx 0; +} + +.next-step-text { + font-size: 36rpx; + font-weight: 500; +} + +/* 订单记录样式 */ +.order-record { + text-align: center; + margin-top: 50rpx; +} + +.order-record-text { + font-size: 28rpx; + color: #ff3f11; +} \ No newline at end of file diff --git a/packages/park/monthlyPayment/index.vue b/packages/park/monthlyPayment/index.vue new file mode 100644 index 00000000..ac87732e --- /dev/null +++ b/packages/park/monthlyPayment/index.vue @@ -0,0 +1,269 @@ + + + + + \ No newline at end of file diff --git a/packages/park/monthlyPaymentOrder/index.css b/packages/park/monthlyPaymentOrder/index.css new file mode 100644 index 00000000..111782e9 --- /dev/null +++ b/packages/park/monthlyPaymentOrder/index.css @@ -0,0 +1,147 @@ +page{ + background-color: #f4f7fb; + overflow-y: hidden; +} + +.tabs { + display: flex; + align-items: center; + background: #ffffff; + height: 100rpx; + padding: 0 20rpx; + box-sizing: border-box; + display: flex; + overflow-x: auto; + white-space: nowrap; +} + +.tabItem { + font-size: 25rpx; + color: #222222; + margin-right: 60rpx; + height: 42rpx; +} + +.active2 { + font-size: 25rpx; + font-weight: 700; + position: relative; +} + +.active2::after { + content: ''; + background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_active.png) no-repeat; + background-size: 100% 100%; + width: 52rpx; + height: 22rpx; + position: absolute; + left: 50%; + bottom: -16rpx; + transform: translateX(-50%); +} + +/* 订单列表样式 */ +.order-list { + padding: 30rpx; + height: 85vh; + overflow-y: auto; +} + +.order-card { + background-color: #ffffff; + border-radius: 20rpx; + margin-bottom: 30rpx; + overflow: hidden; +} + +.order-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 30rpx; + background: linear-gradient(to right, #ffe7e7, #ffffff); +} + +.order-number { + font-size: 26rpx; + color: #333; + font-weight: bold; +} + +.order-status { + font-size: 26rpx; + padding: 5rpx 20rpx; + border-radius: 50rpx; +} + +.order-status.pending { + color: #999999; +} + +.order-status.using { + color: #ff4219; +} + +.order-status.expired { + color: #999999; +} + +.order-content { + padding: 30rpx; +} + +.order-item { + display: flex; + justify-content: space-between; + align-items: center; + padding: 20rpx 0; +} + +.order-item.amount { + padding-top: 30rpx; +} + +.order-label { + font-size: 28rpx; + color: #666666; +} + +.order-value { + font-size: 28rpx; + color: #333333; + text-align: right; +} + +.amount-value { + color: #ff4219; + font-size: 32rpx; + font-weight: bold; +} + +.order-value.paid { + color: #4CD964; +} + +.order-footer { + display: flex; + justify-content: flex-end; + padding: 30rpx; + border-top: 1rpx solid #f0f0f0; +} + +.cancel-button { + font-size: 28rpx; + color: #333; + background-color: #d9d9d9; + padding: 15rpx 40rpx; + border-radius: 50rpx; + margin-right: 20rpx; +} + +.pay-button { + font-size: 28rpx; + color: #ffffff; + background-color: #ff4219; + padding: 15rpx 40rpx; + border-radius: 50rpx; +} \ No newline at end of file diff --git a/packages/park/monthlyPaymentOrder/index.vue b/packages/park/monthlyPaymentOrder/index.vue new file mode 100644 index 00000000..a3685749 --- /dev/null +++ b/packages/park/monthlyPaymentOrder/index.vue @@ -0,0 +1,191 @@ + + + + + \ No newline at end of file diff --git a/packages/park/orderDetail/index.css b/packages/park/orderDetail/index.css new file mode 100644 index 00000000..cffb54db --- /dev/null +++ b/packages/park/orderDetail/index.css @@ -0,0 +1,166 @@ +/* 订单详情页面样式 */ +page{ + background-color: #f5f7fb; +} + +/* 容器样式 */ +.order-detail-container { + width: 100%; + min-height: 100vh; +} + +/* 订单状态区域 */ +.order-status-section { + height: 200rpx; + display: flex; + justify-content: space-between; + align-items: center; + padding: 10rpx 50rpx; + background-color: #f5f7fb; +} + +.status-left { + flex: 1; +} + +.status-title { + font-size: 40rpx; + font-weight: 600; + color: #333333; + display: block; + margin-bottom: 10rpx; +} + +.park-name { + font-size: 28rpx; + color: #333; +} + +.status-right { + width: 250rpx; + height: 100%; + display: flex; + justify-content: center; + align-items: center; +} + +.success-icon { + width: 100%; + height: 100%; +} + +/* 金额信息区域 */ +.amount-section { + background-color: #ffffff; + margin-bottom: 20rpx; +} + +.amount-item { + display: flex; + justify-content: space-between; + align-items: center; + padding: 30rpx 40rpx; + border-bottom: 1rpx solid #eeeeee; +} + +.amount-item:last-child { + border-bottom: none; +} + +.amount-label { + font-size: 30rpx; + color: #333; + font-weight: bold; +} + +.amount-label2 { + font-size: 26rpx; + color: #666666; +} + +.amount-value { + display: flex; + align-items: center; +} + +.amount-value text { + font-size: 40rpx; + font-weight: 600; + color: #333333; + margin-right: 10rpx; +} + +.arrow-icon { + width: 24rpx; + height: 24rpx; + transition: transform 0.3s; +} + +/* 服务信息区域 */ +.service-section { + background-color: #ffffff; + padding-bottom: 30rpx; +} + +.section-title { + font-size: 32rpx; + font-weight: 600; + color: #333333; + padding: 30rpx 40rpx 20rpx; + display: block; +} + +.info-item { + display: flex; + justify-content: space-between; + align-items: center; + padding: 25rpx 40rpx; +} + +.info-label { + font-size: 30rpx; + color: #666666; +} + +.info-item text:last-child { + font-size: 30rpx; + color: #333333; + text-align: right; + flex: 1; + margin-left: 20rpx; +} + +/* 订单号容器 */ +.order-number-container { + display: flex; + align-items: center; + flex: 1; + justify-content: flex-end; +} + +.order-number-container text { + font-size: 30rpx; + color: #333333; + margin-right: 10rpx; +} + +.copy-icon { + width: 36rpx; + height: 36rpx; + cursor: pointer; +} + +/* 触摸反馈效果 */ +.amount-item:active, +.copy-icon:active { + background-color: rgba(0, 0, 0, 0.05); +} + +/* 适配不同屏幕尺寸的响应式调整 */ +@media screen and (min-width: 768px) { + .order-detail-container { + max-width: 768px; + margin: 0 auto; + box-shadow: 0 0 20rpx rgba(0, 0, 0, 0.1); + } +} \ No newline at end of file diff --git a/packages/park/orderDetail/index.vue b/packages/park/orderDetail/index.vue new file mode 100644 index 00000000..76bc9417 --- /dev/null +++ b/packages/park/orderDetail/index.vue @@ -0,0 +1,129 @@ + + + + + \ No newline at end of file diff --git a/packages/park/parkOrder/index.css b/packages/park/parkOrder/index.css new file mode 100644 index 00000000..6f7d40a2 --- /dev/null +++ b/packages/park/parkOrder/index.css @@ -0,0 +1,181 @@ +/* 页面基础样式 */ +page { + background-color: #f5f7fb; + box-sizing: border-box; +} + +.order-list { + width: 100%; +} + +/* 月份分组样式 */ +.month-group { +} + +.month-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 30rpx; + font-size: 26rpx; + color: #999999; +} + +.month-title { +} + +.month-expense { +} + +/* 订单项样式 */ +.order-item { + background-color: #ffffff; + padding: 30rpx; + display: flex; + justify-content: space-between; + align-items: center; + box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05); + position: relative; + border-bottom: 1rpx solid #eeeeee; +} + +.order-left { + flex: 1; + display: flex; + flex-direction: column; +} + +/* 订单类型样式 */ +.order-type { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 20rpx; +} +.order-type1 { + display: flex; + align-items: center; +} + +.order-icon { + width: 40rpx; + height: 40rpx; + margin-right: 10rpx; +} + +.order-type-text { + font-size: 28rpx; + color: #333333; + margin-right: 15rpx; +} + +.order-status { + font-size: 24rpx; + color: #333; +} + +/* 停车场信息样式 */ +.order-park-info { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 15rpx; +} + +.order-park-name { + font-size: 28rpx; + color: #333333; + font-weight: bold; + flex: 1; +} + +.order-amount { + font-size: 36rpx; + color: #333; + font-weight: bold; + margin-left: 20rpx; +} + +/* 车辆信息样式 */ +.order-car-info { + display: flex; + align-items: center; + margin-bottom: 15rpx; +} + +.order-car-number { + font-size: 28rpx; + color: #999999; + margin-right: 15rpx; +} + +.order-car-type { + font-size: 24rpx; + padding: 4rpx 16rpx; + border-radius: 20rpx; + background-color: #fff1f0; + color: #ff4d4f; +} + +/* 时间样式 */ +.order-time { + font-size: 24rpx; + color: #999999; +} + +/* 删除按钮样式 */ +.delete-button { + width: 40rpx; + height: 40rpx; + position: absolute; + bottom: 30rpx; + right: 30rpx; +} + +/* 空状态样式 */ +.empty-state { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 100rpx 0; +} + +.empty-icon { + width: 200rpx; + height: 200rpx; + margin-bottom: 30rpx; +} + +.empty-text { + font-size: 28rpx; + color: #999999; +} + +/* 响应式调整 */ +@media screen and (min-width: 768px) { + .order-item { + padding: 40rpx; + } + + .month-title { + font-size: 32rpx; + } + + .order-park-name { + font-size: 36rpx; + } + + .order-amount { + font-size: 40rpx; + } +} + +/* 触摸反馈样式 */ +.order-item:active { + background-color: #f8f8f8; +} + +.delete-button:active { + opacity: 0.7; +} \ No newline at end of file diff --git a/packages/park/parkOrder/index.vue b/packages/park/parkOrder/index.vue new file mode 100644 index 00000000..5dff6484 --- /dev/null +++ b/packages/park/parkOrder/index.vue @@ -0,0 +1,152 @@ + + + + + \ No newline at end of file diff --git a/packages/park/parkOrderDetail/index.css b/packages/park/parkOrderDetail/index.css new file mode 100644 index 00000000..1aa8fab6 --- /dev/null +++ b/packages/park/parkOrderDetail/index.css @@ -0,0 +1,151 @@ +/* 订单详情页面样式 */ +page { + background-color: #f5f7fb; +} + +/* 容器样式 */ +.order-detail-container { + padding: 0; + margin: 0; + display: flex; + flex-direction: column; +} + +/* 支付金额头部 */ +.payment-header { + background-color: #ffffff; + padding: 30rpx; + border-bottom: 1rpx solid #f0f0f0; + margin-top: 20rpx; +} + +.amount-info { + display: flex; + align-items: baseline; +} + +.amount-symbol { + font-size: 32rpx; + color: #333333; +} + +.amount-value { + font-size: 40rpx; + font-weight: bold; + color: #333333; + margin-left: 10rpx; +} + +.payment-status { + font-size: 24rpx; + color: #ffffff; + background-color: #ff4219; + padding: 2rpx 15rpx; + border-radius: 30rpx; + margin-left: 15rpx; +} + +/* 订单详情内容 */ +.order-content { + padding: 40rpx 40rpx 0 40rpx; + background-color: #ffffff; +} + +.detail-item { + display: flex; + justify-content: space-between; + align-items: center; + padding: 30rpx 0; +} + +.detail-label { + font-size: 26rpx; + color: #a7a7a7; + width: 180rpx; +} + +.detail-value { + font-size: 26rpx; + color: #333333; + flex: 1; + text-align: right; +} + +.park-type { + color: #ff4219; + margin-right: 10rpx; +} + +/* 支付方式选择 */ +.payment-method { + margin-top: 20rpx; + background-color: #ffffff; + padding: 30rpx 40rpx; +} + +.method-item { + display: flex; + justify-content: space-between; + align-items: center; +} + +.method-info { + display: flex; + align-items: center; +} + +.method-info-img { + width: 50rpx; + height: 50rpx; + margin-right: 20rpx; +} + +.method-text { + font-size: 32rpx; + color: #333333; +} + +/* 底部支付栏 */ +.bottom-payment { + display: flex; + align-items: center; + justify-content: space-between; + padding: 30rpx 40rpx; + background-color: #ffffff; + border-top: 1rpx solid #f0f0f0; + position: fixed; + bottom: 0; + left: 0; + right: 0; + z-index: 999; +} + +.total-amount { + display: flex; + align-items: baseline; +} + +.total-label { + font-size: 32rpx; + color: #666666; +} + +.total-value { + font-size: 40rpx; + font-weight: bold; + color: #ff4219; + margin-left: 10rpx; +} + +.pay-button { + background-color: #ff4219; + color: #ffffff; + padding: 20rpx 60rpx; + border-radius: 50rpx; +} + +.pay-text { + font-size: 34rpx; + font-weight: bold; + color: #ffffff; +} \ No newline at end of file diff --git a/packages/park/parkOrderDetail/index.vue b/packages/park/parkOrderDetail/index.vue new file mode 100644 index 00000000..24ef3010 --- /dev/null +++ b/packages/park/parkOrderDetail/index.vue @@ -0,0 +1,97 @@ + + + + + \ No newline at end of file diff --git a/packages/park/temporaryOrder/index.css b/packages/park/temporaryOrder/index.css new file mode 100644 index 00000000..f4c1539c --- /dev/null +++ b/packages/park/temporaryOrder/index.css @@ -0,0 +1,477 @@ +page { + background-color: #f5f7fb; + overflow-y: hidden; +} + +.monthly-payment-container { + box-sizing: border-box; + width: 100%; +} + +.header { + display: flex; + align-items: center; + justify-content: center; + position: relative; + background-color: #fff3f1; + padding: 20rpx 0; + height: 45rpx; +} + +.header-title { + font-size: 32rpx; + font-weight: 500; + color: #333333; + text-align: center; + margin-right: 10rpx; + font-weight: bold; +} + +.header-arrow { + width: 30rpx; + height: 30rpx; + margin-left: 10rpx; +} + +/* 搜索框样式 */ +.search-box { + display: flex; + align-items: center; + background-color: #f5f7fb; + border-radius: 50rpx; + padding: 20rpx 30rpx; + margin: 20rpx 0; +} + +.search-icon { + margin-right: 15rpx; +} + +.search-input { + flex: 1; + font-size: 26rpx; + color: #333333; + background-color: transparent; +} + +/* 下拉停车场列表样式 */ +.parking-list { + background-color: #ffffff; + padding: 20rpx 30rpx; + border-bottom: 1rpx solid #f0f0f0; + border-radius: 0 0 40rpx 40rpx; + position: fixed; + top: 80rpx; + left: 0; + right: 0; + z-index: 999; +} + +.overlay { + position: absolute; + top: 90rpx; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.5); + z-index: 98; +} + +.parking-items { + max-height: 600rpx; + overflow-y: auto; +} + +.parking-item { + display: flex; + align-items: center; + justify-content: space-between; + padding: 25rpx 0; + border-bottom: 1rpx solid #f0f0f0; +} + +.parking-item:last-child { + border-bottom: none; +} + +.parking-item-right { + flex: 1; +} + +.parking-name { + font-size: 32rpx; + font-weight: bold; + color: #333333; + margin-bottom: 10rpx; + display: block; +} + +.parking-distance { + font-size: 26rpx; + color: #999999; + margin-right: 20rpx; +} + +.parking-address { + font-size: 26rpx; + color: #999999; + display: block; + margin-top: 8rpx; +} + +.parking-item-left { + display: flex; + align-items: flex-start; + position: relative; +} + +.parking-selected { + font-size: 40rpx; + color: #ff4219; + position: relative; + right: 30rpx; +} + +.parking-spaces { + background-color: #ffeeee; + border-radius: 20rpx; + padding: 8rpx 16rpx; + display: flex; + flex-direction: column; + align-items: center; + margin-right: 30rpx; +} + +.spaces-label { + font-size: 22rpx; + color: #ff4219; + margin-bottom: 4rpx; +} + +.spaces-number { + font-size: 30rpx; + font-weight: bold; + color: #ff4219; +} + +/* 车辆选择器 */ +.changeCar { + background-color: #fff; + border-bottom: 1rpx solid #eeeeee; + position: relative; +} + +.car-selector { + width: 27%; + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 30rpx; + height: 100rpx; +} + +.selected-car-text { + font-size: 28rpx; + color: #333333; + font-weight: bold; +} + +/* 车辆下拉列表样式 */ +.car-dropdown { + width: 33%; + background-color: #ffffff; + border-top: 1rpx solid #f0f0f0; + position: absolute; + top: 100rpx; + left: 0; + right: 0; + z-index: 999; + box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.1); + margin-left: 50rpx; + border-radius: 20rpx; +} + +.dropdown-arrow { + position: absolute; + top: -8px; + left: 20%; + transform: translateX(-50%); + width: 0; + height: 0; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-bottom: 8px solid #fff; +} + +/* 车辆选项样式 */ +.car-item { + padding: 30rpx; + font-size: 28rpx; + color: #333333; + border-bottom: 1rpx solid #f0f0f0; + text-align: center; + font-weight: bold; +} + +.car-item:last-child { + border-bottom: none; +} + +.car-item:active { + background-color: #f5f7fb; +} + +.container { + background-color: #fff; + padding: 30rpx; +} + +.title { + font-size: 30rpx; + margin-top: 10rpx; + margin-bottom: 30rpx; + text-align: center; +} + +.selectColorBox { + width: 95%; + display: flex; + justify-content: space-between; + align-items: center; + margin: 30rpx auto 0; +} + +.selectColor { + display: flex; + justify-content: space-between; + align-items: center; +} + +.color { + margin-right: 10rpx; +} + +/* 弹窗样式 */ +.payIpt { + background-color: #fff; + border-radius: 30rpx 30rpx 0 0; + overflow: hidden; +} + +.tit { + font-size: 32rpx; + text-align: center; + padding: 30rpx 0; + font-weight: bold; + border-bottom: 1rpx solid #eee; +} + +/* 颜色列表样式 */ +.color-list { + max-height: 500rpx; + padding: 20rpx 0; +} + +.color-item { + font-size: 28rpx; + text-align: center; + padding: 30rpx 0; + border-bottom: 1rpx solid #f0f0f0; +} + +.color-item:last-child { + border-bottom: none; +} + +.color-item.active { + color: #ff4016; +} + +/* 底部按钮样式 */ +.popup-footer { + display: flex; + border-top: 1rpx solid #eee; +} + +.cancel-btn, +.confirm-btn { + flex: 1; + text-align: center; + padding: 30rpx 0; + font-size: 32rpx; +} + +.cancel-btn { + color: #666; + border-right: 1rpx solid #eee; +} + +.confirm-btn { + color: #ff4016; +} + +/* 查询停车费 */ +.order-record { + text-align: center; + padding: 30rpx 0; + border-top: 1rpx solid #eeeeee; + background-color: #ffffff; +} + +.order-record-text { + font-size: 28rpx; + color: #ff3f11; +} + +/* 停车费展示部分样式 */ +.cost-container { + background-color: #ffffff; + padding: 40rpx 30rpx; + margin-top: 20rpx; +} + +.not-found{ + text-align: center; + font-size: 28rpx; + color: #999999; +} + +.cost-image{ + width: 100%; + height: 150rpx; + margin-bottom: 10rpx; +} + +.cost-header { + text-align: center; + margin-bottom: 20rpx; +} + +.cost-title { + font-size: 32rpx; + color: #333333; + font-weight: bold; +} + +.cost-title2 { + color: #999999; + margin-left: 10rpx; +} + +.cost-amount { + display: flex; + align-items: baseline; + justify-content: center; + margin-bottom: 20rpx; + font-size: 40rpx; + color: #ff3f11; + font-weight: bold; +} + +.amount-symbol { + margin-right: 10rpx; +} + +.amount-number { +} + +.cost-info { + margin-bottom: 30rpx; +} + +.info-item { + display: flex; + justify-content: center; + margin-bottom: 15rpx; + font-size: 24rpx; + color: #999999; +} + +.info-label { + margin-right: 10rpx; +} + +.info-value { +} + +.notice { + background-color: #fff8f4; + padding: 20rpx; + border-radius: 10rpx; + margin-bottom: 30rpx; +} + +.notice-text { + font-size: 26rpx; + color: #999999; + text-align: center; + display: block; +} + +.payment-methods { + margin-bottom: 40rpx; +} + +.payment-item { + display: flex; + align-items: center; + justify-content: space-between; + padding: 30rpx 0; + border-bottom: 1rpx solid #f0f0f0; + position: relative; +} + +.payment-item:last-child { + border-bottom: none; +} + +.payment-item-content { + display: flex; + align-items: center; +} + +.payment-icon { + width: 50rpx; + height: 50rpx; + margin-right: 20rpx; + border-radius: 50%; +} + +.payment-name { + font-size: 30rpx; + color: #333333; + font-weight: bold; +} + +.payment-selected { + width: 30rpx; + height: 30rpx; + border: 3rpx solid #ff3f11; + border-radius: 50%; + position: absolute; + right: 50rpx; +} + +.payment-selected::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 15rpx; + height: 15rpx; + background-color: #ff3f11; + border-radius: 50%; +} + +.pay-button { + width: 70%; + margin: 0 auto; + background-color: #ff370b; + color: #ffffff; + text-align: center; + padding: 20rpx 0; + font-size: 32rpx; + font-weight: bold; + border-radius: 50rpx; +} \ No newline at end of file diff --git a/packages/park/temporaryOrder/index.vue b/packages/park/temporaryOrder/index.vue new file mode 100644 index 00000000..2b77339c --- /dev/null +++ b/packages/park/temporaryOrder/index.vue @@ -0,0 +1,308 @@ + + + + + \ No newline at end of file diff --git a/packages/shop/groupPurchase/index.vue b/packages/shop/groupPurchase/index.vue index 733b3b42..01cbe02b 100644 --- a/packages/shop/groupPurchase/index.vue +++ b/packages/shop/groupPurchase/index.vue @@ -147,6 +147,13 @@ export default { }, methods: { getGoodsList() { + if(!uni.getStorageSync('userId')){ + uni.showToast({ + title: '请先登录', + icon: 'none' + }) + return + } const params = { user_id: uni.getStorageSync('userId') } diff --git a/packages/shop/groupPurchaseSubmit/index.vue b/packages/shop/groupPurchaseSubmit/index.vue index 24ffd787..f0c3d640 100644 --- a/packages/shop/groupPurchaseSubmit/index.vue +++ b/packages/shop/groupPurchaseSubmit/index.vue @@ -504,7 +504,7 @@ export default { trans_type: trans_type } request(apiArr.mergePreorder, "POST", param).then(res => { - console.log("🚀 ~ submitPayment ~ 调起微信支付...") + console.log("🚀 ~ submitPayment ~ 调起微信支付..." ,param) if (res && res.timeStamp && res.nonceStr && res.package && res.signType && res.paySign) { // 调用微信支付 diff --git a/pages.json b/pages.json index d613e7d2..da0b1a92 100644 --- a/pages.json +++ b/pages.json @@ -889,37 +889,50 @@ { "path": "addCar/index", "style": { - "navigationBarTitleText": "添加车辆" + "navigationBarTitleText": "添加车辆", + "navigationBarBackgroundColor": "#ffffff" } }, { "path": "monthlyPayment/index", "style": { - "navigationBarTitleText": "停车场包月" + "navigationBarTitleText": "停车场包月", + "navigationBarBackgroundColor": "#ffffff" } }, { "path": "parkOrderDetail/index", "style": { - "navigationBarTitleText": "订单详情" + "navigationBarTitleText": "订单详情", + "navigationBarBackgroundColor": "#ffffff" } }, { "path": "monthlyPaymentOrder/index", "style": { - "navigationBarTitleText": "包月订单" + "navigationBarTitleText": "包月订单", + "navigationBarBackgroundColor": "#ffffff" } }, { "path": "parkOrder/index", "style": { - "navigationBarTitleText": "停车订单" + "navigationBarTitleText": "停车订单", + "navigationBarBackgroundColor": "#ffffff" + } + }, + { + "path": "orderDetail/index", + "style": { + "navigationBarTitleText": "停车订单", + "navigationBarBackgroundColor": "#ffffff" } }, { "path": "temporaryOrder/index", "style": { - "navigationBarTitleText": "临时订单" + "navigationBarTitleText": "临时订单", + "navigationBarBackgroundColor": "#ffffff" } } ] diff --git a/pages/index/index.css b/pages/index/index.css index c3e60c1b..4de82fc0 100644 --- a/pages/index/index.css +++ b/pages/index/index.css @@ -596,7 +596,6 @@ page { z-index: 98; } - .store-item { display: flex; padding: 20rpx 0;