Commit 1c7f67b3 authored by “yiyousong”'s avatar “yiyousong”

pref;修改填单、样表、排队、评价报表

parent 6bc36d84
export default {
data() {
return {
nowTime: "",
nowDay: "",
nowWeek: "",
timer: null,
tableLoading: false,
tablePagination: {
current: 1,
pageSize: 10,
total: 0,
showQuickJumper: true, //是否可以快速跳转至某页
showSizeChanger: true, //是否可以改变 pageSize
showTotal: (total, range) => `共${total}条`,
pageSizeOptions: ["10", "20", "30"],
},
tableSourceData: [],
tableSelectedRows: [], //选中的行数据
tableSelectedKeys: [], //选中的id
sourceInfoForm: {},
data() {
return {
nowTime: "",
nowDay: "",
nowWeek: "",
timer: null,
tableLoading: false,
tablePagination: {
current: 1,
pageSize: 10,
total: 0,
showQuickJumper: true, //是否可以快速跳转至某页
showSizeChanger: true, //是否可以改变 pageSize
showTotal: (total, range) => `共${total}条`,
pageSizeOptions: ["10", "20", "30", "40", "50", "100", "200"],
},
tableSourceData: [],
tableSelectedRows: [], //选中的行数据
tableSelectedKeys: [], //选中的id
sourceInfoForm: {},
};
},
computed: {},
created() {},
beforeDestroy() {
if (this.timer) {
clearInterval(this.timer);
}
},
methods: {
//导出
exportTable(tHeader, filterVal, transformText) {
console.log(tHeader, filterVal);
let tableData = []; //列表数据
if (this.tableSelectedRows.length == 0) {
tableData = this.downAllData();
} else {
tableData = JSON.parse(JSON.stringify(this.tableSelectedRows));
}
// let tableColumns = JSON.parse(JSON.stringify(this.tableHeaders));
console.log("表格数据", tableData);
// console.log('表头内容', tableColumns)
// let newTableData = tableData.map(item => {
// // console.log(item)
// })
let exprotExcelName = `${this.nowDay} / ${this.nowTime} / ${
this.$route["meta"]["title"] || "报表信息统计"
}`;
this.exportExcel(tHeader, filterVal, tableData, exprotExcelName);
},
exportExcel(tHeader, filterVal, tableData, exprotExcelName) {
// console.log(tableColumns);
// console.log(tableData);
// console.log(exprotExcelName);
let exportHeaderName = []; // ***即将导出的表头
let exportData = tableData.map((item, j) => {
// ***即将导出的表格
let obj = {};
for (let i = 0; i < tableColumns.length; i++) {
for (let key in item) {
if (tableColumns[i]["dataIndex"] == key) {
console.log(tableColumns[i]["dataIndex"]);
if (j == 0) {
exportHeaderName.push(tableColumns[i]["title"]);
}
obj[tableColumns[i]["title"]] = item[key];
// console.log(tableColumns[i]["title"]);
break;
}
}
}
return obj;
});
// console.log(exportData);
// console.log(exportHeaderName);
// 开始导出 ****
let option = {};
option.fileName = exprotExcelName;
option.datas = [
{
sheetData: exportData,
sheetName: "sheet",
sheetHeader: tHeader,
sheetFilter: tHeader,
},
];
let toExcel = new this.$ExportJsonExcel(option);
toExcel.saveExcel();
},
computed: {
setMoment() {
this.timer = setInterval(() => {
this.nowDay = this.$moment(new Date()).format("YYYY年MM月DD日");
this.nowWeek = this.$moment().format("dddd");
this.nowTime = this.$moment(new Date()).format("LTS");
}, 1000);
},
created() {
},
beforeDestroy() {
if (this.timer) {
clearInterval(this.timer);
}
onSelectChange(selectedRowKeys, selectedRows) {
this.tableSelectedKeys = selectedRowKeys;
this.tableSelectedRows = selectedRows;
// console.log('选中的ID', this.tableSelectedKeys);
// console.log('选中的行数据', this.tableSelectedRows);
},
methods: {
//导出
exportTable(tHeader, filterVal, transformText) {
console.log(tHeader, filterVal)
let tableData = []; //列表数据
if (this.tableSelectedRows.length == 0) {
tableData = this.downAllData()
} else {
tableData = JSON.parse(JSON.stringify(this.tableSelectedRows));
}
// let tableColumns = JSON.parse(JSON.stringify(this.tableHeaders));
console.log('表格数据', tableData)
// console.log('表头内容', tableColumns)
// let newTableData = tableData.map(item => {
// // console.log(item)
// })
let exprotExcelName = `${this.nowDay} / ${this.nowTime} / ${this.$route['meta']['title'] || '报表信息统计'}`;
this.exportExcel(tHeader, filterVal, tableData, exprotExcelName);
},
exportExcel(tHeader, filterVal, tableData, exprotExcelName) {
// console.log(tableColumns);
// console.log(tableData);
// console.log(exprotExcelName);
let exportHeaderName = []; // ***即将导出的表头
let exportData = tableData.map((item, j) => { // ***即将导出的表格
let obj = {};
for (let i = 0; i < tableColumns.length; i++) {
for (let key in item) {
if (tableColumns[i]["dataIndex"] == key) {
console.log(tableColumns[i]["dataIndex"])
if (j == 0) {
exportHeaderName.push(tableColumns[i]["title"]);
}
obj[tableColumns[i]["title"]] = item[key];
// console.log(tableColumns[i]["title"]);
break;
}
}
}
return obj;
})
// console.log(exportData);
// console.log(exportHeaderName);
// 开始导出 ****
let option = {};
option.fileName = exprotExcelName;
option.datas = [
{
sheetData: exportData,
sheetName: "sheet",
sheetHeader: tHeader,
sheetFilter: tHeader,
},
];
let toExcel = new this.$ExportJsonExcel(option);
toExcel.saveExcel();
},
setMoment() {
this.timer = setInterval(() => {
this.nowDay = this.$moment(new Date()).format("YYYY年MM月DD日");
this.nowWeek = this.$moment().format('dddd');
this.nowTime = this.$moment(new Date()).format("LTS");
}, 1000)
},
onSelectChange(selectedRowKeys, selectedRows) {
this.tableSelectedKeys = selectedRowKeys;
this.tableSelectedRows = selectedRows;
// console.log('选中的ID', this.tableSelectedKeys);
// console.log('选中的行数据', this.tableSelectedRows);
},
pagTableChange(pagination) {
this.tablePagination = pagination
},
pagTableChange(pagination) {
this.tablePagination = pagination;
},
}
\ No newline at end of file
},
};
......@@ -21,15 +21,15 @@
.ant-modal-confirm {
.ant-modal {
top: 328px !important;
// position: absolute !important;
// left: 50% !important;
// top: 50% !important;
// transform: translate(-50%, -50%) !important;
}
}
// .ant-modal-confirm {
// .ant-modal {
// top: 328px !important;
// position: absolute !important;
// left: 50% !important;
// top: 50% !important;
// transform: translate(-50%, -50%) !important;
// }
// }
::-webkit-scrollbar {
width: 7px;
......
......@@ -20,7 +20,6 @@
<a-select
v-model="evaChoose"
placeholder="全部评价"
@change="changeEvaChoose"
mode="multiple"
style="max-width: 140px"
>
......@@ -34,7 +33,6 @@
<a-select
v-model="evaFrom"
placeholder="全部来源"
@change="changeEvaFrom"
mode="multiple"
style="max-width: 160px"
>
......@@ -59,11 +57,12 @@
style="width: 280px"
v-model="searchName"
placeholder="请输入评价人姓名或部门名称搜索"
@pressEnter="handleSearch"
>
<a-icon slot="prefix" type="search" />
</a-input>
<a-button type="primary" @click="togetevalist()">搜索</a-button>
<a-button @click="clearnAllChoose()">重置</a-button>
<a-button type="primary" @click="handleSearch">搜索</a-button>
<a-button @click="clearnAllChoose">重置</a-button>
</a-space>
</span>
</div>
......@@ -78,7 +77,7 @@
}"
:scroll="{ y: 590 }"
:pagination="tablePagination"
@change="pagTableChange"
@change="changeTablePage"
:loading="tableLoading"
:columns="tableHeaders"
:dataSource="tableSourceData"
......@@ -99,16 +98,18 @@
/>
</template>
<template slot="操作" slot-scope="text, record">
<a-button type="link" style="color: #ff7370">删除</a-button>
<a-button
type="link"
style="color: #ff7370"
@click="handleDel(record.id)"
>删除</a-button
>
<a-button type="link" @click="openHandlingDetails(record)"
>详情</a-button
>
</template>
</a-table>
<HandlingDetails ref="HandlingDetails" />
<a-modal v-model="visible" title="系统提示" @ok="togetEvaDetil()">
{{ content }}
</a-modal>
</div>
</div>
</template>
......@@ -137,7 +138,10 @@ export default {
width: "60px",
key: "index",
align: "center",
customRender: (text, record, index) => `${index + 1}`,
customRender: (text, record, index) =>
(this.tablePagination.current - 1) * this.tablePagination.pageSize +
index +
1,
},
{
title: "部门名称",
......@@ -246,9 +250,7 @@ export default {
evaChoose: [], //评价选项
evaFrom: [], // 评价来源
evaDates: [], // 评价日期
content: "此操作将删除该评价信息,是否继续?",
delId: null, //当前删除id
baseurl: "",
baseurl: process.env.VUE_APP_API_PHP_URL,
optonList: [],
tableSelectedKeys: [],
tableSelectedRows: [],
......@@ -279,24 +281,18 @@ export default {
components: {
HandlingDetails,
},
mounted() {
this.setMoment();
// // 设置默认时间为今天
// this.evaDates = [
// this.$moment(new Date()).format("YYYY-MM-DD"),
// this.$moment(new Date()).format("YYYY-MM-DD"),
// ];
created() {
this.togetevalist();
},
mounted() {
getOptonList().then((res) => {
console.log(res);
if (res.code == 1) {
this.optonList = res.data;
}
});
},
methods: {
// 重置
clearnAllChoose() {
this.evaChoose = [];
this.evaFrom = [];
......@@ -317,32 +313,17 @@ export default {
this.tableSelectedRows = [];
this.togetevalist();
},
// 批量删除
delTable() {
// console.log(this.tableSelectedRows);
this.visible = true;
if (!this.tableSelectedRows.length) {
this.content = "一条评论都没有选中";
} else {
this.content = "此操作将删除这些评价信息,是否继续?";
let arr = [];
this.tableSelectedRows.forEach((item) => {
arr.push(item.id);
});
this.delId = arr;
this.$message.warning("请先勾选数据");
return;
}
let ids = this.tableSelectedRows.map((v) => v.id).join(",");
this.handleDel(ids);
},
togetEvaDetil() {
getEvaDetil({
id: this.delId,
}).then((res) => {
{
this.delId = null;
this.visible = false;
// 要刷新页面
this.togetevalist();
}
});
},
// 办理明细
togetQueEvaData(record) {
getQueEvaData({
id: record.id,
......@@ -353,6 +334,7 @@ export default {
}
});
},
// 评价详情
togetEvaData(id) {
getEvaData({
id: id,
......@@ -364,71 +346,46 @@ export default {
}
});
},
togetevalist() {
// 获取数据列表
async togetevalist(search = {}) {
// 拼接评价选项
let chooseStr = this.evaChoose.join(",");
let option_id = this.evaChoose.join(",");
// 要先拼接评价来源
let fromString = this.evaFrom.join(",");
getEvaList({
let pjxt = this.evaFrom.join(",");
let res = await getEvaList({
page: this.tablePagination.current,
size: this.tablePagination.pageSize,
type: "bmpj",
option_id: chooseStr,
pjxt: fromString, //传0代表全部
option_id,
pjxt,
time: this.BegindAndEndTime,
info: this.searchName,
}).then((res) => {
console.log(11111, res);
const { code, data } = res;
if (code == 1) {
this.tableSourceData = data.data.data;
this.evaCount = data.count;
this.tablePagination.total = data.count;
}
...search,
});
},
changeEvaFrom(val) {
if (val.length) {
this.evaFrom = val;
} else {
this.evaFrom = [0];
if (res.code == 1) {
let { data, total } = res.data.data;
if (!data.length && this.tablePagination.current > 1) {
this.tablePagination.current -= 1;
this.togetevalist();
}
this.tableSourceData = data;
this.evaCount = total;
this.tablePagination.total = total;
return data;
}
},
changeEvaChoose(val) {
this.evaChoose = val;
},
QueueState(type) {
switch (type) {
case 0:
return "type1";
case 1:
return "type2";
default:
return "type0";
}
// 分页
changeTablePage(page) {
this.pagTableChange(page);
this.togetevalist();
},
//详情模块
openHandlingDetails(record) {
// 判断为窗口屏或者其他状况,调用不同接口
// if(record.pjxt==1){
// this.$refs.HandlingDetails.modalInfo.title = "办理明细";
// this.$refs.HandlingDetails.modalInfo.show = 1;
// this.togetQueEvaData(record)
// }else{
this.$refs.HandlingDetails.modalInfo.title = "评价详情";
this.$refs.HandlingDetails.modalInfo.show = 2;
this.togetEvaData(record.id);
// }
this.$refs.HandlingDetails.modalInfo.visible = true;
},
//删除模态框
showModal(record) {
this.visible = true;
this.delId = record.id;
},
// 选择数据
onSelectChange(keys, rows) {
this.tableSelectedKeys = keys;
......@@ -467,49 +424,52 @@ export default {
"办事部门评价记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
} else {
// 拼接评价选项
let chooseStr = this.evaChoose.join(",");
// 要先拼接评价来源
let fromString = this.evaFrom.join(",");
getEvaList({
page: this.tablePagination.current,
let data = await this.togetevalist({
page: 1,
size: -1,
type: "bmpj",
option_id: chooseStr,
pjxt: fromString, //传0代表全部
time: this.BegindAndEndTime,
info: this.searchName,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
if (!data.data.data.length) return;
for (let item of data.data.data) {
Object.keys(obj).forEach((key) => {
if (item.pjxt == key) {
item.pjxt = obj[key];
}
});
}
export2Excel(
this.tHeader,
this.filterVal,
data.data.data,
"办事部门评价记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
}
});
if (!data.length) return;
for (let item of data) {
Object.keys(obj).forEach((key) => {
if (item.pjxt == key) {
item.pjxt = obj[key];
}
});
}
export2Excel(
this.tHeader,
this.filterVal,
data,
"办事部门评价记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
}
this.btnLoading = false;
},
},
watch: {
tablePagination() {
this.togetevalist();
// 删除
handleDel(id) {
let _this = this;
this.$confirm({
title: "系统提示",
content: "删除不可恢复,确定要删除吗?",
okText: "确定",
okType: "danger",
cancelText: "取消",
centered: true,
icon: "exclamation-circle",
maskClosable: true,
async onOk() {
let res = await getEvaDetil({
id,
});
let { code, msg } = res;
if (code == 1) {
_this.$message.success(msg);
_this.togetevalist();
}
},
});
},
},
created() {
this.baseurl = process.env.VUE_APP_API_PHP_URL;
},
};
</script>
......
......@@ -20,7 +20,6 @@
<a-select
v-model="evaChoose"
placeholder="全部评价"
@change="changeEvaChoose"
mode="multiple"
style="max-width: 140px"
>
......@@ -34,7 +33,6 @@
<a-select
v-model="evaFrom"
placeholder="全部来源"
@change="changeEvaFrom"
mode="multiple"
style="max-width: 160px"
>
......@@ -59,6 +57,7 @@
style="width: 280px"
v-model="searchName"
placeholder="请输入评价人姓名或窗口编号搜索"
@pressEnter="handleSearch"
>
<a-icon slot="prefix" type="search" />
</a-input>
......@@ -78,7 +77,7 @@
}"
:scroll="{ y: 590 }"
:pagination="tablePagination"
@change="pagTableChange"
@change="changeTablePage"
:loading="tableLoading"
:columns="tableHeaders"
:dataSource="tableSourceData"
......@@ -93,8 +92,6 @@
<img
v-else
:src="baseurl + '/' + text"
alt=""
srcset=""
style="max-width: 100px; max-height: 100px"
/>
</template>
......@@ -102,7 +99,7 @@
<a-button
type="link"
style="color: #ff7370"
@click="showModal(record)"
@click="handleDel(record.id)"
>删除</a-button
>
<a-button type="link" @click="openHandlingDetails(record)"
......@@ -111,9 +108,6 @@
</template>
</a-table>
<HandlingDetails ref="HandlingDetails" />
<a-modal v-model="visible" title="系统提示" @ok="togetEvaDetil()">
{{ content }}
</a-modal>
</div>
</div>
</template>
......@@ -142,7 +136,10 @@ export default {
width: "60px",
key: "index",
align: "center",
customRender: (text, record, index) => `${index + 1}`,
customRender: (text, record, index) =>
(this.tablePagination.current - 1) * this.tablePagination.pageSize +
index +
1,
},
{
title: "窗口编号",
......@@ -233,7 +230,6 @@ export default {
{
title: "操作",
align: "center",
dataIndex: "操作",
scopedSlots: {
customRender: "操作",
},
......@@ -251,9 +247,7 @@ export default {
evaChoose: [], //评价选项
evaFrom: [], // 评价来源
evaDates: [], // 评价日期
content: "此操作将删除该评价信息,是否继续?",
delId: null, //当前删除id
baseurl: "",
baseurl: process.env.VUE_APP_API_PHP_URL,
optonList: [],
tableSelectedKeys: [],
tableSelectedRows: [],
......@@ -284,23 +278,13 @@ export default {
components: {
HandlingDetails,
},
mounted() {
this.setMoment();
// 设置默认时间为今天
// this.evaDates = [
// this.$moment(new Date()).format("YYYY-MM-DD"),
// this.$moment(new Date()).format("YYYY-MM-DD"),
// ];
created() {
this.getOptonList();
this.togetevalist();
getOptonList().then((res) => {
if (res.code == 1) {
this.optonList = res.data;
}
});
},
methods: {
// 重置
clearnAllChoose() {
this.evaChoose = [];
this.evaFrom = [];
......@@ -321,31 +305,17 @@ export default {
this.tableSelectedRows = [];
this.togetevalist();
},
// 批量删除
delTable() {
this.visible = true;
if (!this.tableSelectedRows.length) {
this.content = "一条评论都没有选中";
} else {
this.content = "此操作将删除这些评价信息,是否继续?";
let arr = [];
this.tableSelectedRows.forEach((item) => {
arr.push(item.id);
});
this.delId = arr;
this.$message.warning("请先勾选数据");
return;
}
let ids = this.tableSelectedRows.map((v) => v.id).join(",");
this.handleDel(ids);
},
togetEvaDetil() {
getEvaDetil({
id: this.delId,
}).then((res) => {
{
this.delId = null;
this.visible = false;
// 要刷新页面
this.togetevalist();
}
});
},
// 办理明细
togetQueEvaData(record) {
getQueEvaData({
id: record.id,
......@@ -356,6 +326,12 @@ export default {
}
});
},
// 分页
changeTablePage(page) {
this.pagTableChange(page);
this.togetevalist();
},
// 评价详情
togetEvaData(id) {
getEvaData({
id: id,
......@@ -366,48 +342,39 @@ export default {
}
});
},
togetevalist() {
// 获取评价选项
async getOptonList() {
let res = await getOptonList();
if (res.code == 1) {
this.optonList = res.data;
}
},
// 获取评价列表
async togetevalist(search = {}) {
// 拼接评价选项
let chooseStr = this.evaChoose.join(",");
let option_id = this.evaChoose.join(",");
// 要先拼接评价来源
let fromString = this.evaFrom.join(",");
getEvaList({
let pjxt = this.evaFrom.join(",");
let res = await getEvaList({
page: this.tablePagination.current,
size: this.tablePagination.pageSize,
type: "ckpj",
option_id: chooseStr,
pjxt: fromString, //传0代表全部
option_id,
pjxt,
time: this.BegindAndEndTime,
info: this.searchName,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
this.tableSourceData = data.data.data;
this.evaCount = data.count;
this.tablePagination.total = data.count;
}
...search,
});
},
changeEvaFrom(val) {
if (val.length) {
this.evaFrom = val;
} else {
this.evaFrom = [0];
}
},
changeEvaChoose(val) {
this.evaChoose = val;
},
QueueState(type) {
switch (type) {
case 0:
return "type1";
case 1:
return "type2";
default:
return "type0";
if (res.code == 1) {
let { data, total } = res.data.data;
if (!data.length && this.tablePagination.current > 1) {
this.tablePagination.current -= 1;
this.togetevalist();
}
this.tableSourceData = data;
this.evaCount = total;
this.tablePagination.total = total;
return data;
}
},
//详情模块
......@@ -425,11 +392,6 @@ export default {
this.$refs.HandlingDetails.modalInfo.visible = true;
},
//删除模态框
showModal(record) {
this.visible = true;
this.delId = record.id;
},
// 选择数据
onSelectChange(keys, rows) {
this.tableSelectedKeys = keys;
......@@ -468,49 +430,52 @@ export default {
"窗口服务评价记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
} else {
// 拼接评价选项
let chooseStr = this.evaChoose.join(",");
// 要先拼接评价来源
let fromString = this.evaFrom.join(",");
getEvaList({
page: this.tablePagination.current,
let data = await this.togetevalist({
page: 1,
size: -1,
type: "ckpj",
option_id: chooseStr,
pjxt: fromString, //传0代表全部
time: this.BegindAndEndTime,
info: this.searchName,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
if (!data.data.data.length) return;
for (let item of data.data.data) {
Object.keys(obj).forEach((key) => {
if (item.pjxt == key) {
item.pjxt = obj[key];
}
});
}
export2Excel(
this.tHeader,
this.filterVal,
data.data.data,
"窗口服务评价记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
}
});
if (!data.length) return;
for (let item of data) {
Object.keys(obj).forEach((key) => {
if (item.pjxt == key) {
item.pjxt = obj[key];
}
});
}
export2Excel(
this.tHeader,
this.filterVal,
data,
"窗口服务评价记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
}
this.btnLoading = false;
},
},
watch: {
tablePagination() {
this.togetevalist();
// 删除
handleDel(id) {
let _this = this;
this.$confirm({
title: "系统提示",
content: "删除不可恢复,确定要删除吗?",
okText: "确定",
okType: "danger",
cancelText: "取消",
centered: true,
icon: "exclamation-circle",
maskClosable: true,
async onOk() {
let res = await getEvaDetil({
id,
});
let { code, msg } = res;
if (code == 1) {
_this.$message.success(msg);
_this.togetevalist();
}
},
});
},
},
created() {
this.baseurl = process.env.VUE_APP_API_PHP_URL;
},
};
</script>
......
......@@ -13,7 +13,9 @@
>填单次数:<i>{{ tablePagination.total }}</i></b
>
<sub
>统计时间段:{{ BegindAndEndTime[0] }}~{{ BegindAndEndTime[1] }}</sub
>统计时间段:{{ searchForm.BegindAndEndTime[0] }}~{{
searchForm.BegindAndEndTime[1]
}}</sub
>
</div>
<span>
......@@ -22,17 +24,21 @@
<a-select
:default-value="1"
style="width: 25%"
@change="changeSearchType"
v-model="searchForm.type"
>
<a-select-option :value="1"> 按事项 </a-select-option>
<a-select-option :value="2"> 按材料 </a-select-option>
</a-select>
<a-select placeholder="全部状态" @change="changeStatu">
<a-select-option :value="0"> 全部类型 </a-select-option>
<a-select placeholder="全部状态" v-model="searchForm.status">
<a-select-option value=""> 全部类型 </a-select-option>
<a-select-option :value="1"> 本地打印 </a-select-option>
<a-select-option :value="2"> 在线提交 </a-select-option>
</a-select>
<a-input v-model="searchName" placeholder="请输入名称搜索">
<a-input
v-model="searchForm.searchName"
@pressEnter="handleSearch"
placeholder="请输入名称搜索"
>
<a-icon slot="prefix" type="search" />
</a-input>
<!-- </a-input-group> -->
......@@ -40,7 +46,7 @@
format="YYYY-MM-DD"
valueFormat="YYYY-MM-DD"
class="range_picker_style"
v-model="BegindAndEndTime"
v-model="searchForm.BegindAndEndTime"
>
</a-range-picker>
......@@ -60,7 +66,7 @@
}"
:scroll="{ y: 590 }"
:pagination="tablePagination"
@change="pagTableChange"
@change="changeTablePage"
:loading="tableLoading"
:columns="tableHeaders"
:dataSource="tableSourceData"
......@@ -113,8 +119,8 @@ export default {
},
{
title: "事项名称",
align: "center",
dataIndex: "事项名称",
ellipsis: true,
width: 300,
scopedSlots: {
customRender: "事项名称",
......@@ -122,7 +128,7 @@ export default {
},
{
title: "材料名称",
align: "center",
ellipsis: true,
dataIndex: "materialName",
width: 300,
scopedSlots: {
......@@ -161,7 +167,7 @@ export default {
title: "结果类型",
align: "center",
customRender: (text, record, index) => {
return text == 1 ? "本地打印" : "在线提交";
return text.type == 1 ? "本地打印" : "在线提交";
},
},
{
......@@ -175,14 +181,18 @@ export default {
// dataIndex: "累计耗时",
// },
],
BegindAndEndTime: [
this.$moment(new Date()).format("YYYY-MM-DD"),
this.$moment(new Date()).format("YYYY-MM-DD"),
],
searchName: undefined,
searchType: 1,
searchForm: {
type: 1, // 事项或者材料搜索
status: "", // 打印或者提交
searchName: "", // 搜索内容
BegindAndEndTime: [
this.$moment(new Date()).format("YYYY-MM-DD"),
this.$moment(new Date()).format("YYYY-MM-DD"),
],
},
siteId: JSON.parse(localStorage.getItem("siteId")),
statu: undefined,
tableSelectedKeys: [],
tableSelectedRows: [],
tHeader: [
......@@ -211,79 +221,66 @@ export default {
"type",
"createTime",
],
i: 1,
};
},
components: {},
mounted() {
this.setMoment();
created() {
this.togetPrintList();
},
watch: {
tablePagination() {
this.togetPrintList();
},
},
mounted() {},
methods: {
changeStatu(val) {
this.statu = val;
},
changeSearchType(val) {
this.searchType = val;
},
// 搜索
handleSearch() {
this.tablePagination.current = 1;
this.tableSelectedKeys = [];
this.tableSelectedRows = [];
this.togetPrintList();
},
togetPrintList() {
// 获取报表列表
async togetPrintList(searchForm = {}) {
let pramse = {
page: this.tablePagination.current,
size: this.tablePagination.pageSize,
siteId: this.siteId,
matterName: "%%",
materialName: "%%",
createTimeStart: this.BegindAndEndTime[0],
createTimeEnd: this.BegindAndEndTime[1],
type: this.searchForm.status,
createTimeStart: this.searchForm.BegindAndEndTime[0],
createTimeEnd: this.searchForm.BegindAndEndTime[1],
...searchForm,
};
if (this.statu && this.statu != 0) {
pramse.type = this.statu;
if (this.searchForm.type == 1) {
pramse.matterName = `%${this.searchForm.searchName}%`;
} else {
pramse.materialName = `%${this.searchForm.searchName}%`;
}
if (this.searchType == 1 && this.searchName) {
pramse.matterName = "%" + this.searchName + "%";
} else if (this.searchName) {
pramse.materialName = "%" + this.searchName + "%";
let res = await getPrintList(pramse);
let { code, data } = res;
if (code == 1) {
this.tableSourceData = data.data;
this.tablePagination.total = data.total;
return data.data;
}
getPrintList(pramse).then((res) => {
const { code, data } = res;
if (code == 1) {
this.tableSourceData = data.data;
this.tablePagination.total = data.total;
}
});
},
// 重置
// 重置搜索
handleReset() {
this.BegindAndEndTime = [
this.$moment(new Date()).format("YYYY-MM-DD"),
this.$moment(new Date()).format("YYYY-MM-DD"),
];
this.searchName = undefined;
this.searchType = 1;
this.statu = undefined;
this.searchForm = {
type: 1,
status: "",
searchName: "",
BegindAndEndTime: [
this.$moment(new Date()).format("YYYY-MM-DD"),
this.$moment(new Date()).format("YYYY-MM-DD"),
],
};
this.tableSelectedKeys = [];
this.tableSelectedRows = [];
this.tablePagination.current = 1;
this.togetPrintList();
},
QueueState(type) {
switch (type) {
case 0:
return "type1";
case 1:
return "type2";
default:
return "type0";
}
// 分页
changeTablePage(page) {
this.pagTableChange(page);
this.togetPrintList();
},
// 选中
onSelectChange(keys, rows) {
......@@ -298,7 +295,7 @@ export default {
});
},
// 导出
handleExportTable() {
async handleExportTable() {
this.btnLoading = true;
let obj = {
1: "本地打印",
......@@ -319,42 +316,21 @@ export default {
"填单记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
} else {
let pramse = {
page: 1,
size: -1,
siteId: this.siteId,
matterName: "%%",
materialName: "%%",
createTimeStart: this.BegindAndEndTime[0],
createTimeEnd: this.BegindAndEndTime[1],
};
if (this.statu && this.statu != 0) {
pramse.type = this.statu;
}
if (this.searchType == 1 && this.searchName) {
pramse.matterName = "%" + this.searchName + "%";
} else if (this.searchName) {
pramse.materialName = "%" + this.searchName + "%";
}
getPrintList(pramse).then((res) => {
const { code, data } = res;
if (code == 1) {
if (!data.data.length) return;
for (let item of data.data) {
Object.keys(obj).forEach((key) => {
if (item.type == key) {
item.type = obj[key];
}
});
let data = await this.togetPrintList({ page: 1, size: -1 });
if (!data.length) return;
for (let item of data) {
Object.keys(obj).forEach((key) => {
if (item.type == key) {
item.type = obj[key];
}
export2Excel(
this.tHeader,
this.filterVal,
data.data,
"填单记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
}
});
});
}
export2Excel(
this.tHeader,
this.filterVal,
data,
"填单记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
}
this.btnLoading = false;
},
......
......@@ -37,6 +37,7 @@
<a-input
v-model="searchForm.flownum"
placeholder="请输入排队编号搜索"
@pressEnter="handleSearch"
>
<a-icon slot="prefix" type="search" />
</a-input>
......@@ -318,17 +319,12 @@ export default {
WorkpeopleInfo,
HandlingDetails,
},
mounted() {
this.setMoment();
created() {
this.getCalllistArr();
this.getCallQueListArr();
},
mounted() {},
methods: {
//搜索按钮
getDataList() {
this.tablePagination.current = 1;
this.getCallQueListArr();
},
//重置按钮
resetBtn() {
this.tableSelectedKeys = [];
......@@ -345,7 +341,6 @@ export default {
//获取排号机设备列表
async getCalllistArr() {
await getCalllist({ page: 1, size: -1 }).then((res) => {
// console.log(res.data.data)
this.deviceData = res.data.data;
});
},
......@@ -357,15 +352,19 @@ export default {
this.getCallQueListArr();
},
// 获取列表数据
getCallQueListArr() {
getCallQueList({
async getCallQueListArr(search = {}) {
let res = getCallQueList({
page: this.tablePagination.current,
size: this.tablePagination.pageSize,
...this.searchForm,
}).then((res) => {
this.tableList = res.data.data;
this.tablePagination.total = res.data.total;
...search,
});
if (res.code == 1) {
let { data, total } = res.data;
this.tableList = data;
this.tablePagination.total = total;
return data;
}
},
//分页
changeTablePage(page) {
......@@ -426,9 +425,6 @@ export default {
this.$refs.HandlingDetails.modalInfo.title = "办理明细";
this.$refs.HandlingDetails.modalInfo.visible = true;
},
rangePickerChange(val) {
console.log(val);
},
QueueState(type) {
switch (type) {
......@@ -476,27 +472,24 @@ export default {
"呼叫记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
} else {
getCallQueList({
let data = await this.getCallQueListArr({
page: 1,
size: -1,
...this.searchForm,
}).then((res) => {
let { data } = res.data;
if (!data.length) return;
for (let item of data) {
Object.keys(obj).forEach((key) => {
if (item.style == key) {
item.style = obj[key];
}
});
}
export2Excel(
this.tHeader,
this.filterVal,
data,
"呼叫记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
});
if (!data.length) return;
for (let item of data) {
Object.keys(obj).forEach((key) => {
if (item.style == key) {
item.style = obj[key];
}
});
}
export2Excel(
this.tHeader,
this.filterVal,
data,
"呼叫记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
}
this.btnLoading = false;
},
......
......@@ -37,6 +37,7 @@
<a-input
v-model="searchForm.flownum"
placeholder="请输入排队编号搜索"
@pressEnter="handleSearch"
>
<a-icon slot="prefix" type="search" />
</a-input>
......@@ -324,17 +325,12 @@ export default {
WorkpeopleInfo,
HandlingDetails,
},
mounted() {
this.setMoment();
created() {
this.getTaskListArr();
this.getQueueDataArr();
},
mounted() {},
methods: {
//搜索按钮
getDataList() {
this.tablePagination.current = 1;
this.getQueueDataArr();
},
//重置按钮
resetBtn() {
this.tablePagination.current = 1;
......@@ -351,7 +347,6 @@ export default {
//获取排号机设备列表
async getTaskListArr() {
await getTaskList({ page: 1, size: -1 }).then((res) => {
// console.log(res.data.data)
this.deviceData = res.data.data;
});
},
......@@ -363,15 +358,19 @@ export default {
this.getQueueDataArr();
},
// 获取列表数据
getQueueDataArr() {
getQueueData({
async getQueueDataArr(search = {}) {
let res = await getQueueData({
page: this.tablePagination.current,
size: this.tablePagination.pageSize,
...this.searchForm,
}).then((res) => {
this.tableList = res.data.data;
this.tablePagination.total = res.data.total;
...search,
});
if (res.code == 1) {
let { data, total } = res.data;
this.tableList = data;
this.tablePagination.total = total;
return data;
}
},
//分页
changeTablePage(page) {
......@@ -396,7 +395,6 @@ export default {
},
//业务关联模块
async openBusiness(business, id) {
let siteId = localStorage.getItem("siteId");
await getBusinessEvent({
businessid: id,
time: this.searchForm.time,
......@@ -468,40 +466,24 @@ export default {
"排队记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
} else {
getQueueData({
page: 1,
size: -1,
...this.searchForm,
}).then((res) => {
let { data } = res.data;
if (!data.length) return;
for (let item of data) {
Object.keys(obj).forEach((key) => {
if (item.style == key) {
item.style = obj[key];
}
});
}
export2Excel(
this.tHeader,
this.filterVal,
data,
"排队记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
});
let data = await this.getQueueDataArr({ page: 1, size: -1 });
if (!data.length) return;
for (let item of data) {
Object.keys(obj).forEach((key) => {
if (item.style == key) {
item.style = obj[key];
}
});
}
export2Excel(
this.tHeader,
this.filterVal,
data,
"排队记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
}
this.btnLoading = false;
},
//获取全部数据
// downAllData() {
// getQueueData({
// page: 1,
// size: -1,
// ...this.searchForm,
// }).then((res) => {
// return res;
// });
// },
},
};
</script>
......
......@@ -13,21 +13,27 @@
>查看样表次数:<i>{{ tablePagination.total }}</i></b
>
<sub
>统计时间段:{{ BegindAndEndTime[0] }}~{{ BegindAndEndTime[1] }}
>统计时间段:{{ searchForm.BegindAndEndTime[0] }}~{{
searchForm.BegindAndEndTime[1]
}}
</sub>
</div>
<span>
<a-space>
<a-select :default-value="1" @change="changeSearchType">
<a-select v-model="searchForm.type">
<a-select-option :value="1"> 按事项 </a-select-option>
<a-select-option :value="2"> 按材料 </a-select-option>
</a-select>
<a-input v-model="searchName" placeholder="请输入名称搜索">
<a-input
v-model="searchForm.searchName"
@pressEnter="handleSearch"
placeholder="请输入名称搜索"
>
<a-icon slot="prefix" type="search" />
</a-input>
<!-- </a-input-group> -->
<a-range-picker
v-model="BegindAndEndTime"
v-model="searchForm.BegindAndEndTime"
format="YYYY-MM-DD"
valueFormat="YYYY-MM-DD"
class="range_picker_style"
......@@ -50,7 +56,7 @@
}"
:scroll="{ y: 590 }"
:pagination="tablePagination"
@change="pagTableChange"
@change="changeTablePage"
:loading="tableLoading"
:columns="tableHeaders"
:dataSource="tableSourceData"
......@@ -59,13 +65,13 @@
<span slot="index" slot-scope="text, record, index">{{
(tablePagination.current - 1) * tablePagination.pageSize + index + 1
}}</span>
<template slot="事项名称" slot-scope="text, record, index">
<template slot="事项名称" slot-scope="text, record">
<div>
{{ record.matterName }}
</div>
<div class="tabFont">事项全称:{{ record.matterFullName }}</div>
</template>
<template slot="材料名称" slot-scope="text, record, index">
<template slot="材料名称" slot-scope="text, record">
<div>
{{ record.materialName }}
</div>
......@@ -131,12 +137,16 @@ export default {
},
},
],
BegindAndEndTime: [
this.$moment(new Date()).format("YYYY-MM-DD"),
this.$moment(new Date()).format("YYYY-MM-DD"),
], //时间段
searchName: undefined,
searchType: 1,
searchForm: {
type: 1, // 事项或者材料搜索
status: "", // 打印或者提交
searchName: "", // 搜索内容
BegindAndEndTime: [
this.$moment(new Date()).format("YYYY-MM-DD"),
this.$moment(new Date()).format("YYYY-MM-DD"),
],
},
siteId: localStorage.getItem("siteId"),
tableSelectedKeys: [],
tableSelectedRows: [],
......@@ -163,10 +173,10 @@ export default {
};
},
components: {},
mounted() {
this.setMoment();
created() {
this.togetBillList();
},
methods: {
handleSearch() {
this.tablePagination.current = 1;
......@@ -174,56 +184,50 @@ export default {
this.tableSelectedRows = [];
this.togetBillList();
},
togetBillList() {
async togetBillList(searchForm = {}) {
let pramse = {
page: this.tablePagination.current,
size: this.tablePagination.pageSize,
siteId: this.siteId,
matterName: "%%",
materialName: "%%",
operTimeStart: this.BegindAndEndTime[0],
operTimeEnd: this.BegindAndEndTime[1],
operTimeStart: this.searchForm.BegindAndEndTime[0],
operTimeEnd: this.searchForm.BegindAndEndTime[1],
...searchForm,
};
if (this.searchType == 1 && this.searchName) {
pramse.matterName = "%" + this.searchName + "%";
} else if (this.searchName) {
pramse.materialName = "%" + this.searchName + "%";
if (this.searchForm.type == 1) {
pramse.matterName = `%${this.searchForm.searchName}%`;
} else {
pramse.materialName = `%${this.searchForm.searchName}%`;
}
getBillList(pramse).then((res) => {
const { code, data } = res;
if (code == 1) {
this.tableSourceData = data.data;
this.tablePagination.total = data.total;
}
});
},
changeSearchType(val) {
this.searchType = val;
},
QueueState(type) {
switch (type) {
case 0:
return "type1";
case 1:
return "type2";
default:
return "type0";
let res = await getBillList(pramse);
const { code, data } = res;
if (code == 1) {
this.tableSourceData = data.data;
this.tablePagination.total = data.total;
return data.data;
}
},
// 重置
handleReset() {
this.BegindAndEndTime = [
this.$moment(new Date()).format("YYYY-MM-DD"),
this.$moment(new Date()).format("YYYY-MM-DD"),
];
this.searchName = undefined;
this.searchType = 1;
this.searchForm = {
type: 1,
status: "",
searchName: "",
BegindAndEndTime: [
this.$moment(new Date()).format("YYYY-MM-DD"),
this.$moment(new Date()).format("YYYY-MM-DD"),
],
};
this.tablePagination.current = 1;
this.tableSelectedKeys = [];
this.tableSelectedRows = [];
this.togetBillList();
},
// 分页
changeTablePage(page) {
this.pagTableChange(page);
this.togetBillList();
},
// 选中
onSelectChange(keys, rows) {
this.tableSelectedKeys = keys;
......@@ -237,7 +241,7 @@ export default {
});
},
// 导出
handleExportTable() {
async handleExportTable() {
this.btnLoading = true;
if (this.tableSelectedKeys.length && this.tableSelectedRows.length) {
export2Excel(
......@@ -247,32 +251,21 @@ export default {
"样表记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
} else {
let pramse = {
page: 1,
size: -1,
siteId: this.siteId,
matterName: "%%",
materialName: "%%",
operTimeStart: this.BegindAndEndTime[0],
operTimeEnd: this.BegindAndEndTime[1],
};
if (this.searchType == 1 && this.searchName) {
pramse.matterName = "%" + this.searchName + "%";
} else if (this.searchName) {
pramse.materialName = "%" + this.searchName + "%";
}
getBillList(pramse).then((res) => {
const { code, data } = res;
if (code == 1) {
if (!data.data.length) return;
export2Excel(
this.tHeader,
this.filterVal,
data.data,
"样表记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
}
});
let data = await this.getBillList({ page: 1, size: -1 });
if (!data.length) return;
// for (let item of data) {
// Object.keys(obj).forEach((key) => {
// if (item.type == key) {
// item.type = obj[key];
// }
// });
// }
export2Excel(
this.tHeader,
this.filterVal,
data,
"样表记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
}
this.btnLoading = false;
},
......
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