¥
- {{ totalPrice }}
+ {{ data.payAmount }}
{{ `优惠(${data.discount})` }}
@@ -46,7 +46,7 @@
订单编号
- {{ data.orderNo }}
+ {{ data.id }}
下单时间
@@ -94,19 +94,6 @@
return timeOptions?.find?.(item => item.id === time) || {}
},
- totalPrice() {
- const { adults, teenager, child } = this.data
-
- const { adultsPrice, teenagerPrice, childPrice } = this.productPackage
-
- let total = 0
-
- adults && (total += adults * (adultsPrice || 0))
- teenager && (total += teenager * (teenagerPrice || 0))
- child && (total += child * (childPrice || 0))
-
- return total
- },
members() {
const { members } = this.data
const { adultsPrice, teenagerPrice, childPrice } = this.productPackage
diff --git a/pages_order/order/components/productCard.vue b/pages_order/order/components/productCard.vue
index 95bc2d5..ce13656 100644
--- a/pages_order/order/components/productCard.vue
+++ b/pages_order/order/components/productCard.vue
@@ -1,10 +1,10 @@
-
-
+
+
- {{ product.desc }}
-
-
+ {{ product.brief }}
+
+
{{ tag }}
@@ -45,11 +45,17 @@
product() {
return this.data?.product || {}
},
+ tagList() {
+ // todo: check key
+ const { tagDetails } = this.product || {}
+
+ return tagDetails?.length ? tagDetails.split('、') : []
+ },
productPackage() {
- const { time, product } = this.data
- const { timeOptions } = product || {}
+ const { time, product } = this.data || {}
+ const { dateList } = product || {}
- return timeOptions?.find?.(item => item.id === time) || {}
+ return dateList?.find?.(item => item.id === time) || {}
},
days() {
console.log('productPackage', this.productPackage)
@@ -58,6 +64,15 @@
return this.$dayjs(endDate).diff(this.$dayjs(startDate), 'day')
},
},
+ watch: {
+ data: {
+ handler(val) {
+ console.log('watch data', val)
+ },
+ deep: true,
+ immediate: true
+ },
+ },
}
@@ -92,6 +107,7 @@
.desc {
font-size: 26rpx;
+ white-space: pre-wrap;
color: #8B8B8B;
}
diff --git a/pages_order/order/orderConfirm/index.vue b/pages_order/order/orderConfirm/index.vue
index 4ae94d4..e89bc11 100644
--- a/pages_order/order/orderConfirm/index.vue
+++ b/pages_order/order/orderConfirm/index.vue
@@ -40,15 +40,10 @@
-
-
选择优惠券
- {{ couponInfo.label }}
+ {{ couponInfo.title }}
请选择
@@ -161,14 +156,41 @@
data() {
return {
form: {
- name: null,
- phone: null,
- adults: 0,
- teenager: 0,
- child: 0,
+ name: '',
+ phone: '',
+ prices: [],
members: [],
- couponId: null,
- receiptId: null,
+ couponId: '',
+ receiptId: '',
+ },
+ rules: {
+ 'name': {
+ type: 'string',
+ required: true,
+ message: '请输入真实姓名',
+ },
+ 'phone': {
+ type: 'string',
+ required: true,
+ message: '请输入手机号码',
+ },
+ 'prices': {
+ type: 'array',
+ message: '请选择人数',
+ validator: (rule, value, callback) => {
+
+ if (value.some(num => num > 0)) {
+ return true
+ }
+
+ return false
+ },
+ },
+ 'members': {
+ type: 'array',
+ required: true,
+ message: '请选择出行人',
+ },
},
checkboxValue: [],
formItemStyle: { padding: 0 },
@@ -178,39 +200,31 @@
...mapState(['configList', 'userInfo', 'orderInfo', 'couponInfo']),
productPackage() {
const { time, product } = this.orderInfo
- const { timeOptions } = product || {}
+ const { dateList } = product || {}
- return timeOptions?.find?.(item => item.id === time) || {}
+ return dateList?.find?.(item => item.id === time) || {}
},
totolPeople() {
- const { adults, teenager, child } = this.form
+ const { prices } = this.orderInfo
- return (adults || 0) + (teenager || 0) + (child || 0)
+ return prices.reduce((total, num) => {
+ return total + num
+ }, 0)
},
- totalPrice() {
- const { adults, teenager, child, couponId } = this.form
-
- const { adultsPrice, teenagerPrice, childPrice } = this.productPackage
+ priceOrigin() {
+ const { prices, priceList } = this.orderInfo
- let total = 0
-
- adults && (total += adults * (adultsPrice || 0))
- teenager && (total += teenager * (teenagerPrice || 0))
- child && (total += child * (childPrice || 0))
-
- couponId && (total -= (this.couponInfo?.price || 0))
-
- return total
+ return prices.reduce((total, num, index) => {
+ return total + priceList[index].price * (num || 0)
+ }, 0)
+ },
+ discount() {
+ return this.couponInfo?.discountAmount || 0
+ },
+ totalPrice() {
+ return this.priceOrigin - this.discount
},
},
- watch: {
- form: {
- handler(val) {
- this.$refs.form.setRules(this.getRules())
- },
- deep: true
- }
- },
onShow() {
if (this.couponInfo) {
this.form.couponId = this.couponInfo.id
@@ -221,65 +235,27 @@
console.log('orderInfo', this.orderInfo)
this.initData()
},
- onReady() {
- this.$refs.form.setRules(this.getRules())
- },
+ onReady() {
+ this.$refs.form.setRules(this.rules);
+ },
onUnload() {
this.$store.commit('setCouponInfo', null)
},
methods: {
- getRules() {
- const { adults, teenager, child } = this.form
-
- return {
- 'name': {
- type: 'string',
- required: true,
- message: '请输入真实姓名',
- },
- 'phone': {
- type: 'string',
- required: true,
- message: '请输入手机号码',
- },
- 'adults': {
- type: 'number',
- required: true,
- message: '请选择人数',
- validator: (rule, value, callback) => {
-
- if (adults || teenager || child) {
- return true
- }
-
- return false
- },
- },
- 'members': {
- type: 'array',
- required: true,
- message: '请选择出行人',
- },
- }
- },
initData() {
const {
time,
- adults,
- teenager,
- child,
+ prices,
members,
} = this.orderInfo
this.form = {
- name: null,
- phone: null,
- adults,
- teenager,
- child,
+ name: '',
+ phone: '',
+ prices,
members: members.map(item => ({ ...item, isSelected: true })),
- couponId: null,
- receiptId: null,
+ couponId: '',
+ receiptId: '',
}
},
jumpToSelectCoupon() {
@@ -323,52 +299,37 @@
const {
name,
phone,
- adults,
- teenager,
- child,
+ prices,
members,
couponId,
receiptId,
} = this.form
- const { startDate, endDate } = time
+ const { startDate, endDate } = this.productPackage
let params = {
activityId: product.id,
startDate,
endDate,
+ dayNum: this.$dayjs(endDate).diff(this.$dayjs(startDate), 'day'),
couponId,
receiptId,
name,
phone,
+ priceOrigin: this.priceOrigin,
+ discount: this.discount,
+ priceDiscount: this.totalPrice,
+ payAmount: this.totalPrice,
+ tourisIds: members.map(touris => touris.id).join(',')
}
- const result = await this.$fetch('createOrder', params)
-
- // todo: check result includes order id?
+ const orderId = await this.$fetch('createOrder', params)
- const orderInfo = {
- product,
- couponInfo: this.couponInfo,
- time,
- adults,
- teenager,
- child,
- members,
- couponId,
- receiptId,
- name,
- phone,
- }
-
- this.$store.commit('setOrderInfo', orderInfo)
-
- // todo: get id?
uni.navigateTo({
- url: `/pages_order/order/orderPay/index?id=${result.id}`
+ url: `/pages_order/order/orderPay/index?id=${orderId}`
})
} catch (err) {
-
+ console.log('createOrder', err)
}
},
diff --git a/pages_order/order/orderConfirm/infoPopup.vue b/pages_order/order/orderConfirm/infoPopup.vue
index 1613afe..4ade0cc 100644
--- a/pages_order/order/orderConfirm/infoPopup.vue
+++ b/pages_order/order/orderConfirm/infoPopup.vue
@@ -8,6 +8,7 @@
@@ -19,28 +20,24 @@
-
+
-
+
@@ -77,6 +74,12 @@
import timeCalendarSelect from '@/pages_order/order/orderConfirm/timeCalendarSelect.vue'
import peopleNumberInput from '@/pages_order/order/orderConfirm/peopleNumberInput.vue'
+ const TYPE_INDEX_MAPPING = {
+ '成人': 0,
+ '青少年': 1,
+ '儿童': 2,
+ }
+
export default {
components: {
timeOptionsSelect,
@@ -96,61 +99,21 @@
options: [],
form: {
time: null,
- adults: 0,
- teenager: 0,
- child: 0,
+ prices: [],
members: [],
},
- formItemStyle: { padding: 0 },
- }
- },
- computed : {
- ...mapState(['configList', 'travelerList']),
- selectTimeObj() {
- const { time: id } = this.form
- const { timeOptions } = this.data
-
- if (id) {
- return timeOptions?.find?.(option => option.id === id) || {}
- }
-
- return timeOptions?.[0] || {}
- },
- },
- watch: {
- travelerList(val) {
- if (val?.length) {
- this.form.members = val
- this.$store.commit('setTravelerList', [])
- }
- },
- form: {
- handler(val) {
- this.$refs.form.setRules(this.getRules())
- },
- deep: true
- }
- },
- onReady() {
- this.$refs.form.setRules(this.getRules())
- },
- methods: {
- getRules() {
- const { adults, teenager, child } = this.form
-
- return {
+ rules: {
'time': {
type: 'string',
required: true,
message: '请选择团期',
},
- 'adults': {
- type: 'number',
- required: true,
+ 'prices': {
+ type: 'array',
message: '请选择人数',
validator: (rule, value, callback) => {
- if (adults || teenager || child) {
+ if (value.some(num => num > 0)) {
return true
}
@@ -162,14 +125,47 @@
required: true,
message: '请选择出行人',
},
+ },
+ formItemStyle: { padding: 0 },
+ }
+ },
+ computed : {
+ ...mapState(['configList', 'userInfo', 'travelerList']),
+ priceList() {
+ const { time: id } = this.form
+ const { dateList } = this.data
+
+ let priceList = dateList?.[0]?.priceList || []
+
+ if (id) {
+ priceList = dateList?.find?.(option => option.id === id)?.priceList || []
+ }
+
+ priceList.sort((a, b) => {
+ return TYPE_INDEX_MAPPING[a.period_dictText] - TYPE_INDEX_MAPPING[b.period_dictText]
+ })
+
+ return priceList
+ },
+ },
+ watch: {
+ travelerList(val) {
+ if (val?.length) {
+ this.form.members = val
+ this.$store.commit('setTravelerList', [])
}
},
+ },
+ onReady() {
+ this.$refs.form.setRules(this.rules);
+ },
+ methods: {
openTimePicker() {
this.$refs.timeCalendarSelect.open()
},
async getDefaultMembers() {
try {
- return (await this.$fetch('queryTouristList', { isDefault: '1' })).records
+ return (await this.$fetch('queryTouristList', { pageNo: 1, pageSize: 1000, isDefault: '1' })).records
} catch (err) {
return []
}
@@ -202,18 +198,15 @@
const {
time,
- adults,
- teenager,
- child,
+ prices,
members,
} = this.form
const orderInfo = {
product: this.data,
+ priceList: this.priceList,
time,
- adults,
- teenager,
- child,
+ prices,
members,
}
this.$store.commit('setOrderInfo', orderInfo)
diff --git a/pages_order/order/orderConfirm/memberCard.vue b/pages_order/order/orderConfirm/memberCard.vue
index 01d99eb..12e84f7 100644
--- a/pages_order/order/orderConfirm/memberCard.vue
+++ b/pages_order/order/orderConfirm/memberCard.vue
@@ -16,7 +16,7 @@
{{ data.name }}
- {{ typeDesc }}
+ {{ typeDesc }}
{{ data.cerNo }}
@@ -24,12 +24,6 @@
@@ -129,6 +125,7 @@
}
.row {
+ margin-top: 16rpx;
justify-content: flex-start;
column-gap: 4rpx;
@@ -147,10 +144,10 @@
}
.row + .row {
- margin-top: 16rpx;
}
.bottom {
+ margin-top: 16rpx;
justify-content: space-between;
.price {
diff --git a/pages_order/order/orderPay/index.vue b/pages_order/order/orderPay/index.vue
index ac15485..fda6e4b 100644
--- a/pages_order/order/orderPay/index.vue
+++ b/pages_order/order/orderPay/index.vue
@@ -3,18 +3,26 @@
待支付
-
- 剩余
-
- 10:00
-
- 后关闭
+
+
+
+ 剩余
+ {{ `${timeData.minutes}:${timeData.seconds}` }}
+
+
+ 后关闭
+
-
+
@@ -64,7 +72,7 @@
¥
- {{ totalPrice }}
+ {{ detail.payAmount }}
@@ -93,150 +101,80 @@
return {
id: null,
detail: {},
+ time: null,
+ timeData: {},
+ checkboxValue: [],
}
},
computed: {
...mapState(['configList', 'userInfo', 'orderInfo']),
- productPackage() {
- const { time, product } = this.detail
- const { timeOptions } = product || {}
+ productCardData() {
+ const {
+ activityId,
+ activityTitle,
+ activityBrief,
+ activityTag,
+ startDate,
+ endDate,
+ } = this.detail
- return timeOptions?.find?.(item => item.id === time) || {}
+ return {
+ time: 'time',
+ product: {
+ id: activityId,
+ title: activityTitle,
+ brief: activityBrief,
+ tagDetails: activityTag,
+ dateList: [
+ {
+ id: 'time',
+ startDate,
+ endDate,
+ }
+ ]
+ }
+ }
},
- totalPrice() {
- const { adults, teenager, child, coupon, couponInfo } = this.detail
-
- const { adultsPrice, teenagerPrice, childPrice } = this.productPackage
-
- let total = 0
-
- adults && (total += adults * (adultsPrice || 0))
- teenager && (total += teenager * (teenagerPrice || 0))
- child && (total += child * (childPrice || 0))
-
- coupon && (total -= (couponInfo?.price || 0))
-
- return total
- },
},
- onLoad({ id }) {
+ async onLoad({ id }) {
this.id = id
- // console.log('orderInfo', this.orderInfo)
- // this.detail = this.orderInfo
- // todo: check fetch by id?
- this.fetchOrderDetail()
+ await this.fetchOrderDetail()
+ // todo
+ // this.updateCountdown()
},
- onPullDownRefresh() {
- this.fetchOrderDetail()
+ async onPullDownRefresh() {
+ await this.fetchOrderDetail()
+ uni.stopPullDownRefresh()
},
methods: {
async fetchOrderDetail() {
- try {
-
- this.detail = {
- product: {
- id: '001',
- image: new Array(6).fill('/static/image/temp-20.png').join(','),
- name: '新疆天山行7/9日丨醉美伊犁&吐鲁番双套餐',
- desc: '每天车程4小时内,含一程高铁丨喀拉峻草原、夏塔古道、昭苏天马、赛里木湖、昭苏油菜花、伊犁薰衣草丨吐鲁番坎儿井&火焰山',
- tags: ['坝上草原', '自然探索', '户外探索', '亲子游玩'],
- priceDiscount: 688.99,
- priceOrigin: 1200,
- registered: 4168,
- timeOptions: [
- {
- id: '0011',
- startDate: '08/25',
- endDate: '09/01',
- priceDiscount: 1200.99,
- priceOrigin: 2300,
- adultsPrice: 2400,
- teenagerPrice: 1800,
- childPrice: 1200.99,
- },
- {
- id: '0012',
- startDate: '09/02',
- endDate: '09/11',
- priceDiscount: 1200.99,
- priceOrigin: 2300,
- adultsPrice: 2400,
- teenagerPrice: 1800,
- childPrice: 1200.99,
- },
- {
- id: '0013',
- startDate: '09/12',
- endDate: '09/19',
- priceDiscount: 1200.99,
- priceOrigin: 2300,
- adultsPrice: 2400,
- teenagerPrice: 1800,
- childPrice: 1200.99,
- },
- ],
- },
- time: "0012",
- adults: 2,
- teenager: 1,
- child: 1,
- members: [
- {
- id: "001",
- cerNo: "430223********9999",
- isDefault: false,
- isSelected: true,
- name: "李梓发",
- type: 0,
- },
- {
- id: "002",
- cerNo: "430223********9999",
- isDefault: false,
- isSelected: true,
- name: "吴彦谦",
- type: 0,
- },
- {
- id: "003",
- cerNo: "430223********9999",
- isDefault: false,
- isSelected: true,
- name: "冯云",
- type: 1,
- },
- {
- id: "004",
- cerNo: "430223********9999",
- isDefault: false,
- isSelected: true,
- name: "冯思钗",
- type: 2,
- },
- ],
- coupon: "001",
- discount: 88,
- invoice: null,
- name: "测试",
- phone: "13345678910",
- orderNo: 'BH872381728321983929',
- createTime: '2025-04-28 08:14',
- status: 0,
- }
-
- console.log('orderInfo', this.detail)
+ try {
- // todo: check fetch by id?
- // this.detail = await this.$fetch('queryOrderById', { id: this.id })
+ this.detail = await this.$fetch('queryOrderById', { orderId: this.id })
+ console.log('orderInfo', this.detail)
- } catch (err) {
+ } catch (err) {
- }
+ }
- uni.stopPullDownRefresh()
+ uni.stopPullDownRefresh()
+ },
+ onConfirmAgreement(confirm) {
+ if (confirm) {
+ this.checkboxValue = [1]
+ } else {
+ this.checkboxValue = []
+ }
},
async onPay() {
+ if(!this.checkboxValue.length){
+ return uni.showToast({
+ title: '请先同意《退订政策》《合同范本》《预订须知》《安全提示》',
+ icon:'none'
+ })
+ }
+
try {
const result = await this.$fetch('payOrder', { orderId: this.id })
@@ -258,6 +196,22 @@
}
},
+ updateCountdown() {
+
+ let current = dayjs()
+ let startTime = dayjs(this.detail.createTime)
+
+ if (startTime.isSameOrBefore(current)) {
+ this.time = null
+ return
+ }
+
+ this.time = startTime.diff(current, 'second')
+
+ },
+ onChange(e) {
+ this.timeData = e
+ },
},
}
diff --git a/pages_order/partner/apply.vue b/pages_order/partner/apply.vue
index 90ff83b..0b246a3 100644
--- a/pages_order/partner/apply.vue
+++ b/pages_order/partner/apply.vue
@@ -47,10 +47,10 @@
-
+
推荐人
-
+
@@ -78,7 +78,7 @@
form: {
name: null,
phone: null,
- recommend: null,
+ inviteId: null,
},
rules: {
'name': {
diff --git a/pages_order/partner/team.vue b/pages_order/partner/team.vue
index ef01950..9733b7f 100644
--- a/pages_order/partner/team.vue
+++ b/pages_order/partner/team.vue
@@ -57,11 +57,14 @@
{ name: '直推用户列表' },
{ name: '间推用户列表' },
],
- // todo
- mixinsListApi: '',
current: 0,
}
},
+ computed: {
+ mixinsListApi() {
+ return this.current == 0 ? 'queryDirectList' : 'queryIndirectList'
+ }
+ },
onShow() {
console.log('onShow')
},
@@ -69,105 +72,10 @@
this.clickTabs({ index: arg.index || 0 })
},
methods: {
- // todo: delete
- getData() {
- this.list = [
- {
- id: '001',
- avatar: '/pages_order/static/temp-30.png',
- name: '李世海',
- price: 10,
- createTime: '2025-07-15',
- },
- {
- id: '002',
- avatar: '/pages_order/static/temp-30.png',
- name: '周静',
- price: 10,
- createTime: '2025-07-15',
- },
- {
- id: '003',
- avatar: '/pages_order/static/temp-30.png',
- name: '周海',
- price: 10,
- createTime: '2025-07-15',
- },
- {
- id: '004',
- avatar: '/pages_order/static/temp-30.png',
- name: '冯启彬',
- price: 10,
- createTime: '2025-07-15',
- },
- {
- id: '005',
- avatar: '/pages_order/static/temp-30.png',
- name: '李娉',
- price: 10,
- createTime: '2025-07-15',
- },
- {
- id: '006',
- avatar: '/pages_order/static/temp-30.png',
- name: '李书萍',
- price: 10,
- createTime: '2025-07-15',
- },
- {
- id: '007',
- avatar: '/pages_order/static/temp-30.png',
- name: '李世海',
- price: 10,
- createTime: '2025-07-15',
- },
- {
- id: '008',
- avatar: '/pages_order/static/temp-30.png',
- name: '周静',
- price: 10,
- createTime: '2025-07-15',
- },
- {
- id: '009',
- avatar: '/pages_order/static/temp-30.png',
- name: '周海',
- price: 10,
- createTime: '2025-07-15',
- },
- {
- id: '010',
- avatar: '/pages_order/static/temp-30.png',
- name: '冯启彬',
- price: 10,
- createTime: '2025-07-15',
- },
- {
- id: '011',
- avatar: '/pages_order/static/temp-30.png',
- name: '李娉',
- price: 10,
- createTime: '2025-07-15',
- },
- {
- id: '012',
- avatar: '/pages_order/static/temp-30.png',
- name: '李书萍',
- price: 10,
- createTime: '2025-07-15',
- },
- ]
- },
//点击tab栏
clickTabs({ index }) {
console.log('clickTabs')
this.current = index
-
- if (index == 0) {
- delete this.queryParams.status
- } else {
- this.queryParams.status = index - 1
- }
this.getData()
},
},
diff --git a/pages_order/partner/withdraw.vue b/pages_order/partner/withdraw.vue
index 93dccac..70bc41d 100644
--- a/pages_order/partner/withdraw.vue
+++ b/pages_order/partner/withdraw.vue
@@ -16,18 +16,18 @@
errorType="toast"
>
-
+
真实姓名
-
+
-
+
提现金额
-
+
@@ -64,16 +64,16 @@
data() {
return {
form: {
- name: null,
- amount: null,
+ userName: null,
+ transferAmount: null,
},
rules: {
- 'name': {
+ 'userName': {
type: 'string',
required: true,
message: '请输入真实姓名',
},
- 'amount': {
+ 'transferAmount': {
type: 'string',
required: true,
message: '请输入提现金额',
@@ -88,13 +88,16 @@
await this.$refs.form.validate()
const {
+ userName,
+ transferAmount,
} = this.form
const params = {
+ userName,
+ transferAmount,
}
- // todo: fetch
- // await this.$fetch('updateAddress', params)
+ await this.$fetch('cashout', params)
uni.showToast({
icon: 'success',
diff --git a/pages_order/product/commentList.vue b/pages_order/product/commentList.vue
index 3795ab6..c24b5a7 100644
--- a/pages_order/product/commentList.vue
+++ b/pages_order/product/commentList.vue
@@ -3,15 +3,15 @@
-
+
- {{ item.name }}
- {{ item.createTime }}
+ {{ item.user.nickName }}
+ {{ $dayjs(item.createTime).format('YYYY-MM-DD') }}
{{ item.content }}
-
-
+
+
diff --git a/pages_order/product/productDetail.vue b/pages_order/product/productDetail.vue
index e2cfaf6..f6df15f 100644
--- a/pages_order/product/productDetail.vue
+++ b/pages_order/product/productDetail.vue
@@ -44,8 +44,7 @@
-
-
+
@@ -197,88 +196,21 @@
} catch (err) {
}
-
- return
-
- // todo: delete
- this.detail = {
- id: '001',
- image: new Array(6).fill('/static/image/temp-20.png').join(','),
- title: '新疆天山行7/9日丨醉美伊犁&吐鲁番双套餐',
- brief: '每天车程4小时内,含一程高铁丨喀拉峻草原、夏塔古道、昭苏天马、赛里木湖、昭苏油菜花、伊犁薰衣草丨吐鲁番坎儿井&火焰山',
- tagDetails: ['坝上草原', '自然探索', '户外探索', '亲子游玩'],
- priceDiscount: 688.99,
- priceOrigin: 1200,
- applyNum: 4168,
- timeOptions: [
- {
- id: '0011',
- startDate: '08/25',
- endDate: '09/01',
- priceDiscount: 1200.99,
- priceOrigin: 2300,
- adultsPrice: 2400,
- teenagerPrice: 1800,
- childPrice: 1200.99,
- },
- {
- id: '0012',
- startDate: '09/02',
- endDate: '09/11',
- priceDiscount: 1200.99,
- priceOrigin: 2300,
- adultsPrice: 2400,
- teenagerPrice: 1800,
- childPrice: 1200.99,
- },
- {
- id: '0013',
- startDate: '09/12',
- endDate: '09/19',
- priceDiscount: 1200.99,
- priceOrigin: 2300,
- adultsPrice: 2400,
- teenagerPrice: 1800,
- childPrice: 1200.99,
- },
- ],
- special: `
-
- 行程亮点
-
- `,
- target: `
-
- 课程目标
-
- `,
- process: `
-
- 详细行程
-
- `,
- }
+
},
- async fetchComment(id) {
-
- // todo: fetch by activity id
-
- this.commentList = [
- {
- avatar: '/pages_order/static/temp-30.png',
- name: '战斗世界',
- createTime: '2025-07-12',
- content: '凌玉姐姐很温柔很耐心很负责我很喜欢她龙哥知识渊博很幽默给我们讲解很多内容行程很有趣我学到了很多东西最难忘的就是库木塔格沙漠我们爬到了很高的顶端看夕阳绝美还有我也很喜欢夏塔古道我们爬到了第四个卡拉房子的最远端看到了壮观的雪山下次还想参加活动去南疆',
- image: '/pages_order/static/temp-38.png',
- },
- {
- avatar: '/pages_order/static/temp-30.png',
- name: '战斗世界',
- createTime: '2025-07-12',
- content: '凌玉姐姐很温柔很耐心很负责我很喜欢她龙哥知识渊博很幽默给我们讲解很多内容行程很有趣我学到了很多东西最难忘的就是库木塔格沙漠我们爬到了很高的顶端看夕阳绝美还有我也很喜欢夏塔古道我们爬到了第四个卡拉房子的最远端看到了壮观的雪山下次还想参加活动去南疆',
- image: '/pages_order/static/temp-38.png',
- },
- ]
+ async fetchComment(activityId) {
+ try {
+ const queryParams = {
+ pageNo: 1,
+ pageSize: 2,
+ activityId,
+ }
+ this.commentList = (await this.$fetch('queryCommentList', queryParams))?.records
+ console.log('commentList', this.commentList)
+ } catch (err) {
+ console.log('fetchComment', err)
+ }
+
},
onCollect() {
this.$store.dispatch('collect', this.id)
@@ -289,7 +221,7 @@
this.$refs.orderInfoPopup.open({ selectTime: this.selectTime })
},
jumpToCommentRecords() {
- this.$utils.navigateTo(`/pages_order/comment/commentRecordsOfProduct?productId=${this.id}`)
+ this.$utils.navigateTo(`/pages_order/comment/commentRecordsOfProduct?id=${this.id}`)
},
//点击tab栏
clickTabs({ index }) {
@@ -440,7 +372,7 @@
}
.detail {
- font-size: 0;
+ // font-size: 0;
}
.bottom {
diff --git a/pages_order/traveler/travelerCard.vue b/pages_order/traveler/travelerCard.vue
index 6103b1a..3f7e78a 100644
--- a/pages_order/traveler/travelerCard.vue
+++ b/pages_order/traveler/travelerCard.vue
@@ -12,8 +12,7 @@
{{ data.name }}
-
- {{ typeDesc }}
+ {{ typeDesc }}
{{ data.cerNo }}
@@ -48,12 +47,6 @@