From 356923bff650652737092b05ef963e8cef144785 Mon Sep 17 00:00:00 2001
From: 710356044 <710356044@qq.com>
Date: Fri, 21 Jan 2022 22:40:09 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8E=BF=E7=BA=A7=EF=BC=8C?=
=?UTF-8?q?=E5=86=9C=E6=9D=91=E5=8F=96=E6=B0=B4=E9=87=8F=E5=AF=BC=E5=85=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/ecology/drinking-water-village.js | 9 +-
.../drinking-water-village/collect/colums.js | 1 +
.../drinking-water-village/collect/utils.js | 11 +-
.../collect/water-bill.vue | 111 +++++++++++++++++-
.../drinking-water/collect/water-bill.vue | 25 ++--
5 files changed, 143 insertions(+), 14 deletions(-)
diff --git a/src/api/ecology/drinking-water-village.js b/src/api/ecology/drinking-water-village.js
index 8677b2f..4364efa 100644
--- a/src/api/ecology/drinking-water-village.js
+++ b/src/api/ecology/drinking-water-village.js
@@ -51,7 +51,10 @@ const updateDrinkingWaterVillage = function (data) {
return axios.put("/drinkingWaterVillage/drinkingWaterVillage",data)
}
-
+//批量修改取水量
+const updateVillageWaterWithdrawal=function(data){
+ return axios.put("/drinkingWaterVillage/drinkingWaterVillage/updateVillageWater",data)
+}
// -------------------------统计---------------------
const pageDrinkingWaterVillageStatisticUrl = '/drinkingWaterVillage/drinkingWaterVillage/VillageAnalysePage';
@@ -89,6 +92,6 @@ export {
getColumnOptions,
listAll,
getGisBase,
- getGisArea
-
+ getGisArea,
+ updateVillageWaterWithdrawal
}
diff --git a/src/views/water/drinking-water-village/collect/colums.js b/src/views/water/drinking-water-village/collect/colums.js
index b3add5b..cb407b9 100644
--- a/src/views/water/drinking-water-village/collect/colums.js
+++ b/src/views/water/drinking-water-village/collect/colums.js
@@ -1,5 +1,6 @@
//地表水表格
const tableColumns = [
+ {title:"取水量",dataIndex:"waterWithdrawal",sorter:true},
{title:"断面代码",dataIndex:"sectionCode",sorter:true},
{title: "省",dataIndex: "province",sorter: true,},
{title: "市",dataIndex: "city",sorter: true,},
diff --git a/src/views/water/drinking-water-village/collect/utils.js b/src/views/water/drinking-water-village/collect/utils.js
index d11120d..e4a469c 100644
--- a/src/views/water/drinking-water-village/collect/utils.js
+++ b/src/views/water/drinking-water-village/collect/utils.js
@@ -136,5 +136,14 @@ export default {
};
return row;
})
- }
+ },
+ importWaterWithdrawalData(excelData){
+ return excelData.map(item => {
+ const row = {
+ place:item[0],
+ waterWithdrawal:item[1],
+ }
+ return row;
+ })
+}
}
\ No newline at end of file
diff --git a/src/views/water/drinking-water-village/collect/water-bill.vue b/src/views/water/drinking-water-village/collect/water-bill.vue
index c7a8249..b765116 100644
--- a/src/views/water/drinking-water-village/collect/water-bill.vue
+++ b/src/views/water/drinking-water-village/collect/water-bill.vue
@@ -118,6 +118,25 @@
删除
+
+
+ 取水量导入
+
@@ -132,13 +151,16 @@
EditOutlined
} from '@ant-design/icons-vue';
import { Modal } from 'ant-design-vue';
+ import utils from "./utils";
+ import XLSX from "xlsx";
import {
pageBillUrl,
// saveDrinkingWaterVillageBill,
removeDrinkingWaterVillageBill,
removeBatchDrinkingWaterVillageBill,
updateDrinkingWaterVillageBill,
- verifyDrinkingWaterVillageBill
+ verifyDrinkingWaterVillageBill,
+ updateVillageWaterWithdrawal
} from "@/api/ecology/drinking-water-village";
import moment from "moment";
export default {
@@ -271,7 +293,94 @@
};
},
methods: {
+ /*取水量导入 */
+ importWaterWithdrawal(file,record) {
+ 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 aoa1 = XLSX.utils.sheet_to_json(
+ workbook.Sheets[sheetNames[0]], {
+ header: 1,
+ });
+
+
+ const drinkingWaterList = aoa1.filter((item) => {
+ return (
+ item[0] && !item[0].includes("取水点") && !item[0].includes("合计")
+ );
+ });
+
+
+ const drinkingWaterVillageBillId=record.drinkingWaterVillageBillId;
+
+ // drinkingWaterList.drinkingWaterBillId=record.drinkingWaterBillId;
+ // 解析成对象数组
+ // const billName1 = file.name;
+ const billData1 = utils.importWaterWithdrawalData(drinkingWaterList);
+ // console.log(drinkingWaterList.length);
+ // console.log(billData1.place);
+ if (!billData1 || billData1.length == 0) {
+ hide();
+ Modal.error({
+ title: "导入失败",
+ content: "找不到可用数据",
+ });
+ return;
+ }
+
+ if (billData1.length > 0) {
+ updateVillageWaterWithdrawal({
+ // drinkingWaterBillId:record.drinkingWaterBillId,
+ id:drinkingWaterVillageBillId,
+ waterWithdrawals: billData1,
+ })
+ .then((res) => {
+ if (res.data.code == 0) {
+ Modal.success({
+ title: "导入成功",
+ content: `成功导入${billData1.length}条数据`,
+ });
+ this.$refs.water && this.$refs.water.reload();
+ } else {
+ Modal.error({
+ title: "导入失败",
+ content: "数据上传出错1",
+
+ });
+ }
+ })
+ .catch(() => {
+ Modal.error({
+ title: "导入失败",
+ content: "数据上传出错2",
+ });
+ })
+ .finally(() => {
+ hide();
+ });
+
+ }
+ } catch (error) {
+ hide();
+ Modal.error({
+ title: "导入失败",
+ content: error.message,
+ });
+ console.log(error);
+ }
+ };
+ reader.readAsArrayBuffer(file);
+ return false;
+ },
/* 刷新表格 */
reload() {
diff --git a/src/views/water/drinking-water/collect/water-bill.vue b/src/views/water/drinking-water/collect/water-bill.vue
index b393f0d..32836f9 100644
--- a/src/views/water/drinking-water/collect/water-bill.vue
+++ b/src/views/water/drinking-water/collect/water-bill.vue
@@ -196,12 +196,18 @@
accept=".xls,.xlsx,.csv"
>
- 取水量导入 -->
+ 取水量导入
@@ -355,14 +361,15 @@ export default {
methods: {
/* 判断是否是市级,用于取水量导入 */
- isCity(record) {
- if (record.regionLevel === "市级") {
- return false;
- } else {
- return true;
- }
- },
- /*市级取水量导入 */
+ // isCity(record) {
+ // if (record.regionLevel === "市级") {
+ // return false;
+ // } else {
+ // return true;
+ // }
+ // },
+
+ /*取水量导入 */
importWaterWithdrawal(file,record) {
const hide = this.$message.loading("导入中..", 0);
let reader = new FileReader();