|
@ -1,363 +1,298 @@ |
|
|
<!-- 监督检查办法管理-堤防 --> |
|
|
<!-- 监督检查-统计分析 --> |
|
|
<script> |
|
|
<script> |
|
|
import { |
|
|
import { |
|
|
putDFPreventionControlPlan, |
|
|
getSuperviseWayTaskListData, |
|
|
deleteDFMaintenancePlan, |
|
|
getSuperviseStatisticTotal, |
|
|
postDFNewPreventionControlPlan, |
|
|
} from "@/api/sluice"; |
|
|
postDFPreventionControlPlanList, |
|
|
import { getAreasData } from "@/api/areas"; |
|
|
getDFPreventionControlPlan, |
|
|
import Pie from "./components/Pie.vue"; |
|
|
listUser, |
|
|
|
|
|
} from "@/api/management"; |
|
|
|
|
|
import { listDikeInfo } from "@/api/yg/dikeInfo"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const apiMap = { |
|
|
|
|
|
task: getSuperviseWayTaskListData, |
|
|
|
|
|
riverLocation: null, |
|
|
|
|
|
}; |
|
|
export default { |
|
|
export default { |
|
|
name: "InspectionItems", |
|
|
name: "InspectionItems", |
|
|
|
|
|
components: { |
|
|
|
|
|
Pie, |
|
|
|
|
|
}, |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
paramsData: { |
|
|
typeSelect: "", |
|
|
name: "", |
|
|
typeOptions: [ |
|
|
type: null, |
|
|
{ |
|
|
dikeName: "", |
|
|
label: "所属流域", |
|
|
selectLevel: "", |
|
|
value: "riverLocation", |
|
|
selectType: "", |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
dialogVisible: false, |
|
|
label: "工程类型", |
|
|
prohibitEditing: false, |
|
|
value: "wagaType", |
|
|
dikeTypeList: [], |
|
|
|
|
|
personnelList: [], // 人员列表 |
|
|
|
|
|
patrolType: [], // 提醒周期类型 |
|
|
|
|
|
workMonth: [], // 工作月份 |
|
|
|
|
|
embankmentList: [], //堤防列表 |
|
|
|
|
|
dikeLevel: [], // 堤防级别列表 |
|
|
|
|
|
controlType: [], // 防治类型 |
|
|
|
|
|
tableData: [], // 检查列表 |
|
|
|
|
|
pageData: { |
|
|
|
|
|
pageNum: 1, // 当前页 |
|
|
|
|
|
pageSize: 10, // 请求数量 |
|
|
|
|
|
pageSizes: [10, 20, 50, 100], |
|
|
|
|
|
total: 0, // 总数量 |
|
|
|
|
|
}, |
|
|
|
|
|
ruleForm: { |
|
|
|
|
|
dikeCode: "", |
|
|
|
|
|
dikeName: "", |
|
|
|
|
|
name: "", |
|
|
|
|
|
type: "", |
|
|
|
|
|
instruction: "", |
|
|
|
|
|
month: "", |
|
|
|
|
|
details: [], |
|
|
|
|
|
cycleType: "", |
|
|
|
|
|
frequency: "", |
|
|
|
|
|
operators: [], |
|
|
|
|
|
isReminder: 1, |
|
|
|
|
|
otherConfig: { |
|
|
|
|
|
selectUser: [], |
|
|
|
|
|
week: "", |
|
|
|
|
|
day: "", |
|
|
|
|
|
}, |
|
|
}, |
|
|
reminderTime: "", |
|
|
{ |
|
|
|
|
|
label: "行政区划", |
|
|
|
|
|
value: "adcd", |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
label: "监督检查任务", |
|
|
|
|
|
value: "task", |
|
|
|
|
|
}, |
|
|
|
|
|
], |
|
|
|
|
|
areasOptionProps: { |
|
|
|
|
|
emitPath: false, |
|
|
|
|
|
checkStrictly: true, //选择任意一级 |
|
|
}, |
|
|
}, |
|
|
rules: { |
|
|
areasOptions: [], |
|
|
dikeCode: [ |
|
|
remoteOptions: [], |
|
|
{ required: true, message: "请选择堤防名称", trigger: "blur" }, |
|
|
projectTypeOptions: [], // 工程类型 |
|
|
], |
|
|
paramsData: { |
|
|
name: [ |
|
|
wagaType: "", |
|
|
{ required: true, message: "请输入防治计划名称", trigger: "blur" }, |
|
|
adcd: "", |
|
|
{ max: 100, message: "名称最长为100个字符", trigger: "blur" }, |
|
|
remoteValue: "", |
|
|
], |
|
|
|
|
|
type: [ |
|
|
|
|
|
{ required: true, message: "请选择防治类型", trigger: "change" }, |
|
|
|
|
|
], |
|
|
|
|
|
instruction: [ |
|
|
|
|
|
{ required: true, message: "请输入防治说明", trigger: "change" }, |
|
|
|
|
|
], |
|
|
|
|
|
month: [ |
|
|
|
|
|
{ required: true, message: "请选择工作月份", trigger: "change" }, |
|
|
|
|
|
], |
|
|
|
|
|
cycleType: [ |
|
|
|
|
|
{ required: true, message: "请选择提醒日期", trigger: "change" }, |
|
|
|
|
|
], |
|
|
|
|
|
frequency: [ |
|
|
|
|
|
{ required: true, message: "请输入次数", trigger: "change" }, |
|
|
|
|
|
], |
|
|
|
|
|
"otherConfig.selectUser": [ |
|
|
|
|
|
{ required: true, message: "请选择责任人", trigger: "change" }, |
|
|
|
|
|
], |
|
|
|
|
|
"otherConfig.week": [ |
|
|
|
|
|
{ required: true, message: "请选择星期", trigger: "change" }, |
|
|
|
|
|
], |
|
|
|
|
|
"otherConfig.day": [ |
|
|
|
|
|
{ required: true, message: "请输入", trigger: "change" }, |
|
|
|
|
|
], |
|
|
|
|
|
reminderTime: [ |
|
|
|
|
|
{ required: true, message: "请选择提醒时间", trigger: "change" }, |
|
|
|
|
|
], |
|
|
|
|
|
}, |
|
|
}, |
|
|
|
|
|
questionLevelList: [], |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
watch: { |
|
|
|
|
|
dialogVisible(newVal, oldVal) { |
|
|
|
|
|
if (oldVal) { |
|
|
|
|
|
this.prohibitEditing = false; |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
|
|
|
methods: { |
|
|
methods: { |
|
|
// 获取堤防等级 |
|
|
// 获取列表数据 |
|
|
resolveDikeGrad(dikeGrad) { |
|
|
initData() { |
|
|
return ( |
|
|
getSuperviseStatisticTotal({ |
|
|
this.dikeLevel.find((v) => v.dictValue === dikeGrad)?.dictLabel || |
|
|
wagaType: |
|
|
dikeGrad |
|
|
this.typeSelect == "wagaType" ? this.paramsData.wagaType : null, |
|
|
); |
|
|
adcd: this.typeSelect == "adcd" ? this.paramsData.adcd : null, |
|
|
}, |
|
|
taskId: this.typeSelect == "task" ? this.paramsData.remoteValue : null, |
|
|
// 获取堤防类型 |
|
|
|
|
|
resolveDikeType(dikeType) { |
|
|
|
|
|
return ( |
|
|
|
|
|
this.dikeTypeList.find((v) => v.dictValue == dikeType)?.dictLabel || |
|
|
|
|
|
dikeType |
|
|
|
|
|
); |
|
|
|
|
|
}, |
|
|
|
|
|
// 获取防治类型 |
|
|
|
|
|
resolveType(type) { |
|
|
|
|
|
return ( |
|
|
|
|
|
this.controlType.find((v) => v.dictValue == type)?.dictLabel || type |
|
|
|
|
|
); |
|
|
|
|
|
}, |
|
|
|
|
|
// 打开新增弹窗 |
|
|
|
|
|
openAddDialog() { |
|
|
|
|
|
// // 获取字典数据 |
|
|
|
|
|
// this.getDicts("xc_w_month").then((res) => { |
|
|
|
|
|
// this.workMonth = res.data; |
|
|
|
|
|
// }); |
|
|
|
|
|
// this.getDicts("xs_cycle_type").then((res) => { |
|
|
|
|
|
// this.patrolType = res.data; |
|
|
|
|
|
// }); |
|
|
|
|
|
// if (this.ruleForm.details.length <= 0) { |
|
|
|
|
|
// this.ruleForm.details.push({ |
|
|
|
|
|
// constructionDate: "", |
|
|
|
|
|
// jobContent: "", |
|
|
|
|
|
// planDays: 0, |
|
|
|
|
|
// }); |
|
|
|
|
|
// } |
|
|
|
|
|
// this.dialogVisible = true; |
|
|
|
|
|
// setTimeout(() => { |
|
|
|
|
|
// this.$refs.ruleForm.resetFields(); |
|
|
|
|
|
// }, 0); |
|
|
|
|
|
}, |
|
|
|
|
|
// 删除对应防治计划 |
|
|
|
|
|
deleteTableItem(row) { |
|
|
|
|
|
deleteDFMaintenancePlan(row.id).then((res) => { |
|
|
|
|
|
this.getTableData(); |
|
|
|
|
|
this.$message.success("删除成功"); |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
|
|
|
// 删除对应工作内容 |
|
|
|
|
|
deleteWorkTableItem(id) { |
|
|
|
|
|
const index = this.workTable.findIndex((item) => item.id === id); |
|
|
|
|
|
if (index !== -1) { |
|
|
|
|
|
this.workTable.splice(index, 1); |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
// 搜索用户 |
|
|
|
|
|
searchUser(e) { |
|
|
|
|
|
listUser({ |
|
|
|
|
|
data: { |
|
|
|
|
|
timeView: { |
|
|
|
|
|
timeField: "create_time", |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
|
|
|
cv: { |
|
|
|
|
|
name: "nickName", |
|
|
|
|
|
type: "like", |
|
|
|
|
|
value: e, |
|
|
|
|
|
}, |
|
|
|
|
|
pageSize: 100, |
|
|
|
|
|
pageNum: 1, |
|
|
|
|
|
}).then((res) => { |
|
|
}).then((res) => { |
|
|
this.personnelList = res.records; |
|
|
let list = [ |
|
|
}); |
|
|
{ |
|
|
}, |
|
|
text: "问题总数", |
|
|
// 查看或编辑计划详情 |
|
|
key: "problemTotal", |
|
|
viewOrEditPlanDetails(row, edit = false) { |
|
|
value: 0, |
|
|
if (!edit) { |
|
|
}, |
|
|
this.prohibitEditing = true; |
|
|
{ |
|
|
} |
|
|
text: "一般问题", |
|
|
getDFPreventionControlPlan(row.id).then((res) => { |
|
|
key: "same", |
|
|
this.dialogVisible = true; |
|
|
value: 0, |
|
|
setTimeout(() => { |
|
|
}, |
|
|
this.ruleForm = res.data; |
|
|
{ |
|
|
this.ruleForm.reminderCycle = res.data.instruction + res.data.month; |
|
|
text: "较重问题", |
|
|
}, 30); |
|
|
key: "heavy", |
|
|
}); |
|
|
value: 0, |
|
|
}, |
|
|
}, |
|
|
changeOtherConfigSelectUser(idsArr) { |
|
|
{ |
|
|
if (idsArr?.length) { |
|
|
text: "严重问题", |
|
|
this.ruleForm.operators = |
|
|
key: "serious", |
|
|
this.personnelList |
|
|
value: 0, |
|
|
.filter((v) => idsArr.includes(v.nickName)) |
|
|
}, |
|
|
?.map((v) => ({ |
|
|
{ |
|
|
name: v.nickName, |
|
|
text: "特别严重问题", |
|
|
uid: v.id, |
|
|
key: "superSerious", |
|
|
})) || []; |
|
|
value: 0, |
|
|
} else { |
|
|
}, |
|
|
this.ruleForm.operators = []; |
|
|
{ |
|
|
} |
|
|
text: "问题处置", |
|
|
}, |
|
|
key: "problemDispose", |
|
|
// 保存维修计划 |
|
|
value: 0, |
|
|
submitForm(formName) { |
|
|
}, |
|
|
this.$refs[formName].validate((valid) => { |
|
|
{ |
|
|
if (valid) { |
|
|
text: "下发", |
|
|
this.ruleForm.cycleType = parseFloat(this.ruleForm.cycleType); |
|
|
key: "distributeCount", |
|
|
this.ruleForm.frequency = parseFloat(this.ruleForm.frequency); |
|
|
value: 0, |
|
|
this.ruleForm.month = parseFloat(this.ruleForm.month); |
|
|
}, |
|
|
if (this.ruleForm.id) { |
|
|
{ |
|
|
putDFPreventionControlPlan(this.ruleForm).then(() => { |
|
|
text: "处置", |
|
|
this.getTableData(); |
|
|
key: "handleCount", |
|
|
this.dialogVisible = false; |
|
|
value: 0, |
|
|
this.$message({ |
|
|
}, |
|
|
message: "保存成功", |
|
|
{ |
|
|
type: "success", |
|
|
text: "确认", |
|
|
}); |
|
|
key: "confirmCount", |
|
|
}); |
|
|
value: 0, |
|
|
} else { |
|
|
}, |
|
|
postDFNewPreventionControlPlan(this.ruleForm).then(() => { |
|
|
{ |
|
|
console.log("保存成功"); |
|
|
text: "完成", |
|
|
this.getTableData(); |
|
|
key: "finishCount", |
|
|
this.dialogVisible = false; |
|
|
value: 0, |
|
|
this.$message({ |
|
|
}, |
|
|
message: "保存成功", |
|
|
]; |
|
|
type: "success", |
|
|
if (res?.data) { |
|
|
}); |
|
|
list.forEach((item) => { |
|
|
}); |
|
|
item.value = res.data[item.key] || 0; |
|
|
} |
|
|
}); |
|
|
} else { |
|
|
|
|
|
console.log("校验不通过"); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
this.questionLevelList = list; |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
// 重置校验 |
|
|
handleChangeType() { |
|
|
resetForm(formName) { |
|
|
this.remoteOptions = []; |
|
|
this.$refs[formName].resetFields(); |
|
|
this.paramsData = { |
|
|
this.dialogVisible = false; |
|
|
wagaType: "", |
|
|
}, |
|
|
adcd: "", |
|
|
// 关闭dialog |
|
|
remoteValue: "", |
|
|
handleClose(ruleForm = "ruleForm") { |
|
|
|
|
|
console.log("关闭"); |
|
|
|
|
|
this.$refs[ruleForm].resetFields(); |
|
|
|
|
|
this.ruleForm = { |
|
|
|
|
|
dikeCode: "", |
|
|
|
|
|
dikeName: "", |
|
|
|
|
|
name: "", |
|
|
|
|
|
type: "", |
|
|
|
|
|
instruction: "", |
|
|
|
|
|
month: "", |
|
|
|
|
|
details: [], |
|
|
|
|
|
cycleType: "", |
|
|
|
|
|
isReminder: true, |
|
|
|
|
|
selectUser: [], |
|
|
|
|
|
otherConfig: { |
|
|
|
|
|
selectUser: [], |
|
|
|
|
|
week: "", |
|
|
|
|
|
day: "", |
|
|
|
|
|
}, |
|
|
|
|
|
week: 1, |
|
|
|
|
|
date: 1, |
|
|
|
|
|
reminderTime: "", |
|
|
|
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
// 添加工作项 |
|
|
handleChangeQuery() { |
|
|
addWorkItem() { |
|
|
this.initData(); |
|
|
this.ruleForm.details.push({ |
|
|
|
|
|
jobContent: "", |
|
|
|
|
|
constructionDate: "", |
|
|
|
|
|
planDays: "", |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
}, |
|
|
// 获取列表数据 |
|
|
// 获取远程搜索数据 |
|
|
getTableData() { |
|
|
handleGetRemoteProjectListData(query) { |
|
|
postDFPreventionControlPlanList({ |
|
|
if (!apiMap[this.typeSelect]) return; |
|
|
|
|
|
apiMap[this.typeSelect]({ |
|
|
data: { |
|
|
data: { |
|
|
timeView: { |
|
|
name: query, |
|
|
timeField: "create_time", |
|
|
|
|
|
}, |
|
|
|
|
|
name: this.paramsData.name, |
|
|
|
|
|
type: this.paramsData.type, |
|
|
|
|
|
dikeName: this.paramsData.dikeName, |
|
|
|
|
|
dikeGrad: this.paramsData.dikeGrad, |
|
|
|
|
|
dikeType: this.paramsData.dikeType, |
|
|
|
|
|
}, |
|
|
|
|
|
cv: { |
|
|
|
|
|
name: "name", |
|
|
|
|
|
type: "like", |
|
|
|
|
|
value: this.name, |
|
|
|
|
|
}, |
|
|
|
|
|
params: { |
|
|
|
|
|
orderBy: "create_time", |
|
|
|
|
|
sort: "desc", |
|
|
|
|
|
}, |
|
|
}, |
|
|
pageSize: this.pageData.pageSize, |
|
|
pageSize: 20, |
|
|
pageNum: this.pageData.pageNum, |
|
|
pageNum: 1, |
|
|
}).then((res) => { |
|
|
}).then((res) => { |
|
|
if (res) { |
|
|
if (res) { |
|
|
this.tableData = res.records; |
|
|
this.remoteOptions = res.records.map((item) => { |
|
|
this.pageData.total = res.total; |
|
|
return { |
|
|
|
|
|
label: item.name, |
|
|
|
|
|
value: item.id, |
|
|
|
|
|
}; |
|
|
|
|
|
}); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
// 重置搜索 |
|
|
// 获取行政区划数据 |
|
|
resetSearch() { |
|
|
getTreeData() { |
|
|
this.name = ""; |
|
|
getAreasData().then((items) => { |
|
|
this.selectStatus = "2"; |
|
|
let res = []; |
|
|
this.getTableData(); |
|
|
let getChildren = (res, pid) => { |
|
|
}, |
|
|
for (const i of items.data) { |
|
|
// 打开地图 |
|
|
if (i.parentid === pid) { |
|
|
handleOpenMap() {}, |
|
|
const newItem = { |
|
|
// 打开详情 |
|
|
label: i.name, |
|
|
handleOpenDetail() {}, |
|
|
value: i.id, |
|
|
// 获取堤防列表信息 |
|
|
}; |
|
|
getEmbData() { |
|
|
if (i.layer != 3) newItem.children = []; |
|
|
listDikeInfo({ |
|
|
res.push(newItem); |
|
|
pageNum: 1, |
|
|
getChildren(newItem.children, newItem.value); |
|
|
pageSize: 20, |
|
|
} |
|
|
ids: null, |
|
|
} |
|
|
data: { |
|
|
}; |
|
|
embankmentName: null, |
|
|
getChildren(res, items.data[0].parentid); |
|
|
endStationNumber: null, |
|
|
this.areasOptions = res; |
|
|
embankmentType: null, |
|
|
|
|
|
}, |
|
|
|
|
|
// 排序方式 |
|
|
|
|
|
params: { |
|
|
|
|
|
// 按哪个字段排序 |
|
|
|
|
|
orderBy: "create_time", |
|
|
|
|
|
// desc降序,升序asc |
|
|
|
|
|
sort: "desc", |
|
|
|
|
|
}, |
|
|
|
|
|
}).then((res) => { |
|
|
|
|
|
this.embankmentList = res?.records || []; |
|
|
|
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
handleChangeDike(value) { |
|
|
// 重置搜索 |
|
|
console.log("value >>>>> ", value); |
|
|
resetSearch() { |
|
|
this.ruleForm.name = this.ruleForm.dikeCode; |
|
|
this.typeSelect = ""; |
|
|
let res = this.embankmentList.find((v) => v.dikeCode === value); |
|
|
this.paramsData = { |
|
|
console.log("res >>>>> ", res); |
|
|
wagaType: "", |
|
|
this.ruleForm.dikeName = res?.dikeName; |
|
|
adcd: "", |
|
|
// this.dikeDetailsDialog.id = res?.id || '' |
|
|
remoteValue: "", |
|
|
|
|
|
}; |
|
|
|
|
|
this.initData(); |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
created() { |
|
|
created() { |
|
|
this.getDicts("embankment_type").then((response) => { |
|
|
// 水闸类型 |
|
|
this.dikeTypeList = response.data; |
|
|
this.getDicts("sluice_type").then((response) => { |
|
|
|
|
|
this.projectTypeOptions = response.data; |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
mounted() {}, |
|
|
mounted() { |
|
|
|
|
|
this.getTreeData(); |
|
|
|
|
|
this.initData(); |
|
|
|
|
|
}, |
|
|
}; |
|
|
}; |
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<template> |
|
|
<template> |
|
|
<div class="body slider-right"> |
|
|
<div class="body slider-right"> |
|
|
<div class="top-title">统计分析</div> |
|
|
<div class="top-title">统计分析</div> |
|
|
<div class="table-box"></div> |
|
|
<div class="table-box"> |
|
|
|
|
|
<div class="flex justify-between items-center"> |
|
|
|
|
|
<div class="title">监督检查任务统计分析</div> |
|
|
|
|
|
<div class="select-box flex"> |
|
|
|
|
|
<el-select |
|
|
|
|
|
class="statistic-analysis-select-style bg-inner" |
|
|
|
|
|
v-model="typeSelect" |
|
|
|
|
|
style="width: 128px" |
|
|
|
|
|
size="mini" |
|
|
|
|
|
@click="handleChangeType" |
|
|
|
|
|
placeholder="请选择类型" |
|
|
|
|
|
> |
|
|
|
|
|
<el-option label="全部" value=""> </el-option> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in typeOptions" |
|
|
|
|
|
:key="item.value" |
|
|
|
|
|
class="font-12" |
|
|
|
|
|
:label="item.label" |
|
|
|
|
|
:value="item.value" |
|
|
|
|
|
> |
|
|
|
|
|
</el-option> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
<!-- 工程类型 --> |
|
|
|
|
|
<el-select |
|
|
|
|
|
size="mini" |
|
|
|
|
|
class="statistic-analysis-select-style" |
|
|
|
|
|
v-model="paramsData.wagaType" |
|
|
|
|
|
v-if="typeSelect === 'wagaType'" |
|
|
|
|
|
filterable |
|
|
|
|
|
@change="handleChangeQuery" |
|
|
|
|
|
placeholder="请选择" |
|
|
|
|
|
> |
|
|
|
|
|
<el-option label="全部" value=""> </el-option> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in projectTypeOptions" |
|
|
|
|
|
:key="item.dictValue" |
|
|
|
|
|
:label="item.dictLabel" |
|
|
|
|
|
:value="item.dictValue" |
|
|
|
|
|
> |
|
|
|
|
|
</el-option> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
<el-cascader |
|
|
|
|
|
size="mini" |
|
|
|
|
|
v-else-if="typeSelect === 'adcd'" |
|
|
|
|
|
class="statistic-analysis-select-style" |
|
|
|
|
|
:options="areasOptions" |
|
|
|
|
|
v-model="paramsData.adcd" |
|
|
|
|
|
:props="areasOptionProps" |
|
|
|
|
|
placeholder="请选择行政区划" |
|
|
|
|
|
clearable |
|
|
|
|
|
@change="handleChangeQuery" |
|
|
|
|
|
> |
|
|
|
|
|
</el-cascader> |
|
|
|
|
|
<el-select |
|
|
|
|
|
v-else |
|
|
|
|
|
size="mini" |
|
|
|
|
|
class="statistic-analysis-select-style" |
|
|
|
|
|
v-model="paramsData.remoteValue" |
|
|
|
|
|
filterable |
|
|
|
|
|
link |
|
|
|
|
|
remote |
|
|
|
|
|
placeholder="请输入关键词" |
|
|
|
|
|
:remote-method="handleGetRemoteProjectListData" |
|
|
|
|
|
@focus="handleGetRemoteProjectListData('')" |
|
|
|
|
|
@change="handleChangeQuery" |
|
|
|
|
|
> |
|
|
|
|
|
<el-option label="全部" value=""> </el-option> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in remoteOptions" |
|
|
|
|
|
:key="item.value" |
|
|
|
|
|
:label="item.label" |
|
|
|
|
|
:value="item.value" |
|
|
|
|
|
> |
|
|
|
|
|
</el-option> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 问题列表 --> |
|
|
|
|
|
<div class="question-box" v-if="questionLevelList.length"> |
|
|
|
|
|
<Pie |
|
|
|
|
|
title="问题统计" |
|
|
|
|
|
:itemData="questionLevelList.slice(1, 5)" |
|
|
|
|
|
ref="pieRef1" |
|
|
|
|
|
></Pie> |
|
|
|
|
|
<Pie |
|
|
|
|
|
ref="pieRef2" |
|
|
|
|
|
title="处理统计" |
|
|
|
|
|
class="ml-20" |
|
|
|
|
|
:itemData="questionLevelList.slice(6, 10)" |
|
|
|
|
|
></Pie> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
@ -366,7 +301,6 @@ export default { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
min-height: calc(100vh - 56px); |
|
|
min-height: calc(100vh - 56px); |
|
|
padding-left: 24px; |
|
|
padding-left: 24px; |
|
|
|
|
|
|
|
|
.top-title { |
|
|
.top-title { |
|
|
height: 40px; |
|
|
height: 40px; |
|
|
background-color: white; |
|
|
background-color: white; |
|
@ -382,40 +316,52 @@ export default { |
|
|
margin-top: 24px; |
|
|
margin-top: 24px; |
|
|
padding: 16px; |
|
|
padding: 16px; |
|
|
background-color: white; |
|
|
background-color: white; |
|
|
|
|
|
.title { |
|
|
.top-search { |
|
|
padding-left: 20px; |
|
|
margin-bottom: 8px; |
|
|
position: relative; |
|
|
|
|
|
&::before { |
|
|
.search-input { |
|
|
position: absolute; |
|
|
width: 202px; |
|
|
left: 0; |
|
|
margin-right: 10px; |
|
|
top: 0; |
|
|
|
|
|
content: ""; |
|
|
|
|
|
width: 4px; |
|
|
|
|
|
height: 16px; |
|
|
|
|
|
background-color: #1890ff; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
.select-box { |
|
|
.table { |
|
|
border: 1px solid #d9d9d9; |
|
|
height: calc(680px - 34px); |
|
|
border-radius: 4px; |
|
|
|
|
|
padding: 8px; |
|
|
} |
|
|
} |
|
|
} |
|
|
.question-box { |
|
|
|
|
|
display: flex; |
|
|
.search-btn { |
|
|
flex-wrap: wrap; |
|
|
margin-left: 10px; |
|
|
padding-top: 24px; |
|
|
background-color: #37b29e; |
|
|
|
|
|
border: none; |
|
|
|
|
|
|
|
|
|
|
|
&:hover { |
|
|
|
|
|
background-color: #5ac6b9; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
.question-item { |
|
|
&:active { |
|
|
width: 250px; |
|
|
background-color: #2b8070; |
|
|
height: 102px; |
|
|
|
|
|
border-radius: 8px; |
|
|
|
|
|
border: 1px solid #000; |
|
|
|
|
|
padding: 10px; |
|
|
|
|
|
margin-right: 10px; |
|
|
|
|
|
margin-bottom: 12px; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
</style> |
|
|
/deep/.el-input__count { |
|
|
<style lang="less"> |
|
|
height: 15px; |
|
|
.statistic-analysis-select-style { |
|
|
line-height: 15px; |
|
|
border: none !important; |
|
|
margin-right: 10px; |
|
|
.el-input__inner { |
|
|
margin-bottom: -4px; |
|
|
border: none !important; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
.statistic-analysis-select-style.bg-inner { |
|
|
|
|
|
.el-input__inner { |
|
|
|
|
|
background-color: #f6f6f6; |
|
|
|
|
|
border-radius: 4px; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
</style> |
|
|
</style> |
|
|