This commit is contained in:
@jyuhsin
2025-03-19 14:41:09 +08:00
parent 309b2069e0
commit ef30224867
7 changed files with 217 additions and 174 deletions
@@ -224,7 +224,6 @@ public class SiteReserveController {
if (StrUtil.isNotBlank(siteType)) { if (StrUtil.isNotBlank(siteType)) {
cnd.and("typeId", "=", siteType); cnd.and("typeId", "=", siteType);
} }
sql.setCondition(cnd); sql.setCondition(cnd);
return siteInfoService.list(sql); return siteInfoService.list(sql);
} }
@@ -90,12 +90,9 @@ public class SiteReviewController {
GROUP_CONCAT(reserve_day order by reserve_day asc) concat_day GROUP_CONCAT(reserve_day order by reserve_day asc) concat_day
FROM FROM
activity_site_reserve asr activity_site_reserve asr
LEFT JOIN LEFT JOIN activity_site_info asi ON asi.id = asr.site_id
activity_site_info asi ON asi.id = asr.site_id LEFT JOIN audit_state ass ON ass.stateId = asr.reserve_state
LEFT JOIN LEFT JOIN sys_user u on u.id = asr.reserve_person_id
audit_state ass ON ass.stateId = asr.reserve_state
LEFT JOIN
sys_user u on u.id = asr.reserve_person_id
$condition $condition
"""); """);
@@ -115,36 +112,33 @@ public class SiteReviewController {
List<Record> sList = siteReserveService.list(s); List<Record> sList = siteReserveService.list(s);
List<String> stateList = sList.stream().map(o -> o.getString("stateId")).collect(Collectors.toList()); List<String> stateList = sList.stream().map(o -> o.getString("stateId")).collect(Collectors.toList());
if (isAudit == null) { if (!ShiroUtil.hasAnyRoles(new String[]{"sysadmin", "A06"})) {
SqlExpressionGroup group = new SqlExpressionGroup(); if (isAudit == null) {
group.and(new Static("JSON_CONTAINS(auditList, JSON_OBJECT('auditUser', '" + ShiroUtil.getPrincipalProperty("id") + "'))")) SqlExpressionGroup group = new SqlExpressionGroup();
.or("reserve_state", "in", stateList); group.and(new Static("JSON_CONTAINS(auditList, JSON_OBJECT('auditUser', '" + ShiroUtil.getPrincipalProperty("id") + "'))"))
cnd.and(group); .or("reserve_state", "in", stateList);
} else if (isAudit) { cnd.and(group);
//查询已审核 } else if (isAudit) {
cnd.and(new Static("JSON_CONTAINS(auditList, JSON_OBJECT('auditUser', '" + ShiroUtil.getPrincipalProperty("id") + "'))")); //查询已审核
} else { cnd.and(new Static("JSON_CONTAINS(auditList, JSON_OBJECT('auditUser', '" + ShiroUtil.getPrincipalProperty("id") + "'))"));
cnd.and("reserve_state", "in", stateList); } else {
cnd.and("reserve_state", "in", stateList);
}
} }
if (Strings.isNotBlank(siteType)) { if (Strings.isNotBlank(siteType)) {
cnd.and("asi.typeId", "=", siteType); cnd.and("asi.typeId", "=", siteType);
} }
if (Strings.isNotBlank(month)) { if (Strings.isNotBlank(month)) {
cnd.and("left(reserve_day, 7)", "=", month); cnd.and("left(reserve_day, 7)", "=", month);
} }
if (Strings.isNotBlank(searchName) && Strings.isNotBlank(searchKeyword)) { if (Strings.isNotBlank(searchName) && Strings.isNotBlank(searchKeyword)) {
cnd.where().andLike(searchName, searchKeyword); cnd.where().andLike(searchName, searchKeyword);
} }
if (Strings.isNotBlank(pageOrderName) && Strings.isNotBlank(pageOrderName)) { if (Strings.isNotBlank(pageOrderName) && Strings.isNotBlank(pageOrderName)) {
cnd.orderBy(pageOrderName, PageUtil.getOrder(pageOrderBy)); cnd.orderBy(pageOrderName, PageUtil.getOrder(pageOrderBy));
} else { } else {
cnd.asc("asr.reserve_state").desc("u.unitid"); cnd.asc("asr.reserve_state").desc("u.unitid");
} }
cnd.groupBy("sqid"); cnd.groupBy("sqid");
sql.setCondition(cnd); sql.setCondition(cnd);
@@ -81,4 +81,9 @@ public class ActivitySiteInfo {
@Comment("限制男女,0表示不限制,1表示限制男,2表示限制女") @Comment("限制男女,0表示不限制,1表示限制男,2表示限制女")
@ColDefine(type = ColType.INT) @ColDefine(type = ColType.INT)
private Integer sexLimit; private Integer sexLimit;
@Column
@Comment("预约时间")
@ColDefine(type = ColType.MYSQL_JSON)
private List<Integer> openWeekTime;
} }
@@ -97,9 +97,9 @@
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="参与人员"> <!-- <el-form-item label="参与人员">
<div style="word-break: break-all" v-html="viewData.joinuser"></div> <div style="word-break: break-all" v-html="viewData.joinuser"></div>
</el-form-item> </el-form-item>-->
<el-form-item label="预约事由"> <el-form-item label="预约事由">
<div style="word-break: break-all" v-html="viewData.reserve_cause"></div> <div style="word-break: break-all" v-html="viewData.reserve_cause"></div>
</el-form-item> </el-form-item>
@@ -252,4 +252,4 @@ module.exports = {
.el-descriptions-item__cell { .el-descriptions-item__cell {
text-align: center !important; text-align: center !important;
} }
</style> </style>
@@ -204,7 +204,7 @@ layout("/mobile/platform.html"){
</van-cell> </van-cell>
<van-cell title="预约地点">{{site.name}}</van-cell> <van-cell title="预约地点">{{site.name}}</van-cell>
<van-field <!--<van-field
v-model="joinUser" v-model="joinUser"
rows="2" rows="2"
autosize autosize
@@ -213,7 +213,7 @@ layout("/mobile/platform.html"){
maxlength="50" maxlength="50"
placeholder="请输入参加人员" placeholder="请输入参加人员"
show-word-limit show-word-limit
></van-field> ></van-field>-->
<van-field <van-field
v-model="message" v-model="message"
rows="4" rows="4"
@@ -295,10 +295,10 @@ layout("/mobile/platform.html"){
calendarFormatter() { calendarFormatter() {
return (day) => { return (day) => {
// 休息日不能选择 // 休息日不能选择
let week = day.date.getDay() /*let week = day.date.getDay()
if (week === 0 || week === 6) { if (week === 0 || week === 6) {
day.type = 'disabled' day.type = 'disabled'
} }*/
return day return day
} }
} }
@@ -320,12 +320,23 @@ layout("/mobile/platform.html"){
//这里要排除掉休息日 //这里要排除掉休息日
setWeekList(startDate) { setWeekList(startDate) {
const wk = [] const wk = []
let d = null
do {
d = moment(startDate).day()
if(!this.site.openWeekTime.includes(d)) {
startDate = moment(startDate).add(1, 'd')
}
} while (!this.site.openWeekTime.includes(d))
wk.push(moment(startDate)) wk.push(moment(startDate))
let count = 1 let count = 1
while (wk.length < 7) { while (wk.length < 7) {
const addDate = moment(startDate).add(count, 'd') const addDate = moment(startDate).add(count, 'd')
const nextDay = addDate.day()
//这里不是休息日才能加到数组里 //这里不是休息日才能加到数组里
if (addDate.day() !== 0 && addDate.day() !== 6 && !this.holidays.includes(moment(addDate).format('YYYY-MM-DD'))) { /*if (addDate.day() !== 0 && addDate.day() !== 6 && !this.holidays.includes(moment(addDate).format('YYYY-MM-DD'))) {
wk.push(addDate)
}*/
if(this.site.openWeekTime.includes(nextDay)) {
wk.push(addDate) wk.push(addDate)
} }
count++ count++
@@ -399,12 +410,11 @@ layout("/mobile/platform.html"){
async onLoad() { async onLoad() {
this.loading = true this.loading = true
$.post('/mobile/activity/site/info/getDetail', {id: this.site_id}).then(res => { const resp = await $.post('/mobile/activity/site/info/getDetail', {id: this.site_id})
if (res.code === 0) { if (resp.code === 0) {
this.site = res.data this.site = resp.data
} }
this.loading = false this.loading = false
})
}, },
async getReserve() { async getReserve() {
const resp = await $.post('/mobile/activity/site/info/getReserve', { const resp = await $.post('/mobile/activity/site/info/getReserve', {
@@ -446,9 +456,9 @@ layout("/mobile/platform.html"){
async created() { async created() {
this.site_id = getQueryString('id') this.site_id = getQueryString('id')
this.selectDate = this.getLatestWorkDay() this.selectDate = this.getLatestWorkDay()
this.setWeekList(this.selectDate)
await this.getReserve() await this.getReserve()
await this.onLoad() await this.onLoad()
this.setWeekList(this.selectDate)
await this.getMyReservation() await this.getMyReservation()
} }
@@ -457,4 +467,4 @@ layout("/mobile/platform.html"){
<!--# <!--#
} }
#--> #-->
@@ -91,13 +91,13 @@ layout("/layouts/platform.html"){
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" :show-overflow-tooltip="true" header-align="center" label="限定工作日预约" <!--<el-table-column align="center" :show-overflow-tooltip="true" header-align="center" label="限定工作日预约"
prop="workday"> prop="workday">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-switch disabled v-model="row.workday" active-color="#13ce66" <el-switch disabled v-model="row.workday" active-color="#13ce66"
inactive-color="#ff4949"></el-switch> inactive-color="#ff4949"></el-switch>
</template> </template>
</el-table-column> </el-table-column>-->
<el-table-column align="center" label="操作" width="250px"> <el-table-column align="center" label="操作" width="250px">
<template slot-scope="{row}"> <template slot-scope="{row}">
@@ -115,131 +115,146 @@ layout("/layouts/platform.html"){
<template #edit> <template #edit>
<vi-title title="填写场地信息"></vi-title> <vi-title title="填写场地信息"></vi-title>
<div style="padding: 0 5%"> <el-form :model="formData" ref="addForm" :rules="formRules" label-width="120px">
<el-form :model="formData" ref="addForm" :rules="formRules" label-width="120px">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="create_username" label="创建人"> <el-form-item prop="create_username" label="创建人">
<el-input readonly v-model="formData.create_username" type="text"></el-input> <el-input readonly v-model="formData.create_username" type="text"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="create_time" label="创建时间"> <el-form-item prop="create_time" label="创建时间">
<el-input readonly v-model="formData.create_time" type="text"></el-input> <el-input readonly v-model="formData.create_time" type="text"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="name" label="场地名称"> <el-form-item prop="name" label="场地名称">
<el-input maxlength="100" placeholder="请填写场地名称" v-model="formData.name"></el-input> <el-input maxlength="100" placeholder="请填写场地名称" v-model="formData.name"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="address" label="场地地址"> <el-form-item prop="address" label="场地地址">
<el-input maxlength="100" placeholder="请填写场地地址" v-model="formData.address"></el-input> <el-input maxlength="100" placeholder="请填写场地地址" v-model="formData.address"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="contact_person" label="联系人"> <el-form-item prop="contact_person" label="联系人">
<el-input v-model="formData.contact_person" placeholder="请填写联系人" type="text"></el-input> <el-input v-model="formData.contact_person" placeholder="请填写联系人" type="text"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="contact_phone" label="联系方式"> <el-form-item prop="contact_phone" label="联系方式">
<el-input v-model="formData.contact_phone" placeholder="请填写联系方式" type="text"></el-input> <el-input v-model="formData.contact_phone" placeholder="请填写联系方式" type="text"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="4"> <el-col :span="6">
<el-form-item prop="state" label="开启状态"> <el-form-item prop="state" label="开启状态">
<el-switch v-model="formData.state" active-color="#13ce66" inactive-color="#ff4949"> <el-radio-group v-model="formData.state" size="medium">
</el-switch> <el-radio-button :label="true">开启</el-radio-button>
</el-form-item> <el-radio-button :label="false">禁用</el-radio-button>
</el-col> </el-radio-group>
<el-col :span="4"> </el-form-item>
<el-form-item prop="state" label="是否多次预约"> </el-col>
<el-switch v-model="formData.multiple" active-color="#13ce66" inactive-color="#ff4949"> <el-col :span="6">
</el-switch> <el-form-item prop="state" label="是否多次预约">
</el-form-item> <el-radio-group v-model="formData.multiple" size="medium">
</el-col> <el-radio-button :label="true">允许</el-radio-button>
<el-col :span="4"> <el-radio-button :label="false">不允许</el-radio-button>
<el-form-item prop="state" label="限定工作日预约"> </el-radio-group>
<el-switch v-model="formData.workday" active-color="#13ce66" inactive-color="#ff4949"> </el-form-item>
</el-switch> </el-col>
</el-form-item> <!--<el-col :span="4">
</el-col> <el-form-item prop="state" label="限定工作日预约">
<el-col :span="12"> <el-switch v-model="formData.workday" active-color="#13ce66" inactive-color="#ff4949">
<el-form-item prop="typeId" label="场地类型"> </el-switch>
<el-select v-model="formData.typeId" style="width: 100%" filterable </el-form-item>
placeholder="请选择场地类型"> </el-col>-->
<el-option v-for="item in activityTypeList" :label="item.meetingTypeName" <el-col :span="12">
:value="item.id"></el-option> <el-form-item prop="typeId" label="场地类型">
</el-select> <el-select v-model="formData.typeId" style="width: 100%" filterable
</el-form-item> placeholder="请选择场地类型">
</el-col> <el-option v-for="item in activityTypeList" :label="item.meetingTypeName"
</el-row> :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="sexLimit" label="性别限制"> <el-form-item prop="sexLimit" label="性别限制">
<el-radio-group v-model="formData.sexLimit" size="medium"> <el-radio-group v-model="formData.sexLimit" size="medium">
<el-radio-button label="0">不限制</el-radio-button> <el-radio-button label="0">不限制</el-radio-button>
<el-radio-button label="1">男</el-radio-button> <el-radio-button label="1">男</el-radio-button>
<el-radio-button label="2">女</el-radio-button> <el-radio-button label="2">女</el-radio-button>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="12">
<el-form-item prop="openWeekTime" label="预约时间">
<el-select v-model="formData.openWeekTime" style="width: 100%" filterable
placeholder="请选择预约时间" multiple>
<el-option label="周一" :value="1"></el-option>
<el-option label="周二" :value="2"></el-option>
<el-option label="周三" :value="3"></el-option>
<el-option label="周四" :value="4"></el-option>
<el-option label="周五" :value="5"></el-option>
<el-option label="周六" :value="6"></el-option>
<el-option label="周日" :value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<vi-title2 title="添加场次">
<template #func>
<el-button type="primary" @click="formData.open_hours.push({})">
添加
</el-button>
</template>
</vi-title2>
<el-table :data="formData.open_hours" border size="mini">
<el-table-column prop="start_time" label="开始时间" align="center" header-align="center">
<template slot-scope="{row}">
<el-time-select
placeholder="开始时间"
v-model="row.start_time"
:picker-options="{ start: '00:00',step: '00:30',end: '24:00'}">
</el-time-select>
</template>
</el-table-column>
<el-form-item label="添加场次&emsp;" label-width="110px" class="view-header"> <el-table-column prop="end_time" label="结束时间" align="center" header-align="center">
<el-button style="float: right;margin-bottom: 10px" icon="el-icon-plus" size="mini" <template slot-scope="{row}">
type="primary" @click="formData.open_hours.push({})">添加 <el-time-select
</el-button> placeholder="结束时间"
v-model="row.end_time"
:picker-options="{start: '00:00',step: '00:30',end: '24:00',minTime: row.start_time }">
</el-time-select>
</template>
</el-table-column>
<el-table :data="formData.open_hours" border size="mini"> <el-table-column label="操作" align="center" header-align="center" width="100px">
<el-table-column prop="start_time" label="开始时间" align="center" header-align="center"> <template slot-scope="scope">
<template slot-scope="{row}"> <el-button type="danger" icon="el-icon-delete" circle
<el-time-select :disabled="formData.open_hours.length==0"
placeholder="开始时间" @click="formData.open_hours.splice(scope.$index, 1)"></el-button>
v-model="row.start_time" </template>
:picker-options="{ start: '00:00',step: '00:30',end: '24:00'}"> </el-table-column>
</el-time-select>
</template>
</el-table-column>
<el-table-column prop="end_time" label="结束时间" align="center" header-align="center"> </el-table>
<template slot-scope="{row}"> <div style="float: right;margin: 20px 0">
<el-time-select <el-button type="primary" :disabled="subDis" @click="operation">确 定</el-button>
placeholder="结束时间"
v-model="row.end_time"
:picker-options="{start: '00:00',step: '00:30',end: '24:00',minTime: row.start_time }">
</el-time-select>
</template>
</el-table-column>
<el-table-column label="操作" align="center" header-align="center" width="100px">
<template slot-scope="scope">
<el-button type="danger" icon="el-icon-delete" circle
:disabled="formData.open_hours.length==0"
@click="formData.open_hours.splice(scope.$index, 1)"></el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-form>
<div style="float: right;margin: 20px 0">
<el-button type="primary" :disabled="subDis" @click="operation">确 定</el-button>
</div>
</div> </div>
</template> </template>
@@ -281,6 +296,7 @@ layout("/layouts/platform.html"){
contact_phone: [{required: true, message: '请填写联系电话', trigger: ['blur', 'change']}], contact_phone: [{required: true, message: '请填写联系电话', trigger: ['blur', 'change']}],
state: [{required: true, message: '请选择开启状态', trigger: ['blur', 'change']}], state: [{required: true, message: '请选择开启状态', trigger: ['blur', 'change']}],
typeId: [{required: true, message: '请选择场地类型', trigger: ['blur', 'change']}], typeId: [{required: true, message: '请选择场地类型', trigger: ['blur', 'change']}],
openWeekTime: [{required: true, message: '请选择预约时间', trigger: ['blur', 'change']}],
} }
} }
}, },
@@ -319,9 +319,15 @@ layout("/layouts/platform.html"){
您正在预约【<span style="color: #409EFF">{{infoViewData.name}}</span>】活动场地 您正在预约【<span style="color: #409EFF">{{infoViewData.name}}</span>】活动场地
</div> </div>
<div style="color:#909399;"> <div style="color:#909399;">
开放时间段为:<span v-for="(item,index) in infoViewData.open_hours" style="color: #303133"> <span>开放日期为:</span>
<span v-if="infoViewData.workday === true && index === 0">工作日</span> <span style="color: #303133">
【{{item.start_time}} - {{item.end_time}}】 {{ infoViewData.openWeedTimeStr }}
</span>
<span>,开放时间段为:</span>
<span v-for="(item, index) in infoViewData.open_hours" style="color: #303133">
<span v-if="infoViewData.workday === true && index === 0">工作日</span>
【{{item.start_time}} - {{item.end_time}}】
</span>
</span> </span>
</div> </div>
</el-col> </el-col>
@@ -627,9 +633,9 @@ layout("/layouts/platform.html"){
}) })
if (res.code === 0) { if (res.code === 0) {
await this.doSearch() await this.doSearch()
this.$notify.success({title: '提示', message: '操作成功!'}); this.$message.success(res.msg)
} else { } else {
this.$notify.warning({title: '警告', message: '操作失败!'}); this.$message.warning(res.msg)
} }
}).catch(() => { }).catch(() => {
}); });
@@ -680,7 +686,8 @@ layout("/layouts/platform.html"){
//判断预约时间是否在小于当前时间 若小于提示用户选择错误 //判断预约时间是否在小于当前时间 若小于提示用户选择错误
if (mySelectStartTime < moment().format("YYYY-MM-DD HH:mm:ss")) { if (mySelectStartTime < moment().format("YYYY-MM-DD HH:mm:ss")) {
this.$notify.warning({title: '警告', message: '您选中的预约时间已超过当前时间,请重新选择!'}); this.$message.warning('您选中的预约时间已超过当前时间,请重新选择')
this.$set(this.formData, 'start_time', '') this.$set(this.formData, 'start_time', '')
this.$set(this.formData, 'end_time', '') this.$set(this.formData, 'end_time', '')
return; return;
@@ -688,7 +695,7 @@ layout("/layouts/platform.html"){
//判断预约时间是否已被预约 若已预约提示用户选择错误 //判断预约时间是否已被预约 若已预约提示用户选择错误
if (await this.checkReserve(reserve_day, start_time, end_time, site_id) > 0) { if (await this.checkReserve(reserve_day, start_time, end_time, site_id) > 0) {
this.$notify.warning({title: '警告', message: '该时段已被预约,请重新选择!'}); this.$message.warning('该时段已被预约,请重新选择')
this.$set(this.formData, 'start_time', '') this.$set(this.formData, 'start_time', '')
this.$set(this.formData, 'end_time', '') this.$set(this.formData, 'end_time', '')
return return
@@ -696,7 +703,7 @@ layout("/layouts/platform.html"){
//判断预约时间是否开放 若未开放提示用户选择错误 //判断预约时间是否开放 若未开放提示用户选择错误
if (!open_hours.some(v => start_time >= v.start_time && end_time <= v.end_time)) { if (!open_hours.some(v => start_time >= v.start_time && end_time <= v.end_time)) {
this.$notify.warning({title: '警告', message: '您选中预约时间暂未开放,请重新选择!'}); this.$message.warning('您选中预约时间暂未开放,请重新选择')
this.$set(this.formData, 'start_time', '') this.$set(this.formData, 'start_time', '')
this.$set(this.formData, 'end_time', '') this.$set(this.formData, 'end_time', '')
} }
@@ -744,7 +751,7 @@ layout("/layouts/platform.html"){
if ("${@shiro.getPrincipalProperty('sex')}" === sex) { if ("${@shiro.getPrincipalProperty('sex')}" === sex) {
this.openReserve(data) this.openReserve(data)
} else { } else {
this.$notify.warning({title: '警告', message: '抱歉,该场地仅限' + sex + '性会员预约'}); this.$message.warning('抱歉,该场地仅限' + sex + '性会员预约')
} }
} else { } else {
this.openReserve(data) this.openReserve(data)
@@ -752,12 +759,19 @@ layout("/layouts/platform.html"){
}, },
pushDay(data) { pushDay(data) {
const d = new Date(data.day).getDay() const d = new Date(data.day).getDay()
if (this.textData.workday === true && (d === 0 || d === 6 || this.holidays.includes(data.day))) { /*if (this.textData.workday === true && (d === 0 || d === 6 || this.holidays.includes(data.day))) {
this.$notify.warning({title: '警告', message: '抱歉,该场地只能预约工作日'}); this.$notify.warning({title: '警告', message: '抱歉,该场地只能预约工作日'});
return return
}*/
if(this.infoViewData.openweektime) {
const openWeedTime = JSON.parse(this.infoViewData.openweektime)
if(!openWeedTime.includes(d)) {
this.$message.warning('该场地只能预约' + this.infoViewData.openWeedTimeStr)
return
}
} }
if (data.day < moment(new Date()).format('YYYY-MM-DD')) { if (data.day < moment(new Date()).format('YYYY-MM-DD')) {
this.$notify.warning({title: '警告', message: '你选择的日期已过'}); this.$message.warning('你选择的日期已过')
return return
} }
if (this.dayArray.includes(data.day)) { if (this.dayArray.includes(data.day)) {
@@ -783,7 +797,7 @@ layout("/layouts/platform.html"){
}) })
}*/ }*/
if (this.dayArray && this.dayArray.length === 0) { if (this.dayArray && this.dayArray.length === 0) {
this.$notify.warning({title: '警告', message: '请选择预约日期!'}); this.$message.warning('请选择预约日期')
return return
} }
@@ -830,7 +844,7 @@ layout("/layouts/platform.html"){
if (op === 2) { if (op === 2) {
const res = await $.post(location.href + "/isCanRollBack", {id: id}); const res = await $.post(location.href + "/isCanRollBack", {id: id});
if (res === true) { if (res === true) {
this.$notify.warning({title: '警告', message: '此预约状态下不能进行撤回操作!'}); this.$message.warning('此预约状态下不能进行撤回操作')
return return
} }
} }
@@ -858,7 +872,7 @@ layout("/layouts/platform.html"){
}, },
async doAdd() { async doAdd() {
if (!this.formData.time) { if (!this.formData.time) {
this.$notify.warning({title: '警告', message: '未选择预约时间!'}); this.$message.warning('未选择预约时间')
return return
} }
const s = this.formData.time.split('-')[0] const s = this.formData.time.split('-')[0]
@@ -867,11 +881,11 @@ layout("/layouts/platform.html"){
return x.start_time === s && x.end_time === e return x.start_time === s && x.end_time === e
}) })
if (t && t.disabled === true) { if (t && t.disabled === true) {
this.$notify.warning({title: '警告', message: '该时间段已约满!'}); this.$message.warning('该时间段已约满')
return return
} }
if (moment().unix() >= moment(this.formData.reserve_day + ' ' + e + ':00').unix()) { if (moment().unix() >= moment(this.formData.reserve_day + ' ' + e + ':00').unix()) {
this.$notify.warning({title: '警告', message: '您预约的时间段已过!'}); this.$message.warning('您预约的时间段已过')
return return
} }
this.$refs["addForm"].validate(async (valid) => { this.$refs["addForm"].validate(async (valid) => {
@@ -894,7 +908,7 @@ layout("/layouts/platform.html"){
this.pageData() this.pageData()
this.$refs.guava.index() this.$refs.guava.index()
} else { } else {
this.$notify.warning({title: '警告', message: msg}); this.$message.warning(msg)
} }
loading.close() loading.close()
this.subDis = false this.subDis = false
@@ -918,6 +932,11 @@ layout("/layouts/platform.html"){
}) })
this.formData.site_id = data.id this.formData.site_id = data.id
this.infoViewData = data this.infoViewData = data
if(this.infoViewData.openweektime) {
const openWeedTime = JSON.parse(this.infoViewData.openweektime)
const weekDays = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"]
this.infoViewData.openWeedTimeStr = openWeedTime.map((day) => weekDays[day]).join(",")
}
this.$refs.guava.edit() this.$refs.guava.edit()
}, },
async doSearch() { async doSearch() {