|
@@ -14,7 +14,7 @@
|
|
:shortcuts="shortcuts"
|
|
:shortcuts="shortcuts"
|
|
@change="handleQuery"
|
|
@change="handleQuery"
|
|
value-format="YYYY-MM-DD"
|
|
value-format="YYYY-MM-DD"
|
|
- :clearable="false"
|
|
|
|
|
|
+ :clearable="false"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
@@ -38,78 +38,78 @@
|
|
:pagination="false"
|
|
:pagination="false"
|
|
:summary-method="getSummaries"
|
|
:summary-method="getSummaries"
|
|
>
|
|
>
|
|
- <template #orgName="{ row }">
|
|
|
|
- <el-button link type="primary" @click="onDetailOrg(row)" v-if="!['市直合计', '区县合计'].includes(row.orgName)">{{
|
|
|
|
- row.orgName
|
|
|
|
- }}</el-button>
|
|
|
|
- <span v-else>{{ row.orgName }}</span>
|
|
|
|
- </template>
|
|
|
|
- <template #verySatisfiedCount="{ row }">
|
|
|
|
- <el-button
|
|
|
|
- link
|
|
|
|
- type="primary"
|
|
|
|
- @click="onDetail(row.verySatisfiedKey, row, '非常满意')"
|
|
|
|
- v-if="!['市直合计', '区县合计'].includes(row.orgName)"
|
|
|
|
- >{{ row.verySatisfiedCount }}</el-button
|
|
|
|
- >
|
|
|
|
- <span v-else>{{ row.verySatisfiedCount }}</span>
|
|
|
|
- </template>
|
|
|
|
- <template #satisfiedCount="{ row }">
|
|
|
|
- <el-button link type="primary" @click="onDetail(row.satisfiedKey, row, '满意')" v-if="!['市直合计', '区县合计'].includes(row.orgName)">{{
|
|
|
|
- row.satisfiedCount
|
|
|
|
- }}</el-button>
|
|
|
|
- <span v-else>{{ row.satisfiedCount }}</span>
|
|
|
|
- </template>
|
|
|
|
- <template #regardedAsSatisfiedCount="{ row }">
|
|
|
|
- <el-button
|
|
|
|
- link
|
|
|
|
- type="primary"
|
|
|
|
- @click="onDetail(row.regardedAsSatisfiedKey, row, '视为满意')"
|
|
|
|
- v-if="!['市直合计', '区县合计'].includes(row.orgName)"
|
|
|
|
- >{{ row.regardedAsSatisfiedCount }}</el-button
|
|
|
|
- >
|
|
|
|
- <span v-else>{{ row.regardedAsSatisfiedCount }}</span>
|
|
|
|
- </template>
|
|
|
|
- <template #defaultSatisfiedCount="{ row }">
|
|
|
|
- <el-button
|
|
|
|
- link
|
|
|
|
- type="primary"
|
|
|
|
- @click="onDetail(row.defaultSatisfiedKey, row, '默认满意')"
|
|
|
|
- v-if="!['市直合计', '区县合计'].includes(row.orgName)"
|
|
|
|
- >{{ row.defaultSatisfiedCount }}</el-button
|
|
|
|
- >
|
|
|
|
- <span v-else>{{ row.defaultSatisfiedCount }}</span>
|
|
|
|
- </template>
|
|
|
|
- <template #noSatisfiedCount="{ row }">
|
|
|
|
- <el-button
|
|
|
|
- link
|
|
|
|
- type="primary"
|
|
|
|
- @click="onDetail(row.noSatisfiedKey, row, '不满意')"
|
|
|
|
- v-if="!['市直合计', '区县合计'].includes(row.orgName)"
|
|
|
|
- >{{ row.noSatisfiedCount }}</el-button
|
|
|
|
- >
|
|
|
|
- <span v-else>{{ row.noSatisfiedCount }}</span>
|
|
|
|
- </template>
|
|
|
|
- <template #noEvaluateCount="{ row }">
|
|
|
|
- <el-button
|
|
|
|
- link
|
|
|
|
- type="primary"
|
|
|
|
- @click="onDetail(row.noEvaluateKey, row, '未作评价')"
|
|
|
|
- v-if="!['市直合计', '区县合计'].includes(row.orgName)"
|
|
|
|
- >{{ row.noEvaluateCount }}</el-button
|
|
|
|
- >
|
|
|
|
- <span v-else>{{ row.noEvaluateCount }}</span>
|
|
|
|
- </template>
|
|
|
|
- <template #noPutThroughCount="{ row }">
|
|
|
|
- <el-button
|
|
|
|
- link
|
|
|
|
- type="primary"
|
|
|
|
- @click="onDetail(row.noPutThroughKey, row, '未接通')"
|
|
|
|
- v-if="!['市直合计', '区县合计'].includes(row.orgName)"
|
|
|
|
- >{{ row.noPutThroughCount }}</el-button
|
|
|
|
- >
|
|
|
|
- <span v-else>{{ row.noPutThroughCount }}</span>
|
|
|
|
- </template>
|
|
|
|
|
|
+ <template #orgName="{ row }">
|
|
|
|
+ <el-button link type="primary" @click="onDetailOrg(row)" v-if="!['市直合计', '区县合计'].includes(row.orgName)">{{
|
|
|
|
+ row.orgName
|
|
|
|
+ }}</el-button>
|
|
|
|
+ <span v-else>{{ row.orgName }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #verySatisfiedCount="{ row }">
|
|
|
|
+ <el-button
|
|
|
|
+ link
|
|
|
|
+ type="primary"
|
|
|
|
+ @click="onDetail(row.verySatisfiedKey, row, '非常满意')"
|
|
|
|
+ v-if="!['市直合计', '区县合计'].includes(row.orgName)"
|
|
|
|
+ >{{ row.verySatisfiedCount }}</el-button
|
|
|
|
+ >
|
|
|
|
+ <span v-else>{{ row.verySatisfiedCount }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #satisfiedCount="{ row }">
|
|
|
|
+ <el-button link type="primary" @click="onDetail(row.satisfiedKey, row, '满意')" v-if="!['市直合计', '区县合计'].includes(row.orgName)">{{
|
|
|
|
+ row.satisfiedCount
|
|
|
|
+ }}</el-button>
|
|
|
|
+ <span v-else>{{ row.satisfiedCount }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #regardedAsSatisfiedCount="{ row }">
|
|
|
|
+ <el-button
|
|
|
|
+ link
|
|
|
|
+ type="primary"
|
|
|
|
+ @click="onDetail(row.regardedAsSatisfiedKey, row, '视为满意')"
|
|
|
|
+ v-if="!['市直合计', '区县合计'].includes(row.orgName)"
|
|
|
|
+ >{{ row.regardedAsSatisfiedCount }}</el-button
|
|
|
|
+ >
|
|
|
|
+ <span v-else>{{ row.regardedAsSatisfiedCount }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #defaultSatisfiedCount="{ row }">
|
|
|
|
+ <el-button
|
|
|
|
+ link
|
|
|
|
+ type="primary"
|
|
|
|
+ @click="onDetail(row.defaultSatisfiedKey, row, '默认满意')"
|
|
|
|
+ v-if="!['市直合计', '区县合计'].includes(row.orgName)"
|
|
|
|
+ >{{ row.defaultSatisfiedCount }}</el-button
|
|
|
|
+ >
|
|
|
|
+ <span v-else>{{ row.defaultSatisfiedCount }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #noSatisfiedCount="{ row }">
|
|
|
|
+ <el-button
|
|
|
|
+ link
|
|
|
|
+ type="primary"
|
|
|
|
+ @click="onDetail(row.noSatisfiedKey, row, '不满意')"
|
|
|
|
+ v-if="!['市直合计', '区县合计'].includes(row.orgName)"
|
|
|
|
+ >{{ row.noSatisfiedCount }}</el-button
|
|
|
|
+ >
|
|
|
|
+ <span v-else>{{ row.noSatisfiedCount }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #noEvaluateCount="{ row }">
|
|
|
|
+ <el-button
|
|
|
|
+ link
|
|
|
|
+ type="primary"
|
|
|
|
+ @click="onDetail(row.noEvaluateKey, row, '未作评价')"
|
|
|
|
+ v-if="!['市直合计', '区县合计'].includes(row.orgName)"
|
|
|
|
+ >{{ row.noEvaluateCount }}</el-button
|
|
|
|
+ >
|
|
|
|
+ <span v-else>{{ row.noEvaluateCount }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #noPutThroughCount="{ row }">
|
|
|
|
+ <el-button
|
|
|
|
+ link
|
|
|
|
+ type="primary"
|
|
|
|
+ @click="onDetail(row.noPutThroughKey, row, '未接通')"
|
|
|
|
+ v-if="!['市直合计', '区县合计'].includes(row.orgName)"
|
|
|
|
+ >{{ row.noPutThroughCount }}</el-button
|
|
|
|
+ >
|
|
|
|
+ <span v-else>{{ row.noPutThroughCount }}</span>
|
|
|
|
+ </template>
|
|
</ProTable>
|
|
</ProTable>
|
|
</el-card>
|
|
</el-card>
|
|
</div>
|
|
</div>
|
|
@@ -208,7 +208,7 @@ const state = reactive({
|
|
tableData: [],
|
|
tableData: [],
|
|
loading: false, // 加载
|
|
loading: false, // 加载
|
|
total: 0, // 总数
|
|
total: 0, // 总数
|
|
- totalCount:{}
|
|
|
|
|
|
+ totalCount: {},
|
|
});
|
|
});
|
|
/** 搜索按钮操作 */
|
|
/** 搜索按钮操作 */
|
|
const handleQuery = () => {
|
|
const handleQuery = () => {
|
|
@@ -227,22 +227,21 @@ const queryList = () => {
|
|
const request = {
|
|
const request = {
|
|
StartDate,
|
|
StartDate,
|
|
EndDate,
|
|
EndDate,
|
|
- TypeId:'1'
|
|
|
|
|
|
+ TypeId: '1',
|
|
};
|
|
};
|
|
departmentSatisfaction(request)
|
|
departmentSatisfaction(request)
|
|
.then((res: any) => {
|
|
.then((res: any) => {
|
|
- state.tableData = res.result?.dataList ?? [];
|
|
|
|
- if (res.result.dataList.length) {
|
|
|
|
- state.tableData.push(res.result.citySumModel);
|
|
|
|
- state.tableData.push(res.result.countySumModel);
|
|
|
|
- }
|
|
|
|
- state.totalCount = res.result.sumModel;
|
|
|
|
|
|
+ state.tableData = res.result?.dataList ?? [];
|
|
|
|
+ if (res.result.dataList.length) {
|
|
|
|
+ state.tableData.push(res.result.citySumModel);
|
|
|
|
+ state.tableData.push(res.result.countySumModel);
|
|
|
|
+ }
|
|
|
|
+ state.totalCount = res.result.sumModel;
|
|
state.loading = false;
|
|
state.loading = false;
|
|
})
|
|
})
|
|
.catch(() => {
|
|
.catch(() => {
|
|
state.loading = false;
|
|
state.loading = false;
|
|
});
|
|
});
|
|
- state.loading = false;
|
|
|
|
};
|
|
};
|
|
/** 重置按钮操作 */
|
|
/** 重置按钮操作 */
|
|
const resetQuery = (formEl: FormInstance | undefined) => {
|
|
const resetQuery = (formEl: FormInstance | undefined) => {
|
|
@@ -252,68 +251,68 @@ const resetQuery = (formEl: FormInstance | undefined) => {
|
|
};
|
|
};
|
|
// 合计
|
|
// 合计
|
|
const getSummaries = (param: any) => {
|
|
const getSummaries = (param: any) => {
|
|
- const { columns } = param;
|
|
|
|
- const sums: string[] = [];
|
|
|
|
- columns.forEach((column: { property: string }, index: number) => {
|
|
|
|
- if (index === 0) {
|
|
|
|
- sums[index] = '合计';
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- switch (column.property) {
|
|
|
|
- case 'totalSumCount':
|
|
|
|
- sums[index] = state.totalCount?.totalSumCount;
|
|
|
|
- break;
|
|
|
|
- case 'totalSumRate':
|
|
|
|
- sums[index] = `${state.totalCount?.totalSumRate}%`;
|
|
|
|
- break;
|
|
|
|
- case 'verySatisfiedCount':
|
|
|
|
- sums[index] = state.totalCount?.verySatisfiedCount;
|
|
|
|
- break;
|
|
|
|
- case 'verySatisfiedRate':
|
|
|
|
- sums[index] = `${state.totalCount?.verySatisfiedRate}%`;
|
|
|
|
- break;
|
|
|
|
- case 'satisfiedCount':
|
|
|
|
- sums[index] = state.totalCount?.satisfiedCount;
|
|
|
|
- break;
|
|
|
|
- case 'satisfiedRate':
|
|
|
|
- sums[index] = `${state.totalCount?.satisfiedRate}%`;
|
|
|
|
- break;
|
|
|
|
- case 'regardedAsSatisfiedCount':
|
|
|
|
- sums[index] = state.totalCount?.regardedAsSatisfiedCount;
|
|
|
|
- break;
|
|
|
|
- case 'regardedAsSatisfiedRate':
|
|
|
|
- sums[index] = `${state.totalCount?.regardedAsSatisfiedRate}%`;
|
|
|
|
- break;
|
|
|
|
- case 'defaultSatisfiedCount':
|
|
|
|
- sums[index] = state.totalCount?.defaultSatisfiedCount;
|
|
|
|
- break;
|
|
|
|
- case 'defaultSatisfiedRate':
|
|
|
|
- sums[index] = `${state.totalCount?.defaultSatisfiedRate}%`;
|
|
|
|
- break;
|
|
|
|
- case 'noSatisfiedCount':
|
|
|
|
- sums[index] = state.totalCount?.noSatisfiedCount;
|
|
|
|
- break;
|
|
|
|
- case 'noSatisfiedRate':
|
|
|
|
- sums[index] = `${state.totalCount?.noSatisfiedRate}%`;
|
|
|
|
- break;
|
|
|
|
- case 'noEvaluateCount':
|
|
|
|
- sums[index] = state.totalCount?.noEvaluateCount;
|
|
|
|
- break;
|
|
|
|
- case 'noEvaluateRate':
|
|
|
|
- sums[index] = `${state.totalCount?.noEvaluateRate}%`;
|
|
|
|
- break;
|
|
|
|
- case 'noPutThroughCount':
|
|
|
|
- sums[index] = state.totalCount?.noPutThroughCount;
|
|
|
|
- break;
|
|
|
|
- case 'noPutThroughRate':
|
|
|
|
- sums[index] = `${state.totalCount?.noPutThroughRate}%`;
|
|
|
|
- break;
|
|
|
|
- default:
|
|
|
|
- sums[index] = '';
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- return sums;
|
|
|
|
|
|
+ const { columns } = param;
|
|
|
|
+ const sums: string[] = [];
|
|
|
|
+ columns.forEach((column: { property: string }, index: number) => {
|
|
|
|
+ if (index === 0) {
|
|
|
|
+ sums[index] = '合计';
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ switch (column.property) {
|
|
|
|
+ case 'totalSumCount':
|
|
|
|
+ sums[index] = state.totalCount?.totalSumCount;
|
|
|
|
+ break;
|
|
|
|
+ case 'totalSumRate':
|
|
|
|
+ sums[index] = `${state.totalCount?.totalSumRate}%`;
|
|
|
|
+ break;
|
|
|
|
+ case 'verySatisfiedCount':
|
|
|
|
+ sums[index] = state.totalCount?.verySatisfiedCount;
|
|
|
|
+ break;
|
|
|
|
+ case 'verySatisfiedRate':
|
|
|
|
+ sums[index] = `${state.totalCount?.verySatisfiedRate}%`;
|
|
|
|
+ break;
|
|
|
|
+ case 'satisfiedCount':
|
|
|
|
+ sums[index] = state.totalCount?.satisfiedCount;
|
|
|
|
+ break;
|
|
|
|
+ case 'satisfiedRate':
|
|
|
|
+ sums[index] = `${state.totalCount?.satisfiedRate}%`;
|
|
|
|
+ break;
|
|
|
|
+ case 'regardedAsSatisfiedCount':
|
|
|
|
+ sums[index] = state.totalCount?.regardedAsSatisfiedCount;
|
|
|
|
+ break;
|
|
|
|
+ case 'regardedAsSatisfiedRate':
|
|
|
|
+ sums[index] = `${state.totalCount?.regardedAsSatisfiedRate}%`;
|
|
|
|
+ break;
|
|
|
|
+ case 'defaultSatisfiedCount':
|
|
|
|
+ sums[index] = state.totalCount?.defaultSatisfiedCount;
|
|
|
|
+ break;
|
|
|
|
+ case 'defaultSatisfiedRate':
|
|
|
|
+ sums[index] = `${state.totalCount?.defaultSatisfiedRate}%`;
|
|
|
|
+ break;
|
|
|
|
+ case 'noSatisfiedCount':
|
|
|
|
+ sums[index] = state.totalCount?.noSatisfiedCount;
|
|
|
|
+ break;
|
|
|
|
+ case 'noSatisfiedRate':
|
|
|
|
+ sums[index] = `${state.totalCount?.noSatisfiedRate}%`;
|
|
|
|
+ break;
|
|
|
|
+ case 'noEvaluateCount':
|
|
|
|
+ sums[index] = state.totalCount?.noEvaluateCount;
|
|
|
|
+ break;
|
|
|
|
+ case 'noEvaluateRate':
|
|
|
|
+ sums[index] = `${state.totalCount?.noEvaluateRate}%`;
|
|
|
|
+ break;
|
|
|
|
+ case 'noPutThroughCount':
|
|
|
|
+ sums[index] = state.totalCount?.noPutThroughCount;
|
|
|
|
+ break;
|
|
|
|
+ case 'noPutThroughRate':
|
|
|
|
+ sums[index] = `${state.totalCount?.noPutThroughRate}%`;
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ sums[index] = '';
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ return sums;
|
|
};
|
|
};
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
queryList();
|
|
queryList();
|