3 changed files with 240 additions and 8 deletions
@ -0,0 +1,227 @@ |
|||
<template> |
|||
<div> |
|||
<div class="crumbs"> |
|||
<el-breadcrumb separator="/"> |
|||
<el-breadcrumb-item> |
|||
<i class="el-icon-lx-cascades"></i> 平台管理 |
|||
</el-breadcrumb-item> |
|||
<el-breadcrumb-item>平台通知管理</el-breadcrumb-item> |
|||
</el-breadcrumb> |
|||
</div> |
|||
<div class="container"> |
|||
<div class="handle-box"> |
|||
<el-input placeholder="公告标题" class="handle-input mr10"></el-input> |
|||
<el-select placeholder="发布人员" class="handle-select mr10"> |
|||
<el-option key="1" label="广东省" value="广东省"></el-option> |
|||
<el-option key="2" label="湖南省" value="湖南省"></el-option> |
|||
</el-select> |
|||
<el-date-picker |
|||
class="mr10" |
|||
v-model="query.time" |
|||
type="datetimerange" |
|||
:picker-options="pickerOptions" |
|||
range-separator="至" |
|||
value-format="yyyy-MM-dd h:m:s" |
|||
start-placeholder="开始日期" |
|||
end-placeholder="结束日期" |
|||
align="right" |
|||
> |
|||
</el-date-picker> |
|||
<el-button type="primary" icon="el-icon-search" @click="handleSearch">搜索</el-button> |
|||
</div> |
|||
<el-table |
|||
:data="tableData" |
|||
border |
|||
class="table" |
|||
ref="multipleTable" |
|||
header-cell-class-name="table-header" |
|||
@selection-change="handleSelectionChange" |
|||
> |
|||
<el-table-column prop="id" label="序号" width="55" align="center"></el-table-column> |
|||
<el-table-column prop="name" label="发布日期"></el-table-column> |
|||
<el-table-column label="公告标题" prop="name"></el-table-column> |
|||
<el-table-column prop="address" label="发布人员"></el-table-column> |
|||
<el-table-column label="操作" width="280" align="center"> |
|||
<template slot-scope="scope"> |
|||
<el-button |
|||
type="text" |
|||
@click="handleEdit(scope.$index, scope.row)" |
|||
>查看附件</el-button> |
|||
<el-button |
|||
type="text" |
|||
@click="handleDelete(scope.$index, scope.row)" |
|||
>公告内容</el-button> |
|||
<el-button |
|||
type="text" |
|||
@click="handleDelete(scope.$index, scope.row)" |
|||
>删除公告</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<div class="pagination"> |
|||
<el-pagination |
|||
background |
|||
layout="total, prev, pager, next" |
|||
:current-page="query.pageIndex" |
|||
:page-size="query.pageSize" |
|||
:total="pageTotal" |
|||
@current-change="handlePageChange" |
|||
></el-pagination> |
|||
</div> |
|||
</div> |
|||
|
|||
<!-- 编辑弹出框 --> |
|||
<el-dialog title="编辑" :visible.sync="editVisible" width="30%"> |
|||
<el-form ref="form" :model="form" label-width="70px"> |
|||
<el-form-item label="用户名"> |
|||
<el-input v-model="form.name"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="地址"> |
|||
<el-input v-model="form.address"></el-input> |
|||
</el-form-item> |
|||
</el-form> |
|||
<span slot="footer" class="dialog-footer"> |
|||
<el-button @click="editVisible = false">取 消</el-button> |
|||
<el-button type="primary" @click="saveEdit">确 定</el-button> |
|||
</span> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { fetchData } from '../../../api/index'; |
|||
export default { |
|||
name: 'basetable', |
|||
data() { |
|||
return { |
|||
query: { |
|||
address: '', |
|||
name: '', |
|||
pageIndex: 1, |
|||
pageSize: 10 |
|||
}, |
|||
tableData: [], |
|||
multipleSelection: [], |
|||
delList: [], |
|||
editVisible: false, |
|||
pageTotal: 0, |
|||
form: {}, |
|||
idx: -1, |
|||
id: -1, |
|||
pickerOptions: { |
|||
shortcuts: [ |
|||
{ |
|||
text: "最近一周", |
|||
onClick(picker) { |
|||
const end = new Date(); |
|||
const start = new Date(); |
|||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); |
|||
picker.$emit("pick", [start, end]); |
|||
}, |
|||
}, |
|||
{ |
|||
text: "最近一个月", |
|||
onClick(picker) { |
|||
const end = new Date(); |
|||
const start = new Date(); |
|||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); |
|||
picker.$emit("pick", [start, end]); |
|||
}, |
|||
}, |
|||
{ |
|||
text: "最近三个月", |
|||
onClick(picker) { |
|||
const end = new Date(); |
|||
const start = new Date(); |
|||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); |
|||
picker.$emit("pick", [start, end]); |
|||
}, |
|||
}, |
|||
], |
|||
}, |
|||
}; |
|||
}, |
|||
created() { |
|||
this.getData(); |
|||
}, |
|||
methods: { |
|||
// 获取 easy-mock 的模拟数据 |
|||
getData() { |
|||
fetchData(this.query).then(res => { |
|||
// console.log(res); |
|||
this.tableData = res.list; |
|||
this.pageTotal = res.pageTotal || 50; |
|||
}); |
|||
}, |
|||
// 触发搜索按钮 |
|||
handleSearch() { |
|||
this.$set(this.query, 'pageIndex', 1); |
|||
this.getData(); |
|||
}, |
|||
// 删除操作 |
|||
handleDelete(index, row) { |
|||
// 二次确认删除 |
|||
this.$confirm('确定要删除吗?', '提示', { |
|||
type: 'warning' |
|||
}) |
|||
.then(() => { |
|||
this.$message.success('删除成功'); |
|||
this.tableData.splice(index, 1); |
|||
}) |
|||
.catch(() => {}); |
|||
}, |
|||
// 多选操作 |
|||
handleSelectionChange(val) { |
|||
this.multipleSelection = val; |
|||
}, |
|||
// 编辑操作 |
|||
handleEdit(index, row) { |
|||
this.idx = index; |
|||
this.form = row; |
|||
this.editVisible = true; |
|||
}, |
|||
// 保存编辑 |
|||
saveEdit() { |
|||
this.editVisible = false; |
|||
this.$message.success(`修改第 ${this.idx + 1} 行成功`); |
|||
this.$set(this.tableData, this.idx, this.form); |
|||
}, |
|||
// 分页导航 |
|||
handlePageChange(val) { |
|||
this.$set(this.query, 'pageIndex', val); |
|||
this.getData(); |
|||
} |
|||
} |
|||
}; |
|||
</script> |
|||
|
|||
<style scoped> |
|||
.handle-box { |
|||
margin-bottom: 20px; |
|||
} |
|||
|
|||
.handle-select { |
|||
width: 120px; |
|||
} |
|||
|
|||
.handle-input { |
|||
width: 150px; |
|||
display: inline-block; |
|||
} |
|||
.table { |
|||
width: 100%; |
|||
font-size: 14px; |
|||
} |
|||
.red { |
|||
color: #ff0000; |
|||
} |
|||
.mr10 { |
|||
margin-right: 10px; |
|||
} |
|||
.table-td-thumb { |
|||
display: block; |
|||
margin: auto; |
|||
width: 40px; |
|||
height: 40px; |
|||
} |
|||
</style> |
|||
Loading…
Reference in new issue