diff --git a/components/CompanionItem/CompanionItem.vue b/components/CompanionItem/CompanionItem.vue index 4adc5c9..c47b065 100644 --- a/components/CompanionItem/CompanionItem.vue +++ b/components/CompanionItem/CompanionItem.vue @@ -41,9 +41,12 @@ - + 养宠{{ item.experience || 0 }}年 | 评价{{ item.commentNum || 0 }}条 | 服务小结{{ item.serviceSummaryNum || 0 }}份 + + 点击查看详情 + @@ -56,7 +59,15 @@ export default { item: { type: Object, required: true - } + }, + showDetailBtn: { + type: Boolean, + default: false + }, + showNumerBtn: { + type: Boolean, + default: true + }, }, data() { return { diff --git a/pages_order/components/order/CompanionSelectPopup.vue b/pages_order/components/order/CompanionSelectPopup.vue index c96723e..0a53672 100644 --- a/pages_order/components/order/CompanionSelectPopup.vue +++ b/pages_order/components/order/CompanionSelectPopup.vue @@ -209,22 +209,22 @@ export default { } // 组装宠物数据 - if (order.petVOList && order.petVOList.length > 0) { - this.$globalData.newOrderData.currentPets = order.petVOList.map(pet => { - // 获取该宠物的服务日期 - const petServices = order.orderServiceList.filter(service => service.petId === pet.id); - const selectedDate = petServices.map(service => ({ - date: service.serviceDate, - info: "预定" - })); + // if (order.petVOList && order.petVOList.length > 0) { + // this.$globalData.newOrderData.currentPets = order.petVOList.map(pet => { + // // 获取该宠物的服务日期 + // const petServices = order.orderServiceList.filter(service => service.petId === pet.id); + // const selectedDate = petServices.map(service => ({ + // date: service.serviceDate, + // info: "预定" + // })); - return { - ...pet, - checked: ['checked'], // 默认选中 - selectedDate, - }; - }); - } + // return { + // ...pet, + // checked: ['checked'], // 默认选中 + // selectedDate, + // }; + // }); + // } uni.hideLoading(); }, diff --git a/pages_order/order/companionSelect.vue b/pages_order/order/companionSelect.vue index 6785223..ee6a7b9 100644 --- a/pages_order/order/companionSelect.vue +++ b/pages_order/order/companionSelect.vue @@ -6,7 +6,7 @@ - 指定之前服务过的伴宠师,需要额外收10元哦!(可多选,最终由系统根据伴宠师的接单时间安排,为您安排您喜欢的伴宠师! + 指定之前服务过的伴宠师,需要额外收10元哦!(单选,最终由系统根据伴宠师的接单时间安排,为您安排您喜欢的伴宠师! @@ -14,17 +14,22 @@ + :class="{ 'selected': selectedCompanionId === item.userId }"> - - + + - + @@ -43,7 +48,7 @@ 取消 - 确定{{ selectedCompanionIds.length > 0 ? `(${selectedCompanionIds.length})` : '' }} + 确定{{ selectedCompanionId ? '(1)' : '' }} @@ -66,7 +71,7 @@ export default { data() { return { companionList: [], - selectedCompanionIds: [], + selectedCompanionId: null, // 改为单选 defaultTeacherId: null, // 默认选中的技师ID(用于再来一单) originalOrderData: null, // 原始订单数据 orderId: null, // 订单ID @@ -74,10 +79,10 @@ export default { }, computed: { ...mapState(['teacherLevelList']), - // 获取当前选中的伴宠师列表 - selectedCompanions() { - if (this.selectedCompanionIds.length === 0) return []; - return this.companionList.filter(item => this.selectedCompanionIds.includes(item.userId)); + // 获取当前选中的伴宠师 + selectedCompanion() { + if (!this.selectedCompanionId) return null; + return this.companionList.find(item => item.userId === this.selectedCompanionId); } }, onLoad(options) { @@ -110,8 +115,8 @@ export default { // 如果有默认技师ID,自动选中该技师 if (this.defaultTeacherId) { const defaultCompanion = this.companionList.find(item => item.userId == this.defaultTeacherId); - if (defaultCompanion && !this.selectedCompanionIds.includes(this.defaultTeacherId)) { - this.selectedCompanionIds.push(this.defaultTeacherId); + if (defaultCompanion) { + this.selectedCompanionId = this.defaultTeacherId; } } } @@ -143,24 +148,24 @@ export default { } }, - // 选择伴宠师(多选) + // 选择伴宠师(单选) selectCompanion(companion) { const userId = companion.userId; - const index = this.selectedCompanionIds.indexOf(userId); - - if (index > -1) { + + if (this.selectedCompanionId === userId) { // 如果已选中,则取消选中 - this.selectedCompanionIds.splice(index, 1); + this.selectedCompanionId = null; } else { - // 如果未选中,则添加到选中列表 - this.selectedCompanionIds.push(userId); + // 如果未选中,则选中该伴宠师 + this.selectedCompanionId = userId; } }, // 处理伴宠师列表项点击事件 handleItemClick(item) { - // 点击伴宠师项时选中该伴宠师 - this.selectCompanion(item); + uni.navigateTo({ + url: '/pages_order/companionPetList/companionPetInfo?id=' + item.userId + }) }, // 处理伴宠师列表项点赞事件 @@ -176,9 +181,9 @@ export default { // 确认选择 confirm() { - if (this.selectedCompanionIds.length === 0) { + if (!this.selectedCompanionId) { uni.showToast({ - title: '请至少选择一个伴宠师', + title: '请选择一个伴宠师', icon: 'none' }); return; @@ -249,22 +254,22 @@ export default { } // 组装宠物数据 - if (order.petVOList && order.petVOList.length > 0) { - this.$globalData.newOrderData.currentPets = order.petVOList.map(pet => { - // 获取该宠物的服务日期 - const petServices = order.orderServiceList.filter(service => service.petId === pet.id); - const selectedDate = petServices.map(service => ({ - date: service.serviceDate, - info: "预定" - })); - - return { - ...pet, - checked: ['checked'], // 默认选中 - selectedDate, - }; - }); - } + // if (order.petVOList && order.petVOList.length > 0) { + // this.$globalData.newOrderData.currentPets = order.petVOList.map(pet => { + // // 获取该宠物的服务日期 + // const petServices = order.orderServiceList.filter(service => service.petId === pet.id); + // const selectedDate = petServices.map(service => ({ + // date: service.serviceDate, + // info: "预定" + // })); + + // return { + // ...pet, + // checked: ['checked'], // 默认选中 + // selectedDate, + // }; + // }); + // } uni.navigateTo({ url: `/pages/newOrder/serviceNew`