Browse Source

更新

master
ltlzx 5 years ago
parent
commit
5ad0722311
  1. 16
      src/components/common/Sidebar.vue
  2. 227
      src/components/page/platformManagement/platformNotification.vue
  3. 5
      src/router/index.js

16
src/components/common/Sidebar.vue

@ -194,14 +194,14 @@ export default {
index: 'operationAccountManagement',
title: '运营账号管理'
},
// {
// index: 'transactionAnalysis',
// title: ''
// },
// {
// index: 'revenueStatistics',
// title: ''
// }
{
index: 'platformNotification',
title: '平台通知管理'
},
{
index: 'revenueStatistics',
title: '平台收益统计'
}
]
},
// {

227
src/components/page/platformManagement/platformNotification.vue

@ -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>

5
src/router/index.js

@ -235,6 +235,11 @@ export default new Router({
}
]
},
{
path: '/platformNotification',
component: () => import(/* webpackChunkName: "revenueStatistics" */ '../components/page/platformManagement/platformNotification.vue'),
meta: { title: '平台通知管理' }
},
]
},
{

Loading…
Cancel
Save