|
|
|
|
@ -106,12 +106,12 @@
|
|
|
|
|
:row-style="tableRowStyle" |
|
|
|
|
:show-summary='true' |
|
|
|
|
> |
|
|
|
|
<el-table-column prop="Name" label="单项业务" width="82px"/> |
|
|
|
|
<el-table-column prop="sdcl" label="有效数" width="72px"/> |
|
|
|
|
<el-table-column prop="BasicallySatisfiedNum" label="基本满意数" width="72px"/> |
|
|
|
|
<el-table-column prop="sbmys" label="不满意数" width="72px"/> |
|
|
|
|
<el-table-column prop="smyl" label="满意率" width="72px"/> |
|
|
|
|
<el-table-column prop="smyltb" label="同比" width="86px"> |
|
|
|
|
<el-table-column prop="Name" label="单项业务" width="70px"/> |
|
|
|
|
<el-table-column prop="sdcl" label="有效数" width="70px"/> |
|
|
|
|
<el-table-column prop="BasicallySatisfiedNum" label="基本满意数" width="70px"/> |
|
|
|
|
<el-table-column prop="sbmys" label="不满意数" width="70px"/> |
|
|
|
|
<el-table-column prop="smyl" label="满意率" width="70px"/> |
|
|
|
|
<el-table-column prop="smyltb" label="同比" width="70px"> |
|
|
|
|
<template v-slot="scope"> |
|
|
|
|
<span :style="getCellStyle(scope.row.smyltb)">{{ scope.row.smyltb }}</span> |
|
|
|
|
</template> |
|
|
|
|
@ -191,11 +191,11 @@
|
|
|
|
|
:show-summary='false' |
|
|
|
|
:highlight-current-row='false' |
|
|
|
|
> |
|
|
|
|
<el-table-column prop="SetName" label="排名" width="75"/> |
|
|
|
|
<el-table-column prop="OrganizeName" label="市州考评" width="149"/> |
|
|
|
|
<el-table-column prop="FinalRP" label="滿意度" width="65"/> |
|
|
|
|
<el-table-column prop="TBRp" label="上期满意度" width="65"/> |
|
|
|
|
<el-table-column prop="TBRpts" label="同比上期" width="86px"> |
|
|
|
|
<el-table-column prop="SetName" label="排名" width="50"/> |
|
|
|
|
<el-table-column prop="OrganizeName" label="市州考评" width="129"/> |
|
|
|
|
<el-table-column prop="FinalRP" label="滿意度" width="50"/> |
|
|
|
|
<el-table-column prop="TBRp" label="上期满意度" width="55"/> |
|
|
|
|
<el-table-column prop="TBRpts" label="同比上期" width="56px"> |
|
|
|
|
<template v-slot="scope"> |
|
|
|
|
<span :style="getCellStyle(scope.row.TBRpts)">{{ scope.row.TBRpts }}</span> |
|
|
|
|
</template> |
|
|
|
|
@ -215,11 +215,11 @@
|
|
|
|
|
:row-style="tableRowStyleTableData2" |
|
|
|
|
:show-summary='false' |
|
|
|
|
> |
|
|
|
|
<el-table-column prop="MydRanking" label="排名" width="75px"/> |
|
|
|
|
<el-table-column prop="MydRanking" label="排名" width="55px"/> |
|
|
|
|
<el-table-column prop="OrganizeName" label="县市考评"/> |
|
|
|
|
<el-table-column prop="FinalRP" label="滿意度"/> |
|
|
|
|
<el-table-column prop="TBRp" label="上期满意度"/> |
|
|
|
|
<el-table-column prop="TBRpts" label="同比上期" width="86px"> |
|
|
|
|
<el-table-column prop="FinalRP" label="滿意度" width="66px"/> |
|
|
|
|
<el-table-column prop="TBRp" label="上期满意度" width="66px"/> |
|
|
|
|
<el-table-column prop="TBRpts" label="同比上期" width="66px"> |
|
|
|
|
<template v-slot="scope"> |
|
|
|
|
<span :style="getCellStyle(scope.row.TBRpts)">{{ scope.row.TBRpts }}</span> |
|
|
|
|
</template> |
|
|
|
|
@ -351,7 +351,6 @@ const selectOrg = ref()
|
|
|
|
|
watch(selectYear, (newYearID) => { |
|
|
|
|
if (newYearID) { |
|
|
|
|
const temp = years.value.filter(item => item.ID === selectYear.value) |
|
|
|
|
console.log(temp) |
|
|
|
|
if (temp.length > 0 && temp[0].PeriodName.includes("半")) { |
|
|
|
|
months.value = tempMonths.value.filter(item => item.PeriodID === newYearID); |
|
|
|
|
months.value.unshift({SonPeriodName: '半年度', ID: '-1'}); |
|
|
|
|
@ -359,7 +358,7 @@ watch(selectYear, (newYearID) => {
|
|
|
|
|
months.value = tempMonths.value.filter(item => item.PeriodID === newYearID); |
|
|
|
|
months.value.unshift({SonPeriodName: '全年', ID: '-1'}); |
|
|
|
|
} |
|
|
|
|
selectMonth.value = null; // 重置月份选择 |
|
|
|
|
selectMonth.value = months.value[0].ID; |
|
|
|
|
} else { |
|
|
|
|
months.value = []; // 清空月份数据 |
|
|
|
|
} |
|
|
|
|
@ -372,32 +371,68 @@ const treeProps = {
|
|
|
|
|
children: 'children' |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// 选中节点变化的处理函数 |
|
|
|
|
// region 下拉框 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const handleYearChange = (checkedYear) => { |
|
|
|
|
console.log("年份" + selectYear.value + " 月份" + selectMonth.value + " 单位" + selectOrg.value + " task" + task.value ) |
|
|
|
|
console.log("年份" + selectYear.value + " 月份" + selectMonth.value + " 单位" + selectOrg.value + " task" + task.value) |
|
|
|
|
getData(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const handleMonthChange = (checkenMonth) => { |
|
|
|
|
console.log("年份" + selectYear.value + " 月份" + selectMonth.value + " 单位" + selectOrg.value + " task" + task.value ) |
|
|
|
|
console.log("年份" + selectYear.value + " 月份" + selectMonth.value + " 单位" + selectOrg.value + " task" + task.value) |
|
|
|
|
getData(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const handleOrgChange = (checkedOrg) => { |
|
|
|
|
console.log("年份" + selectYear.value + " 月份" + selectMonth.value + " 单位" + selectOrg.value + " task" + task.value ) |
|
|
|
|
getData(); |
|
|
|
|
// 组织机构选项改变时 |
|
|
|
|
const handleOrgChange = async (checkedOrg) => { |
|
|
|
|
console.log("年份" + selectYear.value + " 月份" + selectMonth.value + " 单位" + selectOrg.value + " task" + task.value) |
|
|
|
|
try { |
|
|
|
|
// 使用 await 等待异步操作完成 |
|
|
|
|
const res = await GetOffLineStatisticsSetList(selectOrg.value); |
|
|
|
|
console.log(res); |
|
|
|
|
content.value = res; |
|
|
|
|
console.log(content.value[0]); |
|
|
|
|
console.log(content.value[0].ID); |
|
|
|
|
task.value = content.value[0].ID; |
|
|
|
|
} catch (error) { |
|
|
|
|
console.error("Error fetching data:", error); |
|
|
|
|
} |
|
|
|
|
await getData(); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const handleTaskChange = (checkedTask) =>{ |
|
|
|
|
console.log("年份" + selectYear.value + " 月份" + selectMonth.value + " 单位" + selectOrg.value + " task" + task.value ) |
|
|
|
|
// 任务选项改变时 |
|
|
|
|
const handleTaskChange = (checkedTask) => { |
|
|
|
|
console.log("年份" + selectYear.value + " 月份" + selectMonth.value + " 单位" + selectOrg.value + " task" + task.value) |
|
|
|
|
getData(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const mapDataList = ref([]); |
|
|
|
|
|
|
|
|
|
// 点击地图 |
|
|
|
|
const handleChartClick = async (params) => { |
|
|
|
|
if (params.componentType === 'series') { |
|
|
|
|
const clickedData = mapDataList.value.find(item => item.name.includes(params.name.substring(0, 2))); |
|
|
|
|
console.log("地区:" + params.name + " id:" + clickedData.value + " 年:" + selectYear.value + " 月:" + selectMonth.value) |
|
|
|
|
selectOrg.value = clickedData.value |
|
|
|
|
try { |
|
|
|
|
// 使用 await 等待异步操作完成 |
|
|
|
|
const res = await GetOffLineStatisticsSetList(clickedData.value); |
|
|
|
|
console.log(res); |
|
|
|
|
content.value = res; |
|
|
|
|
console.log(content.value[0]); |
|
|
|
|
console.log(content.value[0].ID); |
|
|
|
|
task.value = content.value[0].ID; |
|
|
|
|
} catch (error) { |
|
|
|
|
console.error("Error fetching data:", error); |
|
|
|
|
} |
|
|
|
|
alert(`Clicked on ${params.name}, Value: ${clickedData ? clickedData.value : '无数据'}`); |
|
|
|
|
} |
|
|
|
|
await getData(); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// endregion |
|
|
|
|
|
|
|
|
|
const mapDataList = ref([]); |
|
|
|
|
echarts.registerMap("changsha", changshaMap); |
|
|
|
|
const option = ref({ |
|
|
|
|
geo: { |
|
|
|
|
@ -651,8 +686,8 @@ onMounted(async () => {
|
|
|
|
|
PeriodName: item.PeriodName |
|
|
|
|
})); |
|
|
|
|
if (years.value.length > 0) { |
|
|
|
|
console.log(years.value); |
|
|
|
|
selectYear.value = years.value[0].ID; // 选择第一个年份 |
|
|
|
|
console.log("第一个年份" + selectYear.value) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 月 |
|
|
|
|
@ -662,8 +697,17 @@ onMounted(async () => {
|
|
|
|
|
SonPeriodName: item.SonPeriodName, |
|
|
|
|
PeriodID: item.PeriodID, |
|
|
|
|
})); |
|
|
|
|
|
|
|
|
|
if (tempMonths.value.length > 0) { |
|
|
|
|
selectMonth.value = tempMonths.value[0].ID; // 选择第一个月份 |
|
|
|
|
const temp = years.value.filter(item => item.ID === selectYear.value) |
|
|
|
|
if (temp.length > 0 && temp[0].PeriodName.includes("半")) { |
|
|
|
|
months.value = tempMonths.value.filter(item => item.PeriodID === selectYear.value); |
|
|
|
|
months.value.unshift({SonPeriodName: '半年度', ID: '-1'}); |
|
|
|
|
} else { |
|
|
|
|
months.value = tempMonths.value.filter(item => item.PeriodID === selectYear.value); |
|
|
|
|
months.value.unshift({SonPeriodName: '全年', ID: '-1'}); |
|
|
|
|
} |
|
|
|
|
selectMonth.value = months.value[0].ID; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 组织机构 |
|
|
|
|
@ -671,9 +715,9 @@ onMounted(async () => {
|
|
|
|
|
org.value = resOrgs; |
|
|
|
|
if (org.value.length > 0) { |
|
|
|
|
selectOrg.value = org.value[0].id; |
|
|
|
|
console.log(selectOrg.value); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 任务接口 |
|
|
|
|
const resTasks = await GetOffLineStatisticsSetList(selectOrg.value); |
|
|
|
|
content.value = resTasks; |
|
|
|
|
if (content.value.length > 0) { |
|
|
|
|
@ -688,32 +732,30 @@ onMounted(async () => {
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function getData() { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function getData() { |
|
|
|
|
|
|
|
|
|
// 调查情况 |
|
|
|
|
GetDCQK(selectYear, selectMonth, selectOrg, task).then((res) => { |
|
|
|
|
console.log("GetDCQK ==== " + res) |
|
|
|
|
// 调查情况 taskID没有调对 |
|
|
|
|
GetDCQK(selectYear.value, selectMonth.value, selectOrg.value, task.value).then((res) => { |
|
|
|
|
reviewOk.value = res |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
// 调查满意度 |
|
|
|
|
GetGLFW(selectYear, selectMonth, task).then((res) => { |
|
|
|
|
GetGLFW(selectYear.value, selectOrg.value, task.value).then((res) => { |
|
|
|
|
dcmyd.value = res |
|
|
|
|
option1.value.xAxis.data = dcmyd.value[0].lstson.slice(-6).map(item => item.SonPeriodName); |
|
|
|
|
option1.value.series[0].data = dcmyd.value[0].lstson.slice(-6).map(item => item.FinalRP); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
// 业务满意率 |
|
|
|
|
GetZRSJXF(selectYear, selectMonth, selectOrg,task).then((res) => { |
|
|
|
|
let temp = res.lstCity |
|
|
|
|
// 业务满意率 可以 |
|
|
|
|
GetZRSJXF(selectYear.value, selectMonth.value, selectOrg.value, task.value).then((res) => { |
|
|
|
|
let temp = res.lstShen |
|
|
|
|
temp = temp.filter(item => item.Name !== null); |
|
|
|
|
tableData.value = temp |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
// 综合满意度排名 |
|
|
|
|
GetZHMYLPM(selectYear, selectMonth).then((res) => { |
|
|
|
|
// 综合满意度排名 可以 |
|
|
|
|
GetZHMYLPM(selectYear.value, selectMonth.value).then((res) => { |
|
|
|
|
tableData1.value = res[0].lstCity |
|
|
|
|
let temp = res[0].lstSheng; |
|
|
|
|
const group2 = temp.filter(item => item.SetName === "(省)县市考评"); |
|
|
|
|
@ -722,18 +764,16 @@ function getData() {
|
|
|
|
|
tableData3.value = group3 |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
// 不满意样本趋势 |
|
|
|
|
GetBMYYBQS(selectYear, selectOrg, task).then((res) => { |
|
|
|
|
console.log("GetBMYYBQS ==== " + res) |
|
|
|
|
// 不满意样本趋势 也是任务ID的问题 任务id传错返回就是空 |
|
|
|
|
GetBMYYBQS(selectYear.value, selectOrg.value, task.value).then((res) => { |
|
|
|
|
bmyybqs.value = res; |
|
|
|
|
option2.value.xAxis.data = bmyybqs.value.map(item => item.SonPeriodName); |
|
|
|
|
option2.value.series[0].data = bmyybqs.value.map(item => item.QACount); |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
// 单项分析 |
|
|
|
|
GetDXFX(selectYear, selectMonth, selectOrg, task).then((res) => { |
|
|
|
|
console.log("GetDXFX ==== " + res) |
|
|
|
|
// 单项分析 可以 |
|
|
|
|
GetDXFX(selectYear.value, selectMonth.value, selectOrg.value, task.value).then((res) => { |
|
|
|
|
dxfx.value = res; |
|
|
|
|
option3.value.xAxis.data = dxfx.value[0].lstson.map(item => item.MasterName); |
|
|
|
|
option3.value.series[0].data = dxfx.value[0].lstson.map(item => item.FinalRP); |
|
|
|
|
@ -742,14 +782,14 @@ function getData() {
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
// 单项调查情况 |
|
|
|
|
GetRCSQQK(selectYear, selectMonth, selectOrg, task).then((res) => { |
|
|
|
|
GetRCSQQK(selectYear.value, selectMonth.value, selectOrg.value, task.value).then((res) => { |
|
|
|
|
let text = res |
|
|
|
|
text = text.filter(item => item.Name !== null) |
|
|
|
|
tableData4.value = text |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
// 地图数据 只用传 periodid |
|
|
|
|
GetDITU(selectYear).then((res) => { |
|
|
|
|
GetDITU(selectYear.value).then((res) => { |
|
|
|
|
tempMap.value = res |
|
|
|
|
mapDataList.value = tempMap.value.map(org => { |
|
|
|
|
return {name: org.OrganizeName, value: org.OrganizeID}; |
|
|
|
|
@ -760,24 +800,13 @@ function getData() {
|
|
|
|
|
|
|
|
|
|
// endregion |
|
|
|
|
|
|
|
|
|
// 点击地图 |
|
|
|
|
const handleChartClick = (params) => { |
|
|
|
|
if (params.componentType === 'series') { |
|
|
|
|
const clickedData = mapDataList.value.find(item => item.name.includes(params.name.substring(0, 2))); |
|
|
|
|
console.log("地区:" + params.name + " id:" + clickedData.value + " 年:" + selectYear.value + " 月:" + selectMonth.value) |
|
|
|
|
GetOffLineStatisticsSetList(clickedData.value).then((res) => { |
|
|
|
|
content.value = res |
|
|
|
|
}) |
|
|
|
|
alert(`Clicked on ${params.name}, Value: ${clickedData ? clickedData.value : '无数据'}`); |
|
|
|
|
} |
|
|
|
|
getData(); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// region 数据 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// endregion |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// region 表格样式 |
|
|
|
|
const fontSize = ref(11) |
|
|
|
|
const headerCellStyle = ref({ |
|
|
|
|
|