Merge remote-tracking branch 'origin/master'
| | |
| | | <div class="main_content"> |
| | | <div class="type_wrap"> |
| | | <div class="title">全年入园人员趋势</div> |
| | | <div class="echart1" ref="typeRef" v-if="info.cumulativeDataList"></div> |
| | | <div style="width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;" v-else> |
| | | <div class="echart1" ref="typeRef" v-show="info.cumulativeDataList"></div> |
| | | <div style="width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;" v-show="!info.cumulativeDataList"> |
| | | <img style="width: 200px;" src="@/assets/images/default_homeimg.png" alt=""> |
| | | </div> |
| | | </div> |
| | |
| | | placeholder="请选择"> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="echart2" ref="deptRef" v-if="listZB.length > 0"></div> |
| | | <div style="width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;" v-else> |
| | | <div id="echart2" v-show="listZB.length > 0"></div> |
| | | <div style="width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;" v-show="listZB.length === 0"> |
| | | <img style="width: 200px;" src="@/assets/images/default_homeimg.png" alt=""> |
| | | </div> |
| | | </div> |
| | |
| | | this.value = `${year}-${month}` |
| | | this.date1 = `${year}-${month}` |
| | | |
| | | this.getData() |
| | | this.getRataLists() |
| | | this.getReportLists() |
| | | this.getData() |
| | | this.getRataLists() |
| | | this.getReportLists() |
| | | }, |
| | | methods: { |
| | | // 导出 |
| | |
| | | getRataList({ dateStr: this.value, isGroupBy: this.isGroupBy, type: 1 }) |
| | | .then(res => { |
| | | this.listZB = res |
| | | this.$nextTick(() => { |
| | | // this.$nextTick(() => { |
| | | // this.initDept() |
| | | // }) |
| | | setTimeout(() => { |
| | | this.initDept() |
| | | }) |
| | | }, 1000) |
| | | }) |
| | | }, |
| | | // 基础数据 |
| | | getData() { |
| | | getInParkUserData({ isGroupBy: this.isGroupBy, type: 1 }).then(res => { |
| | | this.info = res |
| | | this.$nextTick(() => { |
| | | // this.$nextTick(() => { |
| | | // this.initType() |
| | | // }) |
| | | setTimeout(() => { |
| | | this.initType() |
| | | }) |
| | | }, 1000) |
| | | }) |
| | | }, |
| | | // 全年入园车辆趋势 |
| | |
| | | data: names |
| | | }, |
| | | yAxis: { |
| | | type: 'value' |
| | | type: 'value', |
| | | axisLine: { |
| | | show: true |
| | | } |
| | | }, |
| | | graphic: { |
| | | elements: [ |
| | | { |
| | | type: 'text', |
| | | left: 'left', |
| | | top: 'top', |
| | | style: { |
| | | text: '人员数', |
| | | textAlign: 'center', |
| | | fill: '#333' |
| | | } |
| | | } |
| | | ] |
| | | }, |
| | | series: [ |
| | | { |
| | |
| | | initDept() { |
| | | if (!this.listZB) return |
| | | |
| | | const myChart = echarts.init(document.querySelector('.echart2')) |
| | | const dom = document.getElementById('echart2') |
| | | console.log(dom) |
| | | const myChart = echarts.init(dom) |
| | | |
| | | let data = this.listZB.map(item => { |
| | | return { |
| | |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | height: 400px; |
| | | height: 350px; |
| | | |
| | | .title { |
| | | font-weight: 500; |
| | |
| | | .echart1 { |
| | | width: 100%; |
| | | height: 100%; |
| | | margin-top: 18px; |
| | | } |
| | | } |
| | | |
| | |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | margin-left: 10px; |
| | | .echart2 { |
| | | #echart2 { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | |
| | | <div class="main_content"> |
| | | <div class="type_wrap"> |
| | | <div class="title">全年入园车辆趋势</div> |
| | | <div id="echart1" ref="typeRef" v-if="info.cumulativeDataList"></div> |
| | | <div style="width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;" v-else> |
| | | <div id="echart1" ref="typeRef" v-show="info.cumulativeDataList"></div> |
| | | <div style="width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;" v-show="!info.cumulativeDataList"> |
| | | <img style="width: 200px;" src="@/assets/images/default_homeimg.png" alt=""> |
| | | </div> |
| | | </div> |
| | |
| | | placeholder="请选择"> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="echart_2" ref="deptRef" v-if="listZB.length > 0"></div> |
| | | <div style="width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;" v-else> |
| | | <div id="echart_2" v-show="listZB.length > 0"></div> |
| | | <div style="width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;" v-show="listZB.length === 0"> |
| | | <img style="width: 200px;" src="@/assets/images/default_homeimg.png" alt=""> |
| | | </div> |
| | | </div> |
| | |
| | | this.value = `${year}-${month}` |
| | | this.date1 = `${year}-${month}` |
| | | |
| | | this.getData() |
| | | this.getRataLists() |
| | | this.getReportLists() |
| | | this.getData() |
| | | this.getRataLists() |
| | | this.getReportLists() |
| | | }, |
| | | methods: { |
| | | // 导出 |
| | |
| | | getRataList({ dateStr: this.value, isGroupBy: this.isGroupBy, type: 0 }) |
| | | .then(res => { |
| | | this.listZB = res |
| | | this.$nextTick(() => { |
| | | // this.$nextTick(() => { |
| | | // this.initDept() |
| | | // }) |
| | | setTimeout(() => { |
| | | this.initDept() |
| | | }) |
| | | },1000) |
| | | }) |
| | | }, |
| | | // 基础数据 |
| | | getData() { |
| | | getInParkUserData({ isGroupBy: this.isGroupBy, type: 0 }).then(res => { |
| | | this.info = res |
| | | this.$nextTick(() => { |
| | | // this.$nextTick(() => { |
| | | // this.initType() |
| | | // }) |
| | | setTimeout(() => { |
| | | this.initType() |
| | | }) |
| | | }, 1000) |
| | | }) |
| | | }, |
| | | // 全年入园车辆趋势 |
| | |
| | | orient: 'vertical', |
| | | left: 'left' |
| | | }, |
| | | graphic: { |
| | | elements: [ |
| | | { |
| | | type: 'text', |
| | | left: 'left', |
| | | top: 'top', |
| | | style: { |
| | | text: '车辆数', |
| | | textAlign: 'center', |
| | | fill: '#333' |
| | | } |
| | | } |
| | | ] |
| | | }, |
| | | grid: { |
| | | left: '0%', |
| | | right: '5%', |
| | |
| | | data: names |
| | | }, |
| | | yAxis: { |
| | | type: 'value' |
| | | type: 'value', |
| | | axisLine: { |
| | | show: true |
| | | } |
| | | }, |
| | | series: [ |
| | | { |
| | | data: datas, |
| | | name: '入园车辆', |
| | | type: 'line', |
| | | areaStyle: { |
| | | normal: { |
| | |
| | | initDept() { |
| | | if (this.listZB.length === 0) return |
| | | |
| | | const myChart = echarts.init(document.querySelector('.echart_2')) |
| | | const dom = document.getElementById('echart_2') |
| | | console.log(dom) |
| | | const myChart = echarts.init(dom) |
| | | |
| | | let data = this.listZB.map(item => { |
| | | return { |
| | |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | height: 400px; |
| | | height: 350px; |
| | | |
| | | .title { |
| | | font-weight: 500; |
| | |
| | | #echart1 { |
| | | width: 100%; |
| | | height: 100%; |
| | | margin-top: 18px; |
| | | } |
| | | } |
| | | |
| | |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | margin-left: 10px; |
| | | .echart_2 { |
| | | #echart_2 { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | |
| | | <div class="main_table"> |
| | | <div class="main_table_echart"> |
| | | <div class="title">本年隐患趋势</div> |
| | | <div id="echart3" v-if="yearList.length > 0"></div> |
| | | <div v-else style="width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;"> |
| | | <div id="echart3" v-show="yearList.length > 0"></div> |
| | | <div style="width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;" v-show="yearList.length === 0"> |
| | | <img style="width: 240px;" src="@/assets/images/default_homeimg.png" alt=""> |
| | | </div> |
| | | </div> |
| | |
| | | let datas = this.yearList.map(item => item.total) |
| | | |
| | | let option = { |
| | | tooltip: { |
| | | trigger: 'item' |
| | | }, |
| | | grid: { |
| | | left: '5%', |
| | | right: '10%', |
| | |
| | | data: names |
| | | }, |
| | | yAxis: { |
| | | type: 'value' |
| | | type: 'value', |
| | | axisLine: { |
| | | show: true |
| | | } |
| | | }, |
| | | series: [ |
| | | { |
| | | data: datas, |
| | | type: 'line' |
| | | type: 'line', |
| | | areaStyle: { |
| | | normal: { |
| | | color: { |
| | | x: 0, |
| | | y: 0, |
| | | x2: 0, |
| | | y2: 1, |
| | | colorStops: [{ |
| | | offset: 0, |
| | | color: '#207FF7' // 0% 处的颜色 |
| | | }, { |
| | | offset: 1, |
| | | color: 'rgba(255,255,255,.2)' // 100% 处的颜色 |
| | | }], |
| | | globalCoord: false // 缺省为 false |
| | | } |
| | | } |
| | | }, |
| | | lineStyle: { // 线条样式 |
| | | color: { |
| | | type: 'linear', |
| | | x: 0, |
| | | y: 0, |
| | | x2: 0, |
| | | y2: 1, |
| | | colorStops: [{ |
| | | offset: 0, color: '#207FF7' // 0% 处的颜色 |
| | | }, { |
| | | offset: 1, color: '#207FF7' // 100% 处的颜色 |
| | | }] |
| | | }, |
| | | width: 2 // 线条粗细 |
| | | }, |
| | | symbol: 'circle', |
| | | symbolSize: 10, |
| | | itemStyle: { |
| | | borderWidth: 1, |
| | | borderColor: '#fff', |
| | | color: '#207FF7' |
| | | }, |
| | | smooth: false |
| | | } |
| | | ] |
| | | } |
| | |
| | | } |
| | | .list_head { |
| | | width: 100%; |
| | | height: 35px; |
| | | height: 50px; |
| | | display: flex; |
| | | align-items: center; |
| | | background-color: #ececec; |
| | | background-color: #F7F7F7; |
| | | border-left: 1px solid #DFE2E8; |
| | | border-top: 1px solid #DFE2E8; |
| | | margin-top: 15px; |
| | | .list_head_item { |
| | | flex: 1; |
| | |
| | | justify-content: center; |
| | | font-size: 13px; |
| | | color: #222222; |
| | | border-right: 1px solid #DFE2E8; |
| | | } |
| | | } |
| | | .table_box { |
| | | width: 100%; |
| | | border-bottom: 1px solid #DFE2E8; |
| | | .list_content { |
| | | width: 100%; |
| | | height: 35px; |
| | | height: 50px; |
| | | display: flex; |
| | | align-items: center; |
| | | border-left: 1px solid #DFE2E8; |
| | | border-top: 1px solid #DFE2E8; |
| | | .list_head_item { |
| | | flex: 1; |
| | | height: 100%; |
| | |
| | | justify-content: center; |
| | | font-size: 13px; |
| | | color: #222222; |
| | | border-right: 1px solid #DFE2E8; |
| | | } |
| | | } |
| | | } |
| | |
| | | label: '公司名称' |
| | | }, |
| | | { |
| | | filed: 'date', |
| | | type: 'daterange', |
| | | label: '起始日期' |
| | | filed1: 'queryStarttime', |
| | | filed2: 'queryEndtime', |
| | | type: 'datetime', |
| | | label: '拜访时间' |
| | | } |
| | | ], |
| | | online: true |
| | |
| | | }, |
| | | getList (page) { |
| | | const { pagination, filters } = this |
| | | console.log(filters) |
| | | if (filters.date && filters.date.length === 2) { |
| | | filters.queryStarttime = filters.date[0] |
| | | filters.queryEndtime = filters.date[1] |
| | | } else { |
| | | filters.queryStarttime = '' |
| | | filters.queryEndtime = '' |
| | | } |
| | | pagination.page = page || pagination.page |
| | | fetchList({ |
| | | model: { ...filters }, |
| | |
| | | <el-form-item label="访客单位" prop="companyName"> |
| | | <el-input v-model="searchForm.companyName" placeholder="请输入访客单位" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="起始时间" prop="date"> |
| | | <el-form-item label="拜访时间" prop="date"> |
| | | <el-date-picker |
| | | v-model="searchForm.date" |
| | | type="daterange" |
| | | @change="changeDate" |
| | | value-format="yyyy-MM-dd" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | v-model="searchForm.queryStarttime" |
| | | type="datetime" |
| | | clearable |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | class="w200" |
| | | placeholder="开始时间" /> |
| | | <el-date-picker |
| | | v-model="searchForm.queryEndtime" |
| | | type="datetime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | class="w200" |
| | | clearable |
| | | placeholder="结束时间" /> |
| | | </el-form-item> |
| | | <el-form-item label="审批状态" prop="status"> |
| | | <el-select v-model="searchForm.status" placeholder="请选择"> |
| | |
| | | this.$refs.searchForm.resetFields() |
| | | this.searchForm.queryStarttime = '' |
| | | this.searchForm.queryEndtime = '' |
| | | this.search() |
| | | }, |
| | | changeDate(e) { |
| | | if (e) { |
| | | this.searchForm.queryStarttime = e[0] |
| | | this.searchForm.queryEndtime = e[1] |
| | | } else { |
| | | this.searchForm.queryStarttime = '' |
| | | this.searchForm.queryEndtime = '' |
| | | } |
| | | this.search() |
| | | }, |
| | | handleDetail(row) { |
| | |
| | | <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> |
| | | <el-table-column prop="groupName" label="所属月台组" fixed min-width="150px"></el-table-column> |
| | | <el-table-column prop="sortnum" label="排序码" min-width="90px"></el-table-column> |
| | | <el-table-column prop="workingNum" label="同时叫号车辆数" min-width="120px"></el-table-column> |
| | | <el-table-column prop="stayTimeoutAlarmTime" label="停留超时报警时间(分钟)" min-width="180px"> |
| | | <template scope="{row}">{{ row.stayTimeoutAlarmTime ? (row.stayTimeoutAlarmTime) : '-' }}</template> |
| | |
| | | // let minNum = item.level.slice(0, startI) |
| | | let maxNum = item.max |
| | | let minNum = item.min |
| | | let conNum = maxNum - minNum |
| | | let conNum = maxNum |
| | | let acNum = item.obj.value.replaceAll('M', '') |
| | | var data = (((acNum - minNum) / conNum) * 100).toFixed(0) |
| | | console.log('data', data) |
| | |
| | | "3=安泰的预约入园车辆:货运车辆-加工烟卸货车辆 ;" + |
| | | "4=安泰公务车:公务车-安泰物流公务用车;" + |
| | | "5=安泰自有车:货运车辆-安泰物流货运车辆 ") |
| | | @ExcelColumn(name="业务类型",index = 4,width = 16,valueMapping = "0=访客车辆-访客车辆;1=货运车辆-外协运输车辆;2=货运车辆-市公司卸货车辆;3=货运车辆-加工烟卸货车辆;4=公务车-安泰物流公务用车;5=货运车辆-安泰物流货运车辆;6=未知车辆;") |
| | | private Integer bizType; |
| | | |
| | | @ApiModelProperty(value = "父级编码(自关联)") |
| | |
| | | } |
| | | @Override |
| | | public List<Category> findChileList(Category model) { |
| | | model.setIsdeleted(Constants.ZERO); |
| | | List<Category> list =findList(model); |
| | | List<Category> data = new ArrayList<>(); |
| | | if(list!=null){ |