This commit is contained in:
weicw
2021-08-14 18:31:13 +08:00
parent c7a2eadcb0
commit 47b0673eda
5 changed files with 148 additions and 34599 deletions

34499
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -29,7 +29,6 @@
import { import {
saveZoneNoiseBill, saveZoneNoiseBill,
} from "@/api/ecology/zone-sound"; } from "@/api/ecology/zone-sound";
import {saveZonePlaceBill} from "@/api/ecology/zone-place";
export default { export default {
name: "ZoneCollectIndex", name: "ZoneCollectIndex",
@@ -62,21 +61,16 @@
let aoa2 = XLSX.utils.sheet_to_json(workbook.Sheets[sheetNames[1]], { let aoa2 = XLSX.utils.sheet_to_json(workbook.Sheets[sheetNames[1]], {
header: 1, header: 1,
}); });
let aoa3 = XLSX.utils.sheet_to_json(workbook.Sheets[sheetNames[2]], {
header: 1,
});
const reportDate = aoa[1][0].replace(/[^\d]+/g, "-") const reportDate = aoa[1][0].replace(/[^\d]+/g, "-")
const reportDate2 = aoa2[1][0].replace(/[^\d]+/g, "-") const reportDate2 = aoa2[1][0].replace(/[^\d]+/g, "-")
const reportDate3 = new Date();
const zoneNoiseList = aoa.filter(item => item.length == 21 && typeof item[0] == "number"); const zoneNoiseList = aoa.filter(item => item.length == 26 && typeof item[0] == "number");
const zoneNoiseList2 = aoa2.filter(item => item.length == 21 && typeof item[0] == "number"); const zoneNoiseList2 = aoa2.filter(item => item.length == 26 && typeof item[0] == "number");
const zoneNoiseList3 = aoa3.filter(item => item.length == 16 && typeof item[1] == "number");
// 解析成对象数组 // 解析成对象数组
const billData = utils.toObjData(zoneNoiseList); const billData = utils.toObjData(zoneNoiseList);
const billData2 = utils.toObjData(zoneNoiseList2); const billData2 = utils.toObjData(zoneNoiseList2);
const billData3 = utils.toPlaceData(zoneNoiseList3);
const tasks = []; const tasks = [];
if (billData.length > 0) { if (billData.length > 0) {
@@ -84,6 +78,10 @@
reportTime: new Date(reportDate).getTime(), reportTime: new Date(reportDate).getTime(),
billName: sheetNames[0] + reportDate, billName: sheetNames[0] + reportDate,
zoneNoiseList: billData zoneNoiseList: billData
}).then(res=>{
if(res.data.code === 1){
this.$message.error("表格格式有误,请检查后重新上传!");
}
})) }))
} }
@@ -92,16 +90,14 @@
reportTime: new Date(reportDate2).getTime(), reportTime: new Date(reportDate2).getTime(),
billName: sheetNames[1] + reportDate2, billName: sheetNames[1] + reportDate2,
zoneNoiseList: billData2 zoneNoiseList: billData2
}).then(res=>{
if(res.data.code === 1){
this.$message.error("表格格式有误,请检查后重新上传!");
}
})) }))
} }
if (billData3.length > 0) {
tasks.push(saveZonePlaceBill({
reportTime: reportDate3.getTime(),
billName: sheetNames[2] + reportDate3.getTime(),
zonePlaceList: billData3
}))
}
// 上传到服务器 // 上传到服务器
Promise.all(tasks).then(() => { Promise.all(tasks).then(() => {

View File

@@ -166,6 +166,11 @@
customRender: ({ customRender: ({
text text
}) => this.$util.toDateString(text) }) => this.$util.toDateString(text)
},
{
title: '创建人',
dataIndex: 'username',
sorter: true
}, },
{ {
title: '审核状态', title: '审核状态',

View File

@@ -32,8 +32,8 @@
</a-form> </a-form>
<a-modal v-model:visible="showEdit" :title="form.zoneNoiseId!==undefined?'修改用户':'添加用户'" :confirm-loading="loading" <a-modal v-model:visible="showEdit" :title="form.zoneNoiseId!==undefined?'修改用户':'添加用户'" :confirm-loading="loading"
:width="1000" :body-style="{paddingBottom: '8px'}" @ok="save"> :width="1000" :body-style="{paddingBottom: '8px'}" @ok="save">
<a-form ref="form" :model="form" :rules="rules" :label-col="{md: {span: 6}, sm: {span: 24}}" <a-form ref="form" :model="form" :rules="rules" :label-col="{md: {span: 8}, sm: {span: 24}}"
:wrapper-col="{md: {span: 18}, sm: {span: 24}}"> :wrapper-col="{md: {span: 16}, sm: {span: 24}}">
<a-row> <a-row>
<a-col :md="12" :sm="24"> <a-col :md="12" :sm="24">
<a-form-item label="日期" name="monitorDate"> <a-form-item label="日期" name="monitorDate">
@@ -45,29 +45,30 @@
<a-time-picker v-model:value="form.monitorTime" format="HH:mm" /> <a-time-picker v-model:value="form.monitorTime" format="HH:mm" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="12" :sm="24">
<a-form-item label="时段" name="timeSlot">
<a-select v-model:value="form.timeSlot">
<a-select-option value="昼"></a-select-option>
<a-select-option value="夜"></a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="12" :sm="24"> <a-col :md="12" :sm="24">
<a-form-item label="测点名称" name="place"> <a-form-item label="测点名称" name="place">
<a-input v-model:value="form.place" placeholder="请输入测点名称" allow-clear /> <a-input v-model:value="form.place" placeholder="请输入测点名称" allow-clear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="12" :sm="24"> <a-col :md="12" :sm="24">
<a-form-item label="点号" name="placeCode"> <a-form-item label="网格点号" name="gridNo">
<a-input v-model:value="form.placeCode" placeholder="请输入点号" allow-clear /> <a-input v-model:value="form.gridNo" placeholder="请输入测点名称" allow-clear />
</a-form-item>
</a-col>
<a-col :md="12" :sm="24">
<a-form-item label="网格长度" name="gridLength">
<a-input v-model:value="form.gridLength" placeholder="请输入网格长度" allow-clear />
</a-form-item>
</a-col>
<a-col :md="12" :sm="24">
<a-form-item label="网格宽度" name="gridWidth">
<a-input v-model:value="form.gridWidth" placeholder="请输入网格宽度" allow-clear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="12" :sm="24"> <a-col :md="12" :sm="24">
<a-form-item label="所属路段" name="zone"> <a-form-item label="主要声源" name="source">
<a-input v-model:value="form.zone" placeholder="请输入测点名称" allow-clear /> <a-input v-model:value="form.source" placeholder="请输入测点名称" allow-clear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="12" :sm="24"> <a-col :md="12" :sm="24">
@@ -75,29 +76,6 @@
<a-input v-model:value="form.area" placeholder="请输入点号" allow-clear /> <a-input v-model:value="form.area" placeholder="请输入点号" allow-clear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="12" :sm="24">
<a-form-item label="路长" name="zoneLength">
<a-input v-model:value="form.zoneLength" placeholder="请输入路长(米)" allow-clear />
</a-form-item>
</a-col>
<a-col :md="12" :sm="24">
<a-form-item label="总路宽" name="zoneWidth">
<a-input v-model:value="form.zoneWidth" placeholder="请输入总路宽(米)" allow-clear />
</a-form-item>
</a-col>
<a-col :md="12" :sm="24">
<a-form-item label="中小型车流量" name="smallTrafficFlow">
<a-input type="number" v-model:value="form.smallTrafficFlow" placeholder="请输入中小型车流量(辆/20分钟"
allow-clear />
</a-form-item>
</a-col>
<a-col :md="12" :sm="24">
<a-form-item label="大型车流量" name="largeTrafficFlow">
<a-input type="number" v-model:value="form.largeTrafficFlow" placeholder="请输入大型车流量(辆/20分钟"
allow-clear />
</a-form-item>
</a-col>
<a-col :md="12" :sm="24"> <a-col :md="12" :sm="24">
<a-form-item label="LeqdB(A)" name="indexLeq"> <a-form-item label="LeqdB(A)" name="indexLeq">
<a-input type="number" v-model:value="form.indexLeq" placeholder="请输入LeqdB(A)" allow-clear /> <a-input type="number" v-model:value="form.indexLeq" placeholder="请输入LeqdB(A)" allow-clear />
@@ -133,6 +111,42 @@
<a-input type="number" v-model:value="form.indexLmax" placeholder="请输入LmaxdB(A)" allow-clear /> <a-input type="number" v-model:value="form.indexLmax" placeholder="请输入LmaxdB(A)" allow-clear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="12" :sm="24">
<a-form-item label="监测仪器型号" name="monitorInstrumentModel">
<a-input v-model:value="form.monitorInstrumentModel" placeholder="请输入监测仪器型号" allow-clear />
</a-form-item>
</a-col>
<a-col :md="12" :sm="24">
<a-form-item label="监测仪器编号" name="monitorInstrumentCode">
<a-input v-model:value="form.monitorInstrumentCode" placeholder="请输入监测仪器编号" allow-clear />
</a-form-item>
</a-col>
<a-col :md="12" :sm="24">
<a-form-item label="监测前校准值" name="beforeMonitorValue">
<a-input v-model:value="form.beforeMonitorValue" placeholder="请输入监测前校准值" allow-clear />
</a-form-item>
</a-col>
<a-col :md="12" :sm="24">
<a-form-item label="监测后校准值" name="afterMonitorValue">
<a-input v-model:value="form.afterMonitorValue" placeholder="请输入监测后校准值" allow-clear />
</a-form-item>
</a-col>
<a-col :md="12" :sm="24">
<a-form-item label="声校准器测量声压值" name="soundPressureValue">
<a-input v-model:value="form.soundPressureValue" placeholder="请输入声校准器测量声压值" allow-clear />
</a-form-item>
</a-col>
<a-col :md="12" :sm="24">
<a-form-item label="声校准仪器型号" name="soundInstrumentModel">
<a-input v-model:value="form.soundInstrumentModel" placeholder="请输入声校准仪器型号" allow-clear />
</a-form-item>
</a-col>
<a-col :md="12" :sm="24">
<a-form-item label="声校准仪器编号" name="soundInstrumentCode">
<a-input v-model:value="form.soundInstrumentCode" placeholder="请输入点号" allow-clear />
</a-form-item>
</a-col>
</a-row> </a-row>
</a-form> </a-form>
@@ -206,13 +220,18 @@
sorter: true sorter: true
}, },
{ {
title: '点号', title: '网格长',
dataIndex: 'placeCode', dataIndex: 'gridLength',
sorter: true sorter: true
}, },
{ {
title: '所属路段', title: '网格宽',
dataIndex: 'zone', dataIndex: 'gridWidth',
sorter: true
},
{
title: '网格点号',
dataIndex: 'gridNo',
sorter: true sorter: true
}, },
{ {
@@ -221,30 +240,11 @@
sorter: true sorter: true
}, },
{ {
title: '路长', title: '主要声源',
dataIndex: 'zoneLength', dataIndex: 'source',
sorter: true
},
{
title: '路宽',
dataIndex: 'zoneWidth',
sorter: true
},
{
title: '中小型车流量(辆/20分钟',
dataIndex: 'smallTrafficFlow',
sorter: true
},
{
title: '大型车流量(辆/20分钟',
dataIndex: 'largeTrafficFlow',
sorter: true
},
{
title: '时段',
dataIndex: 'timeSlot',
sorter: true sorter: true
}, },
// { // {
// title: '月', // title: '月',
// dataIndex: 'monitorMonth', // dataIndex: 'monitorMonth',
@@ -299,6 +299,46 @@
title: 'LmaxdB(A)', title: 'LmaxdB(A)',
dataIndex: 'indexLmax', dataIndex: 'indexLmax',
sorter: true sorter: true
},
{
title: '监测站名',
dataIndex: 'station',
sorter: true
},
{
title: '监测仪器型号',
dataIndex: 'monitorInstrumentModel',
sorter: true
},
{
title: '监测仪器编号',
dataIndex: 'monitorInstrumentCode',
sorter: true
},
{
title: '监测前校准值',
dataIndex: 'beforeMonitorValue',
sorter: true
},
{
title: '监测后校准值',
dataIndex: 'afterMonitorValue',
sorter: true
},
{
title: '声校准器测量声压值',
dataIndex: 'soundPressureValue',
sorter: true
},
{
title: '声校准仪器型号',
dataIndex: 'soundInstrumentModel',
sorter: true
},
{
title: '声校准仪器编号',
dataIndex: 'soundInstrumentCode',
sorter: true
}, },
{ {
title: '创建人', title: '创建人',

View File

@@ -9,28 +9,35 @@ export default {
monitorTime.setMinutes(item[13]); monitorTime.setMinutes(item[13]);
return { return {
monitorYear: item[0], monitorYear: item[0],
place: item[1], gridLength: item[1],
placeCode: item[2], gridWidth: item[2],
road: item[3], place: item[3],
area: item[4], gridNo: item[4],
city: '南宁', city: '南宁',
roadLength: item[5], area: item[5],
roadWidth: item[6], source: item[6],
smallTrafficFlow: item[7], monitorMonth: item[7],
largeTrafficFlow: item[8], monitorDay: item[8],
timeSlot: item[9], monitorHour: item[9],
monitorMonth: item[10], monitorMinute: item[10],
monitorDay: item[11],
monitorHour: item[12],
monitorMinute: item[13],
monitorTime: monitorTime.getTime(), monitorTime: monitorTime.getTime(),
indexLeq: item[14], indexLeq: item[11],
indexSd: item[15], indexSd: item[12],
indexL10: item[16], indexL10: item[13],
indexL50: item[17], indexL50: item[14],
indexL90: item[18], indexL90: item[15],
indexLmin: item[19], indexLmax: item[16],
indexLmax: item[20], indexLmin: item[17],
station: item[18],
monitorInstrumentModel: item[19],
monitorInstrumentCode: item[20],
beforeMonitorValue: item[21],
afterMonitorValue: item[22],
soundPressureValue: item[23],
soundInstrumentModel: item[24],
soundInstrumentCode: item[25],
} }
}) })