<template> <section class="store pagex"> <div class="store-con"> <!--搜索区--> <el-form :inline="true" :model="formParam" ref="formParam"> <el-form-item label="消息类型" prop="msg_type"> <el-select v-model="formParam.msg_type" placeholder="全部" clearable> <el-option label="全部" value=""></el-option> <el-option label="已选中报价消息" value="1"></el-option> <el-option label="已成单消息" value="2"></el-option> </el-select> </el-form-item> <el-form-item label="创建时间" prop="create_time"> <el-date-picker v-model="formParam.date" value-format="yyyy-MM-dd" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker> </el-form-item> <el-form-item> <el-button type="primary" @click="onSubmit">搜索</el-button> <el-button @click="resetForm('formParam')">重置</el-button> </el-form-item> </el-form> <!--列表区--> <div class="data-box"> <el-table :data="list" border max-height="600"> <el-table-column prop="msg_sn" label="消息编号" :show-overflow-tooltip="true" align="center"></el-table-column> <el-table-column prop="msg_type" label="消息类型" :show-overflow-tooltip="true" align="center"></el-table-column> <el-table-column prop="create_time" label="创建时间" width="160" :show-overflow-tooltip="true" align="center"></el-table-column> <el-table-column label="操作" width="110" align="center"> <template slot-scope="scope"> <el-button type="primary" size="mini" @click="viewChange(scope.$index, scope.row)" class="yunyin-btn">查看内容</el-button> </template> </el-table-column> </el-table> <el-pagination layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"></el-pagination> </div> </div> <Menu/> <el-dialog title="消息详情" :close-on-click-modal="false" :visible.sync="dialogVisible" width="1000px"> <el-descriptions size="medium" border :column="2"> <el-descriptions-item> <template slot="label">发件人</template> {{ msgDetail.sender }} </el-descriptions-item> <el-descriptions-item> <template slot="label">收件人</template> {{ msgDetail.recipient }} </el-descriptions-item> <el-descriptions-item> <template slot="label">时间</template> {{ msgDetail.create_time }} </el-descriptions-item> <el-descriptions-item> <template slot="label">大小</template> {{ msgDetail.size }} </el-descriptions-item> </el-descriptions> <p style="margin-top: 20px;padding-bottom: 10px;">{{ msgDetail.content }}</p> </el-dialog> </section> </template> <script> import Vue from 'vue'; import Menu from "@/components/menu.vue"; import {Autocomplete, Button, DatePicker, Descriptions, DescriptionsItem, Dialog, Divider, Dropdown, DropdownItem, DropdownMenu, Form, FormItem, Input, Message, MessageBox, Option, Pagination, Popover, Select, Table, TableColumn, Tag, Tooltip} from 'element-ui' Vue.prototype.$message = Message Vue.prototype.$confirm = MessageBox.confirm; Vue.use(Button).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Tooltip).use(Autocomplete).use(Popover).use(Tag).use(Divider); Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Pagination).use(Descriptions).use(DescriptionsItem); export default { name: "news", data() { return { total: 0, page: 1, limit: 10, list: [], dialogVisible: false, msgDetail: {}, formParam: { msg_type: '', date: '' } }; }, created() { this.getData() }, methods: { getData() { var params = Object.assign({}, {page: this.page, limit: this.limit}, this.formParam, {start_time: this.formParam.date ? this.formParam.date[0] : ''}, {end_time: this.formParam.date ? this.formParam.date[1] : ''} ); this.$http('GET', "/api/message/getMsgList", params).then(res => { if (res.code === 0) { this.list = res.data.list || []; this.total = Number(res.data.total) || 0; } else { this.$message({ message: res.msg, type: 'error' }); } }) }, getMsgDetail(msg_id) { this.$http('GET', "/api/message/getMsgDetail", {msg_id: msg_id}).then(res => { if (res.code === 0) { this.msgDetail = res.data; this.dialogVisible = true; } else { this.$message({ message: res.msg, type: 'error' }); } }) }, viewChange(index, row) { this.getMsgDetail(row.id); }, onSubmit() { this.page = 1; this.getData(); }, resetForm(formName) { this.formParam.date = ''; this.$refs[formName].resetFields(); }, handleSizeChange(val) { this.limit = val; this.getData(); }, handleCurrentChange(val) { this.page = val; this.getData(); } }, components: { Menu } }; </script> <style scoped> </style>