Commit 6b202c33 authored by ww-xxy's avatar ww-xxy

优化网络理政报表

parent 2ad54f65
......@@ -227,9 +227,9 @@
},
{
title: "所属部门",
dataIndex: "dept_name",
dataIndex: "reply_dept",
align: 'center',
customRender: (text, record, index) => `${record.dept_name || '--'}`
customRender: (text, record, index) => `${record.reply_dept || '--'}`
},
{
title: "操作",
......@@ -336,7 +336,7 @@
this.tHeader,
this.filterVal,
data,
"填单记录报表" + this.$moment().format("YYYYMMDDHHmmss")
"办不成事报表" + this.$moment().format("YYYYMMDDHHmmss")
);
this.btnLoading = false;
},
......
......@@ -2,7 +2,7 @@
<div class="callRecord-Container">
<div class="header_box">
<div>
<a-button type="success" @click="toexportTable">
<a-button type="success" @click="handleExportTable" :loading="btnLoading">
<span>{{ tableSelectedRows.length ? "导出" : "导出全部" }}</span>
</a-button>
<b>建议次数:<i>{{JYCount}}</i></b>
......@@ -57,8 +57,38 @@
<script>
import table from "@/mixins/table";
import FormDetails from "./components/FormDetails.vue";
import {getWLLZList,getWLLZCount,getWLLZInfo} from "@/api/dataAdmin"
import {export2Excel} from "@/utils/js/exportExcel";
const tHeader = [
// 导出的表头名信息
"建议标题",
"建议类型",
"真实姓名",
"联系电话",
"是否公开",
"是否保密",
"提交日期",
"是否回复",
"回复人",
"回复时间",
"所属部门",
]
const filterVal = [
// 导出的表头字段名,需要导出表格字段名
"title",
"type",
"upname",
"upphone",
"valid",
"secrecy",
"create_time",
"status",
"reply_name",
"update_time",
"deptName",
]
export default {
mixins: [table],
name: "networkForm",
......@@ -159,6 +189,7 @@ export default {
timeList:[],// 时间
JYCount:0,//建议次数
HFCount:0,//回复次数
btnLoading: false,
};
},
components: {
......@@ -186,66 +217,64 @@ export default {
this.isReply = false
this.togetWLLZCount()
},
// 重写导出
toexportTable() {
let tableData = [];
if (this.tableSelectedRows.length == 0) {
getWLLZList({
page:1,
size:-1,
// 导出
async handleExportTable() {
this.btnLoading = true;
let obj = {
1: "部门建议",
2: "办事建议",
3: "网站建议",
4: "我要就错",
5: "我要投诉",
6: "我要咨询",
};
let data = [];
if (this.tableSelectedKeys.length && this.tableSelectedRows.length) {
// 深度克隆避免影响页面表格展示
data = this.$_.cloneDeep(this.tableSelectedRows);
data.forEach((item) => {
Object.keys(obj).forEach((keys) => {
if (item.type == keys) {
item.type = obj[keys];
}
});
item.valid == 1?item.valid = "":item.valid = ''
item.secrecy == 1?item.secrecy = "":item.secrecy = ''
item.status == 1?item.status = "":item.status = ''
});
} else {
let datas = this.$_.cloneDeep(
await getWLLZList({
page: 1,
size: -1,
status:this.isReply?0:"",
type:this.nowType,
device:this.nowDevice,
keyword:this.searchName,
time:this.timeList,
}).then((res)=>{
const {code,data} = res;
if(code==1){
// 改变输出内容
data.data.forEach(item => {
item.type = item.type==1?'部门建议':item.type==2?'办事建议':item.type==3?'网站建议':item.type==4?'我要就错':item.type==5?'我要投诉':'我要咨询';
item.valid = item.valid==1?'':'';
item.secrecy = item.secrecy==1?'':'';
item.status = item.status==1?'':'';
});
tableData = JSON.parse(JSON.stringify(data.data));
let tableColumns = JSON.parse(JSON.stringify(this.tableHeaders));
let newTableData = tableData.map(item => {
let obj = {};
for (let key in item) {
obj[key] = item[key];
}
return obj;
})
let exprotExcelName = `${this.nowDay} / ${this.nowTime} / ${this.$route['meta']['title'] || '报表信息统计'}`;
this.exportExcel(tableColumns, newTableData, exprotExcelName);
);
data = datas.data.data
if (!data.length) return;
for (let item of data) {
Object.keys(obj).forEach((key) => {
if (item.type == key) {
item.type = obj[key];
}
})
} else {
tableData = JSON.parse(JSON.stringify(this.tableSelectedRows));
tableData.forEach(item => {
item.type = item.type==1?'部门建议':item.type==2?'办事建议':item.type==3?'网站建议':item.type==4?'我要就错':item.type==5?'我要投诉':'我要咨询';
item.valid = item.valid==1?'':'';
item.secrecy = item.secrecy==1?'':'';
item.status = item.status==1?'':'';
});
let tableColumns = JSON.parse(JSON.stringify(this.tableHeaders));
let newTableData = tableData.map(item => {
let obj = {};
for (let key in item) {
obj[key] = item[key];
item.valid == 1?item.valid = "":item.valid = ''
item.secrecy == 1?item.secrecy = "":item.secrecy = ''
item.status == 1?item.status = "":item.status = ''
}
return obj;
})
let exprotExcelName = `${this.nowDay} / ${this.nowTime} / ${this.$route['meta']['title'] || '报表信息统计'}`;
this.exportExcel(tableColumns, newTableData, exprotExcelName);
}
export2Excel(
tHeader,
filterVal,
data,
"网络理政报表" + this.$moment().format("YYYYMMDDHHmmss")
);
this.btnLoading = false;
},
changeReply(e){
this.isReply = e.target.checked
},
......@@ -294,7 +323,6 @@ export default {
time:this.timeList,
}
getWLLZList(params).then((res)=>{
console.log(res);
const {code,data} = res;
if(code==1){
this.tableSourceData = data.data
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment