|
@@ -3,12 +3,19 @@
|
|
|
<el-card>
|
|
<el-card>
|
|
|
<div slot="header" class="admin-page-header">
|
|
<div slot="header" class="admin-page-header">
|
|
|
<span class="admin-page-title">活动管理</span>
|
|
<span class="admin-page-title">活动管理</span>
|
|
|
- <div>
|
|
|
|
|
- <el-input v-model="keyword" placeholder="搜索..." prefix-icon="el-icon-search" clearable @keyup.enter.native="handleSearch" @clear="handleSearch" />
|
|
|
|
|
|
|
+ <div class="admin-page-actions">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="keyword"
|
|
|
|
|
+ placeholder="搜索活动标题/地点"
|
|
|
|
|
+ prefix-icon="el-icon-search"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ class="header-search"
|
|
|
|
|
+ @keyup.enter.native="handleSearch"
|
|
|
|
|
+ @clear="handleSearch"
|
|
|
|
|
+ />
|
|
|
<el-select
|
|
<el-select
|
|
|
v-model="filter.status"
|
|
v-model="filter.status"
|
|
|
- placeholder="状态筛选"
|
|
|
|
|
- size="mini"
|
|
|
|
|
|
|
+ placeholder="活动状态"
|
|
|
clearable
|
|
clearable
|
|
|
@change="loadActivities"
|
|
@change="loadActivities"
|
|
|
>
|
|
>
|
|
@@ -17,7 +24,32 @@
|
|
|
<el-option label="已发布" value="published" />
|
|
<el-option label="已发布" value="published" />
|
|
|
<el-option label="已结束" value="ended" />
|
|
<el-option label="已结束" value="ended" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
- <el-button type="primary" size="mini" @click="$router.push('/activity-edit')">创建活动</el-button>
|
|
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ v-model="filter.dimensionCode"
|
|
|
|
|
+ placeholder="所属维度"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ @change="loadActivities"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-option label="全部维度" value="" />
|
|
|
|
|
+ <el-option label="身" value="body" />
|
|
|
|
|
+ <el-option label="心" value="mind" />
|
|
|
|
|
+ <el-option label="智" value="wisdom" />
|
|
|
|
|
+ <el-option label="行" value="action" />
|
|
|
|
|
+ <el-option label="富" value="wealth" />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ v-model="filter.auditStatus"
|
|
|
|
|
+ placeholder="审核状态"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ @change="loadActivities"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-option label="全部审核状态" value="" />
|
|
|
|
|
+ <el-option label="待审核" value="pending" />
|
|
|
|
|
+ <el-option label="已通过" value="approved" />
|
|
|
|
|
+ <el-option label="已拒绝" value="rejected" />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ <el-button type="primary" size="mini" @click="handleSearch">查询</el-button>
|
|
|
|
|
+ <el-button type="success" size="mini" icon="el-icon-plus" @click="$router.push('/activity-edit')">创建活动</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="table-scroll-wrap-lg">
|
|
<div class="table-scroll-wrap-lg">
|
|
@@ -155,8 +187,10 @@ export default {
|
|
|
keyword: '',
|
|
keyword: '',
|
|
|
filter: {
|
|
filter: {
|
|
|
status: '',
|
|
status: '',
|
|
|
|
|
+ dimensionCode: '',
|
|
|
|
|
+ auditStatus: '',
|
|
|
page: 1,
|
|
page: 1,
|
|
|
- size: 10
|
|
|
|
|
|
|
+ size: 20
|
|
|
},
|
|
},
|
|
|
// 报名列表对话框
|
|
// 报名列表对话框
|
|
|
regDialogVisible: false,
|
|
regDialogVisible: false,
|
|
@@ -191,6 +225,12 @@ export default {
|
|
|
if (this.filter.status) {
|
|
if (this.filter.status) {
|
|
|
params.status = this.filter.status
|
|
params.status = this.filter.status
|
|
|
}
|
|
}
|
|
|
|
|
+ if (this.filter.dimensionCode) {
|
|
|
|
|
+ params.dimensionCode = this.filter.dimensionCode
|
|
|
|
|
+ }
|
|
|
|
|
+ if (this.filter.auditStatus) {
|
|
|
|
|
+ params.auditStatus = this.filter.auditStatus
|
|
|
|
|
+ }
|
|
|
if (this.keyword) {
|
|
if (this.keyword) {
|
|
|
params.keyword = this.keyword
|
|
params.keyword = this.keyword
|
|
|
}
|
|
}
|
|
@@ -328,9 +368,50 @@ export default {
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped>
|
|
<style scoped>
|
|
|
-.activities { padding: 20px; flex: 1; display: flex; flex-direction: column; min-height: 0; }
|
|
|
|
|
-.activities > .el-card { flex: 1; display: flex; flex-direction: column; min-height: 0; }
|
|
|
|
|
-.activities > .el-card >>> .el-card__body { flex: 1; display: flex; flex-direction: column; min-height: 0; overflow-y: auto; }
|
|
|
|
|
-.activities >>> .el-table { flex: 1; }
|
|
|
|
|
-.activities >>> .el-table__body-wrapper { overflow-y: auto; }
|
|
|
|
|
|
|
+.activities {
|
|
|
|
|
+ padding: 20px;
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ min-height: 0;
|
|
|
|
|
+}
|
|
|
|
|
+.activities > .el-card {
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ min-height: 0;
|
|
|
|
|
+}
|
|
|
|
|
+.activities > .el-card >>> .el-card__body {
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ min-height: 0;
|
|
|
|
|
+ overflow-y: auto;
|
|
|
|
|
+}
|
|
|
|
|
+.activities >>> .el-table {
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+}
|
|
|
|
|
+.activities >>> .el-table__body-wrapper {
|
|
|
|
|
+ overflow-y: auto;
|
|
|
|
|
+}
|
|
|
|
|
+.admin-page-header {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: space-between;
|
|
|
|
|
+ flex-wrap: wrap;
|
|
|
|
|
+ gap: 12px;
|
|
|
|
|
+}
|
|
|
|
|
+.admin-page-title {
|
|
|
|
|
+ font-size: 18px;
|
|
|
|
|
+ font-weight: bold;
|
|
|
|
|
+}
|
|
|
|
|
+.admin-page-actions {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ gap: 8px;
|
|
|
|
|
+ flex-wrap: wrap;
|
|
|
|
|
+}
|
|
|
|
|
+.header-search {
|
|
|
|
|
+ width: 220px;
|
|
|
|
|
+}
|
|
|
</style>
|
|
</style>
|