查询的时间段改成两个字段;会员数据更新记录增加导出;场地预约增加单位预约和审核流程

This commit is contained in:
2026-09-15 17:42:21 +08:00
parent 216329a345
commit b16443e1b7
24 changed files with 564 additions and 336 deletions
@@ -32,18 +32,19 @@ layout("/layouts/platform.html"){
</div>
</div>
<div class="search-item">
<div class="search-item-label">日期范围:</div>
<div class="search-item-label">日期开始</div>
<div class="search-item-option">
<el-date-picker
end-placeholder="结束日期"
range-separator="至"
start-placeholder="开始日期"
type="daterange"
style="width: 100%"
@change="activityDateChange"
value-format="yyyy-MM-dd"
v-model="pageForm.activityDate">
</el-date-picker>
<el-date-picker clearable type="date" style="width: 100%"
placeholder="日期开始" v-model="dateStart"
value-format="yyyy-MM-dd"></el-date-picker>
</div>
</div>
<div class="search-item">
<div class="search-item-label">日期结束</div>
<div class="search-item-option">
<el-date-picker clearable type="date" style="width: 100%"
placeholder="日期结束" v-model="dateEnd"
value-format="yyyy-MM-dd"></el-date-picker>
</div>
</div>
@@ -128,6 +129,8 @@ layout("/layouts/platform.html"){
mixins: [initTableMixins],
data() {
return {
dateStart: "",
dateEnd: "",
tableColumns: [
{label: '姓名', prop: 'username'},
{label: '工号', prop: 'loginname'},
@@ -157,7 +160,24 @@ layout("/layouts/platform.html"){
}
},
methods: {
// 两个日期框合成为原接口的起止数组;两端清空表示不限定日期,单端或倒置时停止查询。
syncDateRange() {
const start = this.dateStart
const end = this.dateEnd
if ((!start && end) || (start && !end)) {
this.$message.warning('请选择完整的日期开始和日期结束')
return false
}
if (start && end && start > end) {
this.$message.warning('日期开始不能晚于日期结束')
return false
}
this.$set(this.pageForm, 'activityDate', start && end ? [start, end] : [])
return true
},
exportExcel() {
if (!this.syncDateRange()) return
const {activityId, unionId, unitId, activityDate} = this.pageForm
let activityDate1 = []
if (activityDate && activityDate.length > 0) {
@@ -165,9 +185,6 @@ layout("/layouts/platform.html"){
}
window.open(loc() + '/exportExcel?activityId=' + activityId + '&unionId=' + unionId + '&unitId=' + unitId + '&activityDate=' + activityDate1)
},
activityDateChange() {
// this.$set(this.pageForm, "activityDate", [])
},
async unionChange(val) {
this.pageForm.unitId = null
this.unitOptions = await getUnits(val)
@@ -184,22 +201,25 @@ layout("/layouts/platform.html"){
}
},
pageData() {
if (!this.syncDateRange()) return
sublime.showLoadingbar();
this.tableLoading = true
this.$set(this, "tableLoading", true)
let pageForm = clone(this.pageForm)
if (pageForm.activityDate && pageForm.activityDate.length > 0) {
pageForm.activityDate = JSON.stringify(pageForm.activityDate)
}
$.post(loc() + "/pageData", pageForm, (data) => {
sublime.closeLoadingbar();
this.tableLoading = false
return $.post(loc() + "/pageData", pageForm).then((data) => {
if (data.code === 0) {
this.tableData = data.data.list;
this.pageForm.totalCount = data.data.totalCount;
this.$set(this, "tableData", data.data.list);
this.$set(this.pageForm, "totalCount", data.data.totalCount);
} else {
this.$message.error(data.msg);
}
}, "json");
}).always(() => {
// 成功或失败均释放查询状态,避免日期筛选请求异常后界面一直等待。
sublime.closeLoadingbar();
this.$set(this, "tableLoading", false)
});
},
async getActivityById(){