From 27574a1ced87c9b32655b9c1c16c09a68c417634 Mon Sep 17 00:00:00 2001 From: huliyong <2783385703@qq.com> Date: Tue, 15 Apr 2025 14:27:35 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E8=AE=A2=E5=8D=95=E7=AE=A1=E7=90=86):?= =?UTF-8?q?=20=E4=BC=98=E5=8C=96=E8=AE=A2=E5=8D=95=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=92=8C=E6=9C=8D=E5=8A=A1=E6=A1=A3=E6=A1=88=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重构订单管理页面的样式和布局,增加圆角和溢出隐藏 - 提取服务时间处理逻辑到独立工具文件 utils/serviceTime.js - 优化宠物档案页面的数据展示,使用计算属性动态显示疫苗、驱虫和绝育状态 - 新增时间线服务组件 timelineService.vue,用于展示订单服务时间线 - 修复订单列表和详情页面的数据展示问题,优化用户体验 --- api/system/user.js | 7 + manifest.json | 2 +- .../myOrdersManage/service/index - 副本.vue | 80 ++++ otherPages/myOrdersManage/service/index.vue | 236 +++++++--- otherPages/orderTakingManage/pet/detail.vue | 52 ++- pages/myOrdersManage/components/systemOrder.vue | 17 +- .../myOrdersManage/components/timelineService.vue | 504 +++++++++++++++++++++ pages/myOrdersManage/index.scss | 2 + pages/myOrdersManage/index.vue | 32 +- pages/orderTakingManage/components/list.vue | 21 +- pages/orderTakingManage/index.scss | 5 + pages/orderTakingManage/index.vue | 31 +- utils/serviceTime.js | 43 ++ 13 files changed, 906 insertions(+), 126 deletions(-) create mode 100644 otherPages/myOrdersManage/service/index - 副本.vue create mode 100644 pages/myOrdersManage/components/timelineService.vue create mode 100644 utils/serviceTime.js diff --git a/api/system/user.js b/api/system/user.js index abd00a6..896a498 100644 --- a/api/system/user.js +++ b/api/system/user.js @@ -35,4 +35,11 @@ export const wxLogin = (data) => { method: 'post', data }) +} +// 字典 +export function getDictList(type){ + return request({ + url: `/h5/system/dict/data/type/${type}`, + method: 'get' + }) } \ No newline at end of file diff --git a/manifest.json b/manifest.json index 055404f..495b4fd 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { "name" : "uni-vuu3", - "appid" : "__UNI__08423D1", + "appid" : "__UNI__197A38F", "description" : "", "versionName" : "1.0.0", "versionCode" : "100", diff --git a/otherPages/myOrdersManage/service/index - 副本.vue b/otherPages/myOrdersManage/service/index - 副本.vue new file mode 100644 index 0000000..e65d635 --- /dev/null +++ b/otherPages/myOrdersManage/service/index - 副本.vue @@ -0,0 +1,80 @@ + + + + + \ No newline at end of file diff --git a/otherPages/myOrdersManage/service/index.vue b/otherPages/myOrdersManage/service/index.vue index e65d635..f0fb546 100644 --- a/otherPages/myOrdersManage/service/index.vue +++ b/otherPages/myOrdersManage/service/index.vue @@ -1,80 +1,180 @@ - - \ No newline at end of file diff --git a/otherPages/orderTakingManage/pet/detail.vue b/otherPages/orderTakingManage/pet/detail.vue index c4e3458..3a60b68 100644 --- a/otherPages/orderTakingManage/pet/detail.vue +++ b/otherPages/orderTakingManage/pet/detail.vue @@ -84,7 +84,8 @@ 疫苗 - 有免疫史 + + {{ vaccineText }} @@ -96,7 +97,8 @@ 请选择 --> - 未驱虫 + {{ dewormText }} + @@ -104,7 +106,8 @@ 绝育 - 已绝育 + {{ neuteredText }} + @@ -136,7 +139,9 @@ \ No newline at end of file diff --git a/pages/myOrdersManage/index.scss b/pages/myOrdersManage/index.scss index 74daa66..04d4aca 100644 --- a/pages/myOrdersManage/index.scss +++ b/pages/myOrdersManage/index.scss @@ -25,6 +25,8 @@ .container-list-item { background: #FFFFFF; + border-radius: 20rpx; + overflow: hidden; } .header-buts{ background: #FFBF60; diff --git a/pages/myOrdersManage/index.vue b/pages/myOrdersManage/index.vue index 0b40fdc..850e42f 100644 --- a/pages/myOrdersManage/index.vue +++ b/pages/myOrdersManage/index.vue @@ -16,7 +16,7 @@ }" :inactiveStyle="{ color: '#FFFFFF', transform: 'scale(1)' - }" :itemStyle="{height:'88rpx',padding:'0 52rpx'}" lineColor="#FFFFFF"> + }" :itemStyle="{height:'88rpx',width : '33%'}" lineColor="#FFFFFF"> @@ -35,7 +35,8 @@ - + + @@ -48,6 +49,7 @@ } from "vue"; import systemOrder from "./components/systemOrder.vue"; import orderListByData from "./components/orderListByData.vue"; + import timelineService from "./components/timelineService.vue"; import { onShow } from "@dcloudio/uni-app" @@ -62,6 +64,7 @@ import { useStore } from "vuex" +import { getOrderServiceText, getProductNameText } from '@/utils/serviceTime.js' onShow(() => { if (!getLoginStatus()) return; @@ -80,19 +83,19 @@ const tabList1 = reactive([{ name: '待服务', badge: { - // value: 5, + value: 0, } }, { name: '进行中', badge: { - // value: 5, + value: 0, } }, { name: '已完成', badge: { - // value: 5, + value: 0, } }, ]) @@ -100,13 +103,13 @@ const tabList2 = reactive([{ name: '待上门', badge: { - // value: 5, + value: 0, } }, { name: '已完成', badge: { - // value: 5, + value: 0, } }, ]) @@ -118,7 +121,20 @@ }) .then(res => { if (res.code == 200) { - list.value = res.data + list.value = res.data.rows + + if(activeIndex.value == 0){ + tabList2[current.value].badge.value = res.data.total + }else{ + tabList1[current.value].badge.value = res.data.total + } + + list.value.forEach(item => { + item.h5OrderVO.petVOList.forEach(pet => { + pet.orderServiceText = getOrderServiceText(pet.id, item.h5OrderVO.orderServiceList) + pet.productNameText = getProductNameText(pet.id, item.h5OrderVO.orderItemList, item.h5OrderVO.orderServiceList) + }) + }) } }) } diff --git a/pages/orderTakingManage/components/list.vue b/pages/orderTakingManage/components/list.vue index 670e1d1..d6ec38d 100644 --- a/pages/orderTakingManage/components/list.vue +++ b/pages/orderTakingManage/components/list.vue @@ -15,7 +15,7 @@ - 服务天数: 共{{ pet.orderServiceText.length }}天 I {{ pet.orderServiceText.join(',') }} + 服务天数: 共{{ pet.orderServiceText.length }}天 I {{ pet.orderServiceText.join(',') }} - {{ pet.breed }}{{ pet.bodyType }} | {{ pet.productNameText.join(',') }} + {{ pet.breed }}{{ pet.bodyType }} | {{ pet.productNameText.join(',') }}