diff --git a/App.vue b/App.vue index cc1058b..651fe9f 100644 --- a/App.vue +++ b/App.vue @@ -3,7 +3,7 @@ onLaunch: function() { }, onShow: function() { - // this.$store.commit('initConfig') + this.$store.commit('initConfig') }, onHide: function() { } diff --git a/api/api.js b/api/api.js index d38f8c5..c5ab3d4 100644 --- a/api/api.js +++ b/api/api.js @@ -5,7 +5,7 @@ import utils from '../utils/utils.js' let limit = {} let debounce = {} -const models = ['login', 'index', 'image', 'activity', 'order', 'comment', 'experience', 'partner', 'info'] +const models = ['login', 'index', 'image', 'activity', 'coupon', 'order', 'comment', 'bind', 'experience', 'partner', 'info', 'notice'] const config = { // 示例 @@ -14,7 +14,11 @@ const config = { // limit : 1000 // }, - getConfig : {url : '/config_common/getConfig', method : 'GET', limit : 500}, + getConfig : {url : '/config/queryConfigList', method : 'GET', limit : 500}, + queryConfigByParamCode : {url : '/config/queryConfigByParamCode', method : 'GET'}, + queryPeriodList : {url : '/config/queryPeriodList', method : 'GET'}, + queryCommentOptionList : {url : '/config/queryCommentOptionList', method : 'GET'}, + queryExperienceQuestionList : {url : '/config/queryExperienceQuestionList', method : 'GET'}, } diff --git a/api/model/activity.js b/api/model/activity.js index a524a73..a8a2bd6 100644 --- a/api/model/activity.js +++ b/api/model/activity.js @@ -1,6 +1,11 @@ // 研学活动相关接口 const api = { + // 系统配置-查询研学活动分类列表 + queryCategoryList: { + url: '/config/queryCategoryList', + method: 'GET', + }, // 首页&分类-查询研学活动列表 queryActivityList: { url: '/activity/queryActivityList', diff --git a/api/model/bind.js b/api/model/bind.js new file mode 100644 index 0000000..51ef0a0 --- /dev/null +++ b/api/model/bind.js @@ -0,0 +1,34 @@ +// 成员管理相关接口 + +const api = { + // 成员管理-查询绑定成员列表 + queryBindList: { + url: '/bind/queryBindList', + method: 'GET', + auth: true, + }, + // 成员管理-查询绑定人信息 + queryBindUser: { + url: '/bind/queryBindUser', + method: 'GET', + auth: true, + }, + // 成员管理-绑定申请 + addBind: { + url: '/bind/addBind', + method: 'POST', + auth: true, + limit : 500, + showLoading : true, + }, + // 成员管理-审批绑定申请 + updateBind: { + url: '/bind/updateBind', + method: 'POST', + auth: true, + limit : 500, + showLoading : true, + }, +} + +export default api \ No newline at end of file diff --git a/api/model/comment.js b/api/model/comment.js index 373cfd2..381ac21 100644 --- a/api/model/comment.js +++ b/api/model/comment.js @@ -1,6 +1,11 @@ // 评论相关接口 const api = { + // 我的评论-查询评价列表 + queryCommentList: { + url: '/comment/queryCommentList', + method: 'GET', + }, // 我的评论-查询我的评价列表 queryMyCommentList: { url: '/comment/queryMyCommentList', diff --git a/api/model/coupon.js b/api/model/coupon.js new file mode 100644 index 0000000..29232eb --- /dev/null +++ b/api/model/coupon.js @@ -0,0 +1,29 @@ +// 优惠券相关接口 + +const api = { + // 优惠券-我的优惠券列表 + queryCouponList: { + url: '/coupon/queryCouponList', + method: 'GET', + auth: true, + }, + // 优惠券-根据id查看优惠券详情 + queryCouponById: { + url: '/coupon/queryCouponById', + method: 'GET', + }, + // 优惠券-查看可领取的优惠券 + queryFetchCouponList: { // todo: check use in where? + url: '/coupon/queryFetchCouponList', + method: 'GET', + auth: true, + }, + // 优惠券-领取优惠券 + fetchCoupon: { // todo: check use in where? + url: '/coupon/fetchCoupon', + method: 'POST', + auth: true, + }, +} + +export default api \ No newline at end of file diff --git a/api/model/experience.js b/api/model/experience.js index 9b8e126..ba8b88a 100644 --- a/api/model/experience.js +++ b/api/model/experience.js @@ -11,6 +11,14 @@ const api = { url: '/experience/queryExperienceById', method: 'GET', }, + // 成长档案-新增成长档案 + addExperience: { + url: '/experience/addExperience', + method: 'POST', + auth: true, + limit : 500, + showLoading : true, + }, } export default api \ No newline at end of file diff --git a/api/model/login.js b/api/model/login.js index ffaa447..02d1614 100644 --- a/api/model/login.js +++ b/api/model/login.js @@ -18,7 +18,7 @@ const api = { }, // 修改个人信息接口 updateInfo: { - url: '/info_common/updateInfo', + url: '/userInfo/updateUser', method: 'POST', auth: true, limit : 500, @@ -26,7 +26,13 @@ const api = { }, // 获取个人信息 getInfo: { - url: '/info_common/getInfo', + url: '/userInfo/queryUser', + method: 'GET', + auth: true, + }, + // 获取个人基础数据 + queryUserCenterData: { + url: '/userInfo/queryUserCenterData', method: 'GET', auth: true, }, diff --git a/api/model/notice.js b/api/model/notice.js new file mode 100644 index 0000000..8019b6d --- /dev/null +++ b/api/model/notice.js @@ -0,0 +1,18 @@ +// 开营通知相关接口 + +const api = { + // 开营通知-查询开营通知列表 + queryNoticeList: { + url: '/notice/queryNoticeList', + method: 'GET', + auth: true, + }, + // 开营通知-查询开营通知详情 + queryNoticeById: { + url: '/notice/queryNoticeById', + method: 'GET', + auth: true, + }, +} + +export default api \ No newline at end of file diff --git a/api/model/order.js b/api/model/order.js index 20301b0..e357725 100644 --- a/api/model/order.js +++ b/api/model/order.js @@ -19,6 +19,14 @@ const api = { limit : 500, showLoading : true, }, + // 我的订单-修改订单 + updateOrder: { + url: '/order/updateOrder', + method: 'POST', + auth: true, + limit : 500, + showLoading : true, + }, // 我的订单-支付订单 payOrder: { url: '/order/payOrder', diff --git a/api/model/partner.js b/api/model/partner.js index 8d8dedd..97e5bf3 100644 --- a/api/model/partner.js +++ b/api/model/partner.js @@ -31,7 +31,7 @@ const api = { method: 'GET', }, // 我的团队-获取间推用户列表 - queryDirectList: { + queryIndirectList: { url: '/partner/queryIndirectList', method: 'GET', }, diff --git a/components/growing/recordsView.vue b/components/growing/recordsView.vue index c86054d..39722ef 100644 --- a/components/growing/recordsView.vue +++ b/components/growing/recordsView.vue @@ -11,14 +11,14 @@ \ No newline at end of file diff --git a/components/home/pictureLiveView.vue b/components/home/pictureLiveView.vue index 0acb3b5..b9288f7 100644 --- a/components/home/pictureLiveView.vue +++ b/components/home/pictureLiveView.vue @@ -27,7 +27,7 @@ - + {{ item.title }} {{ item.createTime }} @@ -52,57 +52,26 @@ }, methods: { async getData() { - - this.list = [ - { - id: '001', - image: '/static/image/temp-15.png', - title: '苕溪露营漂流', - createTime: '2025-04-18', - }, - { - id: '002', - image: '/static/image/temp-15.png', - title: '科技奇遇记', - createTime: '2025-04-18', - }, - { - id: '003', - image: '/static/image/temp-15.png', - title: '满陇桂雨', - createTime: '2025-04-18', - }, - { - id: '004', - image: '/static/image/temp-15.png', - title: '跟着皇帝游江南', - createTime: '2025-04-18', - }, - { - id: '005', - image: '/static/image/temp-15.png', - title: '苕溪露营漂流', - createTime: '2025-04-18', - }, - { - id: '006', - image: '/static/image/temp-15.png', - title: '科技奇遇记', - createTime: '2025-04-18', - }, - ] - - return - - // todo: check try { - this.list = await this.$fetch('queryImageList', { pageNo: 1, pageSize: 8 }) + this.list = (await this.$fetch('queryImageList', { pageNo: 1, pageSize: 8 }))?.records?.map(item => { + const { id, image, activityId_dictText, createTime } = item + + const images = image?.split?.(',') || [] + + return { + id, + url: images?.[0], + images, + title: activityId_dictText, + createTime: this.$dayjs(createTime).format('YYYY-MM-DD'), + } + }) } catch (err) { } - }, jumpToLive(id) { + this.$store.commit('setLiveInfo', this.list.find(item => item.id === id)) this.$utils.navigateTo(`/pages_order/live/index?id=${id}`) }, showAll() { diff --git a/components/home/productView.vue b/components/home/productView.vue index 6b92b2e..f5eb9a8 100644 --- a/components/home/productView.vue +++ b/components/home/productView.vue @@ -73,7 +73,7 @@ // todo: fetch this.tabs = [ { name: '全部' }, - { id: '1962342791093227522', name: '研学活动一', disabled: true, }, + // { id: '1962342791093227522', name: '研学活动一', disabled: true, }, ] }, onClickTab(e) { diff --git a/components/partner/posterPopup.vue b/components/partner/posterPopup.vue index dba142f..bba815b 100644 --- a/components/partner/posterPopup.vue +++ b/components/partner/posterPopup.vue @@ -21,6 +21,8 @@ diff --git a/pages_order/growing/activity/index.vue b/pages_order/growing/activity/index.vue index 0651385..48dd517 100644 --- a/pages_order/growing/activity/index.vue +++ b/pages_order/growing/activity/index.vue @@ -112,6 +112,22 @@ }, methods: { async getData() { + + try { + const result = await this.$fetch('queryExperienceById', { recordId: this.id }) + const { image, thoughts } = result + + this.detail = { + highlights: image?.split?.(',') || [], + // todo: check key + thoughts, + // todo: check key about "行后报告" + } + } catch (err) { + + } + + return // todo this.detail = { diff --git a/pages_order/live/formPopup.vue b/pages_order/live/formPopup.vue index 9439990..2d6c493 100644 --- a/pages_order/live/formPopup.vue +++ b/pages_order/live/formPopup.vue @@ -14,14 +14,14 @@ errorType="toast" > - + 关联项目 - {{ projectDesc }} + {{ projectDesc }} 请选择关联项目 @@ -75,14 +75,14 @@ data() { return { form: { - project: null, + activityId: null, area: null, latitude: null, longitude: null, images: [], }, rules: { - 'project': { + 'activityId': { type: 'string', required: true, message: '请选择关联项目', @@ -104,8 +104,8 @@ }, computed: { projectDesc() { - const { project } = this.form - const target = this.projects?.find?.(item => item.id === project) + const { activityId } = this.form + const target = this.projects?.find?.(item => item.id === activityId) return target?.name || '' }, @@ -160,18 +160,15 @@ ] }, async open(id) { - // todo: auto bind project by id? + // todo: auto bind activityId by id? await this.getData() - const texts = this.questions.map(() => '') - this.form = { - project: null, - tripNum: null, - spotNum: null, - mentorNum: null, + activityId: null, + area: null, + latitude: null, + longitude: null, images: [], - texts, } this.$refs.popup.open() @@ -180,10 +177,10 @@ this.$refs.popup.close() }, openRelatePojectPicker() { - this.$refs.reloateProjectPopup.open(this.form.project?.id || null) + this.$refs.reloateProjectPopup.open(this.form.activityId?.id || null) }, onRelateProjectChange(id) { - this.form.project = id + this.form.activityId = id }, //地图上选择地址 selectAddr() { @@ -212,13 +209,18 @@ await this.$refs.form.validate() const { + activityId, + area, + images, } = this.form const params = { + activityId, + address: area, + image: images.join(',') } - // todo: fetch - // await this.$fetch('updateAddress', params) + await this.$fetch('addImage', params) uni.showToast({ icon: 'success', diff --git a/pages_order/live/index.vue b/pages_order/live/index.vue index 02dbd7a..d58abdc 100644 --- a/pages_order/live/index.vue +++ b/pages_order/live/index.vue @@ -1,14 +1,14 @@ diff --git a/pages_order/message/card.vue b/pages_order/message/card.vue index cca5c73..9d7c31b 100644 --- a/pages_order/message/card.vue +++ b/pages_order/message/card.vue @@ -5,12 +5,12 @@ {{ data.createTime }} - {{ data.content }} + - + - + @@ -41,7 +41,9 @@ export default { font-weight: 400; line-height: 1.4; background-image: linear-gradient(164deg,#DAF3FF 88rpx, #FBFEFF 176rpx, #FBFEFF); + background: linear-gradient(110deg, #DAF3FF, #FBFEFF 25%, #FBFEFF); border: 2rpx solid #FFFFFF; + border-radius: 32rpx; &-header { .title { @@ -58,14 +60,15 @@ export default { &-content { margin-top: 16rpx; + max-height: 176rpx; font-size: 26rpx; line-height: 1.7; color: #666666; overflow: hidden; - text-overflow: ellipsis; - display:-webkit-box; //作为弹性伸缩盒子模型显示。 - -webkit-box-orient:vertical; //设置伸缩盒子的子元素排列方式--从上到下垂直排列 - -webkit-line-clamp:4; //显示的行 + // text-overflow: ellipsis; + // display:-webkit-box; //作为弹性伸缩盒子模型显示。 + // -webkit-box-orient:vertical; //设置伸缩盒子的子元素排列方式--从上到下垂直排列 + // -webkit-line-clamp:4; //显示的行 } &-footer { diff --git a/pages_order/message/index.vue b/pages_order/message/index.vue index 184f674..a4742c1 100644 --- a/pages_order/message/index.vue +++ b/pages_order/message/index.vue @@ -1,6 +1,6 @@ @@ -45,9 +48,15 @@ }, methods: { async getData() { - // todo - // todo: mark read + try { + this.detail = await this.$fetch('queryNoticeById', { noticeId: this.id }) + } catch (err) { + + } + }, + onContactMentor() { + this.$refs.contactMentorPopup.open(this.detail.teacherPhone) }, }, } @@ -58,6 +67,7 @@ .page__view { width: 100vw; min-height: 100vh; + background: $uni-bg-color; position: relative; /deep/ .nav-bar__view { diff --git a/pages_order/message/list.vue b/pages_order/message/list.vue index 0fb4a05..cf11da7 100644 --- a/pages_order/message/list.vue +++ b/pages_order/message/list.vue @@ -25,8 +25,7 @@ }, data() { return { - // todo: check key - mixinsListApi: '', + mixinsListApi: 'queryNoticeList', } }, methods: { diff --git a/pages_order/order/components/orderInfoView.vue b/pages_order/order/components/orderInfoView.vue index 8bafd66..1c6bb9b 100644 --- a/pages_order/order/components/orderInfoView.vue +++ b/pages_order/order/components/orderInfoView.vue @@ -23,7 +23,7 @@ ¥ - {{ 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 @@ @@ -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 - - 后关闭 + - + @@ -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 @@