Browse Source

init 两三个统计 基建拿掉

wangzhe 11 months ago
parent
commit
fb665a35d8

+ 4 - 3
src/api/zdsz/countInfrastructure.js

@@ -3,9 +3,10 @@ import request from '@/utils/request'
 // 查询工程用料统计列表
 export function materialStatistics(query) {
   return request({
-    url: '/zdsz/materialStatistics/list',
-    method: 'post',
-    data: query
+    // url: '/zdsz/materialStatistics/list',
+    url: '/zdsz/engineeringWasteMaterial/engineeringInfrastructureList',
+    method: 'get',
+    params: query
   })
 }
 export function getAreaCompletionInformationList(query) {

+ 4 - 3
src/api/zdsz/countMunicipal.js

@@ -3,9 +3,10 @@ import request from '@/utils/request'
 // 查询工程用料统计列表
 export function materialStatistics(query) {
   return request({
-    url: '/zdsz/materialStatistics/list',
-    method: 'post',
-    data: query
+    // url: '/zdsz/materialStatistics/list',
+    url: '/zdsz/engineeringWasteMaterial/engineeringMunicipalList',
+    method: 'get',
+    params: query
   })
 }
 export function getAreaCompletionInformationList(query) {

+ 4 - 3
src/api/zdsz/countPipeJacking.js

@@ -3,9 +3,10 @@ import request from '@/utils/request'
 // 查询工程用料统计列表
 export function materialStatistics(query) {
   return request({
-    url: '/zdsz/materialStatistics/list',
-    method: 'post',
-    data: query
+    // url: '/zdsz/materialStatistics/list',
+    url: '/zdsz/engineeringWasteMaterial/engineeringPipeJackingList',
+    method: 'get',
+    params: query
   })
 }
 export function getAreaCompletionInformationList(query) {

+ 160 - 74
src/views/zdsz/enginee/infrastructure/infrastructure_statistics/index.vue

@@ -10,29 +10,32 @@
         <!--        <div class="topContain">-->
         <div style="width: 100%;height: 100%;display: flex;">
             <el-form :model="queryParams" :rules="searchRules" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px" class="searchForm">
-                <el-form-item label="行政区" prop="district">
-                    <el-select v-model="queryParams.district" placeholder="请选择行政区" clearable
-                               @change="queryParams.areaId = undefined;getAreaList(queryParams.district)"
-                               @clear="queryParams.areaId = undefined;areaList=[];
-                   queryParams.buildingId = undefined;buildingList=[];
-                   queryParams.unitId = undefined;unitList=[]">
-                        <el-option
-                            v-for="dict in dict.type.district"
-                            :key="dict.value"
-                            :label="dict.label"
-                            :value="dict.value"
-                        />
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="小区名称" prop="areaId" label-width="80px">
-                    <el-select v-model="queryParams.areaId" filterable clearable placeholder="请选择小区">
-                        <el-option
-                            v-for="item in areaList"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="item.id">
-                        </el-option>
-                    </el-select>
+                <!--<el-form-item label="行政区" prop="district">-->
+                    <!--<el-select v-model="queryParams.district" placeholder="请选择行政区" clearable-->
+                               <!--@change="queryParams.areaId = undefined;getAreaList(queryParams.district)"-->
+                               <!--@clear="queryParams.areaId = undefined;areaList=[];-->
+                   <!--queryParams.buildingId = undefined;buildingList=[];-->
+                   <!--queryParams.unitId = undefined;unitList=[]">-->
+                        <!--<el-option-->
+                            <!--v-for="dict in dict.type.district"-->
+                            <!--:key="dict.value"-->
+                            <!--:label="dict.label"-->
+                            <!--:value="dict.value"-->
+                        <!--/>-->
+                    <!--</el-select>-->
+                <!--</el-form-item>-->
+                <!--<el-form-item label="小区名称" prop="areaId" label-width="80px">-->
+                    <!--<el-select v-model="queryParams.areaId" filterable clearable placeholder="请选择小区">-->
+                        <!--<el-option-->
+                            <!--v-for="item in areaList"-->
+                            <!--:key="item.id"-->
+                            <!--:label="item.name"-->
+                            <!--:value="item.id">-->
+                        <!--</el-option>-->
+                    <!--</el-select>-->
+                <!--</el-form-item>-->
+                <el-form-item label="工程名称" prop="enginName">
+                    <el-input v-model="queryParams.enginName" placeholder="请输入工程名称" clearable></el-input>
                 </el-form-item>
                 <!--<el-form-item label="工程类型" prop="enginType">-->
                     <!--<el-select v-model="queryParams.enginType" placeholder="请选择工程类型" clearable-->
@@ -82,17 +85,17 @@
                         ></el-option>
                     </el-select>
                 </el-form-item>
-                <el-form-item label="规格" prop="realitySpecifications"label-width="45px">
-                    <el-select v-model="queryParams.realitySpecifications" filterable clearable placeholder="请选择规格"
-                    >
-                        <el-option
-                            v-for="item in EnginSpecificationsList"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="item.id">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
+                <!--<el-form-item label="规格" prop="realitySpecifications"label-width="45px">-->
+                    <!--<el-select v-model="queryParams.realitySpecifications" filterable clearable placeholder="请选择规格"-->
+                    <!--&gt;-->
+                        <!--<el-option-->
+                            <!--v-for="item in EnginSpecificationsList"-->
+                            <!--:key="item.id"-->
+                            <!--:label="item.name"-->
+                            <!--:value="item.id">-->
+                        <!--</el-option>-->
+                    <!--</el-select>-->
+                <!--</el-form-item>-->
                 <!--                <el-form-item label="工程周期" prop="enginCycle" label-width="80px">-->
                 <!--                  <el-select v-model="queryParams.enginCycle" filterable clearable placeholder="请选择规格"-->
                 <!--                  >-->
@@ -119,6 +122,7 @@
 
         </div>
         <el-table
+            v-if="false"
             class="materialStatisticsTable"
             :data="AreaCompletionInformationList"
             style="width: 100%">
@@ -158,43 +162,42 @@
                 :data="tableData"
                 style="width: 100%">
                 <el-table-column
-                    prop="areaName"
-                    label="小区"
-                >
-                </el-table-column>
-                <el-table-column
-                    prop="enginType"
-                    label="工程类型">
+                    prop="enginName"
+                    label="工程名称">
                 </el-table-column>
+                <!--<el-table-column-->
+                <!--prop="enginType"-->
+                <!--label="工程类型">-->
+                <!--</el-table-column>-->
                 <el-table-column
                     prop="enginClassification"
                     label="工程分类">
                 </el-table-column>
-                <!--              <el-table-column-->
-                <!--                prop="nodeType"-->
-                <!--                label="工程步骤">-->
-                <!--              </el-table-column>-->
                 <el-table-column
-                    prop="realityQuality"
-                    label="材质"
-                >
+                    prop="actualityPE"
+                    label="PE实际用料">
                 </el-table-column>
                 <el-table-column
-                    prop="realitySpecifications"
-                    label="规格"
-                >
+                    prop="anticipationPE"
+                    label="PE预计用料">
                 </el-table-column>
                 <el-table-column
-                    prop="estimatedSize"
-                    label="预计用料">
+                    prop="percentagePE"
+                    label="PE用料占比">
                 </el-table-column>
                 <el-table-column
-                    prop="realitySize"
-                    label="实际用料">
+                    prop="actualityIron"
+                    label="钢材实际用料">
+                </el-table-column>
+                <el-table-column
+                    prop="anticipationIron"
+                    label="钢材预计用料">
+                </el-table-column>
+                <el-table-column
+                    prop="percentageIron"
+                    label="钢材用料占比">
                 </el-table-column>
-
             </el-table>
-
         </div>
         <div id="zhuzhuangtu" style="width: 100%;height: 75vh"></div>
     </div>
@@ -362,38 +365,119 @@
                 }
                 return longestLength;
             },
-            getList()
-            {
-
+            getList(){
+                this.queryParams.enginSort = this.queryParams.enginClassification; // 工程分类
+                this.queryParams.materialStatistics = this.queryParams.realityQuality; // 工程材质
+                console.log('this.queryParams=',this.queryParams)
                 materialStatistics(this.queryParams).then(res=>{
                     this.tableData=res.data;
                     let seriesData = [];
+                    let names = [];
+                    let dataG = [];
+                    let dataGP = [];
+                    let dataPE = [];
+                    let dataPEP = [];
+
                     for (let item in res.data) {
-                        seriesData.push({
-                            name: res.data[item].realityQuality+'\n'+res.data[item].realitySpecifications,
-                            type: 'bar',
-                            stack: res.data[item].realityQuality,
-                            label:{
-                                show:true,
-                                formatter:'{a}\n{c}米'
-                            },
-                            data: [res.data[item].realitySize]
-                        },);
+                        names.push(res.data[item].enginName)
+                        dataG.push(res.data[item].actualityIron)
+                        dataGP.push(res.data[item].percentageIron.replace("%",""))
+                        dataPE.push(res.data[item].actualityPE)
+                        dataPEP.push(res.data[item].percentagePE.replace("%",""))
                     }
+                    const colors = ['#5470C6', '#91CC75', '#EE6666'];
                     let option = {
+                        color: colors,
+                        tooltip: {
+                            trigger: 'axis',
+                            axisPointer: {
+                                type: 'cross'
+                            }
+                        },
+                        grid: {
+                            left:'10%',
+                            right: '10%'
+                        },
+                        toolbox: {
+                            feature: {
+                                saveAsImage: { show: true }
+                            }
+                        },
+                        legend: {
+                            data: ['Evaporation', 'Precipitation', 'Temperature']
+                        },
                         xAxis: [
                             {
                                 type: 'category',
-                                data: ['A'],
-                                show:false,
+                                axisTick: {
+                                    alignWithLabel: true
+                                },
+                                // prettier-ignore
+                                // data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
+                                data: names
                             }
                         ],
                         yAxis: [
                             {
-                                type: 'value'
+                                type: 'value',
+                                name: '数量',
+                                position: 'right',
+                                alignTicks: true,
+                                axisLine: {
+                                    show: true,
+                                    lineStyle: {
+                                        color: colors[0]
+                                    }
+                                },
+                                axisLabel: {
+                                    formatter: '{value}'
+                                }
+                            },
+                            {
+                                type: 'value',
+                                name: '占比',
+                                position: 'left',
+                                alignTicks: true,
+                                axisLine: {
+                                    show: true,
+                                    lineStyle: {
+                                        color: colors[2]
+                                    }
+                                },
+                                axisLabel: {
+                                    formatter: '{value} %'
+                                }
                             }
                         ],
-                        series: seriesData
+                        series: [
+                            {
+                                name: '钢材实际用料',
+                                type: 'bar',
+                                // data: [
+                                //     2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
+                                // ]
+                                data: dataG
+                            },
+                            {
+                                name: '钢材用料占比',
+                                type: 'line',
+                                yAxisIndex: 1,
+                                // data: [
+                                //     20,10,50,60
+                                // ]
+                                data: dataGP,
+                            },
+                            {
+                                name: 'PE实际用料',
+                                type: 'bar',
+                                data: dataPE
+                            },
+                            {
+                                name: 'PE用料占比',
+                                type: 'line',
+                                yAxisIndex: 1,
+                                data: dataPEP                            }
+                        ]
                     };
 
                     var myChart = echarts.init(document.getElementById('zhuzhuangtu'));
@@ -412,6 +496,7 @@
             {
                 getEnginMaterialQualityList().then(res=>{
                     this.EnginMaterialQualityList=res.data
+                    this.getList();
                 })
             },
             getEnginSpecificationsList(materId)
@@ -447,6 +532,7 @@
                 this.AreaCompletionInformationList=[]
                 this.tableData=[]
                 //this.handleQuery();
+                this.getList();
             },
             getAreaList(district) {
                 if (district === undefined || district == null || district === '')

+ 160 - 74
src/views/zdsz/enginee/municipal/municipal_statistics/index.vue

@@ -10,29 +10,32 @@
         <!--        <div class="topContain">-->
         <div style="width: 100%;height: 100%;display: flex;">
             <el-form :model="queryParams" :rules="searchRules" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px" class="searchForm">
-                <el-form-item label="行政区" prop="district">
-                    <el-select v-model="queryParams.district" placeholder="请选择行政区" clearable
-                               @change="queryParams.areaId = undefined;getAreaList(queryParams.district)"
-                               @clear="queryParams.areaId = undefined;areaList=[];
-                   queryParams.buildingId = undefined;buildingList=[];
-                   queryParams.unitId = undefined;unitList=[]">
-                        <el-option
-                            v-for="dict in dict.type.district"
-                            :key="dict.value"
-                            :label="dict.label"
-                            :value="dict.value"
-                        />
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="小区名称" prop="areaId" label-width="80px">
-                    <el-select v-model="queryParams.areaId" filterable clearable placeholder="请选择小区">
-                        <el-option
-                            v-for="item in areaList"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="item.id">
-                        </el-option>
-                    </el-select>
+                <!--<el-form-item label="行政区" prop="district">-->
+                    <!--<el-select v-model="queryParams.district" placeholder="请选择行政区" clearable-->
+                               <!--@change="queryParams.areaId = undefined;getAreaList(queryParams.district)"-->
+                               <!--@clear="queryParams.areaId = undefined;areaList=[];-->
+                   <!--queryParams.buildingId = undefined;buildingList=[];-->
+                   <!--queryParams.unitId = undefined;unitList=[]">-->
+                        <!--<el-option-->
+                            <!--v-for="dict in dict.type.district"-->
+                            <!--:key="dict.value"-->
+                            <!--:label="dict.label"-->
+                            <!--:value="dict.value"-->
+                        <!--/>-->
+                    <!--</el-select>-->
+                <!--</el-form-item>-->
+                <!--<el-form-item label="小区名称" prop="areaId" label-width="80px">-->
+                    <!--<el-select v-model="queryParams.areaId" filterable clearable placeholder="请选择小区">-->
+                        <!--<el-option-->
+                            <!--v-for="item in areaList"-->
+                            <!--:key="item.id"-->
+                            <!--:label="item.name"-->
+                            <!--:value="item.id">-->
+                        <!--</el-option>-->
+                    <!--</el-select>-->
+                <!--</el-form-item>-->
+                <el-form-item label="工程名称" prop="enginName">
+                    <el-input v-model="queryParams.enginName" placeholder="请输入工程名称" clearable></el-input>
                 </el-form-item>
                 <el-form-item label="工程类型" prop="enginType">
                     <el-select v-model="queryParams.enginType" placeholder="请选择工程类型" clearable
@@ -82,17 +85,17 @@
                         ></el-option>
                     </el-select>
                 </el-form-item>
-                <el-form-item label="规格" prop="realitySpecifications"label-width="45px">
-                    <el-select v-model="queryParams.realitySpecifications" filterable clearable placeholder="请选择规格"
-                    >
-                        <el-option
-                            v-for="item in EnginSpecificationsList"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="item.id">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
+                <!--<el-form-item label="规格" prop="realitySpecifications"label-width="45px">-->
+                    <!--<el-select v-model="queryParams.realitySpecifications" filterable clearable placeholder="请选择规格"-->
+                    <!--&gt;-->
+                        <!--<el-option-->
+                            <!--v-for="item in EnginSpecificationsList"-->
+                            <!--:key="item.id"-->
+                            <!--:label="item.name"-->
+                            <!--:value="item.id">-->
+                        <!--</el-option>-->
+                    <!--</el-select>-->
+                <!--</el-form-item>-->
                 <!--                <el-form-item label="工程周期" prop="enginCycle" label-width="80px">-->
                 <!--                  <el-select v-model="queryParams.enginCycle" filterable clearable placeholder="请选择规格"-->
                 <!--                  >-->
@@ -119,6 +122,7 @@
 
         </div>
         <el-table
+            v-if="false"
             class="materialStatisticsTable"
             :data="AreaCompletionInformationList"
             style="width: 100%">
@@ -158,43 +162,42 @@
                 :data="tableData"
                 style="width: 100%">
                 <el-table-column
-                    prop="areaName"
-                    label="小区"
-                >
-                </el-table-column>
-                <el-table-column
-                    prop="enginType"
-                    label="工程类型">
+                    prop="enginName"
+                    label="工程名称">
                 </el-table-column>
+                <!--<el-table-column-->
+                <!--prop="enginType"-->
+                <!--label="工程类型">-->
+                <!--</el-table-column>-->
                 <el-table-column
                     prop="enginClassification"
                     label="工程分类">
                 </el-table-column>
-                <!--              <el-table-column-->
-                <!--                prop="nodeType"-->
-                <!--                label="工程步骤">-->
-                <!--              </el-table-column>-->
                 <el-table-column
-                    prop="realityQuality"
-                    label="材质"
-                >
+                    prop="actualityPE"
+                    label="PE实际用料">
                 </el-table-column>
                 <el-table-column
-                    prop="realitySpecifications"
-                    label="规格"
-                >
+                    prop="anticipationPE"
+                    label="PE预计用料">
                 </el-table-column>
                 <el-table-column
-                    prop="estimatedSize"
-                    label="预计用料">
+                    prop="percentagePE"
+                    label="PE用料占比">
                 </el-table-column>
                 <el-table-column
-                    prop="realitySize"
-                    label="实际用料">
+                    prop="actualityIron"
+                    label="钢材实际用料">
+                </el-table-column>
+                <el-table-column
+                    prop="anticipationIron"
+                    label="钢材预计用料">
+                </el-table-column>
+                <el-table-column
+                    prop="percentageIron"
+                    label="钢材用料占比">
                 </el-table-column>
-
             </el-table>
-
         </div>
         <div id="zhuzhuangtu" style="width: 100%;height: 75vh"></div>
     </div>
@@ -362,38 +365,119 @@
                 }
                 return longestLength;
             },
-            getList()
-            {
-
+            getList(){
+                this.queryParams.enginSort = this.queryParams.enginType; // 工程分类
+                this.queryParams.materialStatistics = this.queryParams.realityQuality; // 工程材质
+                console.log('this.queryParams=',this.queryParams)
                 materialStatistics(this.queryParams).then(res=>{
                     this.tableData=res.data;
                     let seriesData = [];
+                    let names = [];
+                    let dataG = [];
+                    let dataGP = [];
+                    let dataPE = [];
+                    let dataPEP = [];
+
                     for (let item in res.data) {
-                        seriesData.push({
-                            name: res.data[item].realityQuality+'\n'+res.data[item].realitySpecifications,
-                            type: 'bar',
-                            stack: res.data[item].realityQuality,
-                            label:{
-                                show:true,
-                                formatter:'{a}\n{c}米'
-                            },
-                            data: [res.data[item].realitySize]
-                        },);
+                        names.push(res.data[item].enginName)
+                        dataG.push(res.data[item].actualityIron)
+                        dataGP.push(res.data[item].percentageIron.replace("%",""))
+                        dataPE.push(res.data[item].actualityPE)
+                        dataPEP.push(res.data[item].percentagePE.replace("%",""))
                     }
+                    const colors = ['#5470C6', '#91CC75', '#EE6666'];
                     let option = {
+                        color: colors,
+                        tooltip: {
+                            trigger: 'axis',
+                            axisPointer: {
+                                type: 'cross'
+                            }
+                        },
+                        grid: {
+                            left:'10%',
+                            right: '10%'
+                        },
+                        toolbox: {
+                            feature: {
+                                saveAsImage: { show: true }
+                            }
+                        },
+                        legend: {
+                            data: ['Evaporation', 'Precipitation', 'Temperature']
+                        },
                         xAxis: [
                             {
                                 type: 'category',
-                                data: ['A'],
-                                show:false,
+                                axisTick: {
+                                    alignWithLabel: true
+                                },
+                                // prettier-ignore
+                                // data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
+                                data: names
                             }
                         ],
                         yAxis: [
                             {
-                                type: 'value'
+                                type: 'value',
+                                name: '数量',
+                                position: 'right',
+                                alignTicks: true,
+                                axisLine: {
+                                    show: true,
+                                    lineStyle: {
+                                        color: colors[0]
+                                    }
+                                },
+                                axisLabel: {
+                                    formatter: '{value}'
+                                }
+                            },
+                            {
+                                type: 'value',
+                                name: '占比',
+                                position: 'left',
+                                alignTicks: true,
+                                axisLine: {
+                                    show: true,
+                                    lineStyle: {
+                                        color: colors[2]
+                                    }
+                                },
+                                axisLabel: {
+                                    formatter: '{value} %'
+                                }
                             }
                         ],
-                        series: seriesData
+                        series: [
+                            {
+                                name: '钢材实际用料',
+                                type: 'bar',
+                                // data: [
+                                //     2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
+                                // ]
+                                data: dataG
+                            },
+                            {
+                                name: '钢材用料占比',
+                                type: 'line',
+                                yAxisIndex: 1,
+                                // data: [
+                                //     20,10,50,60
+                                // ]
+                                data: dataGP,
+                            },
+                            {
+                                name: 'PE实际用料',
+                                type: 'bar',
+                                data: dataPE
+                            },
+                            {
+                                name: 'PE用料占比',
+                                type: 'line',
+                                yAxisIndex: 1,
+                                data: dataPEP                            }
+                        ]
                     };
 
                     var myChart = echarts.init(document.getElementById('zhuzhuangtu'));
@@ -412,6 +496,7 @@
             {
                 getEnginMaterialQualityList().then(res=>{
                     this.EnginMaterialQualityList=res.data
+                    this.getList();
                 })
             },
             getEnginSpecificationsList(materId)
@@ -447,6 +532,7 @@
                 this.AreaCompletionInformationList=[]
                 this.tableData=[]
                 //this.handleQuery();
+                this.getList();
             },
             getAreaList(district) {
                 if (district === undefined || district == null || district === '')

+ 160 - 74
src/views/zdsz/enginee/pipeJacking/pipeJacking_statistics/index.vue

@@ -10,29 +10,32 @@
         <!--        <div class="topContain">-->
         <div style="width: 100%;height: 100%;display: flex;">
             <el-form :model="queryParams" :rules="searchRules" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px" class="searchForm">
-                <el-form-item label="行政区" prop="district">
-                    <el-select v-model="queryParams.district" placeholder="请选择行政区" clearable
-                               @change="queryParams.areaId = undefined;getAreaList(queryParams.district)"
-                               @clear="queryParams.areaId = undefined;areaList=[];
-                   queryParams.buildingId = undefined;buildingList=[];
-                   queryParams.unitId = undefined;unitList=[]">
-                        <el-option
-                            v-for="dict in dict.type.district"
-                            :key="dict.value"
-                            :label="dict.label"
-                            :value="dict.value"
-                        />
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="小区名称" prop="areaId" label-width="80px">
-                    <el-select v-model="queryParams.areaId" filterable clearable placeholder="请选择小区">
-                        <el-option
-                            v-for="item in areaList"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="item.id">
-                        </el-option>
-                    </el-select>
+                <!--<el-form-item label="行政区" prop="district">-->
+                    <!--<el-select v-model="queryParams.district" placeholder="请选择行政区" clearable-->
+                               <!--@change="queryParams.areaId = undefined;getAreaList(queryParams.district)"-->
+                               <!--@clear="queryParams.areaId = undefined;areaList=[];-->
+                   <!--queryParams.buildingId = undefined;buildingList=[];-->
+                   <!--queryParams.unitId = undefined;unitList=[]">-->
+                        <!--<el-option-->
+                            <!--v-for="dict in dict.type.district"-->
+                            <!--:key="dict.value"-->
+                            <!--:label="dict.label"-->
+                            <!--:value="dict.value"-->
+                        <!--/>-->
+                    <!--</el-select>-->
+                <!--</el-form-item>-->
+                <!--<el-form-item label="小区名称" prop="areaId" label-width="80px">-->
+                    <!--<el-select v-model="queryParams.areaId" filterable clearable placeholder="请选择小区">-->
+                        <!--<el-option-->
+                            <!--v-for="item in areaList"-->
+                            <!--:key="item.id"-->
+                            <!--:label="item.name"-->
+                            <!--:value="item.id">-->
+                        <!--</el-option>-->
+                    <!--</el-select>-->
+                <!--</el-form-item>-->
+                <el-form-item label="工程名称" prop="enginName">
+                    <el-input v-model="queryParams.enginName" placeholder="请输入工程名称" clearable></el-input>
                 </el-form-item>
                 <!--<el-form-item label="工程类型" prop="enginType">-->
                     <!--<el-select v-model="queryParams.enginType" placeholder="请选择工程类型" clearable-->
@@ -82,17 +85,17 @@
                         ></el-option>
                     </el-select>
                 </el-form-item>
-                <el-form-item label="规格" prop="realitySpecifications"label-width="45px">
-                    <el-select v-model="queryParams.realitySpecifications" filterable clearable placeholder="请选择规格"
-                    >
-                        <el-option
-                            v-for="item in EnginSpecificationsList"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="item.id">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
+                <!--<el-form-item label="规格" prop="realitySpecifications"label-width="45px">-->
+                    <!--<el-select v-model="queryParams.realitySpecifications" filterable clearable placeholder="请选择规格"-->
+                    <!--&gt;-->
+                        <!--<el-option-->
+                            <!--v-for="item in EnginSpecificationsList"-->
+                            <!--:key="item.id"-->
+                            <!--:label="item.name"-->
+                            <!--:value="item.id">-->
+                        <!--</el-option>-->
+                    <!--</el-select>-->
+                <!--</el-form-item>-->
                 <!--                <el-form-item label="工程周期" prop="enginCycle" label-width="80px">-->
                 <!--                  <el-select v-model="queryParams.enginCycle" filterable clearable placeholder="请选择规格"-->
                 <!--                  >-->
@@ -119,6 +122,7 @@
 
         </div>
         <el-table
+            v-if="false"
             class="materialStatisticsTable"
             :data="AreaCompletionInformationList"
             style="width: 100%">
@@ -158,43 +162,42 @@
                 :data="tableData"
                 style="width: 100%">
                 <el-table-column
-                    prop="areaName"
-                    label="小区"
-                >
-                </el-table-column>
-                <el-table-column
-                    prop="enginType"
-                    label="工程类型">
+                    prop="enginName"
+                    label="工程名称">
                 </el-table-column>
+                <!--<el-table-column-->
+                <!--prop="enginType"-->
+                <!--label="工程类型">-->
+                <!--</el-table-column>-->
                 <el-table-column
                     prop="enginClassification"
                     label="工程分类">
                 </el-table-column>
-                <!--              <el-table-column-->
-                <!--                prop="nodeType"-->
-                <!--                label="工程步骤">-->
-                <!--              </el-table-column>-->
                 <el-table-column
-                    prop="realityQuality"
-                    label="材质"
-                >
+                    prop="actualityPE"
+                    label="PE实际用料">
                 </el-table-column>
                 <el-table-column
-                    prop="realitySpecifications"
-                    label="规格"
-                >
+                    prop="anticipationPE"
+                    label="PE预计用料">
                 </el-table-column>
                 <el-table-column
-                    prop="estimatedSize"
-                    label="预计用料">
+                    prop="percentagePE"
+                    label="PE用料占比">
                 </el-table-column>
                 <el-table-column
-                    prop="realitySize"
-                    label="实际用料">
+                    prop="actualityIron"
+                    label="钢材实际用料">
+                </el-table-column>
+                <el-table-column
+                    prop="anticipationIron"
+                    label="钢材预计用料">
+                </el-table-column>
+                <el-table-column
+                    prop="percentageIron"
+                    label="钢材用料占比">
                 </el-table-column>
-
             </el-table>
-
         </div>
         <div id="zhuzhuangtu" style="width: 100%;height: 75vh"></div>
     </div>
@@ -362,38 +365,119 @@
                 }
                 return longestLength;
             },
-            getList()
-            {
-
+            getList(){
+                this.queryParams.enginSort = this.queryParams.enginClassification; // 工程分类
+                this.queryParams.materialStatistics = this.queryParams.realityQuality; // 工程材质
+                console.log('this.queryParams=',this.queryParams)
                 materialStatistics(this.queryParams).then(res=>{
                     this.tableData=res.data;
                     let seriesData = [];
+                    let names = [];
+                    let dataG = [];
+                    let dataGP = [];
+                    let dataPE = [];
+                    let dataPEP = [];
+
                     for (let item in res.data) {
-                        seriesData.push({
-                            name: res.data[item].realityQuality+'\n'+res.data[item].realitySpecifications,
-                            type: 'bar',
-                            stack: res.data[item].realityQuality,
-                            label:{
-                                show:true,
-                                formatter:'{a}\n{c}米'
-                            },
-                            data: [res.data[item].realitySize]
-                        },);
+                        names.push(res.data[item].enginName)
+                        dataG.push(res.data[item].actualityIron)
+                        dataGP.push(res.data[item].percentageIron.replace("%",""))
+                        dataPE.push(res.data[item].actualityPE)
+                        dataPEP.push(res.data[item].percentagePE.replace("%",""))
                     }
+                    const colors = ['#5470C6', '#91CC75', '#EE6666'];
                     let option = {
+                        color: colors,
+                        tooltip: {
+                            trigger: 'axis',
+                            axisPointer: {
+                                type: 'cross'
+                            }
+                        },
+                        grid: {
+                            left:'10%',
+                            right: '10%'
+                        },
+                        toolbox: {
+                            feature: {
+                                saveAsImage: { show: true }
+                            }
+                        },
+                        legend: {
+                            data: ['Evaporation', 'Precipitation', 'Temperature']
+                        },
                         xAxis: [
                             {
                                 type: 'category',
-                                data: ['A'],
-                                show:false,
+                                axisTick: {
+                                    alignWithLabel: true
+                                },
+                                // prettier-ignore
+                                // data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
+                                data: names
                             }
                         ],
                         yAxis: [
                             {
-                                type: 'value'
+                                type: 'value',
+                                name: '数量',
+                                position: 'right',
+                                alignTicks: true,
+                                axisLine: {
+                                    show: true,
+                                    lineStyle: {
+                                        color: colors[0]
+                                    }
+                                },
+                                axisLabel: {
+                                    formatter: '{value}'
+                                }
+                            },
+                            {
+                                type: 'value',
+                                name: '占比',
+                                position: 'left',
+                                alignTicks: true,
+                                axisLine: {
+                                    show: true,
+                                    lineStyle: {
+                                        color: colors[2]
+                                    }
+                                },
+                                axisLabel: {
+                                    formatter: '{value} %'
+                                }
                             }
                         ],
-                        series: seriesData
+                        series: [
+                            {
+                                name: '钢材实际用料',
+                                type: 'bar',
+                                // data: [
+                                //     2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
+                                // ]
+                                data: dataG
+                            },
+                            {
+                                name: '钢材用料占比',
+                                type: 'line',
+                                yAxisIndex: 1,
+                                // data: [
+                                //     20,10,50,60
+                                // ]
+                                data: dataGP,
+                            },
+                            {
+                                name: 'PE实际用料',
+                                type: 'bar',
+                                data: dataPE
+                            },
+                            {
+                                name: 'PE用料占比',
+                                type: 'line',
+                                yAxisIndex: 1,
+                                data: dataPEP                            }
+                        ]
                     };
 
                     var myChart = echarts.init(document.getElementById('zhuzhuangtu'));
@@ -412,6 +496,7 @@
             {
                 getEnginMaterialQualityList().then(res=>{
                     this.EnginMaterialQualityList=res.data
+                    this.getList();
                 })
             },
             getEnginSpecificationsList(materId)
@@ -447,6 +532,7 @@
                 this.AreaCompletionInformationList=[]
                 this.tableData=[]
                 //this.handleQuery();
+                this.getList();
             },
             getAreaList(district) {
                 if (district === undefined || district == null || district === '')