|
@@ -6,7 +6,6 @@
|
|
|
<el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入节日名称" v-model="listQuery.title"></el-input>
|
|
|
<el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
|
|
|
<el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
|
|
|
- <el-button class="filter-item" type="warning" icon="el-icon-delete" @click="delAll">批量删除</el-button>
|
|
|
|
|
|
</div>
|
|
|
|
|
@@ -15,21 +14,21 @@
|
|
|
size="small"
|
|
|
:data="list"
|
|
|
v-loading="listLoading"
|
|
|
- @selection-change="handleSelectionChange"
|
|
|
element-loading-text="正在查询中。。。"
|
|
|
border
|
|
|
fit
|
|
|
highlight-current-row
|
|
|
>
|
|
|
- <el-table-column type="selection" width="55px"> </el-table-column>
|
|
|
<el-table-column type="index" label="序号" header-align="center" align="center">
|
|
|
</el-table-column>
|
|
|
|
|
|
<el-table-column align="center" min-width="100px" label="节日" prop="title">
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" min-width="200px" label="日期" prop="pubDate">
|
|
|
+ <el-table-column align="center" min-width="200px" label="日期" prop="startTimeStr">
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" min-width="100px" label="积分" prop="subTitle">
|
|
|
+ <el-table-column align="center" min-width="100px" label="积分" prop="integral">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" min-width="100px" label="状态" prop="statusName">
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
|
|
|
<template slot-scope="scope">
|
|
@@ -39,8 +38,11 @@
|
|
|
@click="handleUpdate(scope.row, false)"
|
|
|
>编辑</el-button
|
|
|
>
|
|
|
-
|
|
|
- <el-button type="danger" size="mini" @click="handleDelete(scope.row)">删除</el-button>
|
|
|
+ <el-button v-if="scope.row.status == 0" type="success" size="small"
|
|
|
+ @click="changeState(scope.row, 1)">开启</el-button>
|
|
|
+ <el-button v-if="scope.row.status == 1" type="warning" size="small"
|
|
|
+ @click="changeState(scope.row, 0)">关闭</el-button>
|
|
|
+ <el-button type="danger" size="mini" @click="handleDelete(scope.row,-1)">删除</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -62,20 +64,20 @@
|
|
|
<el-form-item label="节日" prop="title">
|
|
|
<el-input style="width: 350px" v-model="dataForm.title"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="日期" prop="pubDate">
|
|
|
+ <el-form-item label="日期" prop="startTimeStr">
|
|
|
<el-date-picker
|
|
|
- v-model="dataForm.pubDate"
|
|
|
+ v-model="dataForm.startTimeStr"
|
|
|
type="date"
|
|
|
value-format="yyyy-MM-dd"
|
|
|
placeholder="选择日期"
|
|
|
style="width: 350px"
|
|
|
></el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="积分" prop="subTitle">
|
|
|
+ <el-form-item label="积分" prop="integral">
|
|
|
<el-input-number
|
|
|
:precision="0"
|
|
|
:step="1"
|
|
|
- v-model="dataForm.subTitle"
|
|
|
+ v-model="dataForm.integral"
|
|
|
></el-input-number>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
@@ -104,7 +106,7 @@
|
|
|
</style>
|
|
|
|
|
|
<script>
|
|
|
- import {listNews, createNews, updateNews, deleteNews, deleteAllNews } from "@/api/newsCenter";
|
|
|
+ import {list, createItem, updateItem, state } from "@/api/festivalManage";
|
|
|
import waves from "@/directive/waves"; // 水波纹指令
|
|
|
import Tinymce from '@/components/Tinymce'
|
|
|
|
|
@@ -116,23 +118,21 @@
|
|
|
list: [
|
|
|
{
|
|
|
title:'端午节',
|
|
|
- pubDate:'2023-6-22',
|
|
|
- subTitle:'50'
|
|
|
+ startTimeStr:'2023-6-22',
|
|
|
+ integral:'50'
|
|
|
},
|
|
|
{
|
|
|
title:'中秋节',
|
|
|
- pubDate:'2023-9-29',
|
|
|
- subTitle:'100'
|
|
|
+ startTimeStr:'2023-9-29',
|
|
|
+ integral:'100'
|
|
|
},
|
|
|
{
|
|
|
title:'国庆节',
|
|
|
- pubDate:'2023-10-1',
|
|
|
- subTitle:'100'
|
|
|
+ startTimeStr:'2023-10-1',
|
|
|
+ integral:'100'
|
|
|
},
|
|
|
|
|
|
],
|
|
|
- delarr: [],
|
|
|
- multipleSelection: [],
|
|
|
total: 0,
|
|
|
listLoading: false,
|
|
|
listQuery: {
|
|
@@ -142,8 +142,8 @@
|
|
|
},
|
|
|
dataForm: {
|
|
|
title: undefined,
|
|
|
- subTitle: undefined,
|
|
|
- pubDate: undefined,
|
|
|
+ integral: undefined,
|
|
|
+ startTimeStr: undefined,
|
|
|
},
|
|
|
dialogFormVisible: false,
|
|
|
dialogStatus: '',
|
|
@@ -151,25 +151,23 @@
|
|
|
update: "编辑",
|
|
|
create: "创建",
|
|
|
},
|
|
|
- imageUrl: undefined,
|
|
|
rules: {
|
|
|
title: [{ required: true, message: "节日不能为空", trigger: "blur" }],
|
|
|
- pubDate: [{ required: true, message: "请选择日期", trigger: "blur" }],
|
|
|
- subTitle: [{ required: true, message: "积分不能为空", trigger: "blur" }],
|
|
|
+ startTimeStr: [{ required: true, message: "请选择日期", trigger: "blur" }],
|
|
|
+ integral: [{ required: true, message: "积分不能为空", trigger: "blur" }],
|
|
|
},
|
|
|
- fileImgUrl: this.upLoadUrl,
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
- // this.getList();
|
|
|
+ this.getList();
|
|
|
},
|
|
|
methods: {
|
|
|
|
|
|
resetForm() {
|
|
|
this.dataForm = {
|
|
|
title: undefined,
|
|
|
- subTitle: undefined,
|
|
|
- pubDate: undefined,
|
|
|
+ integral: undefined,
|
|
|
+ startTimeStr: undefined,
|
|
|
};
|
|
|
},
|
|
|
handleCreate() {
|
|
@@ -183,7 +181,7 @@
|
|
|
createData() {
|
|
|
this.$refs["dataForm"].validate((valid) => {
|
|
|
if (valid) {
|
|
|
- createNews(this.dataForm)
|
|
|
+ createItem(this.dataForm)
|
|
|
.then(() => {
|
|
|
this.getList();
|
|
|
this.dialogFormVisible = false;
|
|
@@ -201,7 +199,7 @@
|
|
|
},
|
|
|
getList() {
|
|
|
this.listLoading = true
|
|
|
- listNews(this.listQuery).then(response => {
|
|
|
+ list(this.listQuery).then(response => {
|
|
|
this.list = response.data.data.items
|
|
|
this.total = response.data.data.total
|
|
|
this.listLoading = false
|
|
@@ -239,7 +237,7 @@
|
|
|
updateData() {
|
|
|
this.$refs['dataForm'].validate((valid) => {
|
|
|
if (valid) {
|
|
|
- updateNews(this.dataForm).then(() => {
|
|
|
+ updateItem(this.dataForm).then(() => {
|
|
|
this.dialogFormVisible = false
|
|
|
this.$notify({
|
|
|
title: '成功',
|
|
@@ -253,67 +251,38 @@
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
-
|
|
|
- handleDelete(row) {
|
|
|
+ changeState(row, index) {
|
|
|
+ state({ id: row.id, status: index }).then(response => {
|
|
|
+ this.$notify({
|
|
|
+ title: '成功',
|
|
|
+ message: '状态修改成功',
|
|
|
+ type: 'success',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ this.getList()
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleDelete(row, index) {
|
|
|
|
|
|
this.$confirm('确认删除吗?', '提示', {
|
|
|
confirmButtonText: '确定',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning'
|
|
|
}).then(() => {
|
|
|
- deleteNews(row).then(response => {
|
|
|
+ state({ id: row.id, status: index }).then(response => {
|
|
|
this.$notify({
|
|
|
title: '成功',
|
|
|
message: '删除成功',
|
|
|
type: 'success',
|
|
|
duration: 2000
|
|
|
})
|
|
|
- const index = this.list.indexOf(row)
|
|
|
- this.list.splice(index, 1)
|
|
|
+ this.getList()
|
|
|
})
|
|
|
}).catch(() => {
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
- delAll() {
|
|
|
- this.$confirm("确认删除吗?", "提示", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning",
|
|
|
- })
|
|
|
- .then(() => {
|
|
|
- const length = this.multipleSelection.length;
|
|
|
-
|
|
|
- if (length > 0) {
|
|
|
- for (let i = 0; i < length; i++) {
|
|
|
- this.delarr.push(this.multipleSelection[i].id);
|
|
|
- }
|
|
|
- const newsIds = this.delarr.join(",");
|
|
|
- deleteAllNews({ newsId: newsIds })
|
|
|
- .then(() => {
|
|
|
- this.$notify({
|
|
|
- title: "成功",
|
|
|
- message: "删除成功",
|
|
|
- type: "success",
|
|
|
- duration: 2000,
|
|
|
- });
|
|
|
- this.getList();
|
|
|
- })
|
|
|
- .catch(() => {});
|
|
|
- } else {
|
|
|
- this.$notify({
|
|
|
- title: "警告提示",
|
|
|
- message: "请选择要删除的信息!",
|
|
|
- type: "warning",
|
|
|
- });
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(() => {});
|
|
|
- },
|
|
|
- handleSelectionChange(val) {
|
|
|
- this.multipleSelection = val;
|
|
|
- },
|
|
|
}
|
|
|
}
|
|
|
</script>
|