Commit 2cf14a46 authored by “yiyousong”'s avatar “yiyousong”

perf:修改评价系统数据展示

parent 9918ee89
......@@ -25,24 +25,24 @@
<div class="table-item">
<div>
<DoubleTable
title="业务评价量统计"
title="评价选项统计"
border
:column="businessColumn"
:data="businessTableData"
:size="businessSearch.size"
:current="businessSearch.page"
:loading="businessLoading"
type="business"
@export="exportbusinessEva"
:column="pjOptionColumn"
:data="pjOptionTableData"
:size="pjOptionSearch.size"
:current="pjOptionSearch.page"
:loading="pjOptionLoading"
type="pjOption"
@export="exportPjOptionEva"
@search="handleSearch"
></DoubleTable>
</div>
<Pagination
:total="businessSearch.total"
:current.sync="businessSearch.page"
:size.sync="businessSearch.size"
:total="pjOptionSearch.total"
:current.sync="pjOptionSearch.page"
:size.sync="pjOptionSearch.size"
layout="total,prev,pager,next,jumper"
@get="getBusinessEva"
@get="getPjOptionEva"
></Pagination>
</div>
<div class="table-item">
......@@ -112,7 +112,7 @@ export default {
},
siteId: storage.get(2, "siteId"),
hallLoading: false,
businessLoading: false,
pjOptionLoading: false,
deptLoading: false,
windowLoading: false,
hallSearch: {
......@@ -121,12 +121,13 @@ export default {
size: 10,
hallNameNotList: [""],
},
businessSearch: {
pjOptionSearch: {
total: 0,
page: 1,
size: 10,
businessNotList: [""],
businessList: [],
pjOptionNotList: [""],
pjOptionList: [],
groupList: ["pjOption"],
},
deptSearch: {
total: 0,
......@@ -160,10 +161,10 @@ export default {
},
},
],
businessColumn: [
pjOptionColumn: [
{
label: "业务名称",
prop: "business",
label: "评价选项",
prop: "pjOption",
align: "center",
showOverflowTooltip: true,
formatter: (row, column, cellValue) => {
......@@ -221,7 +222,7 @@ export default {
],
hallTableData: [],
businessTableData: [],
pjOptionTableData: [],
deptTableData: [],
windowTableData: [],
};
......@@ -233,11 +234,11 @@ export default {
this.dateForm.timeStart = dateArr[0];
this.dateForm.timeEnd = dateArr[1];
this.hallSearch.page = 1;
this.businessSearch.page = 1;
this.pjOptionSearch.page = 1;
this.deptSearch.page = 1;
this.windowSearch.page = 1;
this.getHallEva();
this.getBusinessEva();
this.getPjOptionEva();
this.getDeptEva();
this.getWindowEva();
},
......@@ -271,10 +272,10 @@ export default {
this.hallLoading = false;
},
async businessEva(form = {}) {
async pjOptionEva(form = {}) {
const res = await getEvaSystemList({
siteId: this.siteId,
...this.businessSearch,
...this.pjOptionSearch,
...this.dateForm,
...form,
});
......@@ -292,13 +293,13 @@ export default {
};
}
},
// 获取业务评价数据
async getBusinessEva() {
this.businessLoading = true;
let { data, total } = await this.businessEva();
this.businessTableData = data;
this.businessSearch.total = total;
this.businessLoading = false;
// 获取评价选项数据
async getPjOptionEva() {
this.pjOptionLoading = true;
let { data, total } = await this.pjOptionEva();
this.pjOptionTableData = data;
this.pjOptionSearch.total = total;
this.pjOptionLoading = false;
},
async deptEva(form = {}) {
......@@ -377,16 +378,16 @@ export default {
);
});
},
// 导出业务评价
exportbusinessEva(type, form) {
let tHeader = this.businessColumn.map((v) => v.label);
let filterVal = this.businessColumn.map((v) => v.prop);
let { businessName } = form;
// 导出评价选项
exportPjOptionEva(type, form) {
let tHeader = this.pjOptionColumn.map((v) => v.label);
let filterVal = this.pjOptionColumn.map((v) => v.prop);
let { pjOption } = form;
let searchForm = {};
if (businessName) {
searchForm.businessList = [businessName];
if (pjOption) {
searchForm.pjOptionList = [pjOption];
}
dataSection(this.businessEva, searchForm, (data) => {
dataSection(this.pjOptionEva, searchForm, (data) => {
if (!data.length) {
this.$message.warning("暂无数据");
return;
......@@ -395,7 +396,7 @@ export default {
tHeader,
filterVal,
data,
"业务评价量统计报表" + this.$moment().format("YYYYMMDDHHmmss")
"评价选项统计报表" + this.$moment().format("YYYYMMDDHHmmss")
);
});
},
......@@ -446,7 +447,7 @@ export default {
// 业务搜索
handleSearch(type, form) {
const { businessName, deptName, windowNum } = form;
const { pjOption, deptName, windowNum } = form;
const setupSearch = (searchObj, listKey, value, searchMethod) => {
searchObj.page = 1;
......@@ -454,12 +455,12 @@ export default {
searchMethod();
};
if (type === "business") {
if (type === "pjOption") {
setupSearch(
this.businessSearch,
"businessList",
businessName,
this.getBusinessEva
this.pjOptionSearch,
"pjOptionList",
pjOption,
this.getPjOptionEva
);
} else if (type === "dept") {
setupSearch(
......
......@@ -127,6 +127,7 @@ export default {
size: 10,
businessNotList: [""],
businessList: [],
groupList: ["business"],
},
deptSearch: {
total: 0,
......
......@@ -10,19 +10,14 @@
>
<el-select
v-if="type == 'business'"
v-if="type == 'pjOption'"
size="small"
filterable
v-model="form.businessName"
placeholder="请选择业务"
v-model="form.pjOption"
placeholder="请选择评价选项"
clearable
>
<el-option
v-for="v in businessList"
:key="v.id"
:label="v.businessName"
:value="v.businessName"
>
<el-option v-for="(v, i) in pjOption" :key="i" :label="v" :value="v">
</el-option>
</el-select>
<el-select
......@@ -93,6 +88,7 @@
<script>
import { mapState } from "vuex";
import storage from "@/utils/storage";
let pjOption = ["非常满意", "满意", "基本满意", "不满意", "非常不满意"];
export default {
props: {
data: {
......@@ -136,10 +132,11 @@ export default {
},
data() {
return {
pjOption,
searchVal: "",
siteId: storage.get(2, "siteId"),
form: {
businessName: "",
pjOption: "",
deptName: "",
windowNum: "",
},
......
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