diff --git a/bundle/face/face-photo_bck.vue b/bundle/face/face-photo_bck.vue new file mode 100644 index 0000000..a2ca619 --- /dev/null +++ b/bundle/face/face-photo_bck.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/bundle/recharge/recharge.vue b/bundle/recharge/recharge.vue index 2577536..2ba8820 100644 --- a/bundle/recharge/recharge.vue +++ b/bundle/recharge/recharge.vue @@ -267,7 +267,7 @@ export default { title: '加载中' }); // 1. 协议文件地址(可替换为实际后端返回的 word 文件 url) - const url = 'https://xh.stnav.com/czxy.doc'; + const url = 'https://xh.stnav.com/czxy20260205.doc'; // 2. 下载 word 文件 uni.downloadFile({ url, diff --git a/bundle/recharge/record.vue b/bundle/recharge/record.vue new file mode 100644 index 0000000..b66a336 --- /dev/null +++ b/bundle/recharge/record.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/bundle/reserve/details.vue b/bundle/reserve/details.vue index 85df306..435fd94 100644 --- a/bundle/reserve/details.vue +++ b/bundle/reserve/details.vue @@ -468,11 +468,42 @@ export default { * @param time * @param status */ - handleSelectTime(title, time, status) { + handleSelectTime(title, time, status, room_id, price, light_price) { let self = this if (status == 1) { return; } + + // 新增逻辑:限制只能选择一个场地的免费时间段 + const isClickingFree = (Number(price) || 0) <= 0; + const isCurrentlySelected = this.selectedTime[title] && this.selectedTime[title].includes(time); + + // 如果是准备选中一个免费时间段(不在已选列表中) + if (isClickingFree && !isCurrentlySelected) { + let hasOtherRoomFree = false; + Object.keys(this.selectedTime).forEach(roomTitle => { + if (roomTitle !== title && this.selectedTime[roomTitle].length > 0) { + const otherRoom = this.cdList.find(cd => cd.title === roomTitle); + if (otherRoom) { + this.selectedTime[roomTitle].forEach(t => { + const tObj = otherRoom.time && otherRoom.time.find(item => item.t === t); + if (tObj && (Number(tObj.price) || 0) <= 0) { + hasOtherRoomFree = true; + } + }); + } + } + }); + + if (hasOtherRoomFree) { + uni.showToast({ + title: '只能选择同一场地的免费时间段', + icon: 'none' + }); + return; + } + } + // 多选逻辑,selectedTime为对象,按title区分 if (!this.selectedTime[title]) { this.$set(this.selectedTime, title, []); @@ -726,6 +757,11 @@ export default { uni.navigateTo({ url: `/bundle/reserve/confirm?venueId=${self.venue.id}&roomId=${self.id}&typeId=${self.typeId}&orderId=${res.data.lists.id}` }); + } else { + uni.showToast({ + title: res.msg || '订单提交失败,请重试', + icon: 'none' + }); } } ) diff --git a/pages.json b/pages.json index 9121465..1521cbf 100644 --- a/pages.json +++ b/pages.json @@ -1024,6 +1024,12 @@ "style": { "navigationStyle": "custom" } + }, + { + "path": "recharge/record", + "style": { + "navigationStyle": "custom" + } }, { "path": "face/face-info", diff --git a/pages/order/cg-my-order.vue b/pages/order/cg-my-order.vue index 101de84..30c5243 100644 --- a/pages/order/cg-my-order.vue +++ b/pages/order/cg-my-order.vue @@ -135,7 +135,7 @@ - + @@ -606,7 +606,7 @@ toInvoice(order_id) { console.log("🚀 ~ methods.toInvoice:") uni.navigateTo({ - url: `/pages/order/invoice?order_id=${order_id}` + url: `/pages/order/invoice?order_id=${order_id}&type=1` }); }, diff --git a/pages/order/invoice.vue b/pages/order/invoice.vue index 78365ba..0ae9de5 100644 --- a/pages/order/invoice.vue +++ b/pages/order/invoice.vue @@ -23,6 +23,7 @@ data() { return { order_id: 0, + type: 1, // 1是订单发票 2是充值发票 form: { gmfnsrsbh: '', gmfmc: '', @@ -32,7 +33,7 @@ }, onLoad(args) { this.order_id = args.order_id; - console.log('order_id', this.order_id); + this.type = args.type || 1; }, methods: { submit() { @@ -68,6 +69,7 @@ 'invoice.invoice/getInvoice', { order_id: self.order_id, + type: self.type, emails: self.form.emials, gmfmc: self.form.gmfmc, gmfnsrsbh: self.form.gmfnsrsbh diff --git a/uni_modules/hao-camera/changelog.md b/uni_modules/hao-camera/changelog.md new file mode 100644 index 0000000..f2f5f92 --- /dev/null +++ b/uni_modules/hao-camera/changelog.md @@ -0,0 +1,6 @@ +## 1.0.2(2025-12-22) +代码优化 +## 1.0.1(2025-12-22) +封面图上传 +## 1.0.0(2025-12-22) +组件代码上传 diff --git a/uni_modules/hao-camera/components/hao-camera/hao-camera.vue b/uni_modules/hao-camera/components/hao-camera/hao-camera.vue new file mode 100644 index 0000000..d8df35e --- /dev/null +++ b/uni_modules/hao-camera/components/hao-camera/hao-camera.vue @@ -0,0 +1,164 @@ + + + + + diff --git a/uni_modules/hao-camera/package.json b/uni_modules/hao-camera/package.json new file mode 100644 index 0000000..5c475bf --- /dev/null +++ b/uni_modules/hao-camera/package.json @@ -0,0 +1,99 @@ +{ + "id": "hao-camera", + "displayName": "小程序证件照、人脸拍照相机", + "version": "1.0.2", + "description": "小程序相机拍照,证件照人脸头像框辅助拍照", + "keywords": [ + "人脸拍照", + "相机翻转", + "证件照" +], + "engines": { + "HBuilderX": "^3.1.0", + "uni-app": "^3.6.15", + "uni-app-x": "" + }, + "cover": "http://rk-pos.oss-cn-beijing.aliyuncs.com/appupdate/ruipay/lyhStatic/cameraCover.png", + "dcloudext": { + "type": "component-vue", + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "插件不采集任何数据", + "permissions": "无" + }, + "npmurl": "", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "√", + "aliyun": "√", + "alipay": "√" + }, + "client": { + "uni-app": { + "vue": { + "vue2": { + "extVersion": "1.0.0", + "minVersion": "" + }, + "vue3": { + "extVersion": "1.0.0", + "minVersion": "" + } + }, + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "vue": "-", + "nvue": "-", + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": { + "extVersion": "1.0.0", + "minVersion": "" + }, + "alipay": "-", + "toutiao": "-", + "baidu": "-", + "kuaishou": "-", + "jd": "-", + "harmony": "-", + "qq": "-", + "lark": "-" + }, + "quickapp": { + "huawei": "-", + "union": "-" + } + } + } + } + }, + "engines": { + "HBuilderX": "^3.1.0", + "uni-app": "^3.6.15", + "uni-app-x": "" + } +} \ No newline at end of file diff --git a/uni_modules/hao-camera/readme.md b/uni_modules/hao-camera/readme.md new file mode 100644 index 0000000..f69fafb --- /dev/null +++ b/uni_modules/hao-camera/readme.md @@ -0,0 +1,32 @@ +# hao-camera 证件照相机拍照 + +**示例使用方法** + +``` + + + +``` + diff --git a/uni_modules/hao-camera/static/back.png b/uni_modules/hao-camera/static/back.png new file mode 100644 index 0000000..1ba926e Binary files /dev/null and b/uni_modules/hao-camera/static/back.png differ diff --git a/uni_modules/hao-camera/static/cameraImg.png b/uni_modules/hao-camera/static/cameraImg.png new file mode 100644 index 0000000..0634fc8 Binary files /dev/null and b/uni_modules/hao-camera/static/cameraImg.png differ diff --git a/uni_modules/hao-camera/static/confirm.png b/uni_modules/hao-camera/static/confirm.png new file mode 100644 index 0000000..e8f06a9 Binary files /dev/null and b/uni_modules/hao-camera/static/confirm.png differ diff --git a/uni_modules/hao-camera/static/fanzhuan.png b/uni_modules/hao-camera/static/fanzhuan.png new file mode 100644 index 0000000..30ed7aa Binary files /dev/null and b/uni_modules/hao-camera/static/fanzhuan.png differ diff --git a/uni_modules/hao-camera/static/person.png b/uni_modules/hao-camera/static/person.png new file mode 100644 index 0000000..ac83f45 Binary files /dev/null and b/uni_modules/hao-camera/static/person.png differ diff --git a/uni_modules/hao-camera/static/xiangce.png b/uni_modules/hao-camera/static/xiangce.png new file mode 100644 index 0000000..2da48d4 Binary files /dev/null and b/uni_modules/hao-camera/static/xiangce.png differ