admin/src/assets/style/style.scss
@@ -141,6 +141,7 @@ margin-top: 10px; margin-left: 16px; padding: 20px; height: calc(100% - 10px); } .fs12{ font-size: 12px; admin/src/components/base/BasePage.vue
@@ -4,6 +4,7 @@ name: 'BasePage', data () { return { tableHeightNew: 300, // 超级管理员角色code adminCode: 'admin' } @@ -15,7 +16,42 @@ return this.userInfo.roles.findIndex(code => code === this.adminCode) > -1 } }, created() { this.computeTableHeight() }, mounted () { this.computeTableHeight() window.addEventListener('resize', this.computeTableHeight) }, activated() { this.computeTableHeight() }, methods: { computeTableHeight () { this.$nextTick(() => { // const height = window.innerHeight const height = document.getElementsByClassName('el-container') && document.getElementsByClassName('el-container')[0]?document.getElementsByClassName('el-container')[0].clientHeight:0 // alert(height) const height1 = (document.getElementsByClassName('table-search-form') && document.getElementsByClassName('table-search-form')[0]? document.getElementsByClassName('table-search-form')[0].clientHeight:0) const height2 = document.getElementsByClassName('toolbar') && document.getElementsByClassName('toolbar')[0]?document.getElementsByClassName('toolbar')[0].clientHeight:0 const height3 = document.getElementsByClassName('main-header') && document.getElementsByClassName('main-header')[0]?document.getElementsByClassName('main-header')[0].clientHeight:0 const height4 = document.getElementsByClassName('table-pagination') && document.getElementsByClassName('table-pagination')[0]? document.getElementsByClassName('table-pagination')[0].clientHeight:0 const height5 = document.getElementsByTagName('thead') && document.getElementsByTagName('thead')[0]? document.getElementsByTagName('thead')[0].clientHeight:0 const height6 = document.getElementsByClassName('doumee-filter') && document.getElementsByClassName('doumee-filter')[0]? document.getElementsByClassName('doumee-filter')[0].clientHeight:0 const height7 =( document.getElementsByClassName('pt16') && document.getElementsByClassName('pt16')[0]? 1+document.getElementsByClassName('pt16')[0].clientHeight:0) const height8 = document.getElementsByClassName('df_sb') && document.getElementsByClassName('df_sb')[0]? document.getElementsByClassName('df_sb')[0].clientHeight:0 const height9 = document.getElementsByClassName('static_wrap') && document.getElementsByClassName('static_wrap')[0]? document.getElementsByClassName('df_sb')[0].clientHeight:0 const height10 = document.getElementsByClassName('query_btns') && document.getElementsByClassName('query_btns')[0]? document.getElementsByClassName('query_btns')[0].clientHeight:0 // this.tableHeightNew = height-height4-height3-height2-height1-height5-height6-height7-height8-height9 -height10// 打印高度 if(document.getElementsByClassName('main_app') && document.getElementsByClassName('main_app')[0]){ this.tableHeightNew = height- height5-height6-height2-height7-height4-height8-height9-height10// 打印高度 }else{ this.tableHeightNew = height-height4-height3-height2-height1-height5 } console.log(this.tableHeightNew) }) }, // 是否包含指定角色 containRoles (roles) { if (roles == null) { admin/src/components/base/BaseTable.vue
@@ -44,6 +44,7 @@ } }, methods: { // 配置 config (extParams) { if (extParams == null) { admin/src/components/common/Pagination.vue
@@ -40,16 +40,16 @@ </script> <style lang="scss" scoped> .table-pagination { margin-left: -16px; padding: 0px 0px 16px 25px; margin-left: -18px; padding: 16px 0px 16px 25px; text-align: left; display: block; z-index: 100; width: -webkit-fill-available; /* width: 80%; */ /* position: fixed; bottom: 30px; position: fixed; bottom: 25px; background-color: white; margin-right: 50px; */ margin-right: 50px; } </style> admin/src/layouts/AppLayout.vue
@@ -55,7 +55,6 @@ .el-container { background: #F7F8F9; height: 100%; display: flex; // overflow: hidden; overflow: scroll; @@ -84,12 +83,13 @@ .el-main { width: 100%; // height: 100%; height: calc(100vh - 90px); overflow: hidden; height: calc(100vh - 94px); padding: 0; position: relative; display: flex; flex-direction: column; overflow-y: scroll; //overflow-y: scroll; overflow-x: hidden; scrollbar-width: none; /* firefox */ -ms-overflow-style: none; /* IE 10+ */ admin/src/layouts/TableLayout.vue
@@ -9,7 +9,7 @@ <!-- <div style="height:10px;"></div> --> <Profile :roles="roles" :permissions="permissions"> <!-- 搜索表单部分 --> <div class="table-search-form"> <div class="table-search-form" ref="tableSearchForm"> <div class="form-wrap"> <slot name="search-form"></slot> </div> @@ -56,8 +56,21 @@ <style lang="scss"> @import "@/assets/style/variables.scss"; /*.el-container .el-main[data-v-5b01577c] { width: 100%; height: calc(100vh - 68px); padding: 0; position: relative; display: flex ; flex-direction: column; overflow-y: scroll; overflow-x: hidden; scrollbar-width: none; -ms-overflow-style: none; }*/ .table-layout { height: 100%; height: calc(100%-10px); display: flex; flex-direction: column; margin-top: 10px; @@ -124,6 +137,8 @@ } // 表格 .el-table { //min-height: 300px; overflow: auto; th { .cell { color: #666; @@ -157,17 +172,17 @@ } // 分页 .table-pagination { margin-left: -16px; margin-left: -18px; padding: 16px 0px 16px 25px; text-align: left; display: block; z-index: 100; width: -webkit-fill-available; /* width: 80%; */ /* position: fixed; bottom: 30px; position: fixed; bottom: 25px; background-color: white; margin-right: 50px; */ margin-right: 50px; } } } admin/src/layouts/TableLayout1.vue
@@ -158,17 +158,17 @@ } // 分页 .table-pagination { margin-left: -16px; margin-left: -18px; padding: 16px 0px 16px 25px; text-align: left; display: block; z-index: 100; width: -webkit-fill-available; /* width: 80%; */ /* position: fixed; bottom: 30px; position: fixed; bottom: 25px; background-color: white; margin-right: 50px; */ margin-right: 50px; } } } admin/src/utils/request.js
@@ -10,7 +10,7 @@ const axiosInstance = axios.create({ baseURL: process.env.VUE_APP_API_PREFIX, // 请求超时时间 timeout: 60000 timeout: 600000 }) // 新建请求拦截器 admin/src/views/business/carEvent.vue
@@ -47,7 +47,6 @@ </section> </el-form> </div> <!-- 表格和分页 --> <template v-slot:table-wrap> <ul class="toolbar" v-permissions="['business:carevent:exportExcel']"> @@ -60,7 +59,7 @@ @click="exportExcel">导出</el-button> </li> </ul> <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe> <el-table-column prop="personName" label="姓名" min-width="100px"></el-table-column> <el-table-column prop="personPhone" label="手机号" min-width="100px"></el-table-column> <el-table-column prop="personCompanyName" label="组织" min-width="100px"></el-table-column> admin/src/views/business/dangerStatic.vue
@@ -78,9 +78,9 @@ </script> <style lang="scss" scoped> .main_app { /*.main_app { height: 100%; } }*/ .main_content { display: flex; admin/src/views/business/deviceBroadcast.vue
@@ -16,6 +16,7 @@ <li><el-button type="primary" @click="synchronousData">同步</el-button></li> </ul> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe admin/src/views/business/deviceEvent.vue
@@ -56,7 +56,7 @@ <li><el-button type="primary" :loading="isWorking.export" v-permissions="['business:deviceevent:exportExcel']" @click="exportExcel">导出</el-button></li> --> </ul> <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe> <!-- <el-table-column prop="userType" label="人员类型" min-width="100px"> <template slot-scope="{row}"> <span v-if="row.personType == 0">劳务访客</span> admin/src/views/business/reportRecord.vue
@@ -1,5 +1,5 @@ <template> <div class="main_app" style="padding-bottom: 60px"> <div class="main_app" > <QueryForm v-model="filters" :query-form-config="queryFormConfig" @@ -11,6 +11,7 @@ <el-button type="primary" :loading="exLoading" @click="exportExcel" v-permissions="['business:visits:exportExcel']">导出</el-button> </div> <el-table :height="tableHeightNew" v-loading="loading" :data="dataList" stripe @@ -105,10 +106,12 @@ import Pagination from '@/components/common/Pagination' import QueryForm from '@/components/common/QueryForm' // import ReportDetail from './page-components/ReportDetail.vue' import BasePage from '@/components/base/BasePage' import ReportDetail from '@/views/task/visReportDetail.vue' import OperaVisitsReportWindow from '@/components/business/operaVisitsReportWindow.vue' import { fetchList, exportExcel, deleteById } from '@/api/business/visits' export default { extends: BasePage, components: { ReportDetail, QueryForm, @@ -237,16 +240,16 @@ <style lang="scss" scoped> .table-pagination { margin-left: -16px; margin-left: -18px; padding: 16px 0px 16px 25px; text-align: left; display: block; z-index: 100; width: -webkit-fill-available; /* width: 80%; */ /* position: fixed; bottom: 30px; position: fixed; bottom: 25px; background-color: white; margin-right: 50px; */ margin-right: 50px; } </style> admin/src/views/business/retention.vue
@@ -45,7 +45,7 @@ @click="exportExcel">导出</el-button> </li> </ul> <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="name" label="姓名" min-width="100px"></el-table-column> admin/src/views/business/retentionCars.vue
@@ -49,7 +49,7 @@ @click="exportExcel">导出</el-button> </li> </ul> <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="createDate" label="进场时间" min-width="150px"></el-table-column> <el-table-column prop="carNo" label="车牌号" min-width="100px"></el-table-column> admin/src/views/business/visitEvent.vue
@@ -55,7 +55,7 @@ <li class="ml20"> 拜访人次:<span class="primaryColor">{{staticObj.eventNum}}次</span></li> <li class="ml20"> 拜访人数:<span class="primaryColor">{{staticObj.visitorNum}}人</span></li> </ul> <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe> <el-table-column prop="personName" label="姓名" min-width="90px"></el-table-column> <el-table-column prop="phone" label="手机号码" min-width="100px"></el-table-column> <el-table-column prop="idcardDecode" label="身份证号码" min-width="120px"></el-table-column> admin/src/views/business/visitorManagement.vue
@@ -26,6 +26,7 @@ <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">删除</el-button></li> </ul> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe admin/src/views/business/visits.vue
@@ -42,7 +42,7 @@ <li><el-button type="primary" :loading="isWorking.export" @click="exportExcel" v-permissions="['business:visits:exportExcel']">导出</el-button></li> </ul> <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe <el-table :max-height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="name" label="访客姓名" min-width="100px"></el-table-column> admin/src/views/meeting/bookings.vue
@@ -1,5 +1,5 @@ <template> <TableLayout :permissions="['business:bookings:query']"> <TableLayout rel="tableLayoutEle" :permissions="['business:bookings:query']"> <!-- 搜索表单 --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> <el-form-item label="会议室" prop="roomId"> @@ -55,7 +55,7 @@ </el-form> <!-- 表格和分页 --> <template v-slot:table-wrap> <ul class="toolbar" v-permissions="[ <ul class="toolbar" ref="toolbarEle" v-permissions="[ 'business:bookings:create', 'business:bookings:exportExcel', ]"> @@ -69,7 +69,7 @@ @click="exportExcel">导出</el-button> </li> </ul> <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> <!-- <el-table-column type="selection" align="center" width="55"></el-table-column> --> <el-table-column prop="name" label="会议主题" align="center" min-width="120px" show-overflow-tooltip> <template slot-scope="{ row }"> @@ -82,6 +82,10 @@ </template> </el-table-column> <el-table-column prop="meetingTime" label="会议时间" align="center" min-width="120px"></el-table-column> <el-table-column prop="meetingTime" label="会议时间" align="center" min-width="120px"></el-table-column> <el-table-column prop="meetingTime" label="会议时间" align="center" min-width="120px"></el-table-column> <el-table-column prop="meetingTime" label="会议时间" align="center" min-width="400px"></el-table-column> <el-table-column prop="meetingTime" label="会议时间" align="center" min-width="300px"></el-table-column> <el-table-column prop="managerInfo" label="预约人" align="center" min-width="100px"></el-table-column> <el-table-column label="会议状态" align="center" min-width="60px"> <template slot-scope="{ row }"> @@ -275,7 +279,7 @@ handleStart(row) { this.$dialog.messageWaring('开始会议', '是否开始当前会议?') .then(() => { let fn = new Date(row.startTime).getTime() > new Date().getTime() ? startEarlyById : startById const fn = new Date(row.startTime).getTime() > new Date().getTime() ? startEarlyById : startById fn({ id: row.id }) .then(() => { this.$message.success('会议已开始') admin/src/views/meeting/rooms.vue
@@ -38,6 +38,7 @@ <!-- <li><el-button @click="deleteByIdInBatch" v-permissions="['business:rooms:delete']">删除</el-button></li> --> </ul> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe admin/src/views/meeting/userStatistics.vue
@@ -45,6 +45,7 @@ <li><el-button :loading="isWorking.export" @click="exportExcel">导出</el-button></li> </ul> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe admin/src/views/operation/danger/areaSet.vue
@@ -20,6 +20,7 @@ <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:hiddendangerparam:delete']">批量删除</el-button></li> </ul> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe admin/src/views/operation/danger/record.vue
@@ -60,7 +60,7 @@ <li><el-button type="primary" v-permissions="['business:hiddendanger:exportExcel']" @click="handleEx">导出</el-button></li> </ul> <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> <el-table v-loading="isWorking.search" :data="tableData.list" :height="tableHeightNew" stripe @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="dutyCompanyName" show-overflow-tooltip label="责任部门" min-width="150px"></el-table-column> <el-table-column prop="areaName" label="隐患区域" show-overflow-tooltip min-width="150px"></el-table-column> admin/src/views/operation/danger/typeSet.vue
@@ -17,6 +17,7 @@ <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:hiddendangerparam:delete']">批量删除</el-button></li> </ul> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe admin/src/views/operation/serviceCar/apprConfig.vue
@@ -1,5 +1,5 @@ <template> <TableLayout> <TableLayout :style="'overflow: auto;height: 100%;'"> <template v-slot:table-wrap> <el-tabs v-model="activeType" @tab-click="handleClick"> <el-tab-pane label="市内用车" name="3"></el-tab-pane> @@ -207,6 +207,7 @@ }, data() { return { height: 500, activeType: '3', subLoading: false, apprList: [ @@ -225,6 +226,7 @@ created() { this.getfindCompanyTreePage() this.initDate() this.height = window.innerHeight -300 }, methods: { handleClick() { @@ -400,6 +402,9 @@ </script> <style lang="scss" scoped> .el-container .el-main{ overflow: auto !important; } .config { width: 100%; padding-bottom: 20px; admin/src/views/operation/serviceCar/apprRecord.vue
@@ -77,7 +77,7 @@ > </li> </ul> <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column admin/src/views/operation/serviceCar/driverConfig.vue
@@ -17,6 +17,7 @@ <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:cardriver:delete']">批量删除</el-button></li> </ul> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe admin/src/views/platform/LogisticsRecord/leaveAuth.vue
@@ -14,7 +14,7 @@ <el-button :loading="exLoading" @click="handleEx" v-permissions="['business:platformjob:exportExcel']">导出</el-button> </div> <el-table class="mb20" v-loading="loading" :data="list" stripe> <el-table :height="tableHeightNew" v-loading="loading" :data="list" stripe> <el-table-column type="index" label="序号" width="70" show-overflow-tooltip /> <el-table-column prop="billCode" label="运单号/合同号" min-width="100" show-overflow-tooltip> <template v-slot="scope"> @@ -67,6 +67,7 @@ <script> import Pagination from '@/components/common/Pagination' import QueryForm from '@/components/common/QueryForm' import BasePage from '@/components/base/BasePage' import { platformJobPage, platformJobExport, platformPowerLevel } from '@/api' import { statusMap } from '../config' import DriverDetail from "@/views/task/driverDetail" @@ -82,6 +83,7 @@ GlobalWindow, UploadFaceImg }, extends: BasePage, data() { return { statusMap, admin/src/views/platform/LogisticsRecord/operation.vue
@@ -16,7 +16,7 @@ <div class="pt16"> <el-button :loading="exLoading" @click="handleEx" v-permissions="['business:platformjob:exportExcel']">导出</el-button> </div> <el-table class="mb20" v-loading="loading" :data="list" stripe> <el-table :height="tableHeightNew" v-loading="loading" :data="list" stripe> <el-table-column prop="billCode" label="运单号" min-width="100" show-overflow-tooltip /> <el-table-column prop="totalNum" label="总作业量(万支)" min-width="100" show-overflow-tooltip /> <el-table-column prop="carCodeFront" label="车牌前照号" min-width="100" show-overflow-tooltip /> @@ -57,8 +57,10 @@ import { Message } from 'element-ui' import dayjs from 'dayjs' import duration from 'dayjs/plugin/duration' import BasePage from '@/components/base/BasePage' dayjs.extend(duration); export default { extends: BasePage, components: { Pagination, QueryForm, admin/src/views/platform/LogisticsRecord/operationCity.vue
@@ -14,7 +14,7 @@ <el-button :loading="exLoading" @click="handleEx" v-permissions="['business:platformjob:exportExcel']">导出</el-button> </div> <el-table class="mb20" v-loading="loading" :data="list" stripe> <el-table :height="tableHeightNew" v-loading="loading" :data="list" stripe> <el-table-column prop="contractNum" label="合同号" min-width="100" show-overflow-tooltip /> <el-table-column prop="reason" label="入园原因" min-width="100" show-overflow-tooltip /> <el-table-column prop="totalNum" label="总作业量(万支)" min-width="120" show-overflow-tooltip /> @@ -50,14 +50,16 @@ import QueryForm from '@/components/common/QueryForm' import { platformJobPage, platformJobExport, platformJobDel } from '@/api' import { statusMap } from '../config' import DriverDetail from "@/views/task/driverDetail" import DriverDetail from '@/views/task/driverDetail' import GlobalWindow from '@/components/common/GlobalWindow' import UploadFaceImg from '@/components/common/UploadFaceImg' import { Message } from 'element-ui' import dayjs from 'dayjs' import duration from 'dayjs/plugin/duration' import BasePage from '@/components/base/BasePage' dayjs.extend(duration) export default { extends: BasePage, components: { Pagination, QueryForm, admin/src/views/platform/LogisticsRecord/subscribe.vue
@@ -16,7 +16,7 @@ <el-button :loading="exLoading" @click="handleEx" v-permissions="['business:platformbooks:exportExcel']">导出</el-button> </div> <el-table class="mb40" v-loading="loading" :data="list" stripe> <el-table :height="tableHeightNew" v-loading="loading" :data="list" stripe> <el-table-column prop="contractNum" label="合同单号" min-width="100" show-overflow-tooltip /> <el-table-column prop="inReason" label="入园原因" min-width="100" show-overflow-tooltip /> <el-table-column prop="totalNum" label="总作业量(万支)" min-width="100" show-overflow-tooltip /> @@ -105,6 +105,7 @@ <script> import Pagination from '@/components/common/Pagination' import QueryForm from '@/components/common/QueryForm' import BasePage from '@/components/base/BasePage' import { platformBooksPage, platformReasonList, platformBooksApply, platformBooksExport } from '@/api' import { checkSurplusNum, deletebooksById } from '@/api/platform/platform' import DriverDetail from '@/views/task/driverDetail' @@ -120,6 +121,7 @@ GlobalWindow, UploadAvatarImage }, extends: BasePage, data () { return { isShowDriver: false, admin/src/views/platform/LogisticsRecord/waybill.vue
@@ -14,7 +14,7 @@ <el-button :loading="exLoading" @click="handleEx" v-permissions="['business:platformjob:exportExcel']">导出</el-button> </div> <el-table class="mb20" v-loading="loading" :data="list" stripe> <el-table :height="tableHeightNew" v-loading="loading" :data="list" stripe> <el-table-column prop="billCode" label="运单号" min-width="100" show-overflow-tooltip /> <el-table-column prop="carCodeFront" label="车牌前照号" min-width="100" show-overflow-tooltip /> <!-- <el-table-column prop="carCodeBack" label="车牌后照号" min-width="100" show-overflow-tooltip /> --> @@ -61,6 +61,7 @@ <script> import Pagination from '@/components/common/Pagination' import QueryForm from '@/components/common/QueryForm' import BasePage from '@/components/base/BasePage' import { platformJobPage, platformJobExport, platformJobDel } from '@/api' import { statusMap } from '../config' import WaybillDetailRef from "../components/WaybillDetail.vue" @@ -76,6 +77,7 @@ GlobalWindow, UploadFaceImg }, extends: BasePage, data() { return { statusMap, admin/src/views/platform/gas.vue
@@ -26,6 +26,7 @@ <el-button type="primary" :loading="isWorking.export" v-permissions="['business:notice:exportExcel']" @click="exportExcel">导出</el-button> </ul> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe admin/src/views/platform/index.vue
@@ -1,5 +1,5 @@ <template> <div class="main_app"> <div class="main_app" style="overflow: auto;height: calc(100% - 100px);"> <div class="mb20 main_header"> <div class="platgroup_tabs"> <div class="tab" :class="{ active: activeGroup.id === item.id }" @click="platgroupClick(item)" admin/src/views/platform/oil.vue
@@ -31,7 +31,8 @@ <el-button type="primary" :loading="isWorking.export" v-permissions="['business:platformwatergas:exportExcel']" @click="handleImport">导入</el-button> </ul> <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="carCode" label="车牌号" fixed min-width="150px"></el-table-column> <el-table-column prop="timeInfo" label="使用月份" fixed min-width="100px"> admin/src/views/platform/platform.vue
@@ -29,7 +29,8 @@ <li><el-button type="primary" :loading="working1" @click="syncStatus" icon="el-icon-plus" v-permissions="['business:hksync:platforms']">同步实时状态</el-button></li> </ul> <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="name" label="月台名称" fixed min-width="100px"></el-table-column> <el-table-column prop="code" label="月台编码" fixed min-width="100px"></el-table-column> admin/src/views/platform/platformGroup.vue
@@ -7,6 +7,7 @@ <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:platformgroup:delete']">删除</el-button></li> </ul> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe admin/src/views/platform/platformReason.vue
@@ -27,7 +27,7 @@ <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:platformreason:delete']">删除</el-button></li> </ul> <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="reason" label="入园原因" fixed min-width="100px"></el-table-column> <el-table-column prop="groupName" label="对应作业月台组" fixed min-width="150px"></el-table-column> admin/src/views/platform/queueUp.vue
@@ -21,7 +21,7 @@ <span></span> </div> </div> <el-table v-loading="loading" :data="dataList" stripe row-key="id" default-expand-all> <el-table :height="tableHeightNew" v-loading="loading" :data="dataList" stripe row-key="id" default-expand-all> <el-table-column type="index" label="序号" width="80" /> <el-table-column label="车牌号" width="130"> <template slot-scope="{ row }"> @@ -105,6 +105,7 @@ <script> import Pagination from '@/components/common/Pagination' import QueryForm from '@/components/common/QueryForm' import BasePage from '@/components/base/BasePage' import { getPlatformGroupList, platformLineUpPage, @@ -115,6 +116,7 @@ import DriverDetail from "@/views/task/driverDetail.vue" import PlatformSign from './components/PlatformSign.vue' export default { extends: BasePage, components: { Pagination, QueryForm, admin/src/views/platform/set/application.vue
@@ -1,5 +1,5 @@ <template> <div class="main_app"> <div class="main_app" style="overflow: auto;height: calc(100% - 100px);"> <el-form :model="form" :rules="rules" admin/src/views/platform/smokebox.vue
@@ -27,6 +27,8 @@ <el-button type="primary" :loading="isWorking.export" v-permissions="['business:notice:exportExcel']" @click="exportExcel">导出</el-button> </ul> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe admin/src/views/platform/water.vue
@@ -27,6 +27,7 @@ <el-button type="primary" :loading="isWorking.export" v-permissions="['business:notice:exportExcel']" @click="exportExcel">导出</el-button> </ul> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe admin/src/views/statistics/platformRecord.vue
@@ -1,7 +1,7 @@ <template> <div class="main_app"> <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" /> <el-table v-loading="loading" :data="list" stripe> <el-table :height="tableHeightNew" v-loading="loading" :data="list" stripe> <el-table-column prop="platformName" label="月台名称" min-width="100" show-overflow-tooltip /> <el-table-column prop="platformGroupName" label="月台组" min-width="100" show-overflow-tooltip /> <el-table-column prop="carCodeFront" label="车前牌照号" min-width="100" show-overflow-tooltip /> @@ -24,11 +24,13 @@ <script> import Pagination from '@/components/common/Pagination' import QueryForm from '@/components/common/QueryForm' import BasePage from '@/components/base/BasePage' import dayjs from 'dayjs' import duration from 'dayjs/plugin/duration' dayjs.extend(duration) import { platformLogPage, getPlatformGroupList } from '@/api' dayjs.extend(duration) export default { extends: BasePage, components: { Pagination, QueryForm admin/src/views/statistics/platformStatic.vue
@@ -1,5 +1,5 @@ <template> <div class="main_app"> <div class="main_app" style="overflow: auto;height: calc(100% - 100px);"> <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear"> <template #fastdate> <el-radio-group v-model="filters.fastdate" size="small" @input="changeRadio"> server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
@@ -30,6 +30,7 @@ private static final String DEFAULT_SHEET_NAME = "Sheet1"; private Class<T> modelClass; private static int maxrows = 50000; private ExcelExporter(){} @@ -76,6 +77,11 @@ // 设置列头单元格 configHeaderCell(sxssfWorkbook, cell, column.columnConfig); } List<CellStyle> styleList = new ArrayList<>(); for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) { ColumnInfo column = columns.get(columnIndex); styleList.add( configDataCell(sxssfWorkbook, column.columnConfig)); } // 创建数据记录 for (int rowIndex = 0; rowIndex < data.size(); rowIndex++) { Row row = sheet.createRow(rowIndex + 2); @@ -83,20 +89,15 @@ ColumnInfo column = columns.get(columnIndex); Cell cell = row.createCell(columnIndex); cell.setCellValue(getCellData(column, data.get(rowIndex))); // 设置数据单元格 configDataCell(sxssfWorkbook, cell, column.columnConfig); cell.setCellStyle(styleList.get(columnIndex)); } } sheet.addMergedRegion(new CellRangeAddress(data.size()+2 ,data.size()+2,0,this.getColumns().size()-1)); Row endRow = sheet.createRow(data.size()+2); // endRow.setHeight((short) 600); Cell c1 = endRow.createCell(0); c1.setCellValue(end); configEndCell(sxssfWorkbook,c1); c1.setCellStyle( configEndCell(sxssfWorkbook)); sxssfWorkbook.write(os); os.close(); } catch (Exception e) { @@ -122,6 +123,38 @@ SXSSFWorkbook sxssfWorkbook; try { sxssfWorkbook = new SXSSFWorkbook(); int totalSheet =1; if( data!=null && data.size()>0){ totalSheet = data.size()/maxrows; if(data.size()%maxrows !=0){ totalSheet += 1; } } for (int i = 0; i < totalSheet; i++) { List<T> list = null; if(data.size() < maxrows * (i+1)) { list = data.subList(maxrows*i,data.size()); }else{ list = data.subList(maxrows*i,maxrows*(i+1)); } createSheetDataBiz(list,"【"+(i+1)+"】"+sheetName,sxssfWorkbook); } sxssfWorkbook.write(os); os.close(); } catch (Exception e) { throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e); } finally { if (os != null) { try { os.close(); } catch (IOException e) { e.printStackTrace(); } } } } private void createSheetDataBiz(List<T> data, String sheetName, SXSSFWorkbook sxssfWorkbook) throws Exception{ Sheet sheet = sxssfWorkbook.createSheet(sheetName); // 创建列头 sheet.createFreezePane(0, 1); @@ -140,6 +173,11 @@ // 设置列头单元格 configHeaderCell(sxssfWorkbook, cell, column.columnConfig); } List<CellStyle> styleList = new ArrayList<>(); for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) { ColumnInfo column = columns.get(columnIndex); styleList.add( configDataCell(sxssfWorkbook, column.columnConfig)); } // 创建数据记录 for (int rowIndex = 0; rowIndex < data.size(); rowIndex++) { Row row = sheet.createRow(rowIndex + 1); @@ -147,23 +185,8 @@ ColumnInfo column = columns.get(columnIndex); Cell cell = row.createCell(columnIndex); cell.setCellValue(getCellData(column, data.get(rowIndex))); // 设置数据单元格 configDataCell(sxssfWorkbook, cell, column.columnConfig); } } sxssfWorkbook.write(os); os.close(); } catch (Exception e) { throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e); } finally { if (os != null) { try { os.close(); } catch (IOException e) { e.printStackTrace(); } // 设置数据单元格样式 cell.setCellStyle(styleList.get(columnIndex)); } } } @@ -251,13 +274,13 @@ /** * 配置数据单元格 */ private void configDataCell (SXSSFWorkbook workbook, Cell cell, ExcelColumn columnConfig) { CellStyle style = workbook.createCellStyle(); style.setAlignment(columnConfig.align()); style.setVerticalAlignment(VerticalAlignment.CENTER); private CellStyle configDataCell (SXSSFWorkbook workbook, ExcelColumn columnConfig) { CellStyle configDataCellStyle = workbook.createCellStyle(); configDataCellStyle.setAlignment(columnConfig.align()); configDataCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); // 设置背景 style.setFillPattern(FillPatternType.SOLID_FOREGROUND); style.setFillForegroundColor(columnConfig.dataBackgroundColor().getIndex()); configDataCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); configDataCellStyle.setFillForegroundColor(columnConfig.dataBackgroundColor().getIndex()); // 字体 Font font = workbook.createFont(); font.setFontHeightInPoints(columnConfig.fontSize()); @@ -267,11 +290,13 @@ font.setBold(columnConfig.bold()); // 斜体 font.setItalic(columnConfig.italic()); style.setFont(font); configDataCellStyle.setFont(font); // 边框 configCellBorder(style); style.setWrapText(true); cell.setCellStyle(style); configCellBorder(configDataCellStyle); configDataCellStyle.setWrapText(true); return configDataCellStyle; // cell.setCellStyle(configDataCellStyle); } /** @@ -310,10 +335,11 @@ configCellBorder(style); cell.setCellStyle(style); } // public static CellStyle configEndCellStyle =null; /** * 配置列头单元格 */ private void configEndCell (SXSSFWorkbook workbook, Cell cell ) { private CellStyle configEndCell (SXSSFWorkbook workbook ) { CellStyle style = workbook.createCellStyle(); style.setAlignment(HorizontalAlignment.RIGHT); style.setVerticalAlignment(VerticalAlignment.CENTER); @@ -326,7 +352,8 @@ style.setFont(font); // 设置边框 configCellBorder(style); cell.setCellStyle(style); return style; } /**