From 7b92f61721d29fd295002db85952fa5c2c6535d1 Mon Sep 17 00:00:00 2001
From: huliyong <2783385703@qq.com>
Date: Fri, 30 May 2025 21:46:48 +0800
Subject: [PATCH] =?UTF-8?q?feat(=E8=AE=A2=E5=8D=95):=20=E5=AE=9E=E7=8E=B0?=
=?UTF-8?q?=E6=96=B0=E7=89=88=E6=97=A5=E8=AE=A2=E5=8D=95=E6=89=93=E5=8D=A1?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 新增frequency.js接口文件,包含日订单列表查询、详情获取和打卡功能
- 修改myOrdersManage页面,使用新版日订单接口替代旧接口
- 更新timelineService组件,适配新版数据结构和展示逻辑
- 重构打卡页面,支持多宠物和多服务项目的打卡记录
- 调整环境配置,将默认环境改为develop并更新本地开发地址
---
api/order/frequency.js | 40 ++
api/order/order.js | 1 +
otherPages/myOrdersManage/clock/index - 副本.vue | 462 +++++++++++++++
otherPages/myOrdersManage/clock/index.vue | 139 ++++-
.../components/timelineService - 副本.vue | 636 +++++++++++++++++++++
.../myOrdersManage/components/timelineService.vue | 102 +---
pages/myOrdersManage/index.vue | 44 +-
pages/workbenchManage/index.vue | 4 +-
utils/getUrl.js | 7 +-
9 files changed, 1313 insertions(+), 122 deletions(-)
create mode 100644 api/order/frequency.js
create mode 100644 otherPages/myOrdersManage/clock/index - 副本.vue
create mode 100644 pages/myOrdersManage/components/timelineService - 副本.vue
diff --git a/api/order/frequency.js b/api/order/frequency.js
new file mode 100644
index 0000000..79483cd
--- /dev/null
+++ b/api/order/frequency.js
@@ -0,0 +1,40 @@
+import request from '@/utils/request'
+
+// 新版本日订单查询日订单列表
+export function appletOrderDateFrequencyList(params) {
+ return request({
+ headers: {
+ "isToken": true
+ },
+ url: "/applet/appletOrderDateFrequency/list",
+ method: 'get',
+ params
+ })
+}
+// 新版本日订单查询详情
+export function appletOrderDateFrequencyById(id) {
+ return request({
+ headers: {
+ "isToken": true
+ },
+ url: "/applet/appletOrderDateFrequency/" + id,
+ method: 'get',
+ })
+}
+// 新版本日订单打卡
+export function appletOrderDateFrequencyCheck(data) {
+ return request({
+ headers: {
+ "isToken": true
+ },
+ url: "/applet/appletOrderDateFrequency/check",
+ method: 'post',
+ data
+ })
+}
+
+export default {
+ appletOrderDateFrequencyList,
+ appletOrderDateFrequencyById,
+ appletOrderDateFrequencyCheck,
+}
\ No newline at end of file
diff --git a/api/order/order.js b/api/order/order.js
index 858b8c3..3878373 100644
--- a/api/order/order.js
+++ b/api/order/order.js
@@ -79,6 +79,7 @@ export function getPetCareByPetId(petId) {
})
}
+
export default {
getAppOrderList,
orderItemLogGetByOrderId,
diff --git a/otherPages/myOrdersManage/clock/index - 副本.vue b/otherPages/myOrdersManage/clock/index - 副本.vue
new file mode 100644
index 0000000..4b8a910
--- /dev/null
+++ b/otherPages/myOrdersManage/clock/index - 副本.vue
@@ -0,0 +1,462 @@
+
+
+
+
+
+ 个人准备
+
+
+ 手套照片
+ (至少1张)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 鞋套照片
+ (至少1张)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 宠物状态记录
+
+
+
+ {{ pet.title }}照片
+ (至少2张)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 基础服务记录
+
+ 粮碗前后对比
+
+
+
+
+
+
+
+
+ 前
+
+
+
+
+
+
+
+
+ 后
+
+
+ 水碗前后对比
+
+
+
+
+
+
+
+
+ 前
+
+
+
+
+
+
+
+
+ 后
+
+
+ 猫砂盆、尿垫前后对比
+
+
+
+
+
+
+
+
+ 前
+
+
+
+
+
+
+
+
+ 后
+
+
+
+
+
+ 定制服务记录
+
+
+ 遛狗
+ (2-3张)
+
+
+
+
+
+
+
+
+
+
+
+
+ 陪玩
+ (2-3张)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 其他补充信息(必填)
+
+
+ 可记录一下今日趣事、宠物状况、提醒事项等
+
+
+
+
+
+
+
+ 保存草稿
+
+
+
+ 确定提交
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/otherPages/myOrdersManage/clock/index.vue b/otherPages/myOrdersManage/clock/index.vue
index 928dceb..c050d0e 100644
--- a/otherPages/myOrdersManage/clock/index.vue
+++ b/otherPages/myOrdersManage/clock/index.vue
@@ -140,7 +140,28 @@
定制服务记录
-
+
+
+
+ {{ product.title }}
+ (2-3张)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -181,12 +202,13 @@
{
- orderId.value = options.id || null;
- isRead.value = options.isRead || false;
- itemOrderID.value = options.itemID
- serviceId.value = options.serviceId;
+ checkId.value = options.id || null;
GetByOrderId()
});
+ const checkId = ref(0)
const orderId = ref(0)
const itemOrderID = ref(0)
const serviceId = ref(0)
@@ -257,6 +276,15 @@
// title: '大黄'
// },
])
+ //附加项目
+ const projectList = ref([
+ // {
+ // title: '小汪'
+ // },
+ // {
+ // title: '大黄'
+ // },
+ ])
@@ -312,7 +340,13 @@
return msg('请上传猫砂盆、尿盆照片')
}
- if(!content.value){
+ for (let i = 0; i < projectList.value.length; i++) {
+ if (!fileList['project' + i] || fileList['project' + i].length < 2) {
+ return msg(`请上传${projectList.value[i].title}照片`)
+ }
+ }
+
+ if(!form.value.notes){
return msg('请填写补充信息')
}
@@ -320,10 +354,12 @@
}
function GetByOrderId(){
- orderItemLogGetByOrderId(serviceId.value)
+ appletOrderDateFrequencyById(checkId.value)
.then(res => {
- if(res.code == 200 && res.data) {
- const data = res.data;
+ const data = res.data.check;
+ const frequency = res.data.frequency;
+ isRead.value = frequency.status == 2
+ if(res.code == 200 && data) {
form.value = data
// 回显手套照片
if(data.glovePhoto) {
@@ -343,6 +379,16 @@
}
});
}
+ // 回显项目照片
+ if(data.workDogImage) {
+ const pList = JSON.parse(data.workDogImage);
+ projectList.value = pList;
+ pList.forEach((pet, index) => {
+ if(pet.fileList) {
+ fileList['project' + index] = pet.fileList.split(',').map(url => ({ url }));
+ }
+ });
+ }
// 回显粮碗照片
if(data.grainBowlFront) fileList.foodA = data.grainBowlFront.split(',').map(url => ({ url }));
if(data.grainBowlAfter) fileList.foodB = data.grainBowlAfter.split(',').map(url => ({ url }));
@@ -353,10 +399,39 @@
if(data.basinFront) fileList.urinalA = data.basinFront.split(',').map(url => ({ url }));
if(data.basinAfter) fileList.urinalB = data.basinAfter.split(',').map(url => ({ url }));
// 回显定制服务照片
- if(data.workDogImage) fileList.testa = data.workDogImage.split(',').map(url => ({ url }));
- if(data.workPalyImage) fileList.testb = data.workPalyImage.split(',').map(url => ({ url }));
+ // if(data.workDogImage) fileList.testa = data.workDogImage.split(',').map(url => ({ url }));
+ // if(data.workPalyImage) fileList.testb = data.workPalyImage.split(',').map(url => ({ url }));
+
}else{
- getOrderPetByIdFN()
+ // getOrderPetByIdFN()
+
+ let projectNameList = []
+
+ frequency.pets.forEach((n, i) => {
+ fileList['pet' + i] = []
+
+ n.orderItemList.forEach((item, inde) => {
+ fileList['project' + inde] = []
+ })
+ })
+ frequency.pets.forEach((n, i) => {
+ petList.value.push({
+ title : n.name,
+ id : n.id,
+ })
+ n.orderItemList.forEach((item, inde) => {
+ if(!projectNameList.includes(item.productName)){
+ projectNameList.push(item.productName)
+ projectList.value.push({
+ title : item.productName,
+ ids : [item.id]
+ })
+ }else{
+ projectList.value[projectNameList.indexOf(item.productName)].ids.push(item.id)
+ }
+ })
+ })
+
}
})
}
@@ -382,9 +457,9 @@
function saveDraft(flag) {
// 将所有图片数组转换为逗号分隔的字符串
const params = {
- orderId: orderId.value,
- itemOrderId : itemOrderID.value,
- itemDateId : serviceId.value,
+ // orderId: orderId.value,
+ // itemOrderId : itemOrderID.value,
+ itemDateId : checkId.value,
glovePhoto: fileList.glove?.map(item => item.url).join(',') || '',
shoeCoverPhoto: fileList.ShoeCover?.map(item => item.url).join(',') || '',
// 合并所有宠物照片
@@ -396,6 +471,15 @@
fileList: fileList['pet' + index]?.map(item => item.url).join(',') || ''
};
})
+ ),
+ workDogImage: JSON.stringify(
+ projectList.value.map((pet, index) => {
+ return {
+ id : pet.id,
+ title : pet.title,
+ fileList: fileList['project' + index]?.map(item => item.url).join(',') || ''
+ };
+ })
),
// 粮碗照片
grainBowlFront: fileList.foodA?.map(item => item.url).join(',') || '',
@@ -407,10 +491,11 @@
basinFront: fileList.urinalA?.map(item => item.url).join(',') || '',
basinAfter: fileList.urinalB?.map(item => item.url).join(',') || '',
// 定制服务照片
- workDogImage: fileList.testa?.map(item => item.url).join(',') || '',
- workPalyImage: fileList.testb?.map(item => item.url).join(',') || '',
+ // workDogImage: fileList.testa?.map(item => item.url).join(',') || '',
+ // workPalyImage: fileList.testb?.map(item => item.url).join(',') || '',
// 备注信息
notes: form.value.notes || '',
+ submitFlag : 1,//草稿
}
if(form.value.id) {
@@ -418,10 +503,10 @@
}
if(flag) {
- params.submitFlag = 1
+ params.submitFlag = 2
}
- orderItemLogAddOrUpdate(params)
+ appletOrderDateFrequencyCheck(params)
.then(res => {
if(res.code === 200) {
uni.showToast({
diff --git a/pages/myOrdersManage/components/timelineService - 副本.vue b/pages/myOrdersManage/components/timelineService - 副本.vue
new file mode 100644
index 0000000..ac7aa2b
--- /dev/null
+++ b/pages/myOrdersManage/components/timelineService - 副本.vue
@@ -0,0 +1,636 @@
+
+
+
+
+
+
+
+ 暂无订单数据
+
+
+
+
+
+
+
+
+
+
+ {{ item.address }}
+
+ {{ serviceCardCollapsed[index] ? '展开' : '收起' }} ▼
+
+
+
+
+
+
+
+
+
+ 服务日期
+ 订单编号:{{ item.orderId }}
+
+
+ {{ item.fullDate }}
+
+
+
+
+
+
+
+ 陪伴对象
+
+ {{ petListCollapsed[index] ? '展开' : '收起' }} ▼
+
+
+
+
+
+
+
+
+
+ {{ pet.name }}
+
+ {{ pet.gender === 'male' ? '♂' : '♀' }}
+
+
+
+ {{ pet.breed }}{{ pet.bodyType }} | {{ pet.services.join('+') }}
+
+
+
+
+
+
+
+
+
+
+ 上门地址
+
+
+ {{ item.addressDetail }}
+
+
+
+
+
+ {{ item.status ? '打卡记录' : '打卡' }}
+ 宠物档案
+ 服务档案
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/myOrdersManage/components/timelineService.vue b/pages/myOrdersManage/components/timelineService.vue
index 9973e67..7cc6881 100644
--- a/pages/myOrdersManage/components/timelineService.vue
+++ b/pages/myOrdersManage/components/timelineService.vue
@@ -4,9 +4,9 @@