添加噪声导入模板下载

This commit is contained in:
weicw
2021-12-02 13:49:48 +08:00
parent 113dabeb89
commit 0cf94c370e
9 changed files with 543 additions and 476 deletions

View File

@@ -3,20 +3,22 @@
<a-card style="width: 100%" :bordered="false">
<template #title>
<a-space>
<a-select
ref="select"
v-model:value="regionLevel"
style="width: 120px"
>
<a-select-option value="city"></a-select-option>
<a-select-option value="county"></a-select-option>
</a-select>
<a-upload
:before-upload="importFileCity"
:before-upload="importFile"
:showUploadList="false"
accept=".xls,.xlsx,.csv"
>
<a-button>市级导入</a-button>
</a-upload>
<a-upload
:before-upload="importFileArea"
:showUploadList="false"
accept=".xls,.xlsx,.csv"
>
<a-button>县级导入</a-button>
<a-button type="primary">数据导入</a-button>
</a-upload>
<a-button @click="download">模板下载</a-button>
</a-space>
</template>
<a-tabs v-model:activeKey="activeKey">
@@ -31,9 +33,11 @@
<script>
import XLSX from "xlsx";
import utils from "./utils";
import { Modal } from "ant-design-vue";
import {Modal} from "ant-design-vue";
import NoiseBill from "./noise-bill.vue";
import { saveFunctionNoiseBill } from "@/api/ecology/noise/function-sound";
import {saveFunctionNoiseBill} from "@/api/ecology/noise/function-sound";
import {downloadTemplate} from "@/utils/excel-util";
export default {
name: "FunctionCollectIndex",
components: {
@@ -42,9 +46,28 @@ export default {
data() {
return {
activeKey: "noise",
regionLevel: "city"
};
},
methods: {
download() {
let filename = "功能区噪声-"
if (this.regionLevel == "city") {
filename += "市"
} else if (this.regionLevel == "county") {
filename += "县"
} else {
filename += "站点"
}
downloadTemplate(filename)
},
importFile(file) {
if (this.regionLevel == "city") {
this.importFileCity(file);
} else {
this.importFileCounty(file);
}
},
/* 导入本地excel文件 */
importFileCity(file) {
const hide = this.$message.loading("导入中..", 0);
@@ -62,7 +85,7 @@ export default {
let aoa = XLSX.utils.sheet_to_json(workbook.Sheets[sheetNames[0]], {
header: 1,
});
let aoa2= XLSX.utils.sheet_to_json(workbook.Sheets[sheetNames[1]], {
let aoa2 = XLSX.utils.sheet_to_json(workbook.Sheets[sheetNames[1]], {
header: 1,
});
const reportDate = aoa[1][0].replace(/[^\d]+/g, "-");
@@ -70,15 +93,15 @@ export default {
const functionNoiseList = aoa.filter((item) => {
return item.length >= 15 && item[0] != "年";
});
const functionNoiseList2 = aoa2.filter(
(item) => item.length >= 13 && item[1] != "点位名称"
(item) => item.length >= 13 && item[1] != "点位名称"
);
// 解析成对象数组
const billName = file.name;
const billData = utils.toObjData(functionNoiseList);
const billData2 = utils.toPlaceData(functionNoiseList2);
if (!billData || billData.length == 0) {
hide();
@@ -139,7 +162,7 @@ export default {
return false;
},
importFileArea(file) {
importFileCounty(file) {
const hide = this.$message.loading("导入中..", 0);
let reader = new FileReader();
@@ -161,7 +184,7 @@ export default {
const functionNoiseList = aoa.filter((item) => {
return item.length >= 28 && typeof item[0] != "string";
});
// 解析成对象数组
const billName = file.name;
const billData = utils.toAreaObjData(functionNoiseList);
@@ -225,4 +248,4 @@ export default {
</script>
<style scoped lang="less">
</style>
</style>