添加噪声导入模板下载
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user