fix:日常监测报告页面,工单完善
This commit is contained in:
		
							parent
							
								
									669552cce1
								
							
						
					
					
						commit
						f4338599d9
					
				| @ -58,6 +58,8 @@ export default { | |||||||
|       roadNum: 0, |       roadNum: 0, | ||||||
|       // 病害趋势echart数据 |       // 病害趋势echart数据 | ||||||
|       diseaseChart: [], |       diseaseChart: [], | ||||||
|  |       // 道路分布echart数据 | ||||||
|  |       roadChart: [], | ||||||
|     }; |     }; | ||||||
|   }, |   }, | ||||||
|   created() { |   created() { | ||||||
|  | |||||||
| @ -155,9 +155,7 @@ export default { | |||||||
|         if (code === 200) { |         if (code === 200) { | ||||||
|           this.total = data.total; |           this.total = data.total; | ||||||
|           this.newTotal = data.today; |           this.newTotal = data.today; | ||||||
|           let all = 0; |  | ||||||
|           this.distributionList = data.data.map((item) => { |           this.distributionList = data.data.map((item) => { | ||||||
|             all += item.value; |  | ||||||
|             return { |             return { | ||||||
|               value: item.value, |               value: item.value, | ||||||
|               name: item.label, |               name: item.label, | ||||||
|  | |||||||
| @ -46,7 +46,7 @@ | |||||||
| import * as echarts from "echarts"; | import * as echarts from "echarts"; | ||||||
| // 接口 | // 接口 | ||||||
| import { getEquipment, getEquipmentLog } from "@/api/xj/index/index"; | import { getEquipment, getEquipmentLog } from "@/api/xj/index/index"; | ||||||
| import fssmScroll from "../../components/scroll/fssm-scroll.vue"; | import fssmScroll from "@/components/scroll/fssm-scroll.vue"; | ||||||
| export default { | export default { | ||||||
|   components: { fssmScroll }, |   components: { fssmScroll }, | ||||||
|   name: "RoadIndex", |   name: "RoadIndex", | ||||||
|  | |||||||
| @ -53,20 +53,6 @@ | |||||||
|           clearable |           clearable | ||||||
|         ></el-cascader> |         ></el-cascader> | ||||||
|       </el-form-item> |       </el-form-item> | ||||||
|       <el-form-item label="病害状态" prop="state"> |  | ||||||
|         <el-select |  | ||||||
|           v-model="noticeForm.state" |  | ||||||
|           placeholder="请选择病害状态" |  | ||||||
|           clearable |  | ||||||
|         > |  | ||||||
|           <el-option |  | ||||||
|             v-for="item in defectStatus" |  | ||||||
|             :key="item.value" |  | ||||||
|             :label="item.label" |  | ||||||
|             :value="item.value" |  | ||||||
|           /> |  | ||||||
|         </el-select> |  | ||||||
|       </el-form-item> |  | ||||||
|       <el-form-item label="上下行" prop="inspectDirection"> |       <el-form-item label="上下行" prop="inspectDirection"> | ||||||
|         <el-select |         <el-select | ||||||
|           v-model="noticeForm.inspectDirection" |           v-model="noticeForm.inspectDirection" | ||||||
| @ -146,7 +132,7 @@ | |||||||
|       </el-form-item> |       </el-form-item> | ||||||
|     </el-form> |     </el-form> | ||||||
|     <!-- 导航栏 --> |     <!-- 导航栏 --> | ||||||
|     <el-tabs v-model="activeName" @tab-click="getList"> |     <el-tabs v-model="activeName" @tab-click="resetQuery"> | ||||||
|       <el-tab-pane |       <el-tab-pane | ||||||
|         v-for="(item, index) in editableTabs" |         v-for="(item, index) in editableTabs" | ||||||
|         :key="`tabs-${index}`" |         :key="`tabs-${index}`" | ||||||
| @ -350,8 +336,6 @@ export default { | |||||||
|       noticeForm: { |       noticeForm: { | ||||||
|         // 道路名称 |         // 道路名称 | ||||||
|         segmentName: "", |         segmentName: "", | ||||||
|         // 病害状态 |  | ||||||
|         state: "", |  | ||||||
|         // 上下行 |         // 上下行 | ||||||
|         inspectDirection: "", |         inspectDirection: "", | ||||||
|         // 公里桩 |         // 公里桩 | ||||||
| @ -405,8 +389,6 @@ export default { | |||||||
|       segmentList: [], |       segmentList: [], | ||||||
|       // 病害类型下拉级联 |       // 病害类型下拉级联 | ||||||
|       tableDefect: [], |       tableDefect: [], | ||||||
|       // 病害状态 |  | ||||||
|       defectStatus: [], |  | ||||||
|       // 导航栏选择绑定 |       // 导航栏选择绑定 | ||||||
|       activeName: "已完成", |       activeName: "已完成", | ||||||
|       // 导航栏列表 |       // 导航栏列表 | ||||||
| @ -448,7 +430,6 @@ export default { | |||||||
|     this.getList(); |     this.getList(); | ||||||
|     this.getSegmentList(); |     this.getSegmentList(); | ||||||
|     this.getDefectData(); |     this.getDefectData(); | ||||||
|     this.getDefectStatusList(); |  | ||||||
|   }, |   }, | ||||||
|   methods: { |   methods: { | ||||||
|     /** |     /** | ||||||
| @ -476,15 +457,12 @@ export default { | |||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * @description: 获取病害状态下拉数据 |      * @description: 切换导航栏 | ||||||
|  |      * @param {*} | ||||||
|      * @return {*} |      * @return {*} | ||||||
|      */ |      */ | ||||||
|     getDefectStatusList() { |     changeTab() { | ||||||
|       getDefectStatus().then(({ code, data }) => { |       this.resetQuery(); | ||||||
|         if (code === 200) { |  | ||||||
|           this.defectStatus = data; |  | ||||||
|         } |  | ||||||
|       }); |  | ||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
| @ -495,7 +473,18 @@ export default { | |||||||
|     handleQuery() { |     handleQuery() { | ||||||
|       this.$refs.noticeForm.validate((valid) => { |       this.$refs.noticeForm.validate((valid) => { | ||||||
|         if (valid) { |         if (valid) { | ||||||
|           this.searchForm = JSON.parse(JSON.stringify(this.noticeForm)); |           const data = { | ||||||
|  |             ...this.noticeForm, | ||||||
|  |             classType: this.paramsDefectType ? this.paramsDefectType[0] : "", | ||||||
|  |             defectType: this.paramsDefectType | ||||||
|  |               ? this.paramsDefectType.length > 1 | ||||||
|  |                 ? this.paramsDefectType[1] | ||||||
|  |                 : "" | ||||||
|  |               : "", | ||||||
|  |             startTime: this.dateTime ? this.dateTime[0] : "", | ||||||
|  |             endTime: this.dateTime ? this.dateTime[1] : "", | ||||||
|  |           }; | ||||||
|  |           this.searchForm = JSON.parse(JSON.stringify(data)); | ||||||
|           this.pagination.page = 1; |           this.pagination.page = 1; | ||||||
|           this.getList(); |           this.getList(); | ||||||
|         } |         } | ||||||
| @ -508,11 +497,10 @@ export default { | |||||||
|      * @return {*} |      * @return {*} | ||||||
|      */ |      */ | ||||||
|     resetQuery() { |     resetQuery() { | ||||||
|  |       this.$refs.noticeForm.resetFields(); | ||||||
|       this.noticeForm = { |       this.noticeForm = { | ||||||
|         // 道路名称 |         // 道路名称 | ||||||
|         segmentName: "", |         segmentName: "", | ||||||
|         // 病害状态 |  | ||||||
|         state: "", |  | ||||||
|         // 上下行 |         // 上下行 | ||||||
|         inspectDirection: "", |         inspectDirection: "", | ||||||
|         // 公里桩 |         // 公里桩 | ||||||
| @ -525,6 +513,8 @@ export default { | |||||||
|         minArea: undefined, |         minArea: undefined, | ||||||
|         maxArea: undefined, |         maxArea: undefined, | ||||||
|       }; |       }; | ||||||
|  |       this.paramsDefectType = []; | ||||||
|  |       this.dateTime = []; | ||||||
|       this.searchForm = {}; |       this.searchForm = {}; | ||||||
|       this.pagination.page = 1; |       this.pagination.page = 1; | ||||||
|       this.getList(); |       this.getList(); | ||||||
| @ -540,8 +530,6 @@ export default { | |||||||
|         ...this.searchForm, |         ...this.searchForm, | ||||||
|         ...this.pagination, |         ...this.pagination, | ||||||
|         maintenanceStatus: this.activeName, |         maintenanceStatus: this.activeName, | ||||||
|         startTime: this.dateTime ? this.dateTime[0] : "", |  | ||||||
|         endTime: this.dateTime ? this.dateTime[1] : "", |  | ||||||
|       }; |       }; | ||||||
|       getMaintenanceNoticeList(data) |       getMaintenanceNoticeList(data) | ||||||
|         .then(({ code, rows, total }) => { |         .then(({ code, rows, total }) => { | ||||||
|  | |||||||
| @ -0,0 +1,293 @@ | |||||||
|  | <!-- | ||||||
|  |  * @Author: SunTao 328867980@qq.com | ||||||
|  |  * @Date: 2024-11-18 09:13:34 | ||||||
|  |  * @LastEditors: SunTao 328867980@qq.com | ||||||
|  |  * @LastEditTime: 2024-11-18 09:13:42 | ||||||
|  |  * @FilePath: \znxjxt-ui\src\views\xj\inspection-report\daily-monitoring\components\four-content.vue | ||||||
|  |  * @Description: 巡检报告-日常监测报告-路况评定 | ||||||
|  | --> | ||||||
|  | <template> | ||||||
|  |   <div class="four-content"> | ||||||
|  |     <div class="title"> | ||||||
|  |       <span>路况评定</span> | ||||||
|  |     </div> | ||||||
|  |     <div class="traffic-chart" ref="trafficChart"></div> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | import * as echarts from "echarts"; | ||||||
|  | // 接口 | ||||||
|  | import { getRoadConditionLog } from "@/api/xj/index/index"; | ||||||
|  | export default { | ||||||
|  |   name: "FourContent", | ||||||
|  |   data() { | ||||||
|  |     return {}; | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     this.getLogData(); | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     /** | ||||||
|  |      * @description: 获取echart数据 | ||||||
|  |      * @param {*} | ||||||
|  |      * @return {*} | ||||||
|  |      */ | ||||||
|  |     getLogData() { | ||||||
|  |       getRoadConditionLog().then(({ code, data }) => { | ||||||
|  |         if (code === 200) { | ||||||
|  |           this.trafficEchartData = data; | ||||||
|  |           this.$nextTick(() => { | ||||||
|  |             this.drawTrafficChart(); | ||||||
|  |           }); | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @description: 绘制柱状图 | ||||||
|  |      * @param {*} | ||||||
|  |      * @return {*} | ||||||
|  |      */ | ||||||
|  |     drawTrafficChart() { | ||||||
|  |       if (this.$refs.trafficChart) { | ||||||
|  |         const xData = this.trafficEchartData.map((item) => { | ||||||
|  |           return item.name; | ||||||
|  |         }); | ||||||
|  |         const y1Data = this.trafficEchartData.map((item) => { | ||||||
|  |           return item.road; | ||||||
|  |         }); | ||||||
|  |         const y2Data = this.trafficEchartData.map((item) => { | ||||||
|  |           return item.event; | ||||||
|  |         }); | ||||||
|  |         const y3Data = this.trafficEchartData.map((item) => { | ||||||
|  |           return item.bridge; | ||||||
|  |         }); | ||||||
|  |         const y4Data = this.trafficEchartData.map((item) => { | ||||||
|  |           return item.green; | ||||||
|  |         }); | ||||||
|  |         const chart = echarts.init(this.$refs.trafficChart); | ||||||
|  |         chart.setOption({ | ||||||
|  |           color: ["#388BD8", "#04DAD7", "#F8A74E", "#8448FF"], | ||||||
|  |           title: [ | ||||||
|  |             // 中心比例 | ||||||
|  |             { | ||||||
|  |               text: "病害趋势", | ||||||
|  |               x: "1%", | ||||||
|  |               y: "1%", | ||||||
|  |               textStyle: { | ||||||
|  |                 fontSize: 14, | ||||||
|  |               }, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |           legend: { | ||||||
|  |             show: true, | ||||||
|  |             right: "3%", | ||||||
|  |           }, | ||||||
|  |           tooltip: { | ||||||
|  |             trigger: "axis", | ||||||
|  |             padding: [5, 10, 5, 10], | ||||||
|  |           }, | ||||||
|  |           grid: { | ||||||
|  |             top: "20%", | ||||||
|  |             left: "7%", | ||||||
|  |             right: "4%", | ||||||
|  |             bottom: "12%", | ||||||
|  |           }, | ||||||
|  |           xAxis: [ | ||||||
|  |             { | ||||||
|  |               data: xData, | ||||||
|  |               type: "category", | ||||||
|  |               axisTick: { | ||||||
|  |                 show: false, //隐藏X轴刻度 | ||||||
|  |               }, | ||||||
|  |               axisLabel: { color: "#A2B0B8" }, | ||||||
|  |               axisLine: { | ||||||
|  |                 lineStyle: { | ||||||
|  |                   color: "#3C6579", | ||||||
|  |                   width: 1, | ||||||
|  |                 }, | ||||||
|  |               }, | ||||||
|  |               splitLine: { | ||||||
|  |                 show: false, | ||||||
|  |               }, | ||||||
|  |               boundaryGap: false, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |           yAxis: [ | ||||||
|  |             { | ||||||
|  |               nameTextStyle: { | ||||||
|  |                 color: "#fff", | ||||||
|  |                 fontSize: 12, | ||||||
|  |               }, | ||||||
|  |               name: "", | ||||||
|  |               type: "value", | ||||||
|  |               axisLabel: { | ||||||
|  |                 show: true, | ||||||
|  |                 color: "#9eaaba", | ||||||
|  |               }, | ||||||
|  |               axisLine: { show: false }, | ||||||
|  |               splitLine: { show: true }, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |           series: [ | ||||||
|  |             { | ||||||
|  |               name: "路面病害数", | ||||||
|  |               type: "line", | ||||||
|  |               showSymbol: false, | ||||||
|  |               smooth: true, | ||||||
|  |               areaStyle: { | ||||||
|  |                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||||||
|  |                   { | ||||||
|  |                     offset: 0, | ||||||
|  |                     color: "#388BD8", | ||||||
|  |                   }, | ||||||
|  |                   { | ||||||
|  |                     offset: 1, | ||||||
|  |                     color: "#ffffff", | ||||||
|  |                   }, | ||||||
|  |                 ]), | ||||||
|  |               }, | ||||||
|  |               data: y1Data, | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |               name: "交安病害数", | ||||||
|  |               type: "line", | ||||||
|  |               showSymbol: false, | ||||||
|  |               smooth: true, | ||||||
|  |               areaStyle: { | ||||||
|  |                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||||||
|  |                   { | ||||||
|  |                     offset: 0, | ||||||
|  |                     color: "#04DAD7", | ||||||
|  |                   }, | ||||||
|  |                   { | ||||||
|  |                     offset: 1, | ||||||
|  |                     color: "#ffffff", | ||||||
|  |                   }, | ||||||
|  |                 ]), | ||||||
|  |               }, | ||||||
|  |               data: y3Data, | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |               name: "桥隧病害数", | ||||||
|  |               type: "line", | ||||||
|  |               showSymbol: false, | ||||||
|  |               smooth: true, | ||||||
|  |               areaStyle: { | ||||||
|  |                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||||||
|  |                   { | ||||||
|  |                     offset: 0, | ||||||
|  |                     color: "#F8A74E", | ||||||
|  |                   }, | ||||||
|  |                   { | ||||||
|  |                     offset: 1, | ||||||
|  |                     color: "#ffffff", | ||||||
|  |                   }, | ||||||
|  |                 ]), | ||||||
|  |               }, | ||||||
|  |               data: y4Data, | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |               name: "绿化问题数", | ||||||
|  |               type: "line", | ||||||
|  |               showSymbol: false, | ||||||
|  |               smooth: true, | ||||||
|  |               areaStyle: { | ||||||
|  |                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||||||
|  |                   { | ||||||
|  |                     offset: 0, | ||||||
|  |                     color: "#8448FF", | ||||||
|  |                   }, | ||||||
|  |                   { | ||||||
|  |                     offset: 1, | ||||||
|  |                     color: "#ffffff", | ||||||
|  |                   }, | ||||||
|  |                 ]), | ||||||
|  |               }, | ||||||
|  |               data: y2Data, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |           dataZoom: [ | ||||||
|  |             { | ||||||
|  |               // 设置滚动条的隐藏与显示 | ||||||
|  |               show: false, | ||||||
|  |               // 设置滚动条类型 | ||||||
|  |               type: "slider", | ||||||
|  |               // 设置背景颜色 | ||||||
|  |               backgroundColor: "rgba(225,225,225,0.2)", | ||||||
|  |               // 设置选中范围的填充颜色 | ||||||
|  |               fillerColor: "#ccc", | ||||||
|  |               // 设置边框颜色 | ||||||
|  |               borderColor: "rgba(225,225,225,0.2)", | ||||||
|  |               // 是否显示detail,即拖拽时候显示详细数值信息 | ||||||
|  |               showDetail: false, | ||||||
|  |               // 数据窗口范围的起始数值 | ||||||
|  |               startValue: 0, | ||||||
|  |               // 数据窗口范围的结束数值(一页显示多少条数据) | ||||||
|  |               endValue: 6, | ||||||
|  |               // empty:当前数据窗口外的数据,被设置为空。 | ||||||
|  |               // 即不会影响其他轴的数据范围 | ||||||
|  |               filterMode: "empty", | ||||||
|  |               // 设置滚动条宽度,相对于盒子宽度 | ||||||
|  |               width: "80%", | ||||||
|  |               // 设置滚动条高度 | ||||||
|  |               height: 5, | ||||||
|  |               // 设置滚动条显示位置 | ||||||
|  |               left: "center", | ||||||
|  |               // 是否锁定选择区域(或叫做数据窗口)的大小 | ||||||
|  |               zoomLoxk: true, | ||||||
|  |               // 控制手柄的尺寸 | ||||||
|  |               handleSize: 10, | ||||||
|  |               // dataZoom-slider组件离容器下侧的距离 | ||||||
|  |               bottom: 0, | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |               // 没有下面这块的话,只能拖动滚动条, | ||||||
|  |               // 鼠标滚轮在区域内不能控制外部滚动条 | ||||||
|  |               type: "inside", | ||||||
|  |               // 滚轮是否触发缩放 | ||||||
|  |               zoomOnMouseWheel: false, | ||||||
|  |               // 鼠标滚轮触发滚动 | ||||||
|  |               moveOnMouseMove: true, | ||||||
|  |               moveOnMouseWheel: true, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |         }); | ||||||
|  |         window.addEventListener("resize", () => { | ||||||
|  |           chart.resize(); | ||||||
|  |         }); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  | }; | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style lang="scss" scoped> | ||||||
|  | .four-content { | ||||||
|  |   width: 100%; | ||||||
|  |   height: 100%; | ||||||
|  |   padding: 0.5rem; | ||||||
|  | 
 | ||||||
|  |   .title { | ||||||
|  |     width: 100%; | ||||||
|  |     height: 10%; | ||||||
|  |     display: flex; | ||||||
|  |     align-items: center; | ||||||
|  |     justify-content: space-between; | ||||||
|  |     padding-left: 3rem; | ||||||
|  |     background: url("~@/assets/index/div-title.png") no-repeat; | ||||||
|  |     background-size: 5%; | ||||||
|  |     background-position: 0 30%; | ||||||
|  | 
 | ||||||
|  |     span { | ||||||
|  |       font-family: "DouYu"; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .traffic-chart { | ||||||
|  |     width: 100%; | ||||||
|  |     height: 90%; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | </style> | ||||||
| @ -0,0 +1,243 @@ | |||||||
|  | <!-- | ||||||
|  |  * @Author: SunTao 328867980@qq.com | ||||||
|  |  * @Date: 2024-11-18 09:13:34 | ||||||
|  |  * @LastEditors: SunTao 328867980@qq.com | ||||||
|  |  * @LastEditTime: 2024-11-18 09:13:42 | ||||||
|  |  * @FilePath: \znxjxt-ui\src\views\xj\inspection-report\daily-monitoring\components\one-content.vue | ||||||
|  |  * @Description: 巡检报告-日常监测报告-今日巡查 | ||||||
|  | --> | ||||||
|  | <template> | ||||||
|  |   <div class="one-content"> | ||||||
|  |     <div class="title"> | ||||||
|  |       <span>今日巡查</span> | ||||||
|  |     </div> | ||||||
|  |     <div class="day-echart" ref="dayChart"></div> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | import { getTaskToday } from "@/api/xj/index/index"; | ||||||
|  | import * as echarts from "echarts"; | ||||||
|  | export default { | ||||||
|  |   name: "OneContent", | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       // 病害趋势echart数据 | ||||||
|  |       diseaseChart: [], | ||||||
|  |     }; | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     this.getData(); | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     /** | ||||||
|  |      * @description: 获取数据 | ||||||
|  |      * @param {*} | ||||||
|  |      * @return {*} | ||||||
|  |      */ | ||||||
|  |     getData() { | ||||||
|  |       getTaskToday().then(({ code, data }) => { | ||||||
|  |         if (code === 200) { | ||||||
|  |           this.diseaseChart = data.xclcbhqs; | ||||||
|  |           this.$nextTick(() => { | ||||||
|  |             this.drawTrendChart(); | ||||||
|  |           }); | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @description: 绘制病害趋势柱状图 | ||||||
|  |      * @param {*} | ||||||
|  |      * @return {*} | ||||||
|  |      */ | ||||||
|  |     drawTrendChart() { | ||||||
|  |       const xData = this.diseaseChart.map((item) => { | ||||||
|  |         return item.label; | ||||||
|  |       }); | ||||||
|  |       const y1Data = this.diseaseChart.map((item) => { | ||||||
|  |         return item.value; | ||||||
|  |       }); | ||||||
|  |       const y2Data = this.diseaseChart.map((item) => { | ||||||
|  |         return item.long; | ||||||
|  |       }); | ||||||
|  |       if (this.$refs.dayChart) { | ||||||
|  |         const chart = echarts.init(this.$refs.dayChart); | ||||||
|  |         chart.setOption({ | ||||||
|  |           color: ["#388BD8", "#FFC400"], | ||||||
|  |           title: [ | ||||||
|  |             // 中心比例 | ||||||
|  |             { | ||||||
|  |               text: "巡查里程-病害趋势", | ||||||
|  |               x: "1%", | ||||||
|  |               y: "1%", | ||||||
|  |               textStyle: { | ||||||
|  |                 fontSize: 14, | ||||||
|  |               }, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |           tooltip: { | ||||||
|  |             trigger: "axis", | ||||||
|  |           }, | ||||||
|  |           grid: { | ||||||
|  |             top: "20%", | ||||||
|  |             left: "3%", | ||||||
|  |             right: "4%", | ||||||
|  |             bottom: "3%", | ||||||
|  |             containLabel: true, | ||||||
|  |           }, | ||||||
|  |           legend: { | ||||||
|  |             right: "5%", | ||||||
|  |           }, | ||||||
|  |           xAxis: [ | ||||||
|  |             { | ||||||
|  |               type: "category", | ||||||
|  |               data: xData, | ||||||
|  |               axisTick: { | ||||||
|  |                 show: false, //隐藏X轴刻度 | ||||||
|  |               }, | ||||||
|  |               axisLabel: { color: "#A2B0B8" }, | ||||||
|  |               axisLine: { | ||||||
|  |                 lineStyle: { | ||||||
|  |                   color: "#3C6579", | ||||||
|  |                   width: 1, | ||||||
|  |                 }, | ||||||
|  |               }, | ||||||
|  |               splitLine: { | ||||||
|  |                 show: true, | ||||||
|  |               }, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |           yAxis: [ | ||||||
|  |             { | ||||||
|  |               name: "", | ||||||
|  |               type: "value", | ||||||
|  |               axisLine: { | ||||||
|  |                 lineStyle: { | ||||||
|  |                   color: "#A2B0B8", | ||||||
|  |                 }, | ||||||
|  |               }, | ||||||
|  |               axisLabel: { | ||||||
|  |                 // "formatter": "{value} T/h" | ||||||
|  |                 // formatter: "{value}", | ||||||
|  |               }, | ||||||
|  |               splitLine: { | ||||||
|  |                 show: true, | ||||||
|  |               }, | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |               name: "", | ||||||
|  |               type: "value", | ||||||
|  |               axisLine: { | ||||||
|  |                 lineStyle: { | ||||||
|  |                   color: "#A2B0B8", | ||||||
|  |                 }, | ||||||
|  |               }, | ||||||
|  |               axisLabel: { | ||||||
|  |                 // "formatter": "{value} T/W㎡" | ||||||
|  |                 // formatter: "{value}", | ||||||
|  |               }, | ||||||
|  |               splitLine: { | ||||||
|  |                 show: false, | ||||||
|  |               }, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |           series: [ | ||||||
|  |             { | ||||||
|  |               type: "bar", | ||||||
|  |               barWidth: 10, | ||||||
|  |               name: "累计病害", | ||||||
|  |               data: y1Data, | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |               type: "line", | ||||||
|  |               symbolSize: 5, | ||||||
|  |               name: "巡查里程", | ||||||
|  |               smooth: 1, | ||||||
|  |               data: y2Data, | ||||||
|  |               yAxisIndex: 1, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |           dataZoom: [ | ||||||
|  |             { | ||||||
|  |               // 设置滚动条的隐藏与显示 | ||||||
|  |               show: false, | ||||||
|  |               // 设置滚动条类型 | ||||||
|  |               type: "slider", | ||||||
|  |               // 设置背景颜色 | ||||||
|  |               backgroundColor: "rgba(225,225,225,0.2)", | ||||||
|  |               // 设置选中范围的填充颜色 | ||||||
|  |               fillerColor: "#ccc", | ||||||
|  |               // 设置边框颜色 | ||||||
|  |               borderColor: "rgba(225,225,225,0.2)", | ||||||
|  |               // 是否显示detail,即拖拽时候显示详细数值信息 | ||||||
|  |               showDetail: false, | ||||||
|  |               // 数据窗口范围的起始数值 | ||||||
|  |               startValue: 0, | ||||||
|  |               // 数据窗口范围的结束数值(一页显示多少条数据) | ||||||
|  |               endValue: 6, | ||||||
|  |               // empty:当前数据窗口外的数据,被设置为空。 | ||||||
|  |               // 即不会影响其他轴的数据范围 | ||||||
|  |               filterMode: "empty", | ||||||
|  |               // 设置滚动条宽度,相对于盒子宽度 | ||||||
|  |               width: "80%", | ||||||
|  |               // 设置滚动条高度 | ||||||
|  |               height: 5, | ||||||
|  |               // 设置滚动条显示位置 | ||||||
|  |               left: "center", | ||||||
|  |               // 是否锁定选择区域(或叫做数据窗口)的大小 | ||||||
|  |               zoomLoxk: true, | ||||||
|  |               // 控制手柄的尺寸 | ||||||
|  |               handleSize: 10, | ||||||
|  |               // dataZoom-slider组件离容器下侧的距离 | ||||||
|  |               bottom: 0, | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |               // 没有下面这块的话,只能拖动滚动条, | ||||||
|  |               // 鼠标滚轮在区域内不能控制外部滚动条 | ||||||
|  |               type: "inside", | ||||||
|  |               // 滚轮是否触发缩放 | ||||||
|  |               zoomOnMouseWheel: false, | ||||||
|  |               // 鼠标滚轮触发滚动 | ||||||
|  |               moveOnMouseMove: true, | ||||||
|  |               moveOnMouseWheel: true, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |         }); | ||||||
|  |         window.addEventListener("resize", () => { | ||||||
|  |           chart.resize(); | ||||||
|  |         }); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  | }; | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style lang="scss" scoped> | ||||||
|  | .one-content { | ||||||
|  |   width: 100%; | ||||||
|  |   height: 100%; | ||||||
|  |   padding: 0.5rem; | ||||||
|  | 
 | ||||||
|  |   .title { | ||||||
|  |     width: 100%; | ||||||
|  |     height: 10%; | ||||||
|  |     display: flex; | ||||||
|  |     align-items: center; | ||||||
|  |     justify-content: space-between; | ||||||
|  |     padding-left: 3rem; | ||||||
|  |     background: url("~@/assets/index/div-title.png") no-repeat; | ||||||
|  |     background-size: 5%; | ||||||
|  |     background-position: 0 30%; | ||||||
|  | 
 | ||||||
|  |     span { | ||||||
|  |       font-family: "DouYu"; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .day-echart { | ||||||
|  |   height: 90%; | ||||||
|  |   width: 100%; | ||||||
|  | } | ||||||
|  | </style> | ||||||
| @ -0,0 +1,234 @@ | |||||||
|  | <!-- | ||||||
|  |  * @Author: SunTao 328867980@qq.com | ||||||
|  |  * @Date: 2024-11-18 09:13:34 | ||||||
|  |  * @LastEditors: SunTao 328867980@qq.com | ||||||
|  |  * @LastEditTime: 2024-11-18 09:13:42 | ||||||
|  |  * @FilePath: \znxjxt-ui\src\views\xj\inspection-report\daily-monitoring\components\three-content.vue | ||||||
|  |  * @Description: 巡检报告-日常监测报告-公路资产 | ||||||
|  | --> | ||||||
|  | <template> | ||||||
|  |   <div class="three-content"> | ||||||
|  |     <div class="title"> | ||||||
|  |       <span>公路资产</span> | ||||||
|  |     </div> | ||||||
|  |     <div class="road-chart" ref="roadChart"></div> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | import { getEquipmentLog } from "@/api/xj/index/index"; | ||||||
|  | import FssmScroll from "@/components/scroll/fssm-scroll.vue"; | ||||||
|  | import * as echarts from "echarts"; | ||||||
|  | export default { | ||||||
|  |   components: { FssmScroll }, | ||||||
|  |   name: "ThreeContent", | ||||||
|  |   data() { | ||||||
|  |     return {}; | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     this.getBottomData(); | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     /** | ||||||
|  |      * @description: 获取底部echart数据 | ||||||
|  |      * @param {*} | ||||||
|  |      * @return {*} | ||||||
|  |      */ | ||||||
|  |     getBottomData() { | ||||||
|  |       getEquipmentLog().then(({ code, data }) => { | ||||||
|  |         if (code === 200) { | ||||||
|  |           this.roadChartData = data; | ||||||
|  |           this.$nextTick(() => { | ||||||
|  |             this.drawRoadChart(); | ||||||
|  |           }); | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @description: 绘制echart图 | ||||||
|  |      * @param {*} | ||||||
|  |      * @return {*} | ||||||
|  |      */ | ||||||
|  |     drawRoadChart() { | ||||||
|  |       if (this.$refs.roadChart) { | ||||||
|  |         const xData = this.roadChartData.map((item) => { | ||||||
|  |           return item.label; | ||||||
|  |         }); | ||||||
|  |         const y1Data = this.roadChartData.map((item) => { | ||||||
|  |           return item.total; | ||||||
|  |         }); | ||||||
|  |         const y2Data = this.roadChartData.map((item) => { | ||||||
|  |           return item.value; | ||||||
|  |         }); | ||||||
|  |         const chart = echarts.init(this.$refs.roadChart); | ||||||
|  |         chart.setOption({ | ||||||
|  |           color: ["#388BD8", "#04DAD7"], | ||||||
|  |           title: [ | ||||||
|  |             // 中心比例 | ||||||
|  |             { | ||||||
|  |               text: "路产趋势", | ||||||
|  |               x: "1%", | ||||||
|  |               y: "1%", | ||||||
|  |               textStyle: { | ||||||
|  |                 fontSize: 14, | ||||||
|  |               }, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |           tooltip: { | ||||||
|  |             trigger: "axis", | ||||||
|  |           }, | ||||||
|  |           grid: { | ||||||
|  |             top: "20%", | ||||||
|  |             left: "3%", | ||||||
|  |             right: "4%", | ||||||
|  |             bottom: "3%", | ||||||
|  |             containLabel: true, | ||||||
|  |           }, | ||||||
|  |           legend: { | ||||||
|  |             right: "5%", | ||||||
|  |           }, | ||||||
|  |           xAxis: [ | ||||||
|  |             { | ||||||
|  |               type: "category", | ||||||
|  |               data: xData, | ||||||
|  |               axisTick: { | ||||||
|  |                 show: false, //隐藏X轴刻度 | ||||||
|  |               }, | ||||||
|  |               axisLabel: { color: "#A2B0B8" }, | ||||||
|  |               axisLine: { | ||||||
|  |                 lineStyle: { | ||||||
|  |                   color: "#3C6579", | ||||||
|  |                   width: 1, | ||||||
|  |                 }, | ||||||
|  |               }, | ||||||
|  |               splitLine: { | ||||||
|  |                 show: true, | ||||||
|  |               }, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |           yAxis: [ | ||||||
|  |             { | ||||||
|  |               name: "", | ||||||
|  |               type: "value", | ||||||
|  |               axisLine: { | ||||||
|  |                 lineStyle: { | ||||||
|  |                   color: "#A2B0B8", | ||||||
|  |                 }, | ||||||
|  |               }, | ||||||
|  |               axisLabel: { | ||||||
|  |                 // "formatter": "{value} T/h" | ||||||
|  |                 // formatter: "{value}", | ||||||
|  |               }, | ||||||
|  |               splitLine: { | ||||||
|  |                 show: true, | ||||||
|  |               }, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |           series: [ | ||||||
|  |             { | ||||||
|  |               name: "路产总数", | ||||||
|  |               type: "bar", | ||||||
|  |               barWidth: 20, | ||||||
|  |               itemStyle: { | ||||||
|  |                 borderWidth: 1, | ||||||
|  |                 borderRadius: [3, 3, 0, 0], | ||||||
|  |                 color: "#388BD8", | ||||||
|  |               }, | ||||||
|  |               data: y1Data, | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |               name: "异常设施数量", | ||||||
|  |               type: "bar", | ||||||
|  |               barWidth: 20, | ||||||
|  |               itemStyle: { | ||||||
|  |                 borderWidth: 1, | ||||||
|  |                 borderRadius: [3, 3, 0, 0], | ||||||
|  |                 color: "#38C8D8", | ||||||
|  |               }, | ||||||
|  |               data: y2Data, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |           dataZoom: [ | ||||||
|  |             { | ||||||
|  |               // 设置滚动条的隐藏与显示 | ||||||
|  |               show: false, | ||||||
|  |               // 设置滚动条类型 | ||||||
|  |               type: "slider", | ||||||
|  |               // 设置背景颜色 | ||||||
|  |               backgroundColor: "rgba(225,225,225,0.2)", | ||||||
|  |               // 设置选中范围的填充颜色 | ||||||
|  |               fillerColor: "#ccc", | ||||||
|  |               // 设置边框颜色 | ||||||
|  |               borderColor: "rgba(225,225,225,0.2)", | ||||||
|  |               // 是否显示detail,即拖拽时候显示详细数值信息 | ||||||
|  |               showDetail: false, | ||||||
|  |               // 数据窗口范围的起始数值 | ||||||
|  |               startValue: 0, | ||||||
|  |               // 数据窗口范围的结束数值(一页显示多少条数据) | ||||||
|  |               endValue: 6, | ||||||
|  |               // empty:当前数据窗口外的数据,被设置为空。 | ||||||
|  |               // 即不会影响其他轴的数据范围 | ||||||
|  |               filterMode: "empty", | ||||||
|  |               // 设置滚动条宽度,相对于盒子宽度 | ||||||
|  |               width: "80%", | ||||||
|  |               // 设置滚动条高度 | ||||||
|  |               height: 5, | ||||||
|  |               // 设置滚动条显示位置 | ||||||
|  |               left: "center", | ||||||
|  |               // 是否锁定选择区域(或叫做数据窗口)的大小 | ||||||
|  |               zoomLoxk: true, | ||||||
|  |               // 控制手柄的尺寸 | ||||||
|  |               handleSize: 10, | ||||||
|  |               // dataZoom-slider组件离容器下侧的距离 | ||||||
|  |               bottom: 0, | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |               // 没有下面这块的话,只能拖动滚动条, | ||||||
|  |               // 鼠标滚轮在区域内不能控制外部滚动条 | ||||||
|  |               type: "inside", | ||||||
|  |               // 滚轮是否触发缩放 | ||||||
|  |               zoomOnMouseWheel: false, | ||||||
|  |               // 鼠标滚轮触发滚动 | ||||||
|  |               moveOnMouseMove: true, | ||||||
|  |               moveOnMouseWheel: true, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |         }); | ||||||
|  |         window.addEventListener("resize", () => { | ||||||
|  |           chart.resize(); | ||||||
|  |         }); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  | }; | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style lang="scss" scoped> | ||||||
|  | .three-content { | ||||||
|  |   width: 100%; | ||||||
|  |   height: 100%; | ||||||
|  |   padding: 0.5rem; | ||||||
|  | 
 | ||||||
|  |   .title { | ||||||
|  |     width: 100%; | ||||||
|  |     height: 10%; | ||||||
|  |     display: flex; | ||||||
|  |     align-items: center; | ||||||
|  |     justify-content: space-between; | ||||||
|  |     padding-left: 3rem; | ||||||
|  |     background: url("~@/assets/index/div-title.png") no-repeat; | ||||||
|  |     background-size: 5%; | ||||||
|  |     background-position: 0 30%; | ||||||
|  | 
 | ||||||
|  |     span { | ||||||
|  |       font-family: "DouYu"; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .road-chart { | ||||||
|  |     width: 100%; | ||||||
|  |     height: 90%; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | </style> | ||||||
| @ -0,0 +1,285 @@ | |||||||
|  | <!-- | ||||||
|  |  * @Author: SunTao 328867980@qq.com | ||||||
|  |  * @Date: 2024-11-18 09:13:34 | ||||||
|  |  * @LastEditors: SunTao 328867980@qq.com | ||||||
|  |  * @LastEditTime: 2024-11-18 09:13:42 | ||||||
|  |  * @FilePath: \znxjxt-ui\src\views\xj\inspection-report\daily-monitoring\components\twe-content.vue | ||||||
|  |  * @Description: 巡检报告-日常监测报告-病害识别 | ||||||
|  | --> | ||||||
|  | <template> | ||||||
|  |   <div class="twe-content"> | ||||||
|  |     <div class="title"> | ||||||
|  |       <span>病害识别</span> | ||||||
|  |     </div> | ||||||
|  |     <div class="disease-echart"> | ||||||
|  |       <div class="disease-div" ref="diseaseChart"></div> | ||||||
|  |       <div class="disease-legnd"> | ||||||
|  |         <fssm-scroll> | ||||||
|  |           <div | ||||||
|  |             class="legnd-div" | ||||||
|  |             v-for="(item, index) in distributionList" | ||||||
|  |             :key="`disease-${index}`" | ||||||
|  |           > | ||||||
|  |             <div class="name"> | ||||||
|  |               <span | ||||||
|  |                 class="index" | ||||||
|  |                 :style="{ backgroundColor: distributionColor[index] }" | ||||||
|  |               ></span> | ||||||
|  |               <span>{{ item.name }}</span> | ||||||
|  |             </div> | ||||||
|  |             <div class="rate">{{ item.rate }}</div> | ||||||
|  |           </div> | ||||||
|  |         </fssm-scroll> | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | import { getTotalList } from "@/api/xj/index/index"; | ||||||
|  | import * as echarts from "echarts"; | ||||||
|  | import FssmScroll from "@/components/scroll/fssm-scroll.vue"; | ||||||
|  | export default { | ||||||
|  |   name: "TweContent", | ||||||
|  |   components: { | ||||||
|  |     FssmScroll, | ||||||
|  |   }, | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       // 病害类型颜色盘 | ||||||
|  |       distributionColor: [ | ||||||
|  |         "#3678FF", | ||||||
|  |         "#F8A74E", | ||||||
|  |         "#04DAD7", | ||||||
|  |         "#00D669", | ||||||
|  |         "#8448FF", | ||||||
|  |         "#F6D566", | ||||||
|  |         "#00B1FF", | ||||||
|  |         "#62CFFF", | ||||||
|  |         "#6A9BFF", | ||||||
|  |         "#B38EFF", | ||||||
|  |         "#3678FF", | ||||||
|  |         "#F8A74E", | ||||||
|  |         "#04DAD7", | ||||||
|  |         "#00D669", | ||||||
|  |         "#8448FF", | ||||||
|  |         "#F6D566", | ||||||
|  |         "#00B1FF", | ||||||
|  |         "#62CFFF", | ||||||
|  |         "#6A9BFF", | ||||||
|  |         "#B38EFF", | ||||||
|  |         "#3678FF", | ||||||
|  |         "#F8A74E", | ||||||
|  |         "#04DAD7", | ||||||
|  |         "#00D669", | ||||||
|  |         "#8448FF", | ||||||
|  |       ], | ||||||
|  |       // 病害类型分布数据 | ||||||
|  |       distributionList: [], | ||||||
|  |     }; | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     this.getBottomData(); | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     /** | ||||||
|  |      * @description: 获取数据 | ||||||
|  |      * @param {*} | ||||||
|  |      * @return {*} | ||||||
|  |      */ | ||||||
|  |     getBottomData() { | ||||||
|  |       getTotalList({ dateType: this.checkCycle }).then(({ code, data }) => { | ||||||
|  |         if (code === 200) { | ||||||
|  |           this.total = data.total; | ||||||
|  |           this.newTotal = data.today; | ||||||
|  |           this.distributionList = data.data.map((item) => { | ||||||
|  |             return { | ||||||
|  |               value: item.value, | ||||||
|  |               name: item.label, | ||||||
|  |               rate: `${((item.value / data.total) * 100).toFixed(0)}%`, | ||||||
|  |             }; | ||||||
|  |           }); | ||||||
|  |           this.$nextTick(() => { | ||||||
|  |             this.drawDistributionChart(); | ||||||
|  |           }); | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @description: 绘制病害类型分布图 | ||||||
|  |      * @param {*} | ||||||
|  |      * @return {*} | ||||||
|  |      */ | ||||||
|  |     drawDistributionChart() { | ||||||
|  |       if (this.$refs.diseaseChart) { | ||||||
|  |         const chart = echarts.init(this.$refs.diseaseChart); | ||||||
|  |         chart.setOption({ | ||||||
|  |           color: this.distributionColor, | ||||||
|  |           title: [ | ||||||
|  |             // 中心比例 | ||||||
|  |             { | ||||||
|  |               text: "新增病害类型分布", | ||||||
|  |               x: "1%", | ||||||
|  |               y: "1%", | ||||||
|  |               textStyle: { | ||||||
|  |                 fontSize: 14, | ||||||
|  |               }, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |           series: [ | ||||||
|  |             { | ||||||
|  |               type: "pie", | ||||||
|  |               //   hoverAnimation: true, | ||||||
|  |               minAngle: 1, | ||||||
|  |               padAngle: 4, | ||||||
|  |               hoverOffset: 0, | ||||||
|  |               startAngle: 0, //起始角度 | ||||||
|  |               clockwise: false, //是否顺时针 | ||||||
|  |               radius: ["55%", "70%"], | ||||||
|  |               center: ["50%", "56%"], | ||||||
|  |               avoidLabelOverlap: false, | ||||||
|  |               animationDuration: 3000, | ||||||
|  |               emphasis: { | ||||||
|  |                 label: { | ||||||
|  |                   formatter: ["{a|{c}}" + "\n" + "{b|{b}}"].join("\n"), | ||||||
|  |                   show: true, | ||||||
|  |                   fontSize: "30", | ||||||
|  |                   fontWeight: "bold", | ||||||
|  |                   rich: { | ||||||
|  |                     a: { | ||||||
|  |                       fontSize: 18, | ||||||
|  |                       lineHeight: 18, | ||||||
|  |                       color: "#000", | ||||||
|  |                     }, | ||||||
|  |                     b: { | ||||||
|  |                       color: "#000", | ||||||
|  |                       fontSize: 16, | ||||||
|  |                       lineHeight: 30, | ||||||
|  |                     }, | ||||||
|  |                   }, | ||||||
|  |                 }, | ||||||
|  |               }, | ||||||
|  |               label: { | ||||||
|  |                 show: false, | ||||||
|  |                 position: "center", | ||||||
|  |                 color: "rgba(13, 17, 29,0)", | ||||||
|  |               }, | ||||||
|  |               labelLine: { | ||||||
|  |                 show: false, | ||||||
|  |               }, | ||||||
|  |               data: this.distributionList, | ||||||
|  |               zlevel: 30, | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |               type: "pie", | ||||||
|  |               radius: ["35%", "55%"], | ||||||
|  |               center: ["50%", "56%"], | ||||||
|  |               //   hoverAnimation: true, | ||||||
|  |               hoverOffset: 0, | ||||||
|  |               startAngle: 0, //起始角度 | ||||||
|  |               clockwise: false, //是否顺时针 | ||||||
|  |               padAngle: 4, | ||||||
|  |               minAngle: 1, | ||||||
|  |               animationDuration: 3000, | ||||||
|  |               emphasis: { scale: false }, | ||||||
|  |               label: { | ||||||
|  |                 show: false, | ||||||
|  |               }, | ||||||
|  |               itemStyle: { | ||||||
|  |                 color: "#E4EDFD", | ||||||
|  |               }, | ||||||
|  |               data: this.distributionList, | ||||||
|  |               z: 1, | ||||||
|  |             }, | ||||||
|  |           ], | ||||||
|  |         }); | ||||||
|  |         window.addEventListener("resize", () => { | ||||||
|  |           chart.resize(); | ||||||
|  |         }); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  | }; | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style lang="scss" scoped> | ||||||
|  | .twe-content { | ||||||
|  |   width: 100%; | ||||||
|  |   height: 100%; | ||||||
|  |   padding: 0.5rem; | ||||||
|  | 
 | ||||||
|  |   .title { | ||||||
|  |     width: 100%; | ||||||
|  |     height: 10%; | ||||||
|  |     display: flex; | ||||||
|  |     align-items: center; | ||||||
|  |     justify-content: space-between; | ||||||
|  |     padding-left: 3rem; | ||||||
|  |     background: url("~@/assets/index/div-title.png") no-repeat; | ||||||
|  |     background-size: 5%; | ||||||
|  |     background-position: 0 30%; | ||||||
|  | 
 | ||||||
|  |     span { | ||||||
|  |       font-family: "DouYu"; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .disease-echart { | ||||||
|  |   height: 90%; | ||||||
|  |   width: 100%; | ||||||
|  |   display: flex; | ||||||
|  | 
 | ||||||
|  |   > div { | ||||||
|  |     height: 100%; | ||||||
|  |     width: 50%; | ||||||
|  |     display: flex; | ||||||
|  |     position: relative; | ||||||
|  |     background-color: #ffffff; | ||||||
|  | 
 | ||||||
|  |     .disease-div { | ||||||
|  |       width: 30%; | ||||||
|  |       height: 100%; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  |    | ||||||
|  |   .disease-legnd { | ||||||
|  |     width: 70%; | ||||||
|  |     height: 100%; | ||||||
|  |     padding: 2.5rem 0; | ||||||
|  | 
 | ||||||
|  |     .scroll-box { | ||||||
|  |       display: flex; | ||||||
|  |       flex-wrap: wrap; | ||||||
|  |       justify-content: space-between; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     .legnd-div { | ||||||
|  |       width: 47%; | ||||||
|  |       height: 2rem; | ||||||
|  |       padding: 0 1rem; | ||||||
|  |       margin: 0.2rem 0; | ||||||
|  |       display: flex; | ||||||
|  |       justify-content: space-between; | ||||||
|  |       align-items: center; | ||||||
|  |       background-color: #f6f6fa; | ||||||
|  |       border-radius: 0.2rem; | ||||||
|  | 
 | ||||||
|  |       .name { | ||||||
|  |         display: flex; | ||||||
|  |         align-items: center; | ||||||
|  | 
 | ||||||
|  |         .index { | ||||||
|  |           width: 0.7rem; | ||||||
|  |           height: 0.7rem; | ||||||
|  |           display: inline-block; | ||||||
|  |           margin-right: 0.5rem; | ||||||
|  |           border-radius: 0.3rem; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | </style> | ||||||
| @ -7,18 +7,86 @@ | |||||||
|  * @Description: 巡检报告-日常监测报告 |  * @Description: 巡检报告-日常监测报告 | ||||||
| --> | --> | ||||||
| <template> | <template> | ||||||
|   <div class="content">日常监测报告</div> |   <div class="content"> | ||||||
|  |     <div class="export"> | ||||||
|  |       <el-form | ||||||
|  |         :model="dailyForm" | ||||||
|  |         ref="dailyForm" | ||||||
|  |         size="small" | ||||||
|  |         :inline="true" | ||||||
|  |         label-width="5rem" | ||||||
|  |       > | ||||||
|  |         <el-form-item label="道路名称" prop="segmentName"> | ||||||
|  |           <el-select | ||||||
|  |             v-model="dailyForm.segmentName" | ||||||
|  |             placeholder="请选择路段" | ||||||
|  |             clearable | ||||||
|  |           > | ||||||
|  |             <el-option | ||||||
|  |               v-for="item in segmentList" | ||||||
|  |               :key="item.value" | ||||||
|  |               :label="item.label" | ||||||
|  |               :value="item.value" | ||||||
|  |             /> | ||||||
|  |           </el-select> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item> | ||||||
|  |           <!-- <el-button | ||||||
|  |             type="primary" | ||||||
|  |             icon="el-icon-search" | ||||||
|  |             size="mini" | ||||||
|  |             @click="handleQuery" | ||||||
|  |             >搜索</el-button | ||||||
|  |           > | ||||||
|  |           <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" | ||||||
|  |             >重置</el-button | ||||||
|  |           > --> | ||||||
|  |           <el-button type="primary" @click="exportReport" size="mini" | ||||||
|  |             >导出报告</el-button | ||||||
|  |           > | ||||||
|  |         </el-form-item> | ||||||
|  |       </el-form> | ||||||
|  |     </div> | ||||||
|  |     <div class="div-content"> | ||||||
|  |       <one-content></one-content> | ||||||
|  |     </div> | ||||||
|  |     <div class="div-content"> | ||||||
|  |       <twe-content></twe-content> | ||||||
|  |     </div> | ||||||
|  |     <div class="div-content"> | ||||||
|  |       <three-content></three-content> | ||||||
|  |     </div> | ||||||
|  |     <div class="div-content"> | ||||||
|  |       <four-content></four-content> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script> | <script> | ||||||
|  | import OneContent from "./components/one-content.vue"; | ||||||
|  | import TweContent from "./components/twe-content.vue"; | ||||||
|  | import ThreeContent from "./components/three-content.vue"; | ||||||
|  | import FourContent from "./components/four-content.vue"; | ||||||
| export default { | export default { | ||||||
|   name: "DailyMonitoring", |   name: "DailyMonitoring", | ||||||
|   components: {}, |   components: { OneContent, TweContent, ThreeContent, FourContent }, | ||||||
|   data() { |   data() { | ||||||
|     return {}; |     return { | ||||||
|  |       dailyForm: { | ||||||
|  |         segmentName: "", | ||||||
|  |       }, | ||||||
|  |       // 选择分公司下拉数据 | ||||||
|  |       segmentList: [], | ||||||
|  |     }; | ||||||
|   }, |   }, | ||||||
|   created() {}, |   created() {}, | ||||||
|   methods: {}, |   methods: { | ||||||
|  |     /** | ||||||
|  |      * @description: 导出报告 | ||||||
|  |      * @return {*} | ||||||
|  |      */ | ||||||
|  |     exportReport() {}, | ||||||
|  |   }, | ||||||
| }; | }; | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
| @ -26,6 +94,22 @@ export default { | |||||||
| .content { | .content { | ||||||
|   width: 100%; |   width: 100%; | ||||||
|   height: calc(100vh - 5.4rem); |   height: calc(100vh - 5.4rem); | ||||||
|   padding: 1rem; |   padding: 0.5rem; | ||||||
|  |   display: flex; | ||||||
|  |   flex-wrap: wrap; | ||||||
|  |   justify-content: space-between; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .export { | ||||||
|  |   height: 5%; | ||||||
|  |   width: 100%; | ||||||
|  |   justify-content: flex-end; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .div-content { | ||||||
|  |   width: 49.5%; | ||||||
|  |   height: 46%; | ||||||
|  |   background: url("~@/assets/index/road-content.png") no-repeat; | ||||||
|  |   background-size: 100% 100%; | ||||||
| } | } | ||||||
| </style> | </style> | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user