diff --git a/dist.zip b/dist.zip
new file mode 100644
index 00000000..37ef1f91
Binary files /dev/null and b/dist.zip differ
diff --git a/dist/index.html b/dist/index.html
new file mode 100644
index 00000000..1dac6ff1
--- /dev/null
+++ b/dist/index.html
@@ -0,0 +1 @@
+
秀湖网球中心
\ No newline at end of file
diff --git a/index.html b/index.html
index 526c3091..09838ab7 100644
--- a/index.html
+++ b/index.html
@@ -4,7 +4,7 @@
- 三勾商城后台系统
+ 秀湖网球中心
diff --git a/src/api/venue.js b/src/api/venue.js
index 84f82072..4e90c300 100644
--- a/src/api/venue.js
+++ b/src/api/venue.js
@@ -66,6 +66,21 @@ let VenueApi = {
groundRoomRate(data, errorback) {
return request._post('/shop/ground.groundRoom/groundRoomRate', data, errorback);
},
+
+ /**场地预定列表 */
+ getSchedule(data, errorback) {
+ return request._post('/shop/order.select/getSchedule', data, errorback);
+ },
+
+ /** 立即预约 */
+ reserveGround(data, errorback) {
+ return request._post('/shop/order.select/submitStoreOrder', data, errorback);
+ },
+
+ /** 取消预定 */
+ cancelAdminReserve(data, errorback) {
+ return request._post('/shop/order.select/cancelGroundOrder', data, errorback);
+ }
}
export default VenueApi;
diff --git a/src/views/user/user/dialog/Record.vue b/src/views/user/user/dialog/Record.vue
index 8f47e9e4..b854020c 100644
--- a/src/views/user/user/dialog/Record.vue
+++ b/src/views/user/user/dialog/Record.vue
@@ -17,11 +17,13 @@
-
+
-
-
+
+
+
+
diff --git a/src/views/venue/order/detail.vue b/src/views/venue/order/detail.vue
index 9e25882a..67edec00 100644
--- a/src/views/venue/order/detail.vue
+++ b/src/views/venue/order/detail.vue
@@ -1,8 +1,8 @@
用户信息
-
-
+
+
{{ order.nickName }}
@@ -10,6 +10,12 @@
+
+
+ 管理员预定
+
+
+
费用明细
@@ -42,7 +48,7 @@
已取消
退订/退款
-
+
余额支付-{{ cardType(order.pay_type) }}
微信支付
diff --git a/src/views/venue/order/index.vue b/src/views/venue/order/index.vue
index 09739f9c..888d57dd 100644
--- a/src/views/venue/order/index.vue
+++ b/src/views/venue/order/index.vue
@@ -60,13 +60,22 @@
- 用户昵称: {{ scope.row.nickName }}
-
+
+ 管理员预定
+ 用户昵称: {{ scope.row.nickName }}
+
+
-
+
+
+
+ {{ scope.row.yuding_hour }} 小时
+
+
+
待付款
@@ -86,7 +95,9 @@
详情
+ v-auth="'/venue/order/detail'">详情
+ 取消预定
+ 上传图片
+
+
+
+
+
+
+
diff --git a/src/views/venue/reserve/Data.vue b/src/views/venue/reserve/Data.vue
new file mode 100644
index 00000000..d10f4627
--- /dev/null
+++ b/src/views/venue/reserve/Data.vue
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/venue/reserve/Edit.vue b/src/views/venue/reserve/Edit.vue
new file mode 100644
index 00000000..06305221
--- /dev/null
+++ b/src/views/venue/reserve/Edit.vue
@@ -0,0 +1,370 @@
+
+
+
+
+
+
+
+
+
+
+
+ 选择图片
+
+
![]()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传图片
+
+
+
+
+
+
+
diff --git a/src/views/venue/reserve/index.vue b/src/views/venue/reserve/index.vue
new file mode 100644
index 00000000..cdea4be2
--- /dev/null
+++ b/src/views/venue/reserve/index.vue
@@ -0,0 +1,245 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 预定
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/venue/room/Add.vue b/src/views/venue/room/Add.vue
index c71b8243..a3d27560 100644
--- a/src/views/venue/room/Add.vue
+++ b/src/views/venue/room/Add.vue
@@ -3,7 +3,7 @@
:close-on-press-escape="false">
-
+
@@ -21,47 +21,70 @@
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -101,6 +124,7 @@ export default {
initialFrameHeight: 500
},
},
+ selectGroundType: null,
form: {
ground_id: '',
img: '',
@@ -115,7 +139,26 @@ export default {
'07:00-08:00',
'08:00-09:00',
],
- hit_time:[]
+ hit_time:[],
+ light_time:[
+ '06:00-07:00',
+ '07:00-08:00',
+ '08:00-09:00',
+ '09:00-10:00',
+ '10:00-11:00',
+ '11:00-12:00',
+ '12:00-13:00',
+ '13:00-14:00',
+ '14:00-15:00',
+ '15:00-16:00',
+ '16:00-17:00',
+ '17:00-18:00',
+ '18:00-19:00',
+ '19:00-20:00',
+ '20:00-21:00',
+ '21:00-22:00',
+ ],
+ set_light_price: ''
},
formRules: {
ground_id: [{
@@ -158,10 +201,20 @@ export default {
message: '请选择高峰时间段',
trigger: 'blur'
}],
+ light_time: [{
+ required: true,
+ message: '请选择灯光使用时段',
+ trigger: 'blur'
+ }],
light_price: [{
required: true,
message: '请输入灯光价格',
trigger: 'blur'
+ }],
+ set_light_price: [{
+ required: true,
+ message: '请输入高峰期灯光价格',
+ trigger: 'blur'
}],
status: [{
required: true,
@@ -231,6 +284,18 @@ export default {
self.$refs.form.validate((valid) => {
if (valid) {
self.loading = true;
+
+ if (this.selectGroundType == 2) {
+ // 篮球场只需要保留场馆、场地图、标题、价格、场地状态其余的不要
+ delete params.holiday_price;
+ delete params.light_price;
+ delete params.set_light_price;
+ delete params.holiday;
+ delete params.free_time;
+ delete params.hit_time;
+ delete params.light_time;
+ }
+
VenueApi.addGroundRoom(params).then(data => {
self.loading = false;
self.$message({
@@ -277,6 +342,10 @@ export default {
}
this.isupload = false;
},
+
+ changeGround(e) {
+ this.selectGroundType = this.veuneList.find(item => item.id === e).type_id
+ }
}
};
diff --git a/src/views/venue/room/Data.vue b/src/views/venue/room/Data.vue
index a51e705b..d10f4627 100644
--- a/src/views/venue/room/Data.vue
+++ b/src/views/venue/room/Data.vue
@@ -7,7 +7,7 @@
-
@@ -55,6 +55,7 @@ export default {
},
},
searchForm: {
+ create_time: '',
start_time: '',
end_time: ''
},
@@ -87,6 +88,7 @@ export default {
VenueApi.groundRoomRate(Params, true).then(res => {
console.log("🚀 ~ res:", res)
+ this.percentage = res.data.rate
}).catch(error => {
console.log("🚀 ~ error:", error)
})
@@ -110,9 +112,8 @@ export default {
onSubmit() {
let self = this;
self.loading = true;
- const start_time = self.searchForm.start_time;
- self.searchForm.start_time = start_time[0]
- self.searchForm.end_time = start_time[1]
+ self.searchForm.start_time = self.searchForm.create_time[0]
+ self.searchForm.end_time = self.searchForm.create_time[1]
self.getData();
}
}
diff --git a/src/views/venue/room/Edit.vue b/src/views/venue/room/Edit.vue
index 5015018a..06305221 100644
--- a/src/views/venue/room/Edit.vue
+++ b/src/views/venue/room/Edit.vue
@@ -21,47 +21,73 @@
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
@@ -101,6 +127,7 @@ export default {
initialFrameHeight: 500
},
},
+ selectGroundType: null,
form: {
ground_id: '',
img: '',
@@ -112,6 +139,8 @@ export default {
holiday: '',
free_time: [],
hit_time: [],
+ light_time: [],
+ set_light_price: '',
},
formRules: {
ground_id: [{
@@ -154,11 +183,21 @@ export default {
message: '请选择高峰期时间段',
trigger: 'blur'
}],
+ light_time: [{
+ required: true,
+ message: '请选择灯光使用时段',
+ trigger: 'blur'
+ }],
light_price: [{
required: true,
message: '请输入灯光价格',
trigger: 'blur'
}],
+ set_light_price: [{
+ required: true,
+ message: '请输入高峰期灯光价格',
+ trigger: 'blur'
+ }],
status: [{
required: true,
message: '请选择场地状态',
@@ -193,27 +232,35 @@ export default {
});
}
+
this.dialogVisible = this.open_edit;
- console.log(this.editform.model);
+ this.selectGroundType = this.editform.ground_id;
+
this.form.id = this.editform.id;
this.form.ground_id = this.editform.ground_id;
this.form.img = this.editform.img_id;
this.form.title = this.editform.title;
this.form.price = this.editform.price;
- this.form.holiday_price = this.editform.holiday_price;
- // 将字符串日期转为 Date 对象,适配 el-date-picker
- this.form.holiday = this.editform.holiday.split(',').map(str => {
- // 支持 'YYYY-MM-DD' 格式转 Date
- if (/^\d{4}-\d{2}-\d{2}$/.test(str)) {
- return new Date(str.replace(/-/g, '/'));
- }
- // 其它格式直接尝试 new Date
- return new Date(str);
- });
- console.log("🚀 ~ this.form.holiday:", this.form.holiday)
- this.form.free_time = this.editform.free_time;
- this.form.hit_time = this.editform.hit_time;
- this.form.light_price = this.editform.light_price;
+
+ if (this.form.ground_id == 1) {
+ this.form.holiday_price = this.editform.holiday_price;
+ // 将字符串日期转为 Date 对象,适配 el-date-picker
+ this.form.holiday = this.editform.holiday.split(',').map(str => {
+ // 支持 'YYYY-MM-DD' 格式转 Date
+ if (/^\d{4}-\d{2}-\d{2}$/.test(str)) {
+ return new Date(str.replace(/-/g, '/'));
+ }
+ // 其它格式直接尝试 new Date
+ return new Date(str);
+ });
+ console.log("🚀 ~ this.form.holiday:", this.form.holiday)
+ this.form.free_time = this.editform.free_time;
+ this.form.hit_time = this.editform.hit_time;
+ this.form.light_time = this.editform.light_time;
+ this.form.light_price = this.editform.light_price;
+ this.form.set_light_price = this.editform.set_light_price;
+ }
+
this.form.status = this.editform.status;
console.log("🚀 ~ this.form:", this.form)
this.file_path = this.editform.img;
@@ -253,6 +300,17 @@ export default {
self.$refs.form.validate((valid) => {
if (valid) {
+ if (this.selectGroundType == 2) {
+ // 篮球场只需要保留场馆、场地图、标题、价格、场地状态其余的不要
+ delete params.holiday_price;
+ delete params.light_price;
+ delete params.set_light_price;
+ delete params.holiday;
+ delete params.free_time;
+ delete params.hit_time;
+ delete params.light_time;
+ }
+
self.loading = true;
VenueApi.editGroundRoom(params).then(data => {
self.loading = false;
diff --git a/src/views/venue/room/index.vue b/src/views/venue/room/index.vue
index 15e048c6..6cc0e0a3 100644
--- a/src/views/venue/room/index.vue
+++ b/src/views/venue/room/index.vue
@@ -197,6 +197,7 @@ export default {
/*关闭弹窗*/
closeDialogFunc(e, f) {
+ console.log("🚀 ~ e, f:", e, f)
if (f == 'add') {
this.open_add = e.openDialog;
if (e.type == 'success') {
@@ -216,7 +217,7 @@ export default {
}
}
if (f == 'data') {
- this.open_add = e.openDialog;
+ this.open_data = e.openDialog;
if (e.type == 'success') {
this.getTableList();
}
diff --git a/src/views/venue/venue/index.vue b/src/views/venue/venue/index.vue
index 81116395..4cd35b62 100644
--- a/src/views/venue/venue/index.vue
+++ b/src/views/venue/venue/index.vue
@@ -30,6 +30,8 @@
v-auth="'/venue/venue/edit'">编辑
删除
+ 预定
@@ -148,6 +150,18 @@ export default {
editClick(item) {
this.venueModel = item;
this.open_edit = true;
+ },
+
+ /*打开预定*/
+ reserveClick(item) {
+ let self = this;
+ let params = item.id;
+ self.$router.push({
+ path: '/venue/venue/reserve',
+ query: {
+ cg_id: params
+ }
+ });
},
/*关闭弹窗*/
diff --git a/src/views/venue/venue/reserve.vue b/src/views/venue/venue/reserve.vue
new file mode 100644
index 00000000..ae2e4a37
--- /dev/null
+++ b/src/views/venue/venue/reserve.vue
@@ -0,0 +1,481 @@
+
+
+
+ 备注信息:如果选错预定场地时间,可以前往场馆->订单管理,取消改订单重新预定。
+
+
+
+
+
+
+
+
+
{{ item.value[0] }}
+
{{ item.value[1] }}
+
+
+
+
+
+
+
+
+
+
{{ item2.title }}
+
+
+ ¥{{ item3.price }}
+ 已约
+ 免费
+
+
+
+
+
今日预约已结束
+
+
+
+
+
立即预约
+
+
+
+
+
diff --git a/static/imgs/favicon.ico b/static/imgs/favicon.ico
index 4875586a..63b839d7 100644
Binary files a/static/imgs/favicon.ico and b/static/imgs/favicon.ico differ