|
@@ -1,226 +1,118 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <div class="left_004">
|
|
|
- <div class="left_003" style="font-weight: 800;font-size: 20px;">监测区域</div>
|
|
|
- <div class="left_003">
|
|
|
- <div class="sel_wrap">
|
|
|
- <select class="select" id="c_city" v-model="selectValue" @change="changeProduct($event)">
|
|
|
- <!-- 使用了一个option标签来选择区域 -->
|
|
|
- <option value="a">请选择监测区域</option>
|
|
|
- <option v-for="(item,index) in selectData" :key="index" :value="index">{{item.name}}</option>
|
|
|
- </select>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div style="width: 90%;border: white 1px solid;margin: 0 auto;">
|
|
|
+
|
|
|
+ <div
|
|
|
+ style="width:100%;margin: 0 auto;"
|
|
|
+ class="left_003"
|
|
|
+ >
|
|
|
<h1 class="left_tile">
|
|
|
基本信息
|
|
|
</h1>
|
|
|
- <!-- 使用for循环输出selectData 左列为属性,右列为具体值-->
|
|
|
- <div v-for="(item,index) in leftData" :key="index" class="left_002">
|
|
|
+ <!-- 使用for循环输出selectData 左列为属性,右列为具体值 -->
|
|
|
+ <div
|
|
|
+ v-for="(item,index) in leftData"
|
|
|
+ :key="index"
|
|
|
+ class="left_002"
|
|
|
+ >
|
|
|
<div class="left_001">{{ item.name }}</div>
|
|
|
<div class="left_006">{{ item.value }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <br/>
|
|
|
- <br/>
|
|
|
+ <br />
|
|
|
+ <br />
|
|
|
|
|
|
- <div style="width: 90%;border: white 1px solid;margin: 0 auto; ">
|
|
|
+ <div
|
|
|
+ style="width: 100%;margin: 0 auto; "
|
|
|
+ class="left_003"
|
|
|
+ >
|
|
|
<p class="left_tile">
|
|
|
区域评分
|
|
|
</p>
|
|
|
- <el-row :gutter="16" style="margin-top: 10px;">
|
|
|
- <el-col span="4" style="text-align: center">
|
|
|
+ <el-row
|
|
|
+ :gutter="16"
|
|
|
+ style="margin-top: 10px;"
|
|
|
+ >
|
|
|
+ <el-col
|
|
|
+ span="4"
|
|
|
+ style="text-align: center"
|
|
|
+ >
|
|
|
总分
|
|
|
</el-col>
|
|
|
<el-col span="20">
|
|
|
- <el-progress :percentage="80" :format="format"></el-progress>
|
|
|
- <!-- <Progress :percent="bottomData.totalScore" :stroke-width="20" :status="bottomData.totalScore>50?'':'wrong'">
|
|
|
- <Icon type="checkmark-circled"></Icon>
|
|
|
- <span style="font-size: 16px;" >{{bottomData.totalScore}}分</span>
|
|
|
- </Progress> -->
|
|
|
+ <el-progress
|
|
|
+ :percentage="80"
|
|
|
+ :format="format"
|
|
|
+ ></el-progress>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <div style="padding: 10px;">分项得分</div>
|
|
|
- <div id="zaihai" style="width: 90%;height: 150px;"> </div>
|
|
|
+ <!-- <div style="padding: 10px;">分项得分</div> -->
|
|
|
+ <fenxiang></fenxiang>
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import fenxiang from "./fenxiang.vue";
|
|
|
export default {
|
|
|
name: "left",
|
|
|
data() {
|
|
|
return {
|
|
|
- selectValue:'a',
|
|
|
+ selectValue: "a",
|
|
|
// 基本信息区域
|
|
|
leftData: [
|
|
|
{
|
|
|
- name: '名称',
|
|
|
- value: ''
|
|
|
- },{
|
|
|
- name: '面积',
|
|
|
- value: ''
|
|
|
- },{
|
|
|
- name: '人员数量',
|
|
|
- value: ''
|
|
|
- },{
|
|
|
- name: '设备数量',
|
|
|
- value: ''
|
|
|
- },{
|
|
|
- name: '工作用途',
|
|
|
- value: ''
|
|
|
- }
|
|
|
+ name: "名称",
|
|
|
+ value: "原煤仓二层分站",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "面积",
|
|
|
+ value: "3000m2",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "人员数量",
|
|
|
+ value: "1",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "设备数量",
|
|
|
+ value: "10",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "工作用途",
|
|
|
+ value: "上仓皮带入口",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ // 安全评分使用进度条区域数据
|
|
|
+ viewData: [
|
|
|
+ {
|
|
|
+ value: 30,
|
|
|
+ itemStyle: {
|
|
|
+ color: "#1c42e3",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 60,
|
|
|
+ itemStyle: {
|
|
|
+ color: "#00a93e",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 90,
|
|
|
+ itemStyle: {
|
|
|
+ color: "#a90000",
|
|
|
+ },
|
|
|
+ },
|
|
|
],
|
|
|
- // 安全评分使用进度条区域数据
|
|
|
- bottomData:{
|
|
|
- totalScore:0, // string 总体评分
|
|
|
- personnelScore:'', // string 人员评分
|
|
|
- equipmentScore:'', // string 设备评分
|
|
|
- safetyScore:'', // string 安全评分
|
|
|
- },
|
|
|
- viewData:[ {
|
|
|
- value: 30,
|
|
|
- itemStyle: {
|
|
|
- color: '#1c42e3'
|
|
|
- }
|
|
|
- }, {
|
|
|
- value: 60,
|
|
|
- itemStyle: {
|
|
|
- color: '#00a93e'
|
|
|
- }
|
|
|
- }, {
|
|
|
- value: 90,
|
|
|
- itemStyle: {
|
|
|
- color: '#a90000'
|
|
|
- }
|
|
|
- },],
|
|
|
// api加载失败时,default值
|
|
|
- selectData:[{name:'fdf'}],
|
|
|
- }
|
|
|
+ selectData: [{ name: "fdf" }],
|
|
|
+ };
|
|
|
},
|
|
|
- mounted() {
|
|
|
- this.getTableData();
|
|
|
+ mounted() {},
|
|
|
+ components: {
|
|
|
+ fenxiang,
|
|
|
},
|
|
|
- methods:{
|
|
|
- //初始化数据
|
|
|
- getTableData() {
|
|
|
- let _data = { };
|
|
|
- // 使用axios通过后端提供api请求数据
|
|
|
- this.$get("index/areas", _data).then(res => {
|
|
|
- if (res.code === 200) {
|
|
|
- this.selectData = res.data || [];
|
|
|
- } else {
|
|
|
- console.error(res.msg);
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- changeProduct(event) {
|
|
|
- this.selectValue = event.target.value; //获取当前选中的区域ID,即option对应的ID值
|
|
|
- this.$emit('fatherMethodData',this.selectData[this.selectValue].areaId); //fatherMethod父组件方法
|
|
|
- //'areaUnit'
|
|
|
- let areaAcreage=this.selectData[this.selectValue].areaUnit ==='面积' ? "㎡" : 'm'
|
|
|
- this.leftData=[
|
|
|
- {
|
|
|
- name: '名称',
|
|
|
- value: this.selectData[this.selectValue].name
|
|
|
- },{
|
|
|
- name: this.selectData[this.selectValue].areaUnit ==='面积' ? "面积" : '长度',
|
|
|
- value: JSON.stringify(this.selectData[this.selectValue].areaAcreage)+areaAcreage
|
|
|
- },{
|
|
|
- name: '人员数量',
|
|
|
- value: this.selectData[this.selectValue].personnelNumber+'人'
|
|
|
- },{
|
|
|
- name: '设备数量',
|
|
|
- value: this.selectData[this.selectValue].equipmentNumber+'台'
|
|
|
- },{
|
|
|
- name: '工作用途',
|
|
|
- value: this.selectData[this.selectValue].workPurpose
|
|
|
- }
|
|
|
- ]
|
|
|
- sessionStorage.setItem("areaId",this.selectData[this.selectValue].areaId)
|
|
|
- let _data = {
|
|
|
- areaId:this.selectData[this.selectValue].areaId
|
|
|
- };
|
|
|
- this.$get("index/areas/" + sessionStorage.getItem('areaId') + "/scores", _data).then(res => {
|
|
|
- if (res.code === 200) {
|
|
|
- this.bottomData=res.data
|
|
|
- this.viewData=[
|
|
|
- {
|
|
|
- value: this.bottomData.personnelScore,
|
|
|
- itemStyle: {
|
|
|
- color: '#1c42e3'
|
|
|
- }
|
|
|
- },{
|
|
|
- value: this.bottomData.equipmentScore,
|
|
|
- itemStyle: {
|
|
|
- color: '#00a93e'
|
|
|
- }
|
|
|
- },{
|
|
|
- value: this.bottomData.safetyScore,
|
|
|
- itemStyle: {
|
|
|
- color: '#a90000'
|
|
|
- }
|
|
|
- }
|
|
|
- ]
|
|
|
- this.showIview();
|
|
|
- } else {
|
|
|
- console.error(res.msg);
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- //eCharts
|
|
|
- showIview() {
|
|
|
- let myChart = this.$echarts.init(
|
|
|
- document.getElementById("zaihai"), 'dark'
|
|
|
- );
|
|
|
- myChart.setOption(
|
|
|
- {
|
|
|
- darkMode: true,
|
|
|
- backgroundColor: '#100C2A',
|
|
|
- tooltip: {
|
|
|
- trigger: 'axis',
|
|
|
- axisPointer: {
|
|
|
- type: 'shadow'
|
|
|
- }
|
|
|
- },
|
|
|
- grid: {
|
|
|
- left: '3%',
|
|
|
- right: '4%',
|
|
|
- bottom: '2%',
|
|
|
- top:'10%',
|
|
|
- containLabel: true
|
|
|
- },
|
|
|
- xAxis: [
|
|
|
- {
|
|
|
- type: 'category',
|
|
|
- data: ['人员分', '设备分', '安全分',],
|
|
|
- axisTick: {
|
|
|
- alignWithLabel: true
|
|
|
- }
|
|
|
- }
|
|
|
- ],
|
|
|
- yAxis: [
|
|
|
- {
|
|
|
- type: 'value'
|
|
|
- }
|
|
|
- ],
|
|
|
- series: [
|
|
|
- {
|
|
|
- name: '得分',
|
|
|
- type: 'bar',
|
|
|
- barWidth: '30%',
|
|
|
- data:this.viewData
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- true
|
|
|
- );
|
|
|
- myChart.resize();
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
+ methods: {},
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
@@ -233,18 +125,24 @@ export default {
|
|
|
text-align: right;
|
|
|
font-size: 16px;
|
|
|
padding: 5px;
|
|
|
+ color: #F3DB5C;
|
|
|
}
|
|
|
.left_002 {
|
|
|
display: grid;
|
|
|
- color: #2db7f5;
|
|
|
+ color: #4ADEFE;
|
|
|
grid-template-columns: 1fr 1fr;
|
|
|
}
|
|
|
-.left_002:nth-child(odd){
|
|
|
+.left_003 {
|
|
|
+ color: #4ADEFE;
|
|
|
+ background: url(../../assets/img/tunneling/dataBg.png) no-repeat;
|
|
|
+ background-size: 100%;
|
|
|
+}
|
|
|
+/* .left_002:nth-child(odd){
|
|
|
background-color:#312D4A;
|
|
|
}
|
|
|
.left_002:nth-child(even){
|
|
|
background-color:#100C2A;
|
|
|
-}
|
|
|
+} */
|
|
|
.left_003 {
|
|
|
text-align: left;
|
|
|
font-size: 16px;
|
|
@@ -259,12 +157,13 @@ export default {
|
|
|
}
|
|
|
|
|
|
.left_tile {
|
|
|
- border-bottom: white 1px solid;
|
|
|
+ border-bottom: #5ddcf8 1px solid;
|
|
|
height: 40px;
|
|
|
font-size: 18px;
|
|
|
line-height: 2;
|
|
|
padding: 5px;
|
|
|
font-weight: 500;
|
|
|
+ color: #4ADEFE;
|
|
|
}
|
|
|
|
|
|
.sel_wrap {
|
|
@@ -275,7 +174,6 @@ export default {
|
|
|
cursor: pointer;
|
|
|
position: relative;
|
|
|
_filter: alpha(opacity=0);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
.sel_wrap label {
|
|
@@ -295,4 +193,7 @@ export default {
|
|
|
color: white;
|
|
|
background-color: #312D4A;
|
|
|
}
|
|
|
+.el-progress__text {
|
|
|
+ color: #F3DB5C;
|
|
|
+}
|
|
|
</style>
|