From e3b8cafdac2ada22a541eb73b7621d452de1c417 Mon Sep 17 00:00:00 2001
From: weicw <594098497@qq.com>
Date: Sun, 24 Oct 2021 17:00:41 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E8=B7=B3=E8=BD=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/ecology/atmosphere/air-api-relate.js | 10 +-
.../atmosphere/air-evaluation-standard.js | 11 +-
.../ecology/atmosphere/air-indicator-iaqi.js | 11 +-
src/api/ecology/atmosphere/air-plcae.js | 11 +-
src/api/ecology/noise/function-noise-place.js | 8 +-
src/api/ecology/noise/road-noise-place.js | 8 +-
src/api/ecology/noise/zone-noise-place.js | 7 +-
src/api/ecology/special-lake.js | 9 +-
.../packages/ele-pro-table/src/main.vue | 1 +
.../atmosphere/acid-rain/collect/colums.js | 2 +-
.../atmosphere/acid-rain/collect/utils.js | 1 +
.../atmosphere/acid-rain/statistic/base.vue | 745 +++++++++---------
.../atmosphere/acid-rain/statistic/city.vue | 82 +-
.../atmosphere/acid-rain/statistic/colums.js | 18 +
.../atmosphere/acid-rain/statistic/county.vue | 73 +-
.../atmosphere/acid-rain/statistic/ion.vue | 73 +-
src/views/atmosphere/air/collect/air-bill.vue | 34 +-
src/views/atmosphere/air/collect/air.vue | 8 +-
src/views/atmosphere/air/collect/index.vue | 137 ++--
src/views/atmosphere/air/collect/utils.js | 15 +-
src/views/atmosphere/air/dict/api-relate.vue | 133 +++-
.../air/dict/evaluation-standard.vue | 129 ++-
.../atmosphere/air/dict/indicator-iaqi.vue | 125 ++-
src/views/atmosphere/air/dict/place-bill.vue | 234 ------
src/views/atmosphere/air/dict/place.vue | 126 ++-
.../atmosphere/air/statistic/area-base.vue | 246 +++---
.../air/statistic/city-county-place.vue | 46 +-
src/views/sound/function/dict/place.vue | 197 +++--
src/views/sound/road/dict/place.vue | 256 +++---
src/views/sound/zone/dict/place.vue | 227 +++---
src/views/water/lake/collect/colums.js | 108 ++-
src/views/water/lake/collect/index.vue | 618 ++++++++-------
src/views/water/lake/collect/special-bill.vue | 6 -
.../water/lake/collect/special-water.vue | 6 +-
src/views/water/lake/collect/utils.js | 246 +++---
src/views/water/lake/collect/water-bill.vue | 6 -
src/views/water/lake/collect/water.vue | 6 +-
src/views/water/lake/statistic/average.vue | 213 -----
src/views/water/lake/statistic/base.vue | 476 -----------
src/views/water/lake/statistic/index.vue | 49 +-
src/views/water/lake/statistic/inner-lake.vue | 158 ++++
src/views/water/lake/statistic/source.vue | 195 -----
.../water/lake/statistic/special-avg.vue | 201 +++++
.../water/lake/statistic/special-lake.vue | 333 ++++++++
src/views/water/lake/statistic/year.vue | 224 ------
45 files changed, 2856 insertions(+), 2972 deletions(-)
create mode 100644 src/views/atmosphere/acid-rain/statistic/colums.js
delete mode 100644 src/views/atmosphere/air/dict/place-bill.vue
delete mode 100644 src/views/water/lake/statistic/average.vue
delete mode 100644 src/views/water/lake/statistic/base.vue
create mode 100644 src/views/water/lake/statistic/inner-lake.vue
delete mode 100644 src/views/water/lake/statistic/source.vue
create mode 100644 src/views/water/lake/statistic/special-avg.vue
create mode 100644 src/views/water/lake/statistic/special-lake.vue
delete mode 100644 src/views/water/lake/statistic/year.vue
diff --git a/src/api/ecology/atmosphere/air-api-relate.js b/src/api/ecology/atmosphere/air-api-relate.js
index a8a9847..cf2bc3d 100644
--- a/src/api/ecology/atmosphere/air-api-relate.js
+++ b/src/api/ecology/atmosphere/air-api-relate.js
@@ -21,12 +21,20 @@ const updateAqiRelate = function (data) {
return axios.put("/ambientAir/airAqiRelateInfoDict",data)
}
+const copyBatchPlace = function (data){
+ return axios.post("/ambientAir/airAqiRelateInfoDict/copyBatch",data)
+}
+const getColumnOptions = function(column){
+ return axios.get("/ambientAir/airAqiRelateInfoDict/options",{params:{column}})
+}
export {
listAllUrl,
saveAqiRelate,
updateAqiRelate,
removeBatchAqiRelate,
- removeAqiRelate
+ removeAqiRelate,
+ copyBatchPlace,
+ getColumnOptions
}
diff --git a/src/api/ecology/atmosphere/air-evaluation-standard.js b/src/api/ecology/atmosphere/air-evaluation-standard.js
index 9134f31..318decd 100644
--- a/src/api/ecology/atmosphere/air-evaluation-standard.js
+++ b/src/api/ecology/atmosphere/air-evaluation-standard.js
@@ -20,13 +20,20 @@ const removeBatchStandard = function (ids) {
const updateStandard = function (data) {
return axios.put("/ambientAir/airEvaluationStandard",data)
}
-
+const copyBatchPlace = function (data){
+ return axios.post("/ambientAir/airEvaluationStandard/copyBatch",data)
+}
+const getColumnOptions = function(column){
+ return axios.get("/ambientAir/airEvaluationStandard/options",{params:{column}})
+}
export {
listAllUrl,
saveStandard,
updateStandard,
removeBatchStandard,
- removeStandard
+ removeStandard,
+ copyBatchPlace,
+ getColumnOptions
}
diff --git a/src/api/ecology/atmosphere/air-indicator-iaqi.js b/src/api/ecology/atmosphere/air-indicator-iaqi.js
index 356eb3f..a0e00da 100644
--- a/src/api/ecology/atmosphere/air-indicator-iaqi.js
+++ b/src/api/ecology/atmosphere/air-indicator-iaqi.js
@@ -21,12 +21,19 @@ const updateIndicatorIaqi = function (data) {
return axios.put("/ambientAir/airIndicatorIaqiDict",data)
}
-
+const copyBatchPlace = function (data){
+ return axios.post("/ambientAir/airIndicatorIaqiDict/copyBatch",data)
+}
+const getColumnOptions = function(column){
+ return axios.get("/ambientAir/airIndicatorIaqiDict/options",{params:{column}})
+}
export {
listAllUrl,
saveIndicatorIaqi,
updateIndicatorIaqi,
removeBatchIndicatorIaqi,
- removeIndicatorIaqi
+ removeIndicatorIaqi,
+ copyBatchPlace,
+ getColumnOptions
}
diff --git a/src/api/ecology/atmosphere/air-plcae.js b/src/api/ecology/atmosphere/air-plcae.js
index eeccf92..a9a7ae7 100644
--- a/src/api/ecology/atmosphere/air-plcae.js
+++ b/src/api/ecology/atmosphere/air-plcae.js
@@ -21,12 +21,19 @@ const updatePlace = function (data) {
return axios.put("/ambientAir/airPlaceBasicInfoDict",data)
}
-
+const copyBatchPlace = function (data){
+ return axios.post("/ambientAir/airPlaceBasicInfoDict/copyBatch",data)
+}
+const getColumnOptions = function(column){
+ return axios.get("/ambientAir/airPlaceBasicInfoDict/options",{params:{column}})
+}
export {
listAllUrl,
savePlace,
updatePlace,
removeBatchPlace,
- removePlace
+ removePlace,
+ copyBatchPlace,
+ getColumnOptions
}
diff --git a/src/api/ecology/noise/function-noise-place.js b/src/api/ecology/noise/function-noise-place.js
index 3bdc337..b849937 100644
--- a/src/api/ecology/noise/function-noise-place.js
+++ b/src/api/ecology/noise/function-noise-place.js
@@ -6,7 +6,10 @@ const listAllUrl = baseUri + "";
const savePlace = function (data) {
return axios.post("/sound/function/place",data)
}
-
+// 批量添加
+const savePlaceBatch = function (data) {
+ return axios.post("/sound/function/place/batch",data)
+}
// 删除
const removePlace = function (id) {
return axios.delete(`/sound/function/place/${id}`,)
@@ -36,5 +39,6 @@ export {
removeBatchPlace,
removePlace,
getColumnOptions,
- copyBatchPlace
+ copyBatchPlace,
+ savePlaceBatch
}
diff --git a/src/api/ecology/noise/road-noise-place.js b/src/api/ecology/noise/road-noise-place.js
index 35e073b..594f91a 100644
--- a/src/api/ecology/noise/road-noise-place.js
+++ b/src/api/ecology/noise/road-noise-place.js
@@ -6,7 +6,10 @@ const listAllUrl = baseUri + "";
const savePlace = function (data) {
return axios.post("/sound/road/place",data)
}
-
+// 批量添加
+const savePlaceBatch = function (data) {
+ return axios.post("/sound/road/place/batch",data)
+}
// 删除
const removePlace = function (id) {
return axios.delete(`/sound/road/place/${id}`,)
@@ -33,6 +36,7 @@ export {
removeBatchPlace,
removePlace,
getColumnOptions,
- copyBatchPlace
+ copyBatchPlace,
+ savePlaceBatch
}
diff --git a/src/api/ecology/noise/zone-noise-place.js b/src/api/ecology/noise/zone-noise-place.js
index ccfab35..af2067c 100644
--- a/src/api/ecology/noise/zone-noise-place.js
+++ b/src/api/ecology/noise/zone-noise-place.js
@@ -6,6 +6,10 @@ const listAllUrl = baseUri + "";
const savePlace = function (data) {
return axios.post("/sound/zone/place",data)
}
+// 批量添加
+const savePlaceBatch = function (data) {
+ return axios.post("/sound/zone/place/batch",data)
+}
// 删除
const removePlace = function (id) {
@@ -36,6 +40,7 @@ export {
removeBatchPlace,
removePlace,
copyBatchPlace,
- getColumnOptions
+ getColumnOptions,
+ savePlaceBatch
}
diff --git a/src/api/ecology/special-lake.js b/src/api/ecology/special-lake.js
index 000898a..e6b02fb 100644
--- a/src/api/ecology/special-lake.js
+++ b/src/api/ecology/special-lake.js
@@ -48,9 +48,7 @@ const updateLake = function (data) {
}
// -------------------------统计---------------------
-const pageLakeStatisticUrl = '/lakeLibrary/lakeLibrarySpecial/statistic';
-const statisticSourceUrl = '/lakeLibrary/lakeLibrarySpecial/statistic/source';
-const statisticYearUrl = '/lakeLibrary/lakeLibrarySpecial/statistic/year';
+const avgUrl = '/lakeLibrary/lakeLibrarySpecial/specialExcel';
const getHistoryyears = function () {
return axios.get("/lakeLibrary/lakeLibrarySpecial/history-year")
}
@@ -71,10 +69,9 @@ export {
removeLake,
updateLake,
removeBatchLake,
- pageLakeStatisticUrl,
+ avgUrl,
getHistoryyears,
getColumnOptions,
- statisticSourceUrl,
- statisticYearUrl
+
}
diff --git a/src/components/ele-admin-pro/packages/ele-pro-table/src/main.vue b/src/components/ele-admin-pro/packages/ele-pro-table/src/main.vue
index f2a868d..77469a9 100644
--- a/src/components/ele-admin-pro/packages/ele-pro-table/src/main.vue
+++ b/src/components/ele-admin-pro/packages/ele-pro-table/src/main.vue
@@ -615,6 +615,7 @@ export default {
}).then(res => {
this.isLoading = false;
const result = this.getResponseResult(res.data);
+ console.log(result)
if (result.code === 0) {
// 自动修正页码
if (this.autoAmendPage && this.needPage && result.data && !result.data.length && result.count) {
diff --git a/src/views/atmosphere/acid-rain/collect/colums.js b/src/views/atmosphere/acid-rain/collect/colums.js
index 3fa95f6..7d9bc89 100644
--- a/src/views/atmosphere/acid-rain/collect/colums.js
+++ b/src/views/atmosphere/acid-rain/collect/colums.js
@@ -11,7 +11,7 @@ const tableColumns = [
{title: "钠离子",dataIndex: "na",sorter: true,},
{title: "铵根离子",dataIndex: "ammoniumRadical",sorter: true,},
{title: "钾离子",dataIndex: "k",sorter: true,},
- {title: "镁离子",dataIndex: "ng",sorter: true,},
+ {title: "镁离子",dataIndex: "mg",sorter: true,},
{title: "钙离子",dataIndex: "ca",sorter: true,},
{title: "备注",dataIndex: "remark",sorter: true,},
];
diff --git a/src/views/atmosphere/acid-rain/collect/utils.js b/src/views/atmosphere/acid-rain/collect/utils.js
index 7da0b86..0de4971 100644
--- a/src/views/atmosphere/acid-rain/collect/utils.js
+++ b/src/views/atmosphere/acid-rain/collect/utils.js
@@ -16,6 +16,7 @@ export default {
const row = {
city: "南宁市",
place: dict.find(p=>p.placeCode = item[0].split("~")[0]).place,
+ placeType:dict.find(p=>p.placeCode = item[0].split("~")[0]).attribute,
code: item[0],
precipitationType:item[10],
precipitation:item[11],
diff --git a/src/views/atmosphere/acid-rain/statistic/base.vue b/src/views/atmosphere/acid-rain/statistic/base.vue
index d6375fb..9a74bc2 100644
--- a/src/views/atmosphere/acid-rain/statistic/base.vue
+++ b/src/views/atmosphere/acid-rain/statistic/base.vue
@@ -1,388 +1,391 @@
-
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
- 查询
- 重置
- 导出Excel
-
-
-
-
-
-
- (data = d.data)"
- >
-
- {{record.area?record.area:record.county?record.county:record.city}}
-
-
-
-
-
+
+
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+ 查询
+ 重置
+ 导出Excel
+
+
+
+
+
+
+ (data = d.data)"
+ >
+
+ {{ record.area ? record.area : record.county ? record.county : record.city }}
+
+
+
+
+
diff --git a/src/views/atmosphere/acid-rain/statistic/city.vue b/src/views/atmosphere/acid-rain/statistic/city.vue
index 3008404..0deaf24 100644
--- a/src/views/atmosphere/acid-rain/statistic/city.vue
+++ b/src/views/atmosphere/acid-rain/statistic/city.vue
@@ -2,40 +2,18 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 查询
- 重置
- 导出Excel
-
-
-
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+ 导出Excel
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 查询
- 重置
- 导出Excel
-
-
-
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+ 导出Excel
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 查询
- 重置
- 导出Excel
-
-
-
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+ 导出Excel
+
+
+
+
市
@@ -25,9 +28,6 @@
-
-
-
@@ -57,18 +57,9 @@
-
+
-
-
- {{ $util.toDateString(text, 'yyyy-MM') || ' ' }}
-
-
+ {{ $util.toDateString(text, 'yyyy') || ' ' }}
@@ -154,12 +145,12 @@ export default {
title: '区域等级',
dataIndex: 'regionLevel',
sorter: true,
- customRender:({text})=>{
- if(text == "place"){
+ customRender: ({text}) => {
+ if (text == "place") {
return "站点"
- }else if(text == "city"){
+ } else if (text == "city") {
return "市"
- }else if(text == "county"){
+ } else if (text == "county") {
return "县"
}
}
@@ -176,7 +167,7 @@ export default {
// sorter: true
// },
{
- title: '上报时间',
+ title: '年份',
dataIndex: 'reportTime',
sorter: true,
slots: {
@@ -228,7 +219,10 @@ export default {
}
],
// 表格搜索条件
- where: {},
+ where: {
+ sort: "createTime",
+ order: "desc"
+ },
reportTimeScope: [],
// 表格选中数据
selectionList: [],
diff --git a/src/views/atmosphere/air/collect/air.vue b/src/views/atmosphere/air/collect/air.vue
index 9abfd43..3bef17e 100644
--- a/src/views/atmosphere/air/collect/air.vue
+++ b/src/views/atmosphere/air/collect/air.vue
@@ -356,11 +356,11 @@ export default {
},
],
// 表格搜索条件
- airBillId: billId,
+ ambientAirBillId: billId,
palceOptions: [],
areaOptions: [],
where: {
- airBillId: billId,
+ ambientAirBillId: billId,
},
// 表格选中数据
selectionList: [],
@@ -412,7 +412,7 @@ export default {
/* 重置搜索 */
reset() {
this.where = {
- airBillId: this.airBillId,
+ ambientAirBillId: this.ambientAirBillId,
};
this.reload();
},
@@ -467,7 +467,7 @@ export default {
hide();
});
} else {
- form.airBillId = this.airBillId;
+ form.ambientAirBillId = this.ambientAirBillId;
saveAir(form)
.then((res) => {
if (res.data.code == 0) {
diff --git a/src/views/atmosphere/air/collect/index.vue b/src/views/atmosphere/air/collect/index.vue
index e83a002..701622e 100644
--- a/src/views/atmosphere/air/collect/index.vue
+++ b/src/views/atmosphere/air/collect/index.vue
@@ -3,14 +3,24 @@
-
+
+
+ 市
+ 县
+ 站点
+
- 数据导入
+ 数据导入
+ 模板下载
@@ -30,6 +40,7 @@ import {Modal} from "ant-design-vue";
import AirBill from "./air-bill.vue";
import {saveAirBill} from "@/api/ecology/air";
import moment from "moment";
+
export default {
name: "AirCollectIndex",
components: {
@@ -38,7 +49,9 @@ export default {
data() {
return {
activeKey: "",
- time: moment()
+ regionLevel: "city",
+ time: moment(),
+ year: new Date().getFullYear()
};
},
methods: {
@@ -54,44 +67,36 @@ export default {
type: "array",
cellDates: true
});
- //0.昼间数据 1.夜间数据 2.其他信息
let sheetNames = workbook.SheetNames;
// 解析成二维数组
let aoa = XLSX.utils.sheet_to_json(workbook.Sheets[sheetNames[0]], {
header: 1,
+ defval: ""
});
- let aoa2 = XLSX.utils.sheet_to_json(workbook.Sheets[sheetNames[1]], {
- header: 1,
- });
- let aoa3 = XLSX.utils.sheet_to_json(workbook.Sheets[sheetNames[2]], {
- header: 1,
- });
-
- const airList1 = aoa.filter(
- (item) => {
- return item.length >= 10 && item[0] != "城市"
+ console.log(aoa.length)
+ const airList = aoa.filter((item) => {
+ if (this.regionLevel == "city") {
+ return item.length >= 10&& item[0]&& item[0] != "城市";
+ } else if (this.regionLevel == "county") {
+ return item.length >= 10&& item[0] && item[0] != "测点名称";
+ } else {
+ return item.length >= 10&& item[0] && item[0] != "城市"
+ }
}
);
- const airList2 = aoa2.filter(
- (item) => item.length >= 10 && item[0] != "城市"
- );
- const airList3 = aoa3.filter(
- (item) => item.length >= 10 && item[0] != "测点名称"
- );
-
-
+ console.log(airList.length)
+ const billName = file.name;
+ let billData = undefined;
+ if (this.regionLevel == "city") {
+ billData = utils.toCityObjData(airList)
+ } else if (this.regionLevel == "county") {
+ billData = utils.toCountyObjData(airList)
+ } else {
+ billData = utils.toPlaceObjData(airList)
+ }
+ console.log(billData.length)
// 解析成对象数组
- const billName1 = file.name + sheetNames[0];
- const billData1 = utils.toStationObjData(airList1);
- const billName2 = file.name + sheetNames[1];
- const billData2 = utils.toCityObjData(airList2);
- const billName3 = file.name + sheetNames[2];
- const billData3 = utils.toAreaObjData(airList3);
- if (
- (!billData1 || billData1.length == 0) &&
- (!billData2 || billData2.length == 0) &&
- (!billData3 || billData3.length == 0)
- ) {
+ if (!billData || billData.length == 0) {
hide()
Modal.error({
title: "导入失败",
@@ -99,53 +104,29 @@ export default {
});
return;
}
-
- const tasks = [];
- if (billData1.length > 0) {
- tasks.push(
- saveAirBill({
- billName: billName1,
- regionLevel: "place",
- ambientAirList: billData1,
- importYearMonth: this.time.format("YYYY-MM"),
- reportTime:this.time.valueOf()
- })
- );
- }
- if (billData2.length > 0) {
- tasks.push(
- saveAirBill({
- billName: billName2,
- regionLevel: "city",
- ambientAirList: billData2,
- importYearMonth: this.time.format("YYYY-MM"),
- reportTime:this.time.valueOf()
- })
- );
- }
- if (billData3.length > 0) {
- tasks.push(
- saveAirBill({
- billName: billName3,
- regionLevel: "county",
- ambientAirList: billData3,
- importYearMonth: this.time.format("YYYY-MM"),
- reportTime:this.time.valueOf()
-
- })
- );
- }
-
- // 上传到服务器
-
- Promise.all(tasks)
- .then(() => {
+ saveAirBill({
+ billName: billName,
+ regionLevel: this.regionLevel,
+ ambientAirList: billData,
+ reportTime: new Date(`${this.year}-01-01 00:00:00`).getTime()
+ }).then((res) => {
+ if (res.data.code == 0) {
Modal.success({
title: "导入成功",
- content: `成功导入${billData1.length + billData2.length + billData3.length}条数据`,
+ content: `成功导入${billData.length}条数据`,
});
this.$refs.air && this.$refs.air.reload();
- })
+ this.$router.replace({
+ path: "/atmosphere/air/collect/air/" + res.data.data.ambientAirBillId
+ })
+ } else {
+ Modal.error({
+ title: "导入失败",
+ content: "数据上传出错",
+ });
+ }
+
+ })
.catch(() => {
Modal.error({
title: "导入失败",
@@ -154,7 +135,9 @@ export default {
})
.finally(() => {
hide();
- });
+ })
+
+ // 上传到服务器
} catch (error) {
hide();
Modal.error({
diff --git a/src/views/atmosphere/air/collect/utils.js b/src/views/atmosphere/air/collect/utils.js
index ef33aac..ebb76b1 100644
--- a/src/views/atmosphere/air/collect/utils.js
+++ b/src/views/atmosphere/air/collect/utils.js
@@ -2,10 +2,9 @@ import moment from "moment";
export default {
toCityObjData(excelData) {
const result = excelData.map(item => {
- console.log(item[1]);
const row = {
city: item[0],
- monitorTime: moment(item[1]).format("YYYY/MM/DD HH:mm:ss"),
+ monitorTime: moment(item[1]).valueOf(),
so2: Number(item[2]) || null,
no2: Number(item[3]) || null,
pm10: Number(item[4]) || null,
@@ -23,14 +22,16 @@ export default {
})
return result;
},
- toAreaObjData(excelData) {
+ toCountyObjData(excelData) {
const result = excelData.map(item => {
const place = item[0];
const county = place.substr(0,place.indexOf("县") + 1);
+ const area = place.substr(0,place.indexOf("区") + 1);
const row = {
place,
county,
- monitorTime: moment(item[1]).format("YYYY/MM/DD HH:mm:ss"),
+ area,
+ monitorTime: moment(item[1]).valueOf(),
airQualityStatus: item[2],
aqiLevel: item[3],
aqi: Number(item[4]) || null,
@@ -38,7 +39,7 @@ export default {
so2: Number(item[6]) || null,
no2: Number(item[7]) || null,
pm10: Number(item[8]) || null,
- c0: Number(item[9]) || null,
+ co: Number(item[9]) || null,
o3: Number(item[10]) || null,
pm25: Number(item[11]) || null,
remark: item[12]
@@ -47,7 +48,7 @@ export default {
})
return result;
},
- toStationObjData(excelData) {
+ toPlaceObjData(excelData) {
const result = excelData.map(item => {
const place = item[1];
// const county = place.substr(0,place.indexOf("县"))
@@ -55,7 +56,7 @@ export default {
city: item[0],
// county,
place,
- monitorTime: moment(item[2]).format("YYYY/MM/DD HH:mm:ss"),
+ monitorTime: moment(item[2]).valueOf(),
so2: Number(item[3]) || null,
no2: Number(item[5]) || null,
pm10: Number(item[7]) || null,
diff --git a/src/views/atmosphere/air/dict/api-relate.vue b/src/views/atmosphere/air/dict/api-relate.vue
index ad00f8e..4192a87 100644
--- a/src/views/atmosphere/air/dict/api-relate.vue
+++ b/src/views/atmosphere/air/dict/api-relate.vue
@@ -1,6 +1,52 @@
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -50,10 +99,24 @@
:columns="columns"
:where="where"
:scroll="{ x: 'max-content' }"
+ @done="(d) => (data = d.data)"
>
新增
+
+
+
+
+ {{ item.label }}
+
+
+
+
+ 批量复制
+
+
+
删除
+ 导出
@@ -105,12 +169,16 @@ import {
saveAqiRelate,
updateAqiRelate,
removeAqiRelate,
- removeBatchAqiRelate
+ removeBatchAqiRelate,
+ copyBatchPlace,
+ getColumnOptions
} from "@/api/ecology/atmosphere/air-api-relate";
+import {DownOutlined} from '@ant-design/icons-vue';
+import XLSX from "xlsx";
// import moment from "moment";
export default {
name: "AirAqiRelate",
- components: {},
+ components: {DownOutlined},
data() {
return {
data: [],
@@ -119,10 +187,10 @@ export default {
selection: [],
// 表格列配置
columns: [
- // {
- // title: "年份",
- // dataIndex: "year",
- // },
+ {
+ title: "年份",
+ dataIndex: "year",
+ },
{
title: "空气质量指数类别",
dataIndex: "iaqiCategory",
@@ -184,9 +252,14 @@ export default {
// evaluate: [{required: true,message: '请输入评价',},],
sortNumber: [{required: true,message: '请输入排序',},],
},
+ yearOptions: [],
+ showNYear:false,
+ cYear: undefined,
+ nYear:undefined,
};
},
mounted() {
+ this.getOptions();
},
methods: {
minLeqChange(e){
@@ -290,8 +363,56 @@ export default {
}).finally(() => {
hide();
})
+ },
+ getOptions(){
+ getColumnOptions("year").then(res => {
+ console.log(res)
+ if (res.data.code == 0) {
+ this.yearOptions = res.data.data.map(item => {
+ return {
+ label: item,
+ value: item
+ }
+ })
+ }
+ })
+ },
+ setCYear(e){
+ this.cYear = e.key;
+ this.showNYear = true;
+ },
+ copyBatch(){
+ const hide = this.$message.loading('请求中..', 0);
+ copyBatchPlace({cyear:Number(this.cYear),nyear:this.nYear}).then(res=>{
+ if (res.data.code === 0) {
+ this.$message.success(res.data.msg);
+ this.reload();
+ this.getOptions();
+ } else {
+ this.$message.error(res.data.msg);
+ }
+ this.showNYear = false;
+ }).catch(e => {
+ this.$message.error(e.message);
+ }).finally(() => {
+ hide();
+ })
+ },
+ exportData(){
+ const columns = this.columns.filter(item=>item.dataIndex);
+ const arr = [];
+ const th = columns.map((item) => item.title);
+ arr.push(th);
+ this.data.forEach((d) => {
+ const td = columns.map((item) => d[item.dataIndex]);
+ arr.push(td);
+ });
+
+ let sheet = XLSX.utils.aoa_to_sheet(arr);
+ this.$util.exportSheet(XLSX, sheet, new Date().getTime().toString());
}
+
},
};
diff --git a/src/views/atmosphere/air/dict/evaluation-standard.vue b/src/views/atmosphere/air/dict/evaluation-standard.vue
index e1d084f..2f61f20 100644
--- a/src/views/atmosphere/air/dict/evaluation-standard.vue
+++ b/src/views/atmosphere/air/dict/evaluation-standard.vue
@@ -1,6 +1,52 @@
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -54,10 +103,24 @@
:columns="columns"
:where="where"
:scroll="{ x: 'max-content' }"
+ @done="(d) => (data = d.data)"
>
新增
+
+
+
+
+ {{ item.label }}
+
+
+
+
+ 批量复制
+
+
+
删除
+ 导出
@@ -109,12 +173,16 @@ import {
saveStandard,
updateStandard,
removeStandard,
- removeBatchStandard
+ removeBatchStandard,
+ copyBatchPlace,
+ getColumnOptions
} from "@/api/ecology/atmosphere/air-evaluation-standard";
+import {DownOutlined} from '@ant-design/icons-vue';
+import XLSX from "xlsx";
// import moment from "moment";
export default {
- name: "ZoneNoiseStandard",
- components: {},
+ name: "AirEvaluationStandard",
+ components: {DownOutlined},
data() {
return {
data: [],
@@ -123,6 +191,7 @@ export default {
selection: [],
// 表格列配置
columns: [
+ {title: "年份", dataIndex: "year",sorter: true,},
{
title: "年份",
dataIndex: "year",
@@ -177,15 +246,21 @@ export default {
loading: false,
rules: {
timeSlot:[{required: true,message: '请选择时段'}],
+ year: [{required: true, message: '请输入年份'}],
// minLeq: [{required: true,message: '请输入最小值',},],
// maxLeq: [{required: true,message: '请输入最大值',},],
level: [{required: true,message: '请输入等级',},],
// evaluate: [{required: true,message: '请输入评价',},],
sortNumber: [{required: true,message: '请输入排序',},],
},
+ yearOptions: [],
+ showNYear:false,
+ cYear: undefined,
+ nYear:undefined,
};
},
mounted() {
+ this.getOptions();
},
methods: {
minLeqChange(e){
@@ -289,8 +364,56 @@ export default {
}).finally(() => {
hide();
})
+ },
+ getOptions(){
+ getColumnOptions("year").then(res => {
+ console.log(res)
+ if (res.data.code == 0) {
+ this.yearOptions = res.data.data.map(item => {
+ return {
+ label: item,
+ value: item
+ }
+ })
+ }
+ })
+ },
+ setCYear(e){
+ this.cYear = e.key;
+ this.showNYear = true;
+ },
+ copyBatch(){
+ const hide = this.$message.loading('请求中..', 0);
+ copyBatchPlace({cyear:Number(this.cYear),nyear:this.nYear}).then(res=>{
+ if (res.data.code === 0) {
+ this.$message.success(res.data.msg);
+ this.reload();
+ this.getOptions();
+ } else {
+ this.$message.error(res.data.msg);
+ }
+ this.showNYear = false;
+ }).catch(e => {
+ this.$message.error(e.message);
+ }).finally(() => {
+ hide();
+ })
+ },
+ exportData(){
+ const columns = this.columns.filter(item=>item.dataIndex);
+ const arr = [];
+ const th = columns.map((item) => item.title);
+ arr.push(th);
+ this.data.forEach((d) => {
+ const td = columns.map((item) => d[item.dataIndex]);
+ arr.push(td);
+ });
+
+ let sheet = XLSX.utils.aoa_to_sheet(arr);
+ this.$util.exportSheet(XLSX, sheet, new Date().getTime().toString());
}
+
},
};
diff --git a/src/views/atmosphere/air/dict/indicator-iaqi.vue b/src/views/atmosphere/air/dict/indicator-iaqi.vue
index 17b30a7..d9b8be7 100644
--- a/src/views/atmosphere/air/dict/indicator-iaqi.vue
+++ b/src/views/atmosphere/air/dict/indicator-iaqi.vue
@@ -1,6 +1,52 @@
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -35,10 +82,24 @@
:columns="columns"
:where="where"
:scroll="{ x: 'max-content' }"
+ @done="(d) => (data = d.data)"
>
新增
+
+
+
+
+ {{ item.label }}
+
+
+
+
+ 批量复制
+
+
+
删除
+ 导出
@@ -92,12 +154,16 @@ import {
saveIndicatorIaqi,
updateIndicatorIaqi,
removeIndicatorIaqi,
- removeBatchIndicatorIaqi
+ removeBatchIndicatorIaqi,
+ copyBatchPlace,
+ getColumnOptions
} from "@/api/ecology/atmosphere/air-indicator-iaqi";
+import {DownOutlined} from '@ant-design/icons-vue';
+import XLSX from "xlsx";
// import moment from "moment";
export default {
name: "AirIndicatorIaqi",
- components: {},
+ components: {DownOutlined},
data() {
return {
data: [],
@@ -110,6 +176,7 @@ export default {
// title: "年份",
// dataIndex: "year",
// },
+ {title: "年份", dataIndex: "year",sorter: true,},
{title: "空气质量分指数",dataIndex: "iaqi",},
{title: "so2 24小时平均", dataIndex: "so2TwentyFourHour",},
{title: "so2 1小时平均",dataIndex: "so2OneHour",},
@@ -145,6 +212,7 @@ export default {
form: {},
loading: false,
rules: {
+ year: [{required: true, message: '请输入年份'}],
timeSlot: [{required: true, message: '请选择时段'}],
// minLeq: [{required: true,message: '请输入最小值',},],
// maxLeq: [{required: true,message: '请输入最大值',},],
@@ -152,9 +220,14 @@ export default {
// evaluate: [{required: true,message: '请输入评价',},],
sortNumber: [{required: true, message: '请输入排序',},],
},
+ yearOptions: [],
+ showNYear:false,
+ cYear: undefined,
+ nYear:undefined,
};
},
mounted() {
+ this.getOptions();
},
methods: {
minLeqChange(e) {
@@ -258,8 +331,56 @@ export default {
}).finally(() => {
hide();
})
+ },
+ getOptions(){
+ getColumnOptions("year").then(res => {
+ console.log(res)
+ if (res.data.code == 0) {
+ this.yearOptions = res.data.data.map(item => {
+ return {
+ label: item,
+ value: item
+ }
+ })
+ }
+ })
+ },
+ setCYear(e){
+ this.cYear = e.key;
+ this.showNYear = true;
+ },
+ copyBatch(){
+ const hide = this.$message.loading('请求中..', 0);
+ copyBatchPlace({cyear:Number(this.cYear),nyear:this.nYear}).then(res=>{
+ if (res.data.code === 0) {
+ this.$message.success(res.data.msg);
+ this.reload();
+ this.getOptions();
+ } else {
+ this.$message.error(res.data.msg);
+ }
+ this.showNYear = false;
+ }).catch(e => {
+ this.$message.error(e.message);
+ }).finally(() => {
+ hide();
+ })
+ },
+ exportData(){
+ const columns = this.columns.filter(item=>item.dataIndex);
+ const arr = [];
+ const th = columns.map((item) => item.title);
+ arr.push(th);
+ this.data.forEach((d) => {
+ const td = columns.map((item) => d[item.dataIndex]);
+ arr.push(td);
+ });
+
+ let sheet = XLSX.utils.aoa_to_sheet(arr);
+ this.$util.exportSheet(XLSX, sheet, new Date().getTime().toString());
}
+
},
};
diff --git a/src/views/atmosphere/air/dict/place-bill.vue b/src/views/atmosphere/air/dict/place-bill.vue
deleted file mode 100644
index 9e50105..0000000
--- a/src/views/atmosphere/air/dict/place-bill.vue
+++ /dev/null
@@ -1,234 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 新增
-
- 删除
-
-
-
-
-
-
- 修改
-
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/views/atmosphere/air/dict/place.vue b/src/views/atmosphere/air/dict/place.vue
index 0e12f24..4736d8d 100644
--- a/src/views/atmosphere/air/dict/place.vue
+++ b/src/views/atmosphere/air/dict/place.vue
@@ -1,6 +1,52 @@
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -49,10 +98,24 @@
:columns="columns"
:where="where"
:scroll="{ x: 'max-content' }"
+ @done="(d) => (data = d.data)"
>
新增
+
+
+
+
+ {{ item.label }}
+
+
+
+
+ 批量复制
+
+
+
删除
+ 导出
@@ -104,12 +168,16 @@ import {
savePlace,
updatePlace,
removePlace,
- removeBatchPlace
+ removeBatchPlace,
+ copyBatchPlace,
+ getColumnOptions
} from "@/api/ecology/atmosphere/air-plcae";
+import XLSX from "xlsx";
+import {DownOutlined} from '@ant-design/icons-vue';
// import moment from "moment";
export default {
name: "AirPlace",
- components: {},
+ components: {DownOutlined},
data() {
return {
data: [],
@@ -118,6 +186,7 @@ export default {
selection: [],
// 表格列配置
columns: [
+ {title: "年份", dataIndex: "year",sorter: true,},
{title: "点位名称",dataIndex: "place",sorter: true,},
{title: "片区名称",dataIndex: "districtName",sorter: true,},
{title: "属性",dataIndex: "attributes",sorter: true,},
@@ -157,14 +226,20 @@ export default {
form: {},
loading: false,
rules: {
+ year: [{required: true, message: '请输入年份'}],
place:[{required: true,message: '请输入点位名称'}],
placeCode:[{required: true,message: '请输入点位编码'}],
placeLng: [{required: true,message: '请输入测点经度',},],
placeLat: [{required: true,message: '请输入测点纬度',},],
},
+ yearOptions: [],
+ showNYear:false,
+ cYear: undefined,
+ nYear:undefined,
};
},
mounted() {
+ this.getOptions();
},
methods: {
/* 刷新表格 */
@@ -260,6 +335,53 @@ export default {
}).finally(() => {
hide();
})
+ },
+ getOptions(){
+ getColumnOptions("year").then(res => {
+ console.log(res)
+ if (res.data.code == 0) {
+ this.yearOptions = res.data.data.map(item => {
+ return {
+ label: item,
+ value: item
+ }
+ })
+ }
+ })
+ },
+ setCYear(e){
+ this.cYear = e.key;
+ this.showNYear = true;
+ },
+ copyBatch(){
+ const hide = this.$message.loading('请求中..', 0);
+ copyBatchPlace({cyear:Number(this.cYear),nyear:this.nYear}).then(res=>{
+ if (res.data.code === 0) {
+ this.$message.success(res.data.msg);
+ this.reload();
+ this.getOptions();
+ } else {
+ this.$message.error(res.data.msg);
+ }
+ this.showNYear = false;
+ }).catch(e => {
+ this.$message.error(e.message);
+ }).finally(() => {
+ hide();
+ })
+ },
+ exportData(){
+ const columns = this.columns.filter(item=>item.dataIndex);
+ const arr = [];
+ const th = columns.map((item) => item.title);
+ arr.push(th);
+ this.data.forEach((d) => {
+ const td = columns.map((item) => d[item.dataIndex]);
+ arr.push(td);
+ });
+
+ let sheet = XLSX.utils.aoa_to_sheet(arr);
+ this.$util.exportSheet(XLSX, sheet, new Date().getTime().toString());
}
},
diff --git a/src/views/atmosphere/air/statistic/area-base.vue b/src/views/atmosphere/air/statistic/area-base.vue
index 0f9282f..112fc67 100644
--- a/src/views/atmosphere/air/statistic/area-base.vue
+++ b/src/views/atmosphere/air/statistic/area-base.vue
@@ -2,44 +2,33 @@
-
-
-
-
-
- {{ item.label }}
-
-
-
-
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+ 导出Excel
+
-
-
-
-
-
-
-
-
-
- 查询
- 重置
- 导出Excel
-
-
-
typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "NO2五象", dataIndex: "wuXiangXinQuNo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM10五象", dataIndex: "wuXiangXinQuPm10", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "CO五象", dataIndex: "wuXiangXinQuCo", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(1)+"":""},
+ {title: "O3五象", dataIndex: "wuXiangXinQuO3", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM2.5五象", dataIndex: "wuXiangXinQuPm25", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "AQI五象", dataIndex: "wuXiangXinQuAqi", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "类别五象", dataIndex: "wuXiangXinQuAqiCategory", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
- {title: "SO2兴宁", dataIndex: "xingNingSo2",align:"center"},
- {title: "NO2兴宁", dataIndex: "xingNingNo2",align:"center"},
- {title: "PM10兴宁", dataIndex: "xingNingPm10",align:"center"},
- {title: "CO兴宁", dataIndex: "xingNingCo",align:"center"},
- {title: "O3_8h兴宁", dataIndex: "xingNingO3",align:"center"},
- {title: "PM2.5兴宁", dataIndex: "xingNingPm25",align:"center"},
- {title: "AQI兴宁", dataIndex: "xingNingAqi",align:"center"},
- {title: "类别兴宁", dataIndex: "xingNingAqiCategory",align:"center"},
+ {title: "SO2兴宁", dataIndex: "xingNingSo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "NO2兴宁", dataIndex: "xingNingNo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM10兴宁", dataIndex: "xingNingPm10", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "CO兴宁", dataIndex: "xingNingCo", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(1)+"":""},
+ {title: "O3_8h兴宁", dataIndex: "xingNingO3", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM2.5兴宁", dataIndex: "xingNingPm25", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "AQI兴宁", dataIndex: "xingNingAqi", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "类别兴宁", dataIndex: "xingNingAqiCategory", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
- {title: "SO2江南", dataIndex: "jiangNanSo2",align:"center"},
- {title: "NO2江南", dataIndex: "jiangNanNo2",align:"center"},
- {title: "PM10江南", dataIndex: "jiangNanPm10",align:"center"},
- {title: "CO江南", dataIndex: "jiangNanCo",align:"center"},
- {title: "O3_8h江南", dataIndex: "jiangNanO3",align:"center"},
- {title: "PM2.5江南", dataIndex: "jiangNanPm25",align:"center"},
- {title: "AQI江南", dataIndex: "jiangNanAqi",align:"center"},
- {title: "类别江南", dataIndex: "jiangNanAqiCategory",align:"center"},
+ {title: "SO2江南", dataIndex: "jiangNanSo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "NO2江南", dataIndex: "jiangNanNo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM10江南", dataIndex: "jiangNanPm10", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "CO江南", dataIndex: "jiangNanCo", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(1)+"":""},
+ {title: "O3_8h江南", dataIndex: "jiangNanO3", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM2.5江南", dataIndex: "jiangNanPm25", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "AQI江南", dataIndex: "jiangNanAqi", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "类别江南", dataIndex: "jiangNanAqiCategory", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
- {title: "SO2青秀", dataIndex: "qingXiuSo2",align:"center"},
- {title: "NO2青秀", dataIndex: "qingXiuNo2",align:"center"},
- {title: "PM10青秀", dataIndex: "qingXiuPm10",align:"center"},
- {title: "CO青秀", dataIndex: "qingXiuCo",align:"center"},
- {title: "O3_8h青秀", dataIndex: "qingXiuO3",align:"center"},
- {title: "PM2.5青秀", dataIndex: "qingXiuPm25",align:"center"},
- {title: "AQI青秀", dataIndex: "qingXiuAqi",align:"center"},
- {title: "类别青秀", dataIndex: "qingXiuAqiCategory",align:"center"},
+ {title: "SO2青秀", dataIndex: "qingXiuSo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "NO2青秀", dataIndex: "qingXiuNo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM10青秀", dataIndex: "qingXiuPm10", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "CO青秀", dataIndex: "qingXiuCo", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(1)+"":""},
+ {title: "O3_8h青秀", dataIndex: "qingXiuO3", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM2.5青秀", dataIndex: "qingXiuPm25", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "AQI青秀", dataIndex: "qingXiuAqi", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "类别青秀", dataIndex: "qingXiuAqiCategory", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
- {title: "SO2西乡塘", dataIndex: "xiXiangTangSo2",align:"center"},
- {title: "NO2西乡塘", dataIndex: "xiXiangTangNo2",align:"center"},
- {title: "PM10西乡塘", dataIndex: "xiXiangTangPm10",align:"center"},
- {title: "CO西乡塘", dataIndex: "xiXiangTangCo",align:"center"},
- {title: "O3_8h西乡塘", dataIndex: "xiXiangTangO3",align:"center"},
- {title: "PM2.5西乡塘", dataIndex: "xiXiangTangPm25",align:"center"},
- {title: "AQI西乡塘", dataIndex: "xiXiangTangAqi",align:"center"},
- {title: "类别西乡塘", dataIndex: "xiXiangTangAqiCategory",align:"center"},
+ {title: "SO2西乡塘", dataIndex: "xiXiangTangSo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "NO2西乡塘", dataIndex: "xiXiangTangNo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM10西乡塘", dataIndex: "xiXiangTangPm10", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "CO西乡塘", dataIndex: "xiXiangTangCo", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(1)+"":""},
+ {title: "O3_8h西乡塘", dataIndex: "xiXiangTangO3", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM2.5西乡塘", dataIndex: "xiXiangTangPm25", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "AQI西乡塘", dataIndex: "xiXiangTangAqi", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "类别西乡塘", dataIndex: "xiXiangTangAqiCategory", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
- {title: "SO2邕宁", dataIndex: "yongNingSo2",align:"center"},
- {title: "NO2邕宁", dataIndex: "yongNingNo2",align:"center"},
- {title: "PM10邕宁", dataIndex: "yongNingPm10",align:"center"},
- {title: "CO邕宁", dataIndex: "yongNingCo",align:"center"},
- {title: "O3_8h邕宁", dataIndex: "yongNingO3",align:"center"},
- {title: "PM2.5邕宁", dataIndex: "yongNingPm25",align:"center"},
- {title: "AQI邕宁", dataIndex: "yongNingAqi",align:"center"},
- {title: "类别邕宁", dataIndex: "yongNingAqiCategory",align:"center"},
+ {title: "SO2邕宁", dataIndex: "yongNingSo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "NO2邕宁", dataIndex: "yongNingNo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM10邕宁", dataIndex: "yongNingPm10", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "CO邕宁", dataIndex: "yongNingCo", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(1)+"":""},
+ {title: "O3_8h邕宁", dataIndex: "yongNingO3", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM2.5邕宁", dataIndex: "yongNingPm25", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "AQI邕宁", dataIndex: "yongNingAqi", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "类别邕宁", dataIndex: "yongNingAqiCategory", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
- {title: "SO2良庆", dataIndex: "liangQingSo2",align:"center"},
- {title: "NO2良庆", dataIndex: "liangQingNo2",align:"center"},
- {title: "PM10良庆", dataIndex: "liangQingPm10",align:"center"},
- {title: "CO良庆", dataIndex: "liangQingCo",align:"center"},
- {title: "O3_8h良庆", dataIndex: "liangQingO3",align:"center"},
- {title: "PM2.5良庆", dataIndex: "liangQingPm25",align:"center"},
- {title: "AQI良庆", dataIndex: "liangQingAqi",align:"center"},
- {title: "类别良庆", dataIndex: "liangQingAqiCategory",align:"center"},
+ {title: "SO2良庆", dataIndex: "liangQingSo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "NO2良庆", dataIndex: "liangQingNo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM10良庆", dataIndex: "liangQingPm10", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "CO良庆", dataIndex: "liangQingCo", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(1)+"":""},
+ {title: "O3_8h良庆", dataIndex: "liangQingO3", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM2.5良庆", dataIndex: "liangQingPm25", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "AQI良庆", dataIndex: "liangQingAqi", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "类别良庆", dataIndex: "liangQingAqiCategory", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
- {title: "SO2高新", dataIndex: "gaoXinSo2",align:"center"},
- {title: "NO2高新", dataIndex: "gaoXinNo2",align:"center"},
- {title: "PM10高新", dataIndex: "gaoXinPm10",align:"center"},
- {title: "CO高新", dataIndex: "gaoXinCo",align:"center"},
- {title: "O3_8h高新", dataIndex: "gaoXinO3",align:"center"},
- {title: "PM2.5高新", dataIndex: "gaoXinPm25",align:"center"},
- {title: "AQI高新", dataIndex: "gaoXinAqi",align:"center"},
- {title: "类别高新", dataIndex: "gaoXinAqiCategory",align:"center"},
+ {title: "SO2高新", dataIndex: "gaoXinSo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "NO2高新", dataIndex: "gaoXinNo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM10高新", dataIndex: "gaoXinPm10", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "CO高新", dataIndex: "gaoXinCo", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(1)+"":""},
+ {title: "O3_8h高新", dataIndex: "gaoXinO3", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM2.5高新", dataIndex: "gaoXinPm25", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "AQI高新", dataIndex: "gaoXinAqi", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "类别高新", dataIndex: "gaoXinAqiCategory", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
- {title: "SO2经开", dataIndex: "jingKaiSo2",align:"center"},
- {title: "NO2经开", dataIndex: "jingKaiNo2",align:"center"},
- {title: "PM10经开", dataIndex: "jingKaiPm10",align:"center"},
- {title: "Co经开", dataIndex: "jingKaiCo",align:"center"},
- {title: "O3_8h经开", dataIndex: "jingKaiO3",align:"center"},
- {title: "PM2.5经开", dataIndex: "jingKaiPm25",align:"center"},
- {title: "AQI经开", dataIndex: "jingKaiAqi",align:"center"},
- {title: "类别经开", dataIndex: "jingKaiAqiCategory",align:"center"},
+ {title: "SO2经开", dataIndex: "jingKaiSo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "NO2经开", dataIndex: "jingKaiNo2", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM10经开", dataIndex: "jingKaiPm10", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "Co经开", dataIndex: "jingKaiCo", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(1)+"":""},
+ {title: "O3_8h经开", dataIndex: "jingKaiO3", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "PM2.5经开", dataIndex: "jingKaiPm25", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "AQI经开", dataIndex: "jingKaiAqi", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
+ {title: "类别经开", dataIndex: "jingKaiAqiCategory", align: "center",customRender:({text})=> typeof text == "number"?text.toFixed(0)+"":""},
],
regionLevelOptions: [],
- time: undefined,
+ time: [],
// 表格搜索条件
where: {
regionLevel: "place",
+ timeStart: moment(`${year}-01-01 00:00:00`).format("YYYY-MM-DD 00:00:00"),
+ timeEnd: moment().format("YYYY-MM-DD 00:00:00")
},
// 表格选中数据
selectionList: [],
};
},
mounted() {
+
this.loadOptionData();
this.reload();
},
@@ -198,21 +191,6 @@ export default {
/* 刷新表格 */
reload() {
const where = _.cloneDeep(this.where);
- const year = new Date().getFullYear();
- if (!this.time) {
- where.timeStart = `${year}-01-01 00:00:00`;
- where.timeEnd = moment(Date.now()).format("YYYY-MM-DD 00:00:00")
- } else {
- // if(this.time[0].year() != this.time[1].year()){
- // Modal.error({
- // title: "查询失败",
- // content: "开始时间与结束时间年份不一致",
- // })
- // return;
- // }
- where.timeStart = this.time[0].format("YYYY-MM-DD 00:00:00");
- where.timeEnd = this.time[1].format("YYYY-MM-DD 00:00:00");
- }
this.$refs.table.reload({
where
});
@@ -231,29 +209,35 @@ export default {
const th2 = [];
const merges = []; // 合并
const columnsTemp = []; // 树形结构整理成list
- this.columns.forEach((item,index)=>{
- if(item.children){
- item.children.forEach((citem)=>{
+ this.columns.forEach((item, index) => {
+ if (item.children) {
+ item.children.forEach((citem) => {
th1.push(item.title)
th2.push(citem.title)
columnsTemp.push(citem)
})
- merges.push({s: {r: 0, c: th1.length-item.children.length}, e: {r: 0, c: th1.length-1}})
- }else{
+ merges.push({s: {r: 0, c: th1.length - item.children.length}, e: {r: 0, c: th1.length - 1}})
+ } else {
th1.push(item.title)
th2.push("")
columnsTemp.push(item)
merges.push({s: {r: 0, c: index}, e: {r: 1, c: index}})
}
})
- arr.push(th1,th2);
+ arr.push(th1, th2);
this.data.forEach((d) => {
- const td = columnsTemp.map((item) => d[item.dataIndex]);
+ const td = columnsTemp.map((item) => {
+ if(item.customRender){
+ return item.customRender({text:d[item.dataIndex]});
+ }
+ return d[item.dataIndex];
+ });
arr.push(td);
});
let sheet = XLSX.utils.aoa_to_sheet(arr);
sheet['!merges'] = merges;
- this.$util.exportSheet(XLSX, sheet, new Date().getTime().toString());
+
+ this.$util.exportSheet(XLSX, sheet, moment(this.where.timeStart).format("YYYY年MM月DD日") + "至" + moment(this.where.timeEnd).format("YYYY年MM月DD日"));
},
},
diff --git a/src/views/atmosphere/air/statistic/city-county-place.vue b/src/views/atmosphere/air/statistic/city-county-place.vue
index efbe850..8459fd2 100644
--- a/src/views/atmosphere/air/statistic/city-county-place.vue
+++ b/src/views/atmosphere/air/statistic/city-county-place.vue
@@ -4,12 +4,8 @@
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
查询
重置
导出Excel
-
-
-
-
+
+
+
+
+
@@ -80,38 +83,17 @@
+
+
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -156,6 +138,13 @@
>删除
+
+ 导入
+
导出
@@ -195,9 +184,11 @@ import {
removePlace,
removeBatchPlace,
getColumnOptions,
- copyBatchPlace
+ copyBatchPlace,
+ savePlaceBatch
} from "@/api/ecology/noise/function-noise-place";
import XLSX from "xlsx";
+import {Modal} from "ant-design-vue";
// import moment from "moment";
export default {
name: "FunctionNoisePlace",
@@ -230,62 +221,15 @@ export default {
dataIndex: "functionType",
sorter: true,
},
- {
- title: "功能区代码",
- dataIndex: "functionCode",
- sorter: true,
- },
+ {title: "功能区代码",dataIndex: "functionCode",sorter: true, },
{
title: "测点经度",
dataIndex: "placeLng",
sorter: true,
},
- {
- title: "测点纬度",
- dataIndex: "placeLat",
- sorter: true,
- },
+ {title: "测点纬度",dataIndex: "placeLat",sorter: true,},
+ {title: "点位等级",dataIndex: "regionLevel",sorter: true,},
- {
- title: "测点参照物",
- dataIndex: "refObj",
- sorter: true,
- },
- {
- title: "监测站名",
- dataIndex: "station",
- sorter: true,
- },
- {
- title: "监测仪器型号",
- dataIndex: "monitorInstrumentModel",
- sorter: true,
- },
- {
- title: "监测仪器编号",
- dataIndex: "monitorInstrumentCode",
- sorter: true,
- },
- {
- title: "监测前校准值",
- dataIndex: "beforeMonitorValue",
- sorter: true,
- },
- {
- title: "声校准器测量声压值",
- dataIndex: "soundPressureValue",
- sorter: true,
- },
- {
- title: "声校准仪器型号",
- dataIndex: "soundInstrumentModel",
- sorter: true,
- },
- {
- title: "声校准仪器编号",
- dataIndex: "soundInstrumentCode",
- sorter: true,
- },
{
title: "操作",
key: "action",
@@ -465,6 +409,97 @@ export default {
hide();
})
},
+ importFile(file) {
+ const hide = this.$message.loading("导入中..", 0);
+ let reader = new FileReader();
+ reader.onload = (e) => {
+ try {
+ let data = new Uint8Array(e.target.result);
+ let workbook = XLSX.read(data, {
+ type: "array",
+ });
+ let sheetNames = workbook.SheetNames;
+ // 解析成二维数组
+ let aoa = XLSX.utils.sheet_to_json(workbook.Sheets[sheetNames[0]], {
+ header: 1,
+ });
+
+ // const reportDate = aoa[1][0].replace(/[^\d]+/g, "-");
+ const roadNoiseList = aoa.filter(
+ (item) => {
+ return item.length >= 10 && item[0] && !item[0].toString().includes("年")
+ }
+ );
+
+ // 解析成对象数组
+ const billData = roadNoiseList.map(item=>{
+ return {
+ year:item[0],
+ placeCode:item[1],
+ placeName:item[2],
+ road:item[3],
+ area:item[4],
+ functionCode:item[5],
+ functionType:item[6],
+ placeHeight:item[7],
+ placeLng:item[8],
+ placeLat:item[9],
+ regionLevel:item[10],
+ }
+ });
+
+ if (!billData || billData.length == 0) {
+ hide();
+ Modal.error({
+ title: "导入失败",
+ content: "找不到可用数据",
+ });
+
+ return;
+ }
+
+ if (billData.length > 0) {
+ // 上传到服务器
+ savePlaceBatch(billData)
+ .then((res) => {
+ if (res.data.code == 0) {
+ Modal.success({
+ title: "导入成功",
+ content: `成功导入${
+ billData.length
+ }条数据`,
+ });
+ this.reload();
+ this.getOptions();
+ } else {
+ Modal.error({
+ title: "导入失败",
+ content: "数据上传出错",
+ });
+ }
+ })
+ .catch(() => {
+ Modal.error({
+ title: "导入失败",
+ content: "数据上传出错",
+ });
+ })
+ .finally(() => {
+ hide();
+ });
+ }
+ } catch (error) {
+ hide();
+ Modal.error({
+ title: "导入失败",
+ content: error.message,
+ });
+ }
+ // console.log(billData);
+ };
+ reader.readAsArrayBuffer(file);
+ return false;
+ },
},
};
diff --git a/src/views/sound/road/dict/place.vue b/src/views/sound/road/dict/place.vue
index a678a45..733d9ac 100644
--- a/src/views/sound/road/dict/place.vue
+++ b/src/views/sound/road/dict/place.vue
@@ -69,51 +69,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
@@ -159,6 +139,13 @@
>删除
+
+ 导入
+
导出
@@ -200,10 +187,12 @@ import {
removePlace,
removeBatchPlace,
copyBatchPlace,
- getColumnOptions
+ getColumnOptions,
+ savePlaceBatch
} from "@/api/ecology/noise/road-noise-place";
import {DownOutlined} from '@ant-design/icons-vue';
import XLSX from "xlsx";
+import {Modal} from "ant-design-vue";
// import moment from "moment";
export default {
name: "RoadNoisePlace",
@@ -216,86 +205,15 @@ export default {
selection: [],
// 表格列配置
columns: [
- {
- title: "年份",
- dataIndex: "year",
- sorter: true,
- },
- {
- title: "测点名称",
- dataIndex: "placeName",
- sorter: true,
- },
- {
- title: "测点经度",
- dataIndex: "placeLng",
- sorter: true,
- },
- {
- title: "测点纬度",
- dataIndex: "placeLat",
- sorter: true,
- },
- {
- title: "机动车车道数",
- dataIndex: "motorway",
- sorter: true,
- },
- {
- title: "车道类别",
- dataIndex: "motorwayType",
- sorter: true,
- },
- {
- title: "道路等级",
- dataIndex: "motorwayLevel",
- sorter: true,
- },
- {
- title: "测点参照物",
- dataIndex: "refObj",
- sorter: true,
- },
- {
- title: "道路覆盖人口(万人)",
- dataIndex: "people",
- sorter: true,
- },
- {
- title: "监测站名",
- dataIndex: "station",
- sorter: true,
- },
- {
- title: "监测仪器型号",
- dataIndex: "monitorInstrumentModel",
- sorter: true,
- },
- {
- title: "监测仪器编号",
- dataIndex: "monitorInstrumentCode",
- sorter: true,
- },
- {
- title: "监测前校准值",
- dataIndex: "beforeMonitorValue",
- sorter: true,
- },
- {
- title: "声校准器测量声压值",
- dataIndex: "soundPressureValue",
- sorter: true,
- },
- {
- title: "声校准仪器型号",
- dataIndex: "soundInstrumentModel",
- sorter: true,
- },
- {
- title: "声校准仪器编号",
- dataIndex: "soundInstrumentCode",
- sorter: true,
- },
+ {title: "年份",dataIndex: "year",sorter: true,},
+ {title: "测点名称",dataIndex: "placeName",sorter: true,},
+ {title: "点位编码",dataIndex: "placeCode",sorter: true,},
+ {title: "所属城区",dataIndex: "area",sorter: true,},
+ {title: "所属路段",dataIndex: "road",sorter: true,},
+ {title: "路长",dataIndex: "roadLength",sorter: true,},
+ {title: "路宽",dataIndex: "roadWidth",sorter: true,},
+ {title: "测点经度",dataIndex: "placeLng",sorter: true, },
+ {title: "测点纬度",dataIndex: "placeLat",sorter: true,},
{
title: "操作",
key: "action",
@@ -321,10 +239,10 @@ export default {
form: {},
loading: false,
rules: {
- year: [{required: true, message: '请输入年份'}],
- placeName: [{required: true, message: '请选择测点名称'}],
- placeLng: [{required: true, message: '请输入测点经度',},],
- placeLat: [{required: true, message: '请输入测点纬度',},],
+ // year: [{required: true, message: '请输入年份'}],
+ // placeName: [{required: true, message: '请选择测点名称'}],
+ // placeLng: [{required: true, message: '请输入测点经度',},],
+ // placeLat: [{required: true, message: '请输入测点纬度',},],
},
};
},
@@ -474,7 +392,97 @@ export default {
let sheet = XLSX.utils.aoa_to_sheet(arr);
this.$util.exportSheet(XLSX, sheet, new Date().getTime().toString());
- }
+ },
+ importFile(file) {
+ const hide = this.$message.loading("导入中..", 0);
+ let reader = new FileReader();
+ reader.onload = (e) => {
+ try {
+ let data = new Uint8Array(e.target.result);
+ let workbook = XLSX.read(data, {
+ type: "array",
+ });
+ let sheetNames = workbook.SheetNames;
+ // 解析成二维数组
+ let aoa = XLSX.utils.sheet_to_json(workbook.Sheets[sheetNames[0]], {
+ header: 1,
+ });
+
+ // const reportDate = aoa[1][0].replace(/[^\d]+/g, "-");
+ const roadNoiseList = aoa.filter(
+ (item) => {
+ return item.length >= 10 && item[0] && !item[0].toString().includes("年")
+ }
+ );
+
+ // 解析成对象数组
+ const billData = roadNoiseList.map(item=>{
+ return {
+ year:item[0],
+ placeCode:item[1],
+ placeName:item[2],
+ road:item[3],
+ area:item[4],
+ roadLength:item[5],
+ roadWidth:item[6],
+ placeLng:item[7],
+ placeLat:item[8],
+ regionLevel:item[9],
+ }
+ });
+
+ if (!billData || billData.length == 0) {
+ hide();
+ Modal.error({
+ title: "导入失败",
+ content: "找不到可用数据",
+ });
+
+ return;
+ }
+
+ if (billData.length > 0) {
+ // 上传到服务器
+ savePlaceBatch(billData)
+ .then((res) => {
+ if (res.data.code == 0) {
+ Modal.success({
+ title: "导入成功",
+ content: `成功导入${
+ billData.length
+ }条数据`,
+ });
+ this.reload();
+ this.getOptions();
+ } else {
+ Modal.error({
+ title: "导入失败",
+ content: "数据上传出错",
+ });
+ }
+ })
+ .catch(() => {
+ Modal.error({
+ title: "导入失败",
+ content: "数据上传出错",
+ });
+ })
+ .finally(() => {
+ hide();
+ });
+ }
+ } catch (error) {
+ hide();
+ Modal.error({
+ title: "导入失败",
+ content: error.message,
+ });
+ }
+ // console.log(billData);
+ };
+ reader.readAsArrayBuffer(file);
+ return false;
+ },
},
};
diff --git a/src/views/sound/zone/dict/place.vue b/src/views/sound/zone/dict/place.vue
index 6b80e15..8333197 100644
--- a/src/views/sound/zone/dict/place.vue
+++ b/src/views/sound/zone/dict/place.vue
@@ -71,43 +71,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -151,6 +139,13 @@
>删除
+
+ 导入
+
导出
@@ -192,10 +187,12 @@ import {
removePlace,
removeBatchPlace,
copyBatchPlace,
- getColumnOptions
+ getColumnOptions,
+ savePlaceBatch
} from "@/api/ecology/noise/zone-noise-place";
import {DownOutlined} from '@ant-design/icons-vue';
import XLSX from "xlsx";
+import {Modal} from "ant-design-vue";
// import moment from "moment";
export default {
name: "ZoneNoisePlace",
@@ -222,62 +219,20 @@ export default {
dataIndex: "placeCode",
sorter: true,
},
- {
- title: "测点经度",
- dataIndex: "placeLng",
- sorter: true,
- },
+ {title: "所属路段",dataIndex: "road",sorter: true, },
+ {title: "所属城区",dataIndex: "area",sorter: true, },
+ {title: "功能区代码",dataIndex: "functionCode",sorter: true, },
+ {title: "网格边长",dataIndex: "gridLength",sorter: true, },
+ {title: "声源代码",dataIndex: "sourceCode",sorter: true, },
+
+ {title: "测点经度",dataIndex: "placeLng",sorter: true,},
{
title: "测点纬度",
dataIndex: "placeLat",
sorter: true,
},
- {
- title: "测点参照物",
- dataIndex: "refObj",
- sorter: true,
- },
-
- {
- title: "监测站名",
- dataIndex: "station",
- sorter: true,
- },
- {
- title: "监测仪器型号",
- dataIndex: "monitorInstrumentModel",
- sorter: true,
- },
- {
- title: "监测仪器编号",
- dataIndex: "monitorInstrumentCode",
- sorter: true,
- },
- {
- title: "监测前校准值",
- dataIndex: "beforeMonitorValue",
- sorter: true,
- },
- {
- title: "声校准器测量声压值",
- dataIndex: "soundPressureValue",
- sorter: true,
- },
- {
- title: "声校准仪器型号",
- dataIndex: "soundInstrumentModel",
- sorter: true,
- },
- {
- title: "声校准仪器编号",
- dataIndex: "soundInstrumentCode",
- sorter: true,
- },
- {
- title: "操作",
- key: "action",
- width: 150,
- align: "center",
+ {title: "点位等级",dataIndex: "regionLevel",sorter: true, },
+ {title: "操作",key: "action",width: 150,align: "center",
fixed: "right",
slots: {
customRender: "action",
@@ -299,11 +254,11 @@ export default {
form: {},
loading: false,
rules: {
- year: [{required: true, message: '请输入年份'}],
- placeName: [{required: true, message: '请输入测点名称'}],
- placeCode: [{required: true, message: '请输入点位编码'}],
- placeLng: [{required: true, message: '请输入测点经度',},],
- placeLat: [{required: true, message: '请输入测点纬度',},],
+ // year: [{required: true, message: '请输入年份'}],
+ // placeName: [{required: true, message: '请输入测点名称'}],
+ // placeCode: [{required: true, message: '请输入点位编码'}],
+ // placeLng: [{required: true, message: '请输入测点经度',},],
+ // placeLat: [{required: true, message: '请输入测点纬度',},],
},
};
},
@@ -455,7 +410,99 @@ export default {
let sheet = XLSX.utils.aoa_to_sheet(arr);
this.$util.exportSheet(XLSX, sheet, new Date().getTime().toString());
- }
+ },
+ importFile(file) {
+ const hide = this.$message.loading("导入中..", 0);
+ let reader = new FileReader();
+ reader.onload = (e) => {
+ try {
+ let data = new Uint8Array(e.target.result);
+ let workbook = XLSX.read(data, {
+ type: "array",
+ });
+ let sheetNames = workbook.SheetNames;
+ // 解析成二维数组
+ let aoa = XLSX.utils.sheet_to_json(workbook.Sheets[sheetNames[0]], {
+ header: 1,
+ });
+
+ // const reportDate = aoa[1][0].replace(/[^\d]+/g, "-");
+ const roadNoiseList = aoa.filter(
+ (item) => {
+ return item.length >= 10 && item[0] && !item[0].toString().includes("年")
+ }
+ );
+
+ // 解析成对象数组
+ const billData = roadNoiseList.map(item=>{
+ return {
+ year:item[0],
+ placeCode:item[1],
+ placeName:item[2],
+ road:item[3],
+ area:item[4],
+ functionCode:item[5],
+ gridLength:item[6],
+ gridWidth:item[6],
+ sourceCode:item[7],
+ placeLng:item[8],
+ placeLat:item[9],
+ regionLevel:item[10],
+ }
+ });
+
+ if (!billData || billData.length == 0) {
+ hide();
+ Modal.error({
+ title: "导入失败",
+ content: "找不到可用数据",
+ });
+
+ return;
+ }
+
+ if (billData.length > 0) {
+ // 上传到服务器
+ savePlaceBatch(billData)
+ .then((res) => {
+ if (res.data.code == 0) {
+ Modal.success({
+ title: "导入成功",
+ content: `成功导入${
+ billData.length
+ }条数据`,
+ });
+ this.reload();
+ this.getOptions();
+ } else {
+ Modal.error({
+ title: "导入失败",
+ content: "数据上传出错",
+ });
+ }
+ })
+ .catch(() => {
+ Modal.error({
+ title: "导入失败",
+ content: "数据上传出错",
+ });
+ })
+ .finally(() => {
+ hide();
+ });
+ }
+ } catch (error) {
+ hide();
+ Modal.error({
+ title: "导入失败",
+ content: error.message,
+ });
+ }
+ // console.log(billData);
+ };
+ reader.readAsArrayBuffer(file);
+ return false;
+ },
}
diff --git a/src/views/water/lake/collect/colums.js b/src/views/water/lake/collect/colums.js
index b7a5040..f75901c 100644
--- a/src/views/water/lake/collect/colums.js
+++ b/src/views/water/lake/collect/colums.js
@@ -1,31 +1,79 @@
-const tableColumns = [
- {title: "监测时间",dataIndex: "monitorTime",sorter: true,},
- {title: "点位名称",dataIndex: "pointName",sorter: true,},
- {title: "水温(℃)",dataIndex: "waterTemperature",sorter: true,},
- {title: "pH值(无量纲)",dataIndex: "ph",sorter: true,},
- {title: "透明度(cm)",dataIndex: "transparency",sorter: true,},
- {title: "溶解氧饱和度(﹪)",dataIndex: "dissolvedOxygenSaturation",sorter: true,},
- {title: "溶解氧",dataIndex: "dissolvedOxygen",sorter: true,},
- {title: "高锰酸盐指数",dataIndex: "permanganateIndex",sorter: true,},
- // {title: "监测时间",dataIndex: "monitorTime",sorter: true,},
- {title: "五日生化需氧量",dataIndex: "fiveDayBod",sorter: true,},
- {title: "总氮 ",dataIndex: "totalNitrogen",sorter: true,},
- {title: "氨氮",dataIndex: "ammonia",sorter: true,},
- {title: "挥发酚",dataIndex: "volatilePhenol",sorter: true,},
- {title: "砷",dataIndex: "as",sorter: true,},
- {title: "汞",dataIndex: "hg",sorter: true,},
- {title: "六价铬",dataIndex: "cr6",sorter: true,},
- {title: "铅(℃)",dataIndex: "pb",sorter: true,},
- {title: "镉",dataIndex: "cd",sorter: true,},
- {title: "总磷",dataIndex: "totalPhosphorus",sorter: true,},
- {title: "石油类",dataIndex: "petro",sorter: true,},
- {title: "粪大肠菌群(MPN/L)",dataIndex: "fecalColiforms",sorter: true,},
- {title: "化学需氧量",dataIndex: "cod",sorter: true,},
- {title: "叶绿素a(mg/m3)",dataIndex: "chlA",sorter: true,},
- {title: "阴离子表面活性剂",dataIndex: "anSaa",sorter: true,},
- {title: "硫化物",dataIndex: "s",sorter: true,},
- {title: "氧化还原电位(mV)",dataIndex: "oxidationReductionPotential",sorter: true,},
- {title: "备注",dataIndex: "remark",sorter: true,},
- ];
+const innerTableColumns = [
+ {title: "监测时间", dataIndex: "monitorTime", sorter: true,},
+ {title: "断面名称", dataIndex: "pointName", sorter: true,},
+ {title: "水温(℃)", dataIndex: "waterTemperature", sorter: true,},
+ {title: "pH值(无量纲)", dataIndex: "ph", sorter: true,},
+ {title: "透明度(cm)", dataIndex: "transparency", sorter: true,},
+ {title: "溶解氧饱和度(﹪)", dataIndex: "dissolvedOxygenSaturation", sorter: true,},
+ {title: "溶解氧", dataIndex: "dissolvedOxygen", sorter: true,},
+ {title: "高锰酸盐指数", dataIndex: "permanganateIndex", sorter: true,},
+ // {title: "监测时间",dataIndex: "monitorTime",sorter: true,},
+ {title: "五日生化需氧量", dataIndex: "fiveDayBod", sorter: true,},
+ {title: "总氮 ", dataIndex: "totalNitrogen", sorter: true,},
+ {title: "氨氮", dataIndex: "ammonia", sorter: true,},
+ {title: "挥发酚", dataIndex: "volatilePhenol", sorter: true,},
+ {title: "砷", dataIndex: "as", sorter: true,},
+ {title: "汞", dataIndex: "hg", sorter: true,},
+ {title: "六价铬", dataIndex: "cr6", sorter: true,},
+ {title: "铅(℃)", dataIndex: "pb", sorter: true,},
+ {title: "镉", dataIndex: "cd", sorter: true,},
+ {title: "总磷", dataIndex: "totalPhosphorus", sorter: true,},
+ {title: "石油类", dataIndex: "petro", sorter: true,},
+ {title: "粪大肠菌群(MPN/L)", dataIndex: "fecalColiforms", sorter: true,},
+ {title: "化学需氧量", dataIndex: "cod", sorter: true,},
+ {title: "叶绿素a(mg/m3)", dataIndex: "chlA", sorter: true,},
+ {title: "阴离子表面活性剂", dataIndex: "anSaa", sorter: true,},
+ {title: "硫化物", dataIndex: "s", sorter: true,},
+ {title: "氧化还原电位(mV)", dataIndex: "oxidationReductionPotential", sorter: true,},
+ {title: "备注", dataIndex: "remark", sorter: true,},
+];
+const specialTableColumns = [
+ {title: "监测时间", dataIndex: "monitorTime", sorter: true,},
+ {title: "测站名称", dataIndex: "stationName", sorter: true,},
+ {title: "测站代码", dataIndex: "stationCode", sorter: true,},
+ {title: "湖库名称", dataIndex: "lakeLibraryName", sorter: true,},
+ {title: "湖库代码", dataIndex: "lakeLibraryCode", sorter: true,},
+ {title: "断面名称", dataIndex: "sectionName", sorter: true,},
+ {title: "断面代码", dataIndex: "sectionCode", sorter: true,},
+ {title: "控制属性", dataIndex: "controlAttributes", sorter: true,},
+ {title: "所属流域", dataIndex: "watershed", sorter: true,},
+ {title: "水期代码", dataIndex: "waterPeriodCode", sorter: true,},
- export {tableColumns}
+ {title: "浊度(NTU)", dataIndex: "turbidity", sorter: true,},
+ {title: "水温(℃)", dataIndex: "wTemp", sorter: true,},
+ {title: "水位(m)", dataIndex: "wd", sorter: true,},
+ {title: "pH值", dataIndex: "ph", sorter: true,},
+ {title: "电导率(ms/m)", dataIndex: "wCond", sorter: true,},
+ {title: "透明度(cm)", dataIndex: "transp", sorter: true,},
+ {title: "溶解氧 (mg/L)", dataIndex: "dissolvedOxygen", sorter: true,},
+ {title: "高锰酸盐指数 (mg/L)", dataIndex: "codmn", sorter: true,},
+ {title: "氨氮 (mg/L)", dataIndex: "nh4N", sorter: true,},
+ {title: "石油类 (mg/L)", dataIndex: "oils", sorter: true,},
+ {title: "总氮 (mg/L)", dataIndex: "nTotal", sorter: true,},
+ {title: "总磷 (mg/L)", dataIndex: "pTotal", sorter: true,},
+ {title: "叶绿素 (mg/L)", dataIndex: "chlA", sorter: true,},
+ {title: "挥发酚 (mg/L)", dataIndex: "vPhen", sorter: true,},
+ {title: "汞 (mg/L)", dataIndex: "wHg", sorter: true,},
+ {title: "铅 (mg/L)", dataIndex: "wPb", sorter: true,},
+ {title: "化学需氧量 (mg/L)", dataIndex: "codcr", sorter: true,},
+ {title: "铜 (mg/L)", dataIndex: "wCu", sorter: true,},
+ {title: "锌 (mg/L)", dataIndex: "wZn", sorter: true,},
+ {title: "氟化物 (mg/L)", dataIndex: "f", sorter: true,},
+ {title: "硒 (mg/L)", dataIndex: "se", sorter: true,},
+ {title: "砷 (mg/L)", dataIndex: "as", sorter: true,},
+ {title: "镉 (mg/L)", dataIndex: "cd", sorter: true,},
+ {title: "六价铬 (mg/L)", dataIndex: "cr6", sorter: true,},
+ {title: "氰化物 (mg/L)", dataIndex: "cnTotal", sorter: true,},
+ {title: "阴离子表面活性剂 (mg/L)", dataIndex: "anSaa", sorter: true,},
+ {title: "硫化物 (mg/L)", dataIndex: "s", sorter: true,},
+ {title: "粪大肠菌群 (mg/L)", dataIndex: "coloOrg", sorter: true,},
+ {title: "硫酸盐 (mg/L)", dataIndex: "so4", sorter: true,},
+ {title: "氯化物 (mg/L)", dataIndex: "cl", sorter: true,},
+ {title: "硝酸盐 (mg/L)", dataIndex: "no3N", sorter: true,},
+ {title: "铁 (mg/L)", dataIndex: "wFe", sorter: true,},
+ {title: "锰 (mg/L)", dataIndex: "wMn", sorter: true,},
+ {title: "水质类别", dataIndex: "waterQualityCategory", sorter: true,},
+ {title: "系统编码", dataIndex: "systemCode", sorter: true,},
+ {title: "备注", dataIndex: "remark", sorter: true,},
+];
+export {innerTableColumns, specialTableColumns}
diff --git a/src/views/water/lake/collect/index.vue b/src/views/water/lake/collect/index.vue
index 8271d8a..256165e 100644
--- a/src/views/water/lake/collect/index.vue
+++ b/src/views/water/lake/collect/index.vue
@@ -1,42 +1,63 @@
-
-
-
-
-
- 城市内湖导入
-
-
- 五象湖导入
-
-
-
- 专项湖库导入
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 城市内湖导入
+
+
+ 五象湖导入
+
+
+
+
+
+ 五象湖
+
+
+ 其他内湖
+
+
+
+
+ 城市内湖导入
+
+
+
+
+ 专项湖库导入
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/water/lake/collect/special-bill.vue b/src/views/water/lake/collect/special-bill.vue
index 9d9811d..0a02841 100644
--- a/src/views/water/lake/collect/special-bill.vue
+++ b/src/views/water/lake/collect/special-bill.vue
@@ -7,12 +7,6 @@
-
-
- 市级
- 县级
-
-
已审核
diff --git a/src/views/water/lake/collect/special-water.vue b/src/views/water/lake/collect/special-water.vue
index 036a9ae..18f9506 100644
--- a/src/views/water/lake/collect/special-water.vue
+++ b/src/views/water/lake/collect/special-water.vue
@@ -143,7 +143,7 @@ import {
} from "@/api/ecology/special-lake";
import locale from "ant-design-vue/es/date-picker/locale/zh_CN";
import moment from "moment";
-import { tableColumns } from "./colums";
+import { specialTableColumns } from "./colums";
// import utils from "./utils";
export default {
name: "LakeCollectWater",
@@ -156,10 +156,10 @@ export default {
// 表格数据接口
url: pageLakeUrl,
selection: [],
- tableColumns,
+ tableColumns: specialTableColumns,
// 表格列配置
columns: [
- ...tableColumns,
+ ...specialTableColumns,
{
title: "创建人",
dataIndex: "userName",
diff --git a/src/views/water/lake/collect/utils.js b/src/views/water/lake/collect/utils.js
index ae2bb3b..bf7c42b 100644
--- a/src/views/water/lake/collect/utils.js
+++ b/src/views/water/lake/collect/utils.js
@@ -1,39 +1,40 @@
import moment from "moment";
+
export default {
// 城市内湖导入
- toInnerCityLakeObjData(excelData,reportDate) {
+ toInnerCityLakeObjData(excelData, reportDate) {
return excelData.map(item => {
- const monitorTime = new Date(reportDate);
+ const monitorTime = new Date(reportDate);
const row = {
- monitorTime: monitorTime.getTime(),
- province: "广西壮族自治区",
- city: "南宁",
- pointName: item[0],
- waterTemperature: item[1],
- ph: item[2],
- transparency:item [3],
- dissolvedOxygenSaturation:item [4],
- dissolvedOxygen:item [5],
- permanganateIndex:item [6],
- fiveDayBod:item [7],
- totalNitrogen:item [8],
- ammonia:item [9],
- volatilePhenol:item [10],
- as:item [11],
- hg:item [12],
- cr6:item [13],
- pb:item [14],
- cd:item [15],
- totalPhosphorus:item [16],
- petro:item [17],
- fecalColiforms:item [18],
- cod:item [19],
- chlA:item [20],
- anSaa:item [21],
- s:item [22],
- oxidationReductionPotential:item [23],
- remark:item [23],
+ monitorTime: monitorTime.getTime(),
+ province: "广西壮族自治区",
+ city: "南宁",
+ pointName: item[0],
+ waterTemperature: item[1],
+ ph: item[2],
+ transparency: item [3],
+ dissolvedOxygenSaturation: item [4],
+ dissolvedOxygen: item [5],
+ permanganateIndex: item [6],
+ fiveDayBod: item [7],
+ totalNitrogen: item [8],
+ ammonia: item [9],
+ volatilePhenol: item [10],
+ as: item [11],
+ hg: item [12],
+ cr6: item [13],
+ pb: item [14],
+ cd: item [15],
+ totalPhosphorus: item [16],
+ petro: item [17],
+ fecalColiforms: item [18],
+ cod: item [19],
+ chlA: item [20],
+ anSaa: item [21],
+ s: item [22],
+ oxidationReductionPotential: item [23],
+ remark: item [24],
}
return row;
@@ -41,100 +42,101 @@ export default {
},
// 五象湖
- toWuxiangLakeObjData(excelData) {
- return excelData.map(item => {
- const row = {
- province: "广西壮族自治区",
- city: "南宁",
- pointName: item[0],
- monitorTime: moment(item[1],"YYYY年M月D日").valueOf(),
- waterTemperature: item[2],
- dissolvedOxygen:item [3],
- dissolvedOxygenSaturation:item [4],
- transparency:item [5],
- ph:item [6],
- fiveDayBod:item [7],
- permanganateIndex:item [8],
- cod:item [9],
- ammonia:item [10],
- chlA:item [11],
- oxidationReductionPotential:item [12],
- cr6:item [13],
- hg:item [14],
- pb:item [15],
- as:item [16],
- cd:item [17],
- totalPhosphorus:item [18],
- s:item [19],
- petro:item [20],
- totalNitrogen:item [21],
- fecalColiforms:item [22],
- anSaa:item [23],
- remark:item [24],
+ toWuxiangLakeObjData(excelData) {
+ return excelData.map(item => {
+ const row = {
+ province: "广西壮族自治区",
+ city: "南宁",
+ pointName: item[0],
+ monitorTime: moment(item[1], "YYYY年M月D日").valueOf(),
+ waterTemperature: item[2],
+ dissolvedOxygen: item [3],
+ dissolvedOxygenSaturation: item [4],
+ transparency: item [5],
+ ph: item [6],
+ fiveDayBod: item [7],
+ permanganateIndex: item [8],
+ cod: item [9],
+ ammonia: item [10],
+ chlA: item [11],
+ oxidationReductionPotential: item [12],
+ cr6: item [13],
+ hg: item [14],
+ pb: item [15],
+ as: item [16],
+ cd: item [17],
+ totalPhosphorus: item [18],
+ s: item [19],
+ petro: item [20],
+ totalNitrogen: item [21],
+ fecalColiforms: item [22],
+ anSaa: item [23],
+ remark: item [24],
- }
- return row;
- })
+ }
+ return row;
+ })
- },
- // 专项湖库
- toSpecialLakeData(excelData) {
- return excelData.map(item => {
- const row = {
- province: "广西壮族自治区",
- city: "南宁",
- // nothing: item[0],
- stationName: item[1],
- stationCode: item[2],
- lakeLibraryName:item [3],
- lakeLibraryCode:item [4],
- sectionName:item [5],
- sectionCode:item [6],
- controlAttributes:item [7],
- watershed:item [8],
- monitorTime:item [9],
- waterPeriodCode:item [10],
- turbidity:item [11],
- wTemp:item [12],
- wd:item [13],
- ph:item [14],
- wCond:item [15],
- transp:item [16],
- dissolvedOxygen:item [17],
- codmn:item [18],
- bod5:item [19],
- nh4N:item [20],
- oils:item [21],
- nTotal:item [22],
- pTotal:item [23],
- chlA:item [24],
- vPhen:item [25],
- wHg:item [26],
- wPb:item [27],
- codcr:item [28],
- wCu:item [29],
- wZn:item [30],
- f:item [31],
- se:item [32],
- as:item [33],
- cd:item [34],
- cr6:item [35],
- cnTotal:item [36],
- anSaa:item [37],
- s:item [38],
- coloOrg:item [39],
- so4:item [40],
- cl:item [41],
- no3N:item [42],
- wFe:item [43],
- wMn:item [44],
- waterQualityCategory:item [45],
- remark:item [49],
- systemCode:item[47],
- }
- return row;
- })
+ },
+ // 专项湖库
+ toSpecialLakeData(excelData) {
+ return excelData.map(item => {
+ const row = {
+ province: "广西壮族自治区",
+ city: "南宁",
+ // nothing: item[0],
+ stationName: item[1],
+ stationCode: item[2],
+ lakeLibraryName: item [3],
+ lakeLibraryCode: item [4],
+ sectionName: item [5],
+ sectionCode: item [6],
+ controlAttributes: item [7],
+ watershed: item [8],
+ monitorTime: new Date(item[9]).getTime(),
+ waterPeriodCode: item [10],
+ turbidity: item [11],
+ wTemp: item [12],
+ wd: item [13],
+ ph: item [14],
+ wCond: item [15],
+ transp: item [16],
+ dissolvedOxygen: item [17],
+ codmn: item [18],
+ bod5: item [19],
+ nh4N: item [20],
+ oils: item [21],
+ nTotal: item [22],
+ pTotal: item [23],
+ chlA: item [24],
+ vPhen: item [25],
+ wHg: item [26],
+ wPb: item [27],
+ codcr: item [28],
+ wCu: item [29],
+ wZn: item [30],
+ f: item [31],
+ se: item [32],
+ as: item [33],
+ cd: item [34],
+ cr6: item [35],
+ cnTotal: item [36],
+ anSaa: item [37],
+ s: item [38],
+ coloOrg: item [39],
+ so4: item [40],
+ cl: item [41],
+ no3N: item [42],
+ wFe: item [43],
+ wMn: item [44],
+ waterQualityCategory: item [45],
+ remark: item [46],
+ systemCode: item[47],
- },
+ }
+ return row;
+ })
+
+ },
}
diff --git a/src/views/water/lake/collect/water-bill.vue b/src/views/water/lake/collect/water-bill.vue
index e4e407f..59be957 100644
--- a/src/views/water/lake/collect/water-bill.vue
+++ b/src/views/water/lake/collect/water-bill.vue
@@ -7,12 +7,6 @@
-
-
- 市级
- 县级
-
-
已审核
diff --git a/src/views/water/lake/collect/water.vue b/src/views/water/lake/collect/water.vue
index 08267f5..17c8546 100644
--- a/src/views/water/lake/collect/water.vue
+++ b/src/views/water/lake/collect/water.vue
@@ -143,7 +143,7 @@ import {
} from "@/api/ecology/lake";
import locale from "ant-design-vue/es/date-picker/locale/zh_CN";
import moment from "moment";
-import { tableColumns } from "./colums";
+import { innerTableColumns } from "./colums";
// import utils from "./utils";
export default {
name: "SpecialLakeCollectWater",
@@ -156,10 +156,10 @@ export default {
// 表格数据接口
url: pageLakeUrl,
selection: [],
- tableColumns,
+ tableColumns: innerTableColumns,
// 表格列配置
columns: [
- ...tableColumns,
+ ...innerTableColumns,
{
title: "创建人",
dataIndex: "userName",
diff --git a/src/views/water/lake/statistic/average.vue b/src/views/water/lake/statistic/average.vue
deleted file mode 100644
index a657b1e..0000000
--- a/src/views/water/lake/statistic/average.vue
+++ /dev/null
@@ -1,213 +0,0 @@
-
-
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
- 查询
-
- 导出Excel
-
-
-
-
-
-
- (data = d.data)"
- >
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/views/water/lake/statistic/base.vue b/src/views/water/lake/statistic/base.vue
deleted file mode 100644
index c9b780a..0000000
--- a/src/views/water/lake/statistic/base.vue
+++ /dev/null
@@ -1,476 +0,0 @@
-
-
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
- 查询
- 重置
- 导出Excel
-
-
-
-
-
-
- (data = d.data)"
- >
-
- {{text}}
- {{text}}
- {{text}}
- {{text}}
- {{text}}
- {{text}}
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/views/water/lake/statistic/index.vue b/src/views/water/lake/statistic/index.vue
index c981c4b..ccf33c2 100644
--- a/src/views/water/lake/statistic/index.vue
+++ b/src/views/water/lake/statistic/index.vue
@@ -2,51 +2,34 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/water/lake/statistic/source.vue b/src/views/water/lake/statistic/source.vue
deleted file mode 100644
index 6a1ee38..0000000
--- a/src/views/water/lake/statistic/source.vue
+++ /dev/null
@@ -1,195 +0,0 @@
-
-
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
- 查询
-
- 导出Excel
-
-
-
-
-
-
- (data = d.data)"
- >
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/views/water/lake/statistic/special-avg.vue b/src/views/water/lake/statistic/special-avg.vue
new file mode 100644
index 0000000..40371f6
--- /dev/null
+++ b/src/views/water/lake/statistic/special-avg.vue
@@ -0,0 +1,201 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+ 导出Excel
+
+
+
+
+ (data = d.data)"
+ method="POST"
+ >
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/water/lake/statistic/special-lake.vue b/src/views/water/lake/statistic/special-lake.vue
new file mode 100644
index 0000000..25c6736
--- /dev/null
+++ b/src/views/water/lake/statistic/special-lake.vue
@@ -0,0 +1,333 @@
+
+
+
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+ 查询
+ 重置
+ 导出Excel
+
+
+
+
+
+
+ (data = d.data)"
+ >
+
+ {{ text }}
+
+ {{ text }}
+
+ {{ text }}
+
+ {{ text }}
+
+ {{ text }}
+
+ {{ text }}
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/water/lake/statistic/year.vue b/src/views/water/lake/statistic/year.vue
deleted file mode 100644
index 7b677e3..0000000
--- a/src/views/water/lake/statistic/year.vue
+++ /dev/null
@@ -1,224 +0,0 @@
-
-
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
- 查询
-
- 导出Excel
-
-
-
-
-
-
- (data = d.data)"
- >
-
-
-
-
-
-
-
-
-
\ No newline at end of file