From 4595b8b5a9c7afdeff9929022bfa3ca31a24ce06 Mon Sep 17 00:00:00 2001 From: quanyawei <401863037@qq.com> Date: Fri, 15 Mar 2024 13:10:52 +0800 Subject: [PATCH] fix: 走航报告下载修改 --- src/views/dailyreport/index.vue | 1428 +++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 941 insertions(+), 487 deletions(-) diff --git a/src/views/dailyreport/index.vue b/src/views/dailyreport/index.vue index 475e685..c4cec12 100644 --- a/src/views/dailyreport/index.vue +++ b/src/views/dailyreport/index.vue @@ -2,445 +2,830 @@ <div class="dailyreport"> <div class="dailyBox"> <div class="dailyTop"> - <el-select v-model="cityChoose" placeholder="���������������"> + <!-- <el-select + v-model="cityChoose" + placeholder="���������������" + > <el-option - v-for="item in cityOptions" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - <el-select v-model="equipChoose1" placeholder="���������������"> + v-for="item in cityOptions" + :key="item.value" + :label="item.label" + :value="item.value" + /> + </el-select> --> + <el-cascader + ref="myCascader" + v-model="newRegion" + placeholder="" + :options="options" + :props="{ checkStrictly: true }" + clearable + change-on-select + style="flex: 1" + @change="getCity" + /> + <el-select + v-model="equipChoose1" + placeholder="���������������" + > <el-option - v-for="item in equipOptions1" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> + v-for="item in equipOptions1" + :key="item.value" + :label="item.label" + :value="item.value" + /> </el-select> <el-date-picker - v-model="value1" - type="daterange" - align="right" - unlink-panels - range-separator="���" - start-placeholder="������������" - end-placeholder="������������" - :picker-options="pickerOptions1"> - </el-date-picker> - <el-select v-if="equipChoose1==='car'" v-model="carInput" clearable placeholder="������������������" style="width: 180px;display: inline-block"> + v-model="value1" + type="daterange" + align="right" + unlink-panels + range-separator="���" + start-placeholder="������������" + end-placeholder="������������" + :picker-options="pickerOptions1" + /> + <el-select + v-if="equipChoose1==='car'" + v-model="carInput" + clearable + placeholder="������������������" + style="width: 180px;display: inline-block" + > <el-option - v-for="(item,index) in carMac" - :key="index" - :label="item.name" - :value="item.mac"> - </el-option> + v-for="(item,index) in carMac" + :key="index" + :label="item.name" + :value="item.mac" + /> </el-select> - <el-select v-else v-model="planSelect" clearable placeholder="������������������" style="width: 180px;display: inline-block"> + <el-select + v-else + v-model="planSelect" + clearable + placeholder="������������������" + style="width: 180px;display: inline-block" + > <el-option - v-for="(item,index) in carMac" - :key="index" - :label="item.name" - :value="item.mac"> - </el-option> + v-for="(item,index) in carMac" + :key="index" + :label="item.name" + :value="item.mac" + /> </el-select> - <el-button type="primary" @click="selectExport" style="margin-right: 10px;">������</el-button> - <el-button type="primary" @click="upImgBtn" style="margin-left: 0">������</el-button> -<!-- <el-button type="primary" @click="exportDom">������demo</el-button>--> + <el-button + type="primary" + style="margin-right: 10px;" + @click="selectExport" + > + ������ + </el-button> + <el-button + type="primary" + style="margin-left: 0" + @click="upImgBtn" + > + ������ + </el-button> + <!-- <el-button type="primary" @click="exportDom">������demo</el-button>--> </div> - <div class="dailyDown" style="overflow-y: auto"> + <div + class="dailyDown" + style="overflow-y: auto" + > <el-card class="boxCard"> + <div style="text-align: right;"> + <el-button + v-if="equipChoose1==='car'" + type="primary" + size="mini" + :disabled="handSelectData.length===0" + @click="expReport()" + > + ������ + </el-button> + <el-button + v-else + type="primary" + size="mini" + @click="exUAVReport()" + > + ������ + </el-button> + </div> <el-table - :data="tableData" - style="width: 100%;overflow-y: auto; height: 82%;"> + :data="tableData" + style="width: 100%;overflow-y: auto; height: 82%;" + @selection-change="handleSelectionChange" + > <el-table-column - prop="name" - label="������������" - > - </el-table-column> + type="selection" + align="center" + width="55" + /> <el-table-column - prop="time" - label="������������" - > - </el-table-column> + prop="name" + align="center" + label="������������" + /> <el-table-column - prop="date" - label="������������" - > - </el-table-column> - <el-table-column label="������"> - <template slot-scope="scope"> - <el-button v-if="equipChoose1==='car'" type="text" size="medium" @click="expReport(scope.row)">������</el-button> - <el-button v-else type="text" size="medium" @click="exUAVReport(scope.row)">������</el-button> - </template> - </el-table-column> + prop="mac" + align="center" + label="mac" + /> + <el-table-column + prop="time" + align="center" + label="������������" + /> + <el-table-column + prop="date" + align="center" + label="������������" + /> + <!-- <el-table-column + label="������ " + align="center" + > --> + <!-- <template slot-scope="scope"> + <el-button + v-if="equipChoose1==='car'" + type="text" + size="medium" + @click="expReport(scope.row)" + > + ������ + </el-button> + <el-button + v-else + type="text" + size="medium" + @click="exUAVReport(scope.row)" + > + ������ + </el-button> + </template> --> + <!-- </el-table-column> --> </el-table> </el-card> </div> </div> - <el-dialog title="������������" :visible.sync="openBox"> + <el-dialog + title="������������" + :visible.sync="openBox" + > <div class="openTop"> - <el-select v-model="cityChoose2" placeholder="���������������"> + <!-- <el-select + v-model="cityChoose2" + placeholder="���������������" + > <el-option - v-for="item in cityOptions2" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - <el-select v-model="equipChoose2" placeholder="���������������"> + v-for="item in cityOptions2" + :key="item.value" + :label="item.label" + :value="item.value" + /> + </el-select> --> + <el-cascader + ref="myUpCascader" + v-model="newUpRegion" + placeholder="" + :options="options" + :props="{ checkStrictly: true }" + clearable + change-on-select + style="flex: 1" + @change="getUpCity" + /> + <el-select + v-model="equipChoose2" + placeholder="���������������" + > <el-option - v-for="item in equipOptions2" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> + v-for="item in equipOptions2" + :key="item.value" + :label="item.label" + :value="item.value" + /> </el-select> - <el-select v-if="equipChoose2==='car'" v-model="carInput2" clearable placeholder="������������������" style="width: 180px;display: inline-block"> + <el-select + v-if="equipChoose2==='car'" + v-model="carInput2" + clearable + placeholder="������������������" + style="width: 180px;display: inline-block" + > <el-option - v-for="(item, index) in carMac" - :key="index" - :label="item.name" - :value="item.mac"> - </el-option> + v-for="(item, index) in carMac" + :key="index" + :label="item.name" + :value="item.mac" + /> </el-select> - <el-select v-else v-model="planSelect2" clearable placeholder="������������������" style="width: 180px;display: inline-block"> + <el-select + v-else + v-model="planSelect2" + clearable + placeholder="������������������" + style="width: 180px;display: inline-block" + > <el-option - v-for="(item, index) in planMac" - :key="index" - :label="item.name" - :value="item.mac"> - </el-option> + v-for="(item, index) in planMac" + :key="index" + :label="item.name" + :value="item.mac" + /> </el-select> - <el-input v-if="equipChoose2==='car'" v-model="areaInput3" placeholder="���������������������" clearable style="width: 180px;display: inline-block"></el-input> - <el-input v-else v-model="planInput2" placeholder="���������������������" clearable style="width: 180px;display: inline-block"></el-input> - <el-button v-if="equipChoose2!=='car'" type="primary" @click="innerVisible = true">������������</el-button> - <div class="dateTimeBox" v-if="equipChoose2==='car'"> + <el-input + v-if="equipChoose2==='car'" + v-model="areaInput3" + placeholder="���������������������" + clearable + style="width: 180px;display: inline-block" + /> + <el-input + v-else + v-model="planInput2" + placeholder="���������������������" + clearable + style="width: 180px;display: inline-block" + /> + <el-button + v-if="equipChoose2!=='car'" + type="primary" + @click="innerVisible = true" + > + ������������ + </el-button> + <div + v-if="equipChoose2==='car'" + class="dateTimeBox" + > <div> <el-date-picker - v-model="value2" - type="datetimerange" - range-separator="���" - start-placeholder="������������" - end-placeholder="������������" - :picker-options="value2Pic" - @change="value2Change"> - </el-date-picker> - <el-button style="padding: 6px 8px;" @click="addDate('add')" :disabled="isDidAdd">+</el-button> - <el-button style="padding: 6px 10px;" @click="addDate('minus')" :disabled="isDisMinus">-</el-button> + v-model="value2" + type="datetimerange" + range-separator="���" + start-placeholder="������������" + end-placeholder="������������" + :picker-options="value2Pic" + @change="value2Change" + /> + <el-button + style="padding: 6px 8px;" + :disabled="isDidAdd" + @click="addDate('add')" + > + + + </el-button> + <el-button + style="padding: 6px 10px;" + :disabled="isDisMinus" + @click="addDate('minus')" + > + - + </el-button> </div> <div :style="{display:dateTime2}"> <el-date-picker - v-model="value3" - type="datetimerange" - range-separator="���" - start-placeholder="������������" - end-placeholder="������������" - :picker-options="value3Pic" - @change="value3Change"> - </el-date-picker> + v-model="value3" + type="datetimerange" + range-separator="���" + start-placeholder="������������" + end-placeholder="������������" + :picker-options="value3Pic" + @change="value3Change" + /> </div> <div :style="{display:dateTime3}"> <el-date-picker - v-model="value4" - type="datetimerange" - range-separator="���" - start-placeholder="������������" - end-placeholder="������������" - :picker-options="value4Pic" - @change="value4Change"> - </el-date-picker> + v-model="value4" + type="datetimerange" + range-separator="���" + start-placeholder="������������" + end-placeholder="������������" + :picker-options="value4Pic" + @change="value4Change" + /> </div> </div> <div v-else> <el-date-picker - v-model="planUpTime" - type="date" - placeholder="������������"> - </el-date-picker> + v-model="planUpTime" + type="date" + placeholder="������������" + /> </div> </div> - <div v-if="equipChoose2==='car'" class="uploadDiv" style="width:90%;overflow: auto;display: flex;flex-wrap: wrap;justify-content: space-between"> + <div + v-if="equipChoose2==='car'" + class="uploadDiv" + style="width:90%;overflow: auto;display: flex;flex-wrap: wrap;justify-content: space-between" + > <el-upload - class="upload-demo" - action="" - ref="upload" - :on-change="handleChange1" - :on-remove="handleRemove1" - :file-list="fileList1" - :limit="1" - :on-exceed="handleExceed" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">���������������������������������</div> + ref="upload" + class="upload-demo" + action="" + :on-change="handleChange1" + :on-remove="handleRemove1" + :file-list="fileList1" + :limit="1" + :on-exceed="handleExceed" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ��������������������������������� + </div> </el-upload> <el-upload - class="upload-demo" - action="" - ref="upload" - :on-change="handleChange2" - :on-remove="handleRemove2" - :file-list="fileList2" - :limit="1" - :on-exceed="handleExceed" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">���������PM2.5������������������</div> + ref="upload" + class="upload-demo" + action="" + :on-change="handleChange2" + :on-remove="handleRemove2" + :file-list="fileList2" + :limit="1" + :on-exceed="handleExceed" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ���������PM2.5������������������ + </div> </el-upload> <el-upload - class="upload-demo" - action="" - ref="upload" - :on-change="handleChange3" - :on-remove="handleRemove3" - :file-list="fileList3" - :limit="1" - :on-exceed="handleExceed" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">���������PM10������������������</div> + ref="upload" + class="upload-demo" + action="" + :on-change="handleChange3" + :on-remove="handleRemove3" + :file-list="fileList3" + :limit="1" + :on-exceed="handleExceed" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ���������PM10������������������ + </div> </el-upload> <el-upload - class="upload-demo" - action="" - ref="upload" - :on-change="handleChange4" - :on-remove="handleRemove4" - :file-list="fileList4" - :limit="1" - :on-exceed="handleExceed" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">���������NO2������������������</div> + ref="upload" + class="upload-demo" + action="" + :on-change="handleChange4" + :on-remove="handleRemove4" + :file-list="fileList4" + :limit="1" + :on-exceed="handleExceed" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ���������NO2������������������ + </div> </el-upload> <el-upload - class="upload-demo" - action="" - ref="upload" - :on-change="handleChange5" - :on-remove="handleRemove5" - :file-list="fileList5" - :limit="1" - :on-exceed="handleExceed" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">���������CO������������������</div> + ref="upload" + class="upload-demo" + action="" + :on-change="handleChange5" + :on-remove="handleRemove5" + :file-list="fileList5" + :limit="1" + :on-exceed="handleExceed" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ���������CO������������������ + </div> </el-upload> <el-upload - class="upload-demo" - action="" - ref="upload" - :on-change="handleChange6" - :on-remove="handleRemove6" - :file-list="fileList6" - :limit="1" - :on-exceed="handleExceed" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">���������SO2������������������</div> + ref="upload" + class="upload-demo" + action="" + :on-change="handleChange6" + :on-remove="handleRemove6" + :file-list="fileList6" + :limit="1" + :on-exceed="handleExceed" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ���������SO2������������������ + </div> </el-upload> <el-upload - class="upload-demo" - action="" - ref="upload" - :on-change="handleChange7" - :on-remove="handleRemove7" - :file-list="fileList7" - :limit="1" - :on-exceed="handleExceed" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">���������O3������������������</div> + ref="upload" + class="upload-demo" + action="" + :on-change="handleChange7" + :on-remove="handleRemove7" + :file-list="fileList7" + :limit="1" + :on-exceed="handleExceed" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ���������O3������������������ + </div> </el-upload> <el-upload - class="upload-demo" - action="" - ref="upload" - :on-change="handleChange8" - :on-remove="handleRemove8" - :file-list="fileList8" - :limit="1" - :on-exceed="handleExceed" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">���������VOCs������������������</div> + ref="upload" + class="upload-demo" + action="" + :on-change="handleChange8" + :on-remove="handleRemove8" + :file-list="fileList8" + :limit="1" + :on-exceed="handleExceed" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ���������VOCs������������������ + </div> </el-upload> <el-upload - class="upload-demo" - action="" - ref="upload" - :on-change="handleChange9" - :on-remove="handleRemove9" - :file-list="fileList9" - :limit="1" - :on-exceed="handleExceed" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">���������������������</div> + ref="upload" + class="upload-demo" + action="" + :on-change="handleChange9" + :on-remove="handleRemove9" + :file-list="fileList9" + :limit="1" + :on-exceed="handleExceed" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ��������������������� + </div> </el-upload> </div> - <div v-else class="uploadDiv" style="width:90%;overflow: auto;display: flex;flex-wrap: wrap;justify-content: space-between"> + <div + v-else + class="uploadDiv" + style="width:90%;overflow: auto;display: flex;flex-wrap: wrap;justify-content: space-between" + > <el-upload - class="upload-demo" - action="" - ref="uploadPlan1" - :on-change="handleChangePlan1" - :on-remove="handleRemovePlan1" - :file-list="fileListPlan1" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">������������������������������������</div> + ref="uploadPlan1" + class="upload-demo" + action="" + :on-change="handleChangePlan1" + :on-remove="handleRemovePlan1" + :file-list="fileListPlan1" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ������������������������������������ + </div> </el-upload> <el-upload - class="upload-demo" - action="" - ref="uploadPlan2" - :on-change="handleChangePlan2" - :on-remove="handleRemovePlan2" - :file-list="fileListPlan2" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">���������������������������������</div> + ref="uploadPlan2" + class="upload-demo" + action="" + :on-change="handleChangePlan2" + :on-remove="handleRemovePlan2" + :file-list="fileListPlan2" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ��������������������������������� + </div> </el-upload> <el-upload - class="upload-demo" - action="" - ref="uploadPlan3" - :on-change="handleChangePlan3" - :on-remove="handleRemovePlan3" - :file-list="fileListPlan3" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">������������������������������������������������</div> + ref="uploadPlan3" + class="upload-demo" + action="" + :on-change="handleChangePlan3" + :on-remove="handleRemovePlan3" + :file-list="fileListPlan3" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ������������������������������������������������ + </div> </el-upload> <el-upload - class="upload-demo" - action="" - ref="uploadPlan4" - :on-change="handleChangePlan4" - :on-remove="handleRemovePlan4" - :file-list="fileListPlan4" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">���������O3���������������������������</div> + ref="uploadPlan4" + class="upload-demo" + action="" + :on-change="handleChangePlan4" + :on-remove="handleRemovePlan4" + :file-list="fileListPlan4" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ���������O3��������������������������� + </div> </el-upload> <el-upload - class="upload-demo" - action="" - ref="uploadPlan5" - :on-change="handleChangePlan5" - :on-remove="handleRemovePlan5" - :file-list="fileListPlan5" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">���������O3������������������������</div> + ref="uploadPlan5" + class="upload-demo" + action="" + :on-change="handleChangePlan5" + :on-remove="handleRemovePlan5" + :file-list="fileListPlan5" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ���������O3������������������������ + </div> </el-upload> <el-upload - class="upload-demo" - action="" - ref="uploadPlan6" - :on-change="handleChangePlan6" - :on-remove="handleRemovePlan6" - :file-list="fileListPlan6" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">���������PM10���������������������������</div> + ref="uploadPlan6" + class="upload-demo" + action="" + :on-change="handleChangePlan6" + :on-remove="handleRemovePlan6" + :file-list="fileListPlan6" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ���������PM10��������������������������� + </div> </el-upload> <el-upload - class="upload-demo" - action="" - ref="uploadPlan7" - :on-change="handleChangePlan7" - :on-remove="handleRemovePlan7" - :file-list="fileListPlan7" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">���������PM10������������������������</div> + ref="uploadPlan7" + class="upload-demo" + action="" + :on-change="handleChangePlan7" + :on-remove="handleRemovePlan7" + :file-list="fileListPlan7" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ���������PM10������������������������ + </div> </el-upload> <el-upload - class="upload-demo" - action="" - ref="uploadPlan8" - :on-change="handleChangePlan8" - :on-remove="handleRemovePlan8" - :file-list="fileListPlan8" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">���������SO2���������������������������</div> + ref="uploadPlan8" + class="upload-demo" + action="" + :on-change="handleChangePlan8" + :on-remove="handleRemovePlan8" + :file-list="fileListPlan8" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ���������SO2��������������������������� + </div> </el-upload> <el-upload - class="upload-demo" - action="" - ref="uploadPlan9" - :on-change="handleChangePlan9" - :on-remove="handleRemovePlan9" - :file-list="fileListPlan9" - multiple - :auto-upload="false"> - <el-button slot="trigger" type="primary" size="small">������������</el-button> - <div slot="tip" class="el-upload__tip">���������SO2������������������������</div> + ref="uploadPlan9" + class="upload-demo" + action="" + :on-change="handleChangePlan9" + :on-remove="handleRemovePlan9" + :file-list="fileListPlan9" + multiple + :auto-upload="false" + > + <el-button + slot="trigger" + type="primary" + size="small" + > + ������������ + </el-button> + <div + slot="tip" + class="el-upload__tip" + > + ���������SO2������������������������ + </div> </el-upload> </div> - <div slot="footer" class="dialog-footer"> - <el-button @click="openBox = false">��� ���</el-button> - <el-button type="primary" @click="submitImgs" :disabled ="isDisplay">��� ���</el-button> + <div + slot="footer" + class="dialog-footer" + > + <el-button @click="openBox = false"> + ��� ��� + </el-button> + <el-button + type="primary" + :disabled="isDisplay" + @click="submitImgs" + > + ��� ��� + </el-button> </div> <el-dialog - class="innerDialog" - width="70%" - height="90%" - margin-top="7vh" - title="������ Dialog" - :visible.sync="innerVisible" - append-to-body> - <Map></Map> + class="innerDialog" + width="70%" + height="90%" + margin-top="7vh" + title="������ Dialog" + :visible.sync="innerVisible" + append-to-body + > + <Map /> </el-dialog> </el-dialog> </div> </template> <script> -import { exportDocx } from '@/utils/exportImageFile' +// import { exportDocx } from '@/utils/exportImageFile' import { exportUAVImage } from '@/utils/exportUAVImage' import requestObj from '@/utils/request' import Map from '@/components/PlanMap/Map' export default { components: { Map }, - data() { + data () { return { - cityChoose: 'gx', // ������������������������������ - cityChoose2: 'gx', // ��������������������������� - cityOptions: [{ - value: 'gx', - label: '���������' - }, { - value: 'hn', - label: '���������' - }], - cityOptions2: [{ - value: 'gx', - label: '���������' - }, { - value: 'hn', - label: '���������' - }], + handSelectData: [], + options: [], + newRegion: [], + newUpRegion: [], + cityForm: {}, + cityUpForm: {}, + cityChoose: '', // ������������������������������ + cityChoose2: '', // ��������������������������� equipChoose1: 'car', equipChoose2: 'car', equipOptions1: [{ @@ -469,7 +854,7 @@ pickerOptions1: { shortcuts: [{ text: '������������', - onClick(picker) { + onClick (picker) { const end = new Date() const start = new Date() start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) @@ -477,7 +862,7 @@ } }, { text: '���������������', - onClick(picker) { + onClick (picker) { const end = new Date() const start = new Date() start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) @@ -485,7 +870,7 @@ } }, { text: '���������������', - onClick(picker) { + onClick (picker) { const end = new Date() const start = new Date() start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) @@ -494,24 +879,24 @@ }] }, pickerOptions: { // ��������� - disabledDate(time) { + disabledDate (time) { return time.getTime() > Date.now() }, shortcuts: [{ text: '������', - onClick(picker) { + onClick (picker) { picker.$emit('pick', new Date()) } }, { text: '������', - onClick(picker) { + onClick (picker) { const date = new Date() date.setTime(date.getTime() - 3600 * 1000 * 24) picker.$emit('pick', date) } }, { text: '���������', - onClick(picker) { + onClick (picker) { const date = new Date() date.setTime(date.getTime() - 3600 * 1000 * 24 * 7) picker.$emit('pick', date) @@ -645,32 +1030,32 @@ } }, watch: { - value1(n, o) { + value1 (n, o) { if (n === null) { this.value1 = [] } }, - value2(n, o) { + value2 (n, o) { if (n === null) { this.value2 = [] } }, - value3(n, o) { + value3 (n, o) { if (n === null) { this.value3 = [] } }, - value4(n, o) { + value4 (n, o) { if (n === null) { this.value4 = [] } }, - equipChoose1(n, o) { + equipChoose1 (n, o) { if (n !== o) { this.tableData = [] } }, - cityChoose(n, o) { + cityChoose (n, o) { if (n !== o) { this.tableData = [] } @@ -678,7 +1063,8 @@ deep: true, immediate: true }, - created() { + created () { + this.getRegion() // ��������������� this.$request({ url: 'cruiser/selectCruisers', @@ -689,25 +1075,79 @@ }).catch(err => { console.log(err) }) - // ��������������� - // this.$request({ - // url: 'uav/getUavDaily', - // method: 'get' - // }).then(res => { - // this.planMac = res.data - // }).catch(err => { - // console.log(err) - // }) }, methods: { + getCity () { + console.log('this.$refs.myCascader.getCheckedNodes()[0]', this.$refs.myCascader.getCheckedNodes()[0]) + if (this.newRegion.length > 0) { // ������������������������������change������������������������������������������������������������������������������ + const { label: org, value: orgid } = + this.$refs.myCascader.getCheckedNodes()[0] + this.cityForm = { org, orgid } + console.log('this.cityForm', this.cityForm) + this.cityChoose = orgid + } else { + this.cityForm = {} + this.cityChoose = '' + } + }, + getUpCity () { + if (this.newUpRegion.length > 0) { // ������������������������������change������������������������������������������������������������������������������ + const { label: org, value: orgid } = + this.$refs.myUpCascader.getCheckedNodes()[0] + this.cityUpForm = { org, orgid } + console.log('this.cityUpForm', this.cityUpForm) + this.cityChoose2 = orgid + } else { + this.cityUpForm = {} + this.cityChoose2 = '' + } + }, + getRegion () { + this.$request({ + url: '/organization/getMapPath', + method: 'get', + params: { + organizationId: this.$store.state.orgId + } + }) + .then((res) => { + const data = res.data + for (let i = 0; i < data.length; i++) { + this.options.push({ + value: data[i].provinceCode, + label: data[i].provinceName + }) + this.options[i].children = [] + for (let j = 0; j < data[i].cities.length; j++) { + this.options[i].children.push({ + value: data[i].cities[j].cityCode, + label: data[i].cities[j].cityName + }) + // ��������������������� + if (data[i].cities[j].cityCode !== 320900) { + this.options[i].children[j].children = [] + for (let k = 0; k < data[i].cities[j].areas.length; k++) { + this.options[i].children[j].children.push({ + value: data[i].cities[j].areas[k].areaCode, + label: data[i].cities[j].areas[k].areaName + }) + } + } + } + } + }) + .catch((err) => { + // console.log('������Region������') + console.log(err) + }) + // console.log('������Region������') + }, + handleSelectionChange (e) { + this.handSelectData = e.map(i => i.id) + console.log('this.handSelectData', this.handSelectData) + }, // ������������ - exportDom() { - // const url1 = `http://47.99.64.149:8081//static/img/7f633687-8321-4f89-bffc-9a52f94cfb77.jpg` - // const url2 = `http://47.99.64.149:8081//static/img/7f633687-8321-4f89-bffc-9a52f94cfb77.jpg` - // const url3 = `http://47.99.64.149:8081//static/img/7f633687-8321-4f89-bffc-9a52f94cfb77.jpg` - // const url4 = `http://47.99.64.149:8081//static/img/7f633687-8321-4f89-bffc-9a52f94cfb77.jpg` - // this.UAVReport.fileLists[1] = [url1, url2] - // this.UAVReport.fileLists[3] = [url3, url4, url3] + exportDom () { const baseUrl = `${requestObj.baseUrl}/static/img/` var images = [['7f633687-8321-4f89-bffc-9a52f94cfb77.jpg', '7f633687-8321-4f89-bffc-9a52f94cfb77.jpg'], [], [], ['7f633687-8321-4f89-bffc-9a52f94cfb77.jpg', '7f633687-8321-4f89-bffc-9a52f94cfb77.jpg', '7f633687-8321-4f89-bffc-9a52f94cfb77.jpg'], [], [], [], []] var info = 0 @@ -735,7 +1175,8 @@ exportUAVImage('/UAVReport.docx', this.UAVReport, `���������������������.docx`) }, // ��������������������� - selectExport() { + selectExport () { + console.log(this.cityChoose) this.selectTime = this.newTime(this.value1) if (this.cityChoose && this.equipChoose1 && this.selectTime[1]) { // ���������������or��������� @@ -765,11 +1206,15 @@ } info.map(v => { var time = v.time.split('-').join('') - if (this.cityChoose === 'gx') { - v.name = `���������������������������${time}` - } else { - v.name = `���������������������������${time}` - } + + // if (this.cityChoose === 'gx') { + // v.name = `���������������������������${time}` + // } else if (this.cityChoose === 'yc') { + // v.name = `���������������������������${time}` + // } else { + // v.name = `���������������������������${time}` + // } + v.name = this.cityForm.org + `${time}` }) info.sort((a, b) => { return b.time.split('-').join('') - a.time.split('-').join('') }) this.tableData = info @@ -781,7 +1226,7 @@ } }, // ������������ - submitImgs() { + submitImgs () { if (this.equipChoose2 === 'car') { // ��������������������� this.tableData = [] this.isDisplay = true @@ -833,11 +1278,14 @@ this.equipChoose1 = this.equipChoose2 this.cityChoose = this.cityChoose2 var reportInfo = res.data - if (this.cityChoose2 === 'gx') { - reportInfo.name = '���������������������������' + reportInfo.time.split('-').join('') - } else { - reportInfo.name = '���������������������������' + reportInfo.time.split('-').join('') - } + // if (this.cityChoose2 === 'gx') { + // reportInfo.name = '���������������������������' + reportInfo.time.split('-').join('') + // } else if (this.cityChoose === 'yc') { + // reportInfo.name = '���������������������������' + reportInfo.time.split('-').join('') + // } else { + // reportInfo.name = '���������������������������' + reportInfo.time.split('-').join('') + // } + reportInfo.name = this.cityForm.org + '������������������' + reportInfo.time.split('-').join('') this.tableData = [reportInfo] } else if (res.code === -47) { this.$message(res.message) @@ -857,7 +1305,7 @@ } }, // ��������������������� - async UAVUpImage() { + async UAVUpImage () { var upObj = {} console.log('uav������') this.tableData = [] @@ -906,11 +1354,15 @@ this.equipChoose1 = this.equipChoose2 this.cityChoose = this.cityChoose2 var reportInfo = res.data - if (this.cityChoose === 'gx') { - reportInfo.name = '���������������������������' + reportInfo.time.split('-').join('') - } else { - reportInfo.name = '���������������������������' + reportInfo.time.split('-').join('') - } + + // if (this.cityChoose === 'gx') { + // reportInfo.name = '���������������������������' + reportInfo.time.split('-').join('') + // } else if (this.cityChoose === 'yc') { + // reportInfo.name = '���������������������������' + reportInfo.time.split('-').join('') + // } else { + // reportInfo.name = '���������������������������' + reportInfo.time.split('-').join('') + // } + reportInfo.name = this.cityForm.org + '������������������' + reportInfo.time.split('-').join('') this.tableData = [reportInfo] } else if (res.code === -47) { this.$message(res.message) @@ -927,7 +1379,7 @@ } }, // ������������������������ - MultipartFile(data) { + MultipartFile (data) { return this.$request({ url: '/cruiser/getDaily', method: 'post', @@ -936,50 +1388,49 @@ }) }, // ��������������������� - expReport(obj) { + expReport (obj) { this.$request({ url: '/cruiser/loadDaily', - method: 'get', - params: { - id: obj.id + method: 'post', + responseType: 'blob', + data: { + ids: this.handSelectData } }).then(res => { - const baseUrl = `${requestObj.baseUrl}/static/img/` - var imagesObj = res.data.images - this.sailingReport = { ...this.sailingReport, ...res.data.code } - // const url1 = `http://47.99.64.149:8081//static/img/7f633687-8321-4f89-bffc-9a52f94cfb77.jpg` - if (imagesObj) { - for (let i = 0; i < imagesObj.length; i++) { - this.sailingReport.fileLists[i] = [{ url: baseUrl + imagesObj[i] }] - } - } - this.sailingReport.index = imagesObj.length - var data2 = obj.date.split('-') - this.sailingReport.date2 = data2[0] + '���' + data2[1] + '���' + data2[2] + '���' - var time = [] - for (let i = 0; i < res.data.code.time.length; i++) { - time.push(res.data.code.time[i]) - } - this.sailingReport.time0 = time[0] - if (time.length === 2) { - this.sailingReport.time1 = time[1] - } - if (time.length === 3) { - this.sailingReport.time1 = time[1] - this.sailingReport.time2 = time[2] - } - if (this.cityChoose === 'gx') { - this.sailingReport.city = '���������' - } else { - this.sailingReport.city = '���������' - } - exportDocx('/sailingReport.docx', this.sailingReport, `${obj.name}.docx`) + // if (this.cityChoose === 'gx') { + // this.sailingReport.city = '���������' + // } else if (this.cityChoose === 'yc') { + // this.sailingReport.city = '���������' + // } else { + // this.sailingReport.city = '���������' + // } + this.sailingReport.city = this.cityForm.org + this.getOutExcel(`${this.sailingReport.city}.docx`, res) }).catch(err => { console.log(err) }) }, + getOutExcel (fileName, res) { + const blob = new Blob([res], { type: 'application/msword' }) + if (window.navigator.msSaveOrOpenBlob) { + // ������ IE & EDGE + navigator.msSaveBlob(blob, fileName) + } else { + var link = document.createElement('a') + // ������������������������URL������ + const url = window.URL || window.webkitURL || window.moxURL + // ������������������ + link.href = url.createObjectURL(blob) + // ������������������ + link.download = fileName + // ������������������ + link.click() + // ������������������������ + url.revokeObjectURL(link.href) + } + }, // ��������������������� - exUAVReport(obj) { + exUAVReport (obj) { this.$request({ url: '', method: 'get', @@ -1034,23 +1485,26 @@ this.UAVReport.time1 = time[1] this.UAVReport.time2 = time[2] } - if (this.cityChoose === 'gx') { - this.UAVReport.city = '���������' - } else { - this.UAVReport.city = '���������' - } + // if (this.cityChoose === 'yc') { + // this.UAVReport.city = '���������' + // } else if (this.cityChoose === 'gx') { + // this.UAVReport.city = '���������' + // } else { + // this.UAVReport.city = '���������' + // } + this.UAVReport.city = this.cityForm.org exportUAVImage('/UAVReport.docx', this.UAVReport, `${obj.name}.docx`) }).catch(err => { console.log(err) }) }, // ������������ - upImgBtn() { + upImgBtn () { this.openBox = true this.isDisplay = false }, // ��������������������������������� - addDate(name) { + addDate (name) { if (name === 'add') { // ��� if (this.dateTime2 === 'none') { // ������dateTime2 this.dateTime2 = 'block' @@ -1079,7 +1533,7 @@ } }, // value2���������������������value3���value4 - value2Change(e) { + value2Change (e) { var time2 = [] var time3 = [] var time4 = [] @@ -1116,7 +1570,7 @@ } }, // value3������������������������value2���������,���������value2������ - value3Change(e) { + value3Change (e) { if (this.value3 !== null) { if (this.value2.length) { var time2 = [] @@ -1136,7 +1590,7 @@ } }, // value4������������������������value2���value3��������� - value4Change(e) { + value4Change (e) { if (this.value4 !== null) { if (this.value2.length && this.value3.length) { var time2 = [] @@ -1158,7 +1612,7 @@ } }, // ������������������������������0��� - newTime(timeArr, name) { + newTime (timeArr, name) { var arr = [] if (name === 'submit') { timeArr.map(v => { @@ -1191,7 +1645,7 @@ } }, // ������������������������������������ - OneDayNew(time) { + OneDayNew (time) { var date = new Date(time) var y = date.getFullYear() var m = date.getMonth() + 1 @@ -1201,7 +1655,7 @@ return y + '-' + m + '-' + d }, // ������������������������base64 - async UAVAllImageToBase64() { + async UAVAllImageToBase64 () { if (this.fileListPlan1.length > 0) { for (let i = 0; i < this.fileListPlan1.length; i++) { var p = this.getBase64(this.fileListPlan1[i].raw) @@ -1277,25 +1731,25 @@ } }, // ���������base64������ - getBase64(file) { + getBase64 (file) { // console.log(file) - return new Promise(function(resolve, reject) { + return new Promise(function (resolve, reject) { var reader = new FileReader() let imgResult = '' reader.readAsDataURL(file) - reader.onload = function() { + reader.onload = function () { imgResult = reader.result } - reader.onerror = function(error) { + reader.onerror = function (error) { reject(error) } - reader.onloadend = function() { + reader.onloadend = function () { resolve(imgResult) } }) }, // ��������������������� - handleChangePlan1(file, fileList) { + handleChangePlan1 (file, fileList) { // console.log(file, fileList) if (file.raw.type !== 'image/jpeg' && file.raw.type !== 'image/png') { this.$refs.uploadPlan1.handleRemove(file) @@ -1304,10 +1758,10 @@ } this.fileListPlan1 = fileList }, - handleRemovePlan1(file, fileList) { + handleRemovePlan1 (file, fileList) { this.fileListPlan1 = fileList }, - handleChangePlan2(file, fileList) { + handleChangePlan2 (file, fileList) { if (file.raw.type !== 'image/jpeg' && file.raw.type !== 'image/png') { this.$refs.uploadPlan1.handleRemove(file) this.$message.warning(`���������������������������`) @@ -1315,10 +1769,10 @@ } this.fileListPlan2 = fileList }, - handleRemovePlan2(file, fileList) { + handleRemovePlan2 (file, fileList) { this.fileListPlan2 = fileList }, - handleChangePlan3(file, fileList) { + handleChangePlan3 (file, fileList) { if (file.raw.type !== 'image/jpeg' && file.raw.type !== 'image/png') { this.$refs.uploadPlan1.handleRemove(file) this.$message.warning(`���������������������������`) @@ -1326,10 +1780,10 @@ } this.fileListPlan3 = fileList }, - handleRemovePlan3(file, fileList) { + handleRemovePlan3 (file, fileList) { this.fileListPlan3 = fileList }, - handleChangePlan4(file, fileList) { + handleChangePlan4 (file, fileList) { if (file.raw.type !== 'image/jpeg' && file.raw.type !== 'image/png') { this.$refs.uploadPlan1.handleRemove(file) this.$message.warning(`���������������������������`) @@ -1337,10 +1791,10 @@ } this.fileListPlan4 = fileList }, - handleRemovePlan4(file, fileList) { + handleRemovePlan4 (file, fileList) { this.fileListPlan4 = fileList }, - handleChangePlan5(file, fileList) { + handleChangePlan5 (file, fileList) { if (file.raw.type !== 'image/jpeg' && file.raw.type !== 'image/png') { this.$refs.uploadPlan1.handleRemove(file) this.$message.warning(`���������������������������`) @@ -1348,10 +1802,10 @@ } this.fileListPlan5 = fileList }, - handleRemovePlan5(file, fileList) { + handleRemovePlan5 (file, fileList) { this.fileListPlan5 = fileList }, - handleChangePlan6(file, fileList) { + handleChangePlan6 (file, fileList) { if (file.raw.type !== 'image/jpeg' && file.raw.type !== 'image/png') { this.$refs.uploadPlan1.handleRemove(file) this.$message.warning(`���������������������������`) @@ -1359,10 +1813,10 @@ } this.fileListPlan6 = fileList }, - handleRemovePlan6(file, fileList) { + handleRemovePlan6 (file, fileList) { this.fileListPlan6 = fileList }, - handleChangePlan7(file, fileList) { + handleChangePlan7 (file, fileList) { if (file.raw.type !== 'image/jpeg' && file.raw.type !== 'image/png') { this.$refs.uploadPlan1.handleRemove(file) this.$message.warning(`���������������������������`) @@ -1370,10 +1824,10 @@ } this.fileListPlan7 = fileList }, - handleRemovePlan7(file, fileList) { + handleRemovePlan7 (file, fileList) { this.fileListPlan7 = fileList }, - handleChangePlan8(file, fileList) { + handleChangePlan8 (file, fileList) { if (file.raw.type !== 'image/jpeg' && file.raw.type !== 'image/png') { this.$refs.uploadPlan1.handleRemove(file) this.$message.warning(`���������������������������`) @@ -1381,10 +1835,10 @@ } this.fileListPlan8 = fileList }, - handleRemovePlan8(file, fileList) { + handleRemovePlan8 (file, fileList) { this.fileListPlan8 = fileList }, - handleChangePlan9(file, fileList) { + handleChangePlan9 (file, fileList) { if (file.raw.type !== 'image/jpeg' && file.raw.type !== 'image/png') { this.$refs.uploadPlan1.handleRemove(file) this.$message.warning(`���������������������������`) @@ -1392,83 +1846,83 @@ } this.fileListPlan9 = fileList }, - handleRemovePlan9(file, fileList) { + handleRemovePlan9 (file, fileList) { this.fileListPlan9 = fileList }, // ������������ - handleExceed(files, fileList) { + handleExceed (files, fileList) { this.$message.warning(`������������������ 1 ��������������������������� ${files.length} ������������������������ ${files.length + fileList.length} ���������`) }, // ������������������������upload - handleChange1(file, fileList) { + handleChange1 (file, fileList) { this.fileList1 = fileList this.fileLists[0] = fileList }, - handleRemove1(file, fileList) { + handleRemove1 (file, fileList) { this.fileList1 = fileList this.fileLists[0] = fileList }, - handleChange2(file, fileList) { + handleChange2 (file, fileList) { this.fileList2 = fileList this.fileLists[1] = fileList }, - handleRemove2(file, fileList) { + handleRemove2 (file, fileList) { this.fileList2 = fileList this.fileLists[1] = fileList }, - handleChange3(file, fileList) { + handleChange3 (file, fileList) { this.fileList3 = fileList this.fileLists[2] = fileList }, - handleRemove3(file, fileList) { + handleRemove3 (file, fileList) { this.fileList3 = fileList this.fileLists[2] = fileList }, - handleChange4(file, fileList) { + handleChange4 (file, fileList) { this.fileList4 = fileList this.fileLists[3] = fileList }, - handleRemove4(file, fileList) { + handleRemove4 (file, fileList) { this.fileList4 = fileList this.fileLists[3] = fileList }, - handleChange5(file, fileList) { + handleChange5 (file, fileList) { this.fileList5 = fileList this.fileLists[4] = fileList }, - handleRemove5(file, fileList) { + handleRemove5 (file, fileList) { this.fileList5 = fileList this.fileLists[4] = fileList }, - handleChange6(file, fileList) { + handleChange6 (file, fileList) { this.fileList6 = fileList this.fileLists[5] = fileList }, - handleRemove6(file, fileList) { + handleRemove6 (file, fileList) { this.fileList6 = fileList this.fileLists[5] = fileList }, - handleChange7(file, fileList) { + handleChange7 (file, fileList) { this.fileList7 = fileList this.fileLists[6] = fileList }, - handleRemove7(file, fileList) { + handleRemove7 (file, fileList) { this.fileList7 = fileList this.fileLists[6] = fileList }, - handleChange8(file, fileList) { + handleChange8 (file, fileList) { this.fileList8 = fileList this.fileLists[7] = fileList }, - handleRemove8(file, fileList) { + handleRemove8 (file, fileList) { this.fileList8 = fileList this.fileLists[7] = fileList }, - handleChange9(file, fileList) { + handleChange9 (file, fileList) { this.fileList9 = fileList this.fileLists[8] = fileList }, - handleRemove9(file, fileList) { + handleRemove9 (file, fileList) { this.fileList9 = fileList this.fileLists[8] = fileList } @@ -1476,7 +1930,7 @@ } </script> -<style scoped> +<style scoped > .dailyreport{ width: 100%; height: 100%; -- Gitblit v1.8.0