Merge remote-tracking branch 'origin/master'
| | |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | export const getLastWaitJob = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/business/platformJob/getLastWaitJob', |
| | | method: 'get', |
| | | data |
| | | }) |
| | | } |
| | |
| | | import {
|
| | | logoutPost,
|
| | | driverHomeData,
|
| | | app_url
|
| | | app_url, |
| | | getLastWaitJob
|
| | | } from '@/api'
|
| | | export default {
|
| | | data() {
|
| | |
| | | this.jump('/pages/driver/reservedDetail?id=' + ywinfo.ywid) |
| | | }else if(yw == 8){ |
| | | this.jump('/pages/driver/taskDetail?id=' + ywinfo.ywid) |
| | | }else if(yw == 0) { |
| | | getLastWaitJob({ uuid: ywinfo.ywid }).then(res => { |
| | | if(res.data && res.data.id){ |
| | | this.taskClick(res.data) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | },
|
| | |
| | | export default {
|
| | | data() {
|
| | | return {
|
| | | code: 'qwe'
|
| | | code: ''
|
| | | }
|
| | | }, |
| | | onLoad(option) { |
| | |
| | | <template> |
| | | <view> |
| | | <web-view style="width: 100vw;height: 100vh;" src="https://atwl.ahzyssl.com/dps/web/wxAuth/loginV2?oaId=atwl&redirectId=index"></web-view> |
| | | <!-- <web-view src="https://www.baidu.com/"></web-view> --> |
| | | </view> |
| | | <view class="box"> |
| | | <!-- <view v-html="info"></view> --> |
| | | <mp-html :content="info" /> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | |
| | | }; |
| | | } |
| | | } |
| | | import { getSystemDictData } from '@/api' |
| | | export default { |
| | | data() { |
| | | return { |
| | | info: "", |
| | | } |
| | | }, |
| | | onLoad() { |
| | | this.initData() |
| | | }, |
| | | methods: { |
| | | initData() { |
| | | getSystemDictData({ |
| | | dictCode: 'TSM_PARAM', |
| | | label: 'CENTER_LINK_TYPE' |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.info = res.data.code |
| | | uni.setNavigationBarTitle({ |
| | | title: res.data.remark |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | |
| | | </style> |
| | | <style lang="scss" scoped> |
| | | .box { |
| | | padding: 0 30rpx; |
| | | } |
| | | </style> |
| | |
| | | <view class="img_wrap" v-for="item,i in info.submitFileList" :key="item.id">
|
| | | <image v-if="item.type == 0" :src="item.fileurlFull" @click="priviewImage(item.fileurlFull)" mode="widthFix"
|
| | | class="img" />
|
| | | <view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap"> |
| | | <video :id="'id' + i" :show-center-play-btn="false" |
| | | :src="item.fileurlFull" muted class="video" :controls="false" /> |
| | | <image src="@/static/play.png" class="play" mode=""></image> |
| | | <view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap">
|
| | | <video :id="'id' + i" :show-center-play-btn="false" :src="item.fileurlFull" muted class="video"
|
| | | :controls="false" />
|
| | | <image src="@/static/play.png" class="play" mode=""></image>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | |
| | | <view class="label">{{info.status == '1' ? 'æ´æ¹å' : 'è§é¢/å¾ç'}}</view>
|
| | | <view class="value">
|
| | | <view class="adduser_list_item_ipt1_upload" v-for="(item, i) in info.dealBeforeFileList" :key="i">
|
| | | <image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull" mode="widthFix"></image>
|
| | | <image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull"
|
| | | mode="widthFix"></image>
|
| | | <video v-if="item.type == 1" @click="videoClick(item, i)" :src="item.fileurlFull" :controls="false"></video>
|
| | | </view>
|
| | | </view>
|
| | |
| | | <view class="label">æ´æ¹å</view>
|
| | | <view class="value">
|
| | | <view class="adduser_list_item_ipt1_upload" v-for="(item, i) in info.dealAfterFileList" :key="i">
|
| | | <image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull" mode="widthFix"></image>
|
| | | <image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull"
|
| | | mode="widthFix"></image>
|
| | | <video v-if="item.type == 1" @click="videoClick(item, i)" :src="item.fileurlFull" :controls="false"></video>
|
| | | </view>
|
| | | </view>
|
| | |
| | | </view>
|
| | | </view>
|
| | | <view class="emyty"></view>
|
| | | <view class="main_footer">
|
| | | <view class="main_footer" v-if="info.status==0&& info.checkUserId == userInfo.memberId">
|
| | | <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn" @click="handleBack">éå</view>
|
| | | <view v-if="info.status==0 && info.checkUserId == userInfo.memberId" class="btn transfer" @click="handleTransfer">
|
| | | <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn transfer" @click="handleTransfer">
|
| | | 转交</view>
|
| | | <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn handle" @click="handleOpen">å¤ç
|
| | | </view>
|
| | |
| | | <view class="adduser_list_item_ipt1_upload" v-for="(item, i) in dealBeforeFileList" :key="i">
|
| | | <u-icon class="close" size="20" name="close-circle-fill" color="red"
|
| | | @click="fileDel('dealBeforeFileList', i)"></u-icon>
|
| | | <image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull" mode="widthFix"></image>
|
| | | <image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull"
|
| | | mode="widthFix"></image>
|
| | | <video v-if="item.type == 1" @click="videoClick(item, i)" :src="item.fileurlFull" :controls="false"></video>
|
| | | </view>
|
| | | </view>
|
| | |
| | | @cancel="isShowHandleDate = false" mode="datetime"></u-datetime-picker>
|
| | | <!-- -->
|
| | |
|
| | | <!-- <view v-show="videoPlay" class="video_app">
|
| | | <video controls id="myvideo" :src="videoUrl" @fullscreenchange="screenChange"></video>
|
| | | </view> -->
|
| | | <view v-if="videoPlay" class="video_app" >
|
| | | <video controls autoplay muted x5-video-player-type="h5" |
| | | x5-video-player-fullscreen="true" id="myvideo" :src="videoUrl" @fullscreenchange="screenChange"></video> |
| | | <view class="bg" @click="closeVideo"></view>
|
| | | </view>
|
| | | </view>
|
| | | </template>
|
| | |
|
| | |
| | | memberList: [],
|
| | |
|
| | | videoPlay: false,
|
| | | videoContext: null, |
| | | videoContext: null,
|
| | | videoUrl: ''
|
| | | };
|
| | | },
|
| | |
| | | //éåºå
¨å±
|
| | | this.videoPlay = false; // éèææ¾çå
|
| | | }
|
| | | }, |
| | | closeVideo() { |
| | | this.videoPlay = false |
| | | this.videoContext = null |
| | | },
|
| | | videoClick(item, i) {
|
| | | this.videoContext = uni.createVideoContext("myvideo", this); // thisè¿ä¸ªæ¯å®ä¾å¯¹è±¡ å¿
ä¼
|
| | | console.log(item) |
| | | this.videoPlay = true;
|
| | | this.videoContext = uni.createVideoContext("myvideo", this); // thisè¿ä¸ªæ¯å®ä¾å¯¹è±¡ å¿
ä¼
|
| | | this.videoUrl = item.fileurlFull;
|
| | | this.videoContext.requestFullScreen(); |
| | | this.$nextTick(() => { |
| | | this.videoContext.play(); |
| | | }) |
| | | |
| | | this.videoContext.requestFullScreen();
|
| | | this.$nextTick(() => {
|
| | | this.videoContext.play();
|
| | | })
|
| | |
|
| | | },
|
| | | handleOpen() {
|
| | | this.isShowHandle = true;
|
| | | const submitFileList = this.info.submitFileList || [] |
| | | this.dealBeforeFileList = [...submitFileList]
|
| | | const submitFileList = this.info.submitFileList || []
|
| | | this.dealBeforeFileList = [...submitFileList]
|
| | | this.submitFileList = [...submitFileList];
|
| | | this.$set(this.handleParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'));
|
| | | },
|
| | |
| | |
|
| | | .flow_wrap {
|
| | | padding: 30rpx 0 90rpx;
|
| | | |
| | |
|
| | | .list {
|
| | | .item {
|
| | | display: flex;
|
| | |
| | | height: 80rpx;
|
| | | position: relative;
|
| | | margin-right: 20rpx;
|
| | | |
| | |
|
| | | .img {
|
| | | width: 80rpx;
|
| | | height: 80rpx;
|
| | |
| | | border-radius: 50%;
|
| | | position: absolute;
|
| | | right: 0;
|
| | | bottom: 0; |
| | | bottom: 0;
|
| | | z-index: 999;
|
| | | }
|
| | | }
|
| | |
| | | background: #f7f7f7;
|
| | | color: #666666;
|
| | | font-size: 22rpx;
|
| | | display: flex; |
| | | display: flex;
|
| | | border-radius: 4rpx;
|
| | | flex-direction: column;
|
| | | align-items: center;
|
| | |
| | | margin-right: 0;
|
| | | }
|
| | | }
|
| | | .video_wrap{ |
| | | position: relative; |
| | | border: 1px solid; |
| | | width: 156rpx; |
| | | height: 156rpx; |
| | | border-radius: 4rpx; |
| | | .play{ |
| | | width: 60rpx; |
| | | height: 60rpx; |
| | | position: absolute; |
| | | top: 50%; |
| | | left: 50%; |
| | | transform: translate(-50%, -50%); |
| | | } |
| | |
|
| | | .video_wrap {
|
| | | position: relative;
|
| | | border: 1px solid;
|
| | | width: 156rpx;
|
| | | height: 156rpx;
|
| | | border-radius: 4rpx;
|
| | |
|
| | | .play {
|
| | | width: 60rpx;
|
| | | height: 60rpx;
|
| | | position: absolute;
|
| | | top: 50%;
|
| | | left: 50%;
|
| | | transform: translate(-50%, -50%);
|
| | | }
|
| | | }
|
| | |
|
| | | .img {
|
| | | width: 100%;
|
| | | max-height: 100%;
|
| | |
| | | .main_footer {
|
| | | position: fixed;
|
| | | bottom: 0;
|
| | | width: 100%; |
| | | width: 100%;
|
| | | z-index: 9999;
|
| | | left: 0;
|
| | | padding: 30rpx 10rpx 60rpx;
|
| | |
| | | color: #333333;
|
| | | }
|
| | | }
|
| | | .video_app{ |
| | | position: absolute; |
| | | left: 0; |
| | | top: 0; |
| | | width: 100vw; |
| | |
|
| | | .video_app { |
| | | overflow: hidden;
|
| | | position: fixed;
|
| | | left: 0;
|
| | | top: 0;
|
| | | width: 100vw;
|
| | | height: 100vh; |
| | | video{ |
| | | display: flex; |
| | | align-items: center;
|
| | | .bg{ |
| | | background-color: rgba(0,0,0,.6); |
| | | position: absolute; |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | z-index: -1; |
| | | }
|
| | | video {
|
| | | width: 100%;
|
| | | height: 42vh;
|
| | | }
|
| | | }
|
| | |
|
| | | .Transfer_footer {
|
| | | display: flex;
|
| | |
|
| | |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .box { |
| | | padding: 30rpx; |
| | | .line { |
| | | margin-bottom: 16rpx; |
| | | } |
| | | padding: 0 30rpx; |
| | | } |
| | | </style> |
| | |
| | | <image src="@/static/ic_shaixuan@2x.png" mode=""></image>
|
| | | <text>çé</text>
|
| | | </view>
|
| | | </view>
|
| | | </view> |
| | | <view @click="diaodu" class="head_title">åä¸å¿è°åº¦èç³»æ¹å¼</view>
|
| | | <!-- -->
|
| | | <scroll-view scroll-y="true" class="scroll_Y" @scrolltolower="scrolltolower">
|
| | | <view class="main_list">
|
| | |
| | | form: {},
|
| | | provinceList: [
|
| | | [
|
| | | 'å®å¾½ç', 'æ±èç', 'æµæ±ç', 'æ²³åç', '山西ç', 'å京', '天津', '䏿µ·', 'éåº', 'è¾½å®ç', 'åæç', 'é»é¾æ±ç', 'ç¦å»ºç', 'æ±è¥¿ç', 'å±±ä¸ç',
|
| | | 'æ²³åç', 'æ¹åç', 'æ¹åç', '广ä¸ç', 'æµ·åç', 'åå·ç', 'è´µå·ç', 'äºåç', 'é西ç', 'çèç', 'éæµ·ç', 'å°æ¹¾ç', 'å
èå¤èªæ²»åº', '广西壮æèªæ²»åº',
|
| | | 'å®å¾½', 'æ±è', 'æµæ±', 'æ²³å', '山西', 'å京', '天津', '䏿µ·', 'éåº', 'è¾½å®', 'åæ', 'é»é¾æ±', 'ç¦å»º', 'æ±è¥¿', 'å±±ä¸',
|
| | | 'æ²³å', 'æ¹å', 'æ¹å', '广ä¸', 'æµ·å', 'åå·', 'è´µå·', 'äºå', 'é西', 'çè', 'éæµ·', 'å°æ¹¾', 'å
èå¤èªæ²»åº', '广西壮æèªæ²»åº',
|
| | | '西èèªæ²»åº', 'å®å¤åæèªæ²»åº', 'æ°çç»´å¾å°èªæ²»åº'
|
| | | ]
|
| | | ]
|
| | |
| | | this.list = [] |
| | | this.showModal = false |
| | | this.getList() |
| | | }, |
| | | diaodu() { |
| | | uni.navigateTo({ |
| | | url: '/pages/staff/signin' |
| | | }) |
| | | },
|
| | | modalSub() {
|
| | | this.handleQuery()
|
| | |
| | | page {
|
| | | background: #F7F7F7;
|
| | | }
|
| | |
|
| | | .head_title{ |
| | | color: $uni-color-primary; |
| | | text-decoration-line: underline; |
| | | margin-top: 20rpx; |
| | | }
|
| | | .head_wrap {
|
| | | display: flex;
|
| | | align-items: center;
|
| | |
| | |
|
| | | .scroll_Y {
|
| | | background-color: #f7f7f7;
|
| | |
|
| | | height: calc(100vh - 130rpx);
|
| | | height: calc(100vh - 180rpx); |
| | | margin-top: 10rpx;
|
| | |
|
| | | .main_list {
|
| | | width: 750rpx;
|
| | |
| | | <template>
|
| | | <view class="main_app">
|
| | | <!-- <image class="bg" src="@/static/wuliuche_bg@2x.png" mode="widthFix"></image> -->
|
| | | <map id="map" :latitude="latitude" :longitude="longitude" :polyline="polyline" :markers="markers" :scale="4">
|
| | | <map id="map" :latitude="latitude" :longitude="longitude" :polyline="polyline" :markers="markers" :scale="scale">
|
| | |
|
| | | </map>
|
| | | <view class="main_content"> |
| | | <view class="info"> |
| | | <view class="head"> |
| | | <view class="code">{{info.contractNumber}}</view> |
| | | <view class="status">{{info.orderStatusDesc}}</view> |
| | | </view> |
| | | <view class="content"> |
| | | <view class="line"> |
| | | <view class="la">åè´§å°</view> |
| | | <view class="val">{{info.deliveryEnterprise || '-'}}</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="la">å°è´§å°</view> |
| | | <view class="val">{{info.receiveEnterprise || '-'}}</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="la">车çå·</view> |
| | | <view class="val">{{info.plateName || '-'}}</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="la">叿ºä¿¡æ¯</view> |
| | | <view class="val" @click="callPhone(info.driverTel)">{{ info.driverName }} <text class="primaryColor ml12">{{info.driverTel}}</text> </view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="la">车è¾ä½ç½®</view> |
| | | <view class="val">{{'-'}}</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="la">é¢è®¡å°è¾¾</view> |
| | | <view class="val">{{info.plannedArrivedDate}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="drive_info"> |
| | | <view class="title">ç©æµä¿¡æ¯</view> |
| | | <view class="drive_list" v-for="dri,k in info.cicleStatusList"> |
| | | <view class="separate"></view> |
| | | <view class="item_title"> |
| | | <view class="icon_wrap"> |
| | | <image v-if="dri.key == 0 && k != 0" src="@/static/waybill/ic_dingdan@2x.png" class="icon"></image> |
| | | <image v-if="dri.key == 0 && k == 0" src="@/static/waybill/ic_dingdan_sel@2x.png" class="icon"></image> |
| | | <image v-if="dri.key == 1 && k != 0" src="@/static/waybill/ic_peizai@2x.png" class="icon"></image> |
| | | <image v-if="dri.key == 1 && k == 0" src="@/static/waybill/ic_peizai_sel@2x.png" class="icon"></image> |
| | | <image v-if="dri.key == 2 && k != 0" src="@/static/waybill/ic_cangku@2x.png" class="icon"></image> |
| | | <image v-if="dri.key == 2 && k == 0" src="@/static/waybill/ic_cangku_sel@2x.png" class="icon"></image> |
| | | <image v-if="dri.key == 3 && k != 0" src="@/static/waybill/ic_yunshu@2x.png" class="icon"></image> |
| | | <image v-if="dri.key == 3 && k == 0" src="@/static/waybill/ic_yunshu_sel@2x.png" class="icon"></image> |
| | | <image v-if="dri.key == 4" src="@/static/waybill/ic_daohuo_sel@2x.png" class="icon"></image> |
| | | <image v-if="dri.key == 5" src="@/static/waybill/ic_ruku.png" class="icon"></image> |
| | | </view> |
| | | <view class="" :class="{primaryColor: k == 0}">{{dri.name}}</view> |
| | | </view> |
| | | <view class="item" v-for="item,i in dri.secondList"> |
| | | <view class="h2" v-if="item.orderStatusDes"> |
| | | <view class="icon_wrap" v-if="i != 0"> |
| | | <image src="@/static/driver/ic_mostarted.png" class="icon"></image> |
| | | </view> |
| | | <view v-else class="icon_wrap"></view> |
| | | <view class="text" :class="{placeholder3: k==0 && i== 0}" > |
| | | {{item.orderStatusDes}} |
| | | <text v-if="item.tel">ï¼åè´§ä»åºçµè¯ï¼</text> |
| | | <text v-if="item.tel" @click="callPhone(item.tel)" class="primaryColor">{{item.tel}}</text> |
| | | </view> |
| | | </view> |
| | | <view class="time">{{item.recordDate}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="main_content">
|
| | | <view class="info">
|
| | | <view class="head">
|
| | | <view class="code">{{info.contractNumber}}</view>
|
| | | <view class="status">{{info.orderStatusDesc}}</view>
|
| | | </view>
|
| | | <view class="content">
|
| | | <view class="line">
|
| | | <view class="la">åè´§å°</view>
|
| | | <view class="val">{{info.deliveryEnterprise || '-'}}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">å°è´§å°</view>
|
| | | <view class="val">{{info.receiveEnterprise || '-'}}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">车çå·</view>
|
| | | <view class="val">{{info.plateName || '-'}}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">叿ºä¿¡æ¯</view>
|
| | | <view class="val" @click="callPhone(info.driverTel)">{{ info.driverName }} <text
|
| | | class="primaryColor ml12">{{info.driverTel}}</text> </view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">车è¾ä½ç½®</view>
|
| | | <view class="val">{{'-'}}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">é¢è®¡å°è¾¾</view>
|
| | | <view class="val primaryColor" v-if="info.plannedArrivedDate">{{info.plannedArrivedDate.slice(0,11)}}</view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="drive_info">
|
| | | <view class="title">ç©æµä¿¡æ¯</view>
|
| | | <view class="drive_list" v-for="dri,k in info.cicleStatusList">
|
| | | <view class="separate"></view>
|
| | | <view class="item_title">
|
| | | <view class="icon_wrap">
|
| | | <image v-if="dri.key == 0 && k != 0" src="@/static/waybill/ic_dingdan@2x.png" class="icon"></image>
|
| | | <image v-if="dri.key == 0 && k == 0" src="@/static/waybill/ic_dingdan_sel@2x.png" class="icon"></image>
|
| | | <image v-if="dri.key == 1 && k != 0" src="@/static/waybill/ic_peizai@2x.png" class="icon"></image>
|
| | | <image v-if="dri.key == 1 && k == 0" src="@/static/waybill/ic_peizai_sel@2x.png" class="icon"></image>
|
| | | <image v-if="dri.key == 2 && k != 0" src="@/static/waybill/ic_cangku@2x.png" class="icon"></image>
|
| | | <image v-if="dri.key == 2 && k == 0" src="@/static/waybill/ic_cangku_sel@2x.png" class="icon"></image>
|
| | | <image v-if="dri.key == 3 && k != 0" src="@/static/waybill/ic_yunshu@2x.png" class="icon"></image>
|
| | | <image v-if="dri.key == 3 && k == 0" src="@/static/waybill/ic_yunshu_sel@2x.png" class="icon"></image>
|
| | | <image v-if="dri.key == 4" src="@/static/waybill/ic_daohuo_sel@2x.png" class="icon"></image>
|
| | | <image v-if="dri.key == 5" src="@/static/waybill/ic_ruku.png" class="icon"></image>
|
| | | </view>
|
| | | <view class="" :class="{primaryColor: k == 0}">{{dri.name}}</view>
|
| | | </view>
|
| | | <view class="item" v-for="item,i in dri.secondList">
|
| | | <view class="h2" v-if="item.orderStatusDes">
|
| | | <view class="icon_wrap" v-if="i != 0">
|
| | | <image src="@/static/driver/ic_mostarted.png" class="icon"></image>
|
| | | </view>
|
| | | <view v-else class="icon_wrap"></view>
|
| | | <view class="text" :class="{placeholder3: k==0 && i== 0}">
|
| | | {{item.orderStatusDes}}
|
| | | <text v-if="item.tel">ï¼åè´§ä»åºçµè¯ï¼</text>
|
| | | <text v-if="item.tel" @click="callPhone(item.tel)" class="primaryColor">{{item.tel}}</text>
|
| | | </view>
|
| | | </view>
|
| | | <view class="time">{{item.recordDate}}</view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </template>
|
| | |
| | | param: {},
|
| | |
|
| | | latitude: 31.783205,
|
| | | longitude: 117.262635,
|
| | | longitude: 117.262635, |
| | | scale: 5,
|
| | | markers: [],
|
| | | includePoints: [
|
| | | // {latitude: 31.783205, longitude: 117.262635}, {latitude: 36.783205, longitude: 118.10},
|
| | |
| | | bgColor: '#FF0000'
|
| | | }
|
| | | })
|
| | | this.latitude = (Number(this.markers[0].latitude) + Number(this.markers[1].latitude)) / 2 - 8
|
| | | this.longitude = (Number(this.markers[0].longitude) + Number(this.markers[1].longitude)) / 2
|
| | | this.latitude = (Number(this.markers[0].latitude) + Number(this.markers[1].latitude)) / 2 - 4
|
| | | this.longitude = (Number(this.markers[0].longitude) + Number(this.markers[1].longitude)) / 2 |
| | | const distance = this.distance() |
| | | console.log('distance', distance); |
| | | if(distance > 1500000){ |
| | | this.scale = 4 |
| | | }else if(distance < 600000){ |
| | | this.scale = 6 |
| | | }else{ |
| | | this.scale = 5 |
| | | }
|
| | | }
|
| | | if (res.data && res.data.gisList && res.data.gisList.length > 0) {
|
| | | this.gisInfo = res.data.gisList[0]
|
| | | if (this.gisInfo && this.gisInfo.gisList && this.gisInfo.gisList.length > 0) {
|
| | | this.polyline = []
|
| | | let temp = {
|
| | | color: '#ff0000',
|
| | | width: 3,
|
| | | points: this.gisInfo.gisList.map(item => {
|
| | | return {
|
| | | latitude: item.lat,
|
| | | longitude: item.lon,
|
| | | }
|
| | | })
|
| | | }
|
| | | this.polyline.push(temp)
|
| | | }
|
| | | }
|
| | | })
|
| | | }, |
| | | callPhone(phone){ |
| | | uni.makePhoneCall({ |
| | | phoneNumber: phone |
| | | }); |
| | | },
|
| | | distance() {
|
| | | const {
|
| | | latitude: lat1,
|
| | | longitude: lng1
|
| | | } = this.markers[0];
|
| | | const {
|
| | | latitude: lat2,
|
| | | longitude: lng2
|
| | | } = this.markers[1];
|
| | | const radLat1 = this.rad(lat1);
|
| | | const radLat2 = this.rad(lat2);
|
| | | const a = radLat1 - radLat2;
|
| | | const b = this.rad(lng1) - this.rad(lng2);
|
| | | const Haversin = Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2),
|
| | | 2);
|
| | | const radius = 6378137; // å°çåå¾
|
| | | return 2 * radius * Math.asin(Math.sqrt(Haversin));
|
| | | },
|
| | | rad(d) {
|
| | | return d * Math.PI / 180.0;
|
| | | },
|
| | | callPhone(phone) {
|
| | | uni.makePhoneCall({
|
| | | phoneNumber: phone
|
| | | });
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | background-color: #f7f7f7;
|
| | | }
|
| | |
|
| | | .main_app { |
| | | padding: 0;
|
| | | .main_app {
|
| | | padding-top: 45vh;
|
| | | .main_content{ |
| | | height: 55vh ; |
| | | overflow: auto; |
| | | padding: 20rpx 30rpx 0; |
| | | position: relative; |
| | | z-index: 999; |
| | | }
|
| | |
|
| | | // .main_content{
|
| | | // height: 55vh ;
|
| | | // overflow: auto;
|
| | | // padding: 20rpx 30rpx 0;
|
| | | // position: relative;
|
| | | // z-index: 999;
|
| | | // }
|
| | | #map {
|
| | | width: 750rpx;
|
| | | position: absolute;
|
| | | position: fixed;
|
| | | left: 0;
|
| | | top: 0;
|
| | | height: 105vh;
|
| | |
| | | margin-bottom: 20rpx;
|
| | | position: relative;
|
| | | z-index: 999;
|
| | | .separate { |
| | | height: calc( 100% - 250rpx ); |
| | | width: 1rpx; |
| | | border: 1rpx dashed #CCCCCC; |
| | | position: absolute; |
| | | left: 53rpx; |
| | | top: 102rpx; |
| | | z-index: -1; |
| | |
|
| | | .separate {
|
| | | height: calc(100% - 250rpx);
|
| | | width: 1rpx;
|
| | | border: 1rpx dashed #CCCCCC;
|
| | | position: absolute;
|
| | | left: 53rpx;
|
| | | top: 102rpx;
|
| | | z-index: -1;
|
| | | }
|
| | |
|
| | | .title {
|
| | | font-weight: 500;
|
| | | font-size: 32rpx;
|
| | |
| | |
|
| | | .val {}
|
| | | }
|
| | | .item_title{ |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | .icon_wrap { |
| | | width: 48rpx; |
| | | margin-right: 30rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | .icon { |
| | | width: 48rpx; |
| | | height: 48rpx; |
| | | position: relative; |
| | | z-index: 2; |
| | | } |
| | |
|
| | | .item_title {
|
| | | font-weight: 600;
|
| | | font-size: 32rpx;
|
| | | display: flex;
|
| | | align-items: center;
|
| | | }
|
| | |
|
| | | .icon_wrap {
|
| | | width: 48rpx;
|
| | | margin-right: 30rpx;
|
| | | display: flex;
|
| | | align-items: center;
|
| | | justify-content: center;
|
| | |
|
| | | .icon {
|
| | | width: 48rpx;
|
| | | height: 48rpx;
|
| | | position: relative;
|
| | | z-index: 2;
|
| | | }
|
| | | }
|
| | |
|
| | | .item {
|
| | | position: relative;
|
| | | color: #999999;
|
| | | margin-bottom: 30rpx; |
| | | .text{ |
| | | color: #666666; |
| | | margin-bottom: 30rpx;
|
| | |
|
| | | .text {
|
| | | color: #666666;
|
| | | }
|
| | | .icon { |
| | | width: 20rpx; |
| | | height: 20rpx; |
| | | position: relative; |
| | | z-index: 2; |
| | |
|
| | | .icon {
|
| | | width: 20rpx;
|
| | | height: 20rpx;
|
| | | position: relative;
|
| | | z-index: 2;
|
| | | }
|
| | |
|
| | | .h2 {
|
| | | display: flex;
|
| | | align-items: center;
|
| | | height: 48rpx;
|
| | | }
|
| | |
|
| | | .h1 {
|
| | | }
|
| | | .h1 {}
|
| | |
|
| | | .time {
|
| | | padding-left: 78rpx;
|
| | |
| | | |
| | | export const baseUrl = 'zhyq_interface/' |
| | | // export const baseUrl = 'zhyq_interface/' |
| | | // export const baseUrl = 'http://192.168.0.173/gateway_interface/' |
| | | // export const baseUrl = 'http://10.50.250.253:8088/gateway_interface/' |
| | | // export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/' |
| | | export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/' |
| | | |
| | | export const app_url = 'https://atwl.ahzyssl.com/zhyq_h5/#/' |
| | | |
| | |
| | | // è½èçæ¿ 宿¶è´è·æ²çº¿ |
| | | export const zxloadCurve = (data) => { |
| | | return request('visitsAdmin/cloudService/board/api/energy/loadCurve', data) |
| | | } |
| | | // è½èçæ¿ 宿¶è´è·æ²çº¿ |
| | | export const regionDataRanking = (data) => { |
| | | return request('visitsAdmin/cloudService/board/api/energy/regionDataRanking', data) |
| | | } |
| | |
| | | </div> |
| | | <div class="center_box_two"> |
| | | <img class="bg" src="@/assets/images/img_city@2x.png" alt="" /> |
| | | <template v-if="data6 && data6.secondRegionDataList && data6.secondRegionDataList.length > 0"> |
| | | <div class="item item1"> |
| | | <div class="num fs_linear">{{ data6.secondRegionDataList[0].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6.secondRegionDataList[0].name }}</div> |
| | | <template v-if="data6 && data6 && data6.length > 0"> |
| | | <div class="item item1" v-if="data6.length > 4"> |
| | | <div class="num fs_linear">{{ data6[4].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6[4].name }}</div> |
| | | <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="item item2" v-if="data6.secondRegionDataList.length > 1"> |
| | | <div class="num fs_linear">{{ data6.secondRegionDataList[1].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6.secondRegionDataList[1].name }}</div> |
| | | <div class="item item2" v-if="data6.length > 1"> |
| | | <div class="num fs_linear">{{ data6[1].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6[1].name }}</div> |
| | | <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="item item3" v-if="data6.secondRegionDataList.length > 2"> |
| | | <div class="num fs_linear">{{ data6.secondRegionDataList[2].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6.secondRegionDataList[2].name }}</div> |
| | | <div class="item item3" v-if="data6.length > 2"> |
| | | <div class="num fs_linear">{{ data6[2].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6[2].name }}</div> |
| | | <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="item item4" v-if="data6.secondRegionDataList.length > 3"> |
| | | <div class="num fs_linear">{{ data6.secondRegionDataList[3].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6.secondRegionDataList[3].name }}</div> |
| | | <div class="item item4" v-if="data6.length > 3"> |
| | | <div class="num fs_linear">{{ data6[3].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6[3].name }}</div> |
| | | <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="item item5" v-if="data6.secondRegionDataList.length > 4"> |
| | | <div class="num fs_linear">{{ data6.secondRegionDataList[4].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6.secondRegionDataList[4].name }}</div> |
| | | <div class="item item5"> |
| | | <div class="num fs_linear">{{ data6[0].value }}<span class="unit">kw·h</span></div> |
| | | <div class="name">{{ data6[0].name }}</div> |
| | | <img src="@/assets/images/bg_data@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | </template> |
| | | <div class="bottom_wrap" v-if="data1.yesterdayElectricity"> |
| | | <div class="bottom bottom1"> |
| | | <div class="num fs_linear">{{ data1.yesterdayElectricity.total || 0 }}</div> |
| | | <div class="bottom bottom1" @click="changeacDay(3)"> |
| | | <div :class="{active: activeDays == 3}" class="num fs_linear">{{ data1.yesterdayElectricity.total || 0 }}</div> |
| | | <div class="name">æ¨æ¥ç¨çµ</div> |
| | | <div class="unit">kw·h</div> |
| | | <img src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" /> |
| | | <img v-if="activeDays == 3" src="@/assets/images/ic_dianliang@2x.png" class="bg" alt="" /> |
| | | <img v-else src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="bottom bottom2"> |
| | | <div class="num">{{ data1.todayElectricity.total || 0 }}</div> |
| | | <div class="bottom bottom2" @click="changeacDay(1)"> |
| | | <div :class="{active: activeDays == 1}" class="num">{{ data1.todayElectricity.total || 0 }}</div> |
| | | <div class="name">仿¥ç¨çµ</div> |
| | | <div class="unit">kw·h</div> |
| | | <img src="@/assets/images/ic_dianliang@2x.png" class="bg" alt="" /> |
| | | <img v-if="activeDays == 1" src="@/assets/images/ic_dianliang@2x.png" class="bg" alt="" /> |
| | | <img v-else src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="bottom bottom3"> |
| | | <div class="num fs_linear">{{ data1.monthElectricity.total || 0 }}</div> |
| | | <div class="bottom bottom3" @click="changeacDay(2)"> |
| | | <div :class="{active: activeDays == 2}" class="num fs_linear">{{ data1.monthElectricity.total || 0 }}</div> |
| | | <div class="name">æ¬æç¨çµ</div> |
| | | <div class="unit">kw·h</div> |
| | | <img src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" /> |
| | | <img v-if="activeDays == 2" src="@/assets/images/ic_dianliang@2x.png" class="bg" alt="" /> |
| | | <img v-else src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | zxenergyDataList, |
| | | zxlastMonthOil, |
| | | zxloadCurve, |
| | | zxenergyRegionData |
| | | zxenergyRegionData, |
| | | regionDataRanking |
| | | } from '@/api' |
| | | |
| | | |
| | |
| | | data1.value = result |
| | | }) |
| | | } |
| | | const activeDays = ref('1') |
| | | const data6 = ref({}) |
| | | const changeacDay = (val) => { |
| | | activeDays.value = val |
| | | getData6() |
| | | } |
| | | const getData6 = () => { |
| | | zxenergyRegionData().then(res => { |
| | | regionDataRanking({type: activeDays.value}).then(res => { |
| | | const result = res.data |
| | | data6.value = result |
| | | }) |
| | | } |
| | | |
| | | |
| | | const activeTab2 = ref(0) |
| | | const tabsClick2 = (v) => { |
| | |
| | | position: absolute; |
| | | text-align: center; |
| | | padding-top: 70px; |
| | | |
| | | cursor: pointer; |
| | | .num { |
| | | font-size: 24px; |
| | | color: #D0FFFA; |
| | |
| | | .unit { |
| | | font-size: 14px; |
| | | color: #D0FFFA; |
| | | } |
| | | .active { |
| | | font-size: 36px; |
| | | color: #01D9FE; |
| | | font-weight: bold; |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | |
| | |
| | | bottom: -0px; |
| | | left: 50%; |
| | | transform: translate(-50%, 0); |
| | | padding-top: 50px; |
| | | /* padding-top: 50px; */ |
| | | |
| | | .num { |
| | | font-size: 36px; |
| | | color: #01D9FE; |
| | | line-height: 54px; |
| | | font-weight: bold; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | <div class="main_app"> |
| | | <img src="@/assets/images/energy_ef/bg@2x.png" class="main_bg" alt="" /> |
| | | <div class="main_header"> |
| | | <!-- <img src="@/assets/images/maintitle.gif" class="main_header_bg" alt="" /> --> |
| | | <img src="@/assets/images/maintitle.gif" class="main_header_bg" alt="" /> |
| | | <div class="title">宿³°æºæ
§ç©æµååº-è°åº¦è½æè·è¸ª</div> |
| | | <div class="time_wrap"> |
| | | <span class="date">{{ date }}</span> |
| | |
| | | <img v-else src="@/assets/images/ic_down.png" class="icon" alt=""> |
| | | </template> |
| | | <template v-if="activeTab1 == 1 && data1.yearLastOutTotal"> |
| | | <img v-if="data1.yearOutTotal > data1.yearLastOutTotal" src="@/assets/images/ic_up.png" |
| | | class="icon" alt=""> |
| | | <img v-if="data1.yearOutTotal > data1.yearLastOutTotal" src="@/assets/images/ic_up.png" class="icon" |
| | | alt=""> |
| | | <img v-else src="@/assets/images/ic_down.png" class="icon" alt=""> |
| | | </template> |
| | | |
| | | <span v-if="activeTab1 == 0 && data1.monthLastOutTotal">{{ Math.abs((((data1.monthOutTotal - data1.monthLastOutTotal)/data1.monthLastOutTotal) * 100).toFixed(1)) }}%</span> |
| | | <span v-else-if="activeTab1 == 1 && data1.yearLastOutTotal">{{ Math.abs((((data1.yearOutTotal - data1.yearLastOutTotal)/data1.yearLastOutTotal) * 100).toFixed(1)) }}%</span> |
| | | |
| | | <span v-if="activeTab1 == 0 && data1.monthLastOutTotal">{{ Math.abs((((data1.monthOutTotal - |
| | | data1.monthLastOutTotal) / data1.monthLastOutTotal) * 100).toFixed(1)) }}%</span> |
| | | <span v-else-if="activeTab1 == 1 && data1.yearLastOutTotal">{{ Math.abs((((data1.yearOutTotal - |
| | | data1.yearLastOutTotal) / data1.yearLastOutTotal) * 100).toFixed(1)) }}%</span> |
| | | <span v-else>-</span> |
| | | </div> |
| | | </div> |
| | |
| | | <img src="@/assets/images/energy_ef/ic_chukuxiaolv@2x.png" alt=""> |
| | | <div class="content"> |
| | | <div class="name">åºåºæç</div> |
| | | <div class="num"><span>{{ activeTab12 == 0 ? data1.todayOutRate : data1.monthOutRate }}</span>䏿¯/å°æ¶ |
| | | <div class="num"><span>{{ activeTab12 == 0 ? data1.todayOutRate || 0 : data1.monthOutRate || 0 |
| | | }}</span>䏿¯/å°æ¶ |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <img src="@/assets/images/energy_ef/ic_rukuxiaolv@2x.png" alt=""> |
| | | <div class="content"> |
| | | <div class="name">å
¥åºæç</div> |
| | | <div class="num"><span class="today">{{ activeTab12 == 0 ? data1.todayInRate : data1.monthInRate |
| | | <div class="num"><span class="today">{{ activeTab12 == 0 ? data1.todayInRate || 0 : data1.monthInRate |
| | | || 0 |
| | | }}</span>䏿¯/å°æ¶</div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="repertory"> |
| | | <div class="use_ratio"> |
| | | <div class="header"> |
| | | <div>åºåé <span class="num">{{ data1.stockTotal }}/{{ data1.stockMax }}</span></div> |
| | | <div v-if="data1.stockTotal && data1.stockMax">å©ç¨ç{{ ((data1.stockTotal / data1.stockMax) * |
| | | 100).toFixed(0) }}%</div> |
| | | <div>åºåé <span class="num">{{ data6.num }}/{{ data6.totalNum }}</span></div> |
| | | <div v-if="data6.num && data6.totalNum">å©ç¨ç{{ (data6.useRate * 100).toFixed(0) }}%</div> |
| | | </div> |
| | | <Percent v-if="data1.stockTotal && data1.stockMax" |
| | | :rate="((data1.stockTotal / data1.stockMax) * 100).toFixed(0)" /> |
| | | <Percent v-if="data6.num && data6.totalNum" :rate="((data6.num / data6.totalNum) * 100).toFixed(0)" /> |
| | | </div> |
| | | <div class="list two-swiper"> |
| | | <div class="swiper-wrapper"> |
| | | <div class="item two-swiper-slide swiper-slide" v-for="item in dataList6"> |
| | | <div class="item two-swiper-slide swiper-slide" v-for="item in data6.stockList"> |
| | | <div class="la">{{ item.name }}</div> |
| | | <div class="val">{{ item.num }}䏿¯</div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | <!-- --> |
| | | <div class="modal" v-if="activeCar && activeCar.phone"> |
| | | <div class="modal" v-if="showModal"> |
| | | <div class="title_head"> |
| | | <img src="@/assets/images/energy_ef/chuku_ic_car@2x.png" alt=""> |
| | | <span>ça222</span> |
| | | <span>{{ activeCar.carCode }}</span> |
| | | </div> |
| | | <div class="info"> |
| | | <div class="item"> |
| | | <div class="dian"></div> |
| | | <div class="la">è¿è¾åå·ï¼</div> |
| | | <div class="val">22</div> |
| | | <div class="val">{{ activeCar.billCode }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="dian"></div> |
| | | <div class="la">叿ºä¿¡æ¯ï¼</div> |
| | | <div class="val">22</div> |
| | | <div class="val">{{ activeCar.name }} {{ activeCar.phone }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="dian"></div> |
| | | <div class="la">æ»è¿è¾éï¼</div> |
| | | <div class="val">22 䏿¯</div> |
| | | <div class="val" v-if="activeCar.totalNum">{{ activeCar.totalNum }}䏿¯</div> |
| | | </div> |
| | | </div> |
| | | <div class="tabs"> |
| | |
| | | <div :class="{ active: modalTab == 1 }" @click="modalTabClick(1)" class="tab">ååå表</div> |
| | | </div> |
| | | <div class="tab1" v-if="modalTab == 0"> |
| | | <div class="item" v-for="item, i in 3"> |
| | | <div class="icon_wrap"> |
| | | <img v-if="i === 0" class="dian" src="@/assets/images/ic_dangqian@2x.png" alt=""> |
| | | <img v-else src="@/assets/images/ic_jindu@2x.png" class="dian_ac" alt=""> |
| | | <div class="line"></div> |
| | | <template v-for="item, i in activeCar.logList"> |
| | | <div class="item" v-if="i < 4 || showMore"> |
| | | <div class="icon_wrap"> |
| | | <img v-if="i != 0" class="dian" src="@/assets/images/ic_dangqian@2x.png" alt=""> |
| | | <img v-else src="@/assets/images/ic_jindu@2x.png" class="dian_ac" alt=""> |
| | | <div class="line"></div> |
| | | </div> |
| | | <div class="content"> |
| | | <div class="status" :class="{ ac: i == 0 }">{{ statusMapD[item.objType] }}</div> |
| | | <div class="text">{{ item.content }}</div> |
| | | <div class="time">{{ item.createDate }}</div> |
| | | </div> |
| | | </div> |
| | | <div class="content"> |
| | | <div class="status">ä½ä¸ä¸</div> |
| | | <div class="text">ä½ä¸ä»»å¡å¨ãå
¥åºå»1å·æå°ãå¼å§ä½ä¸</div> |
| | | <div class="time">2024-04-02 12:00</div> |
| | | </div> |
| | | </template> |
| | | <div class="more_btn" v-if="!showMore && activeCar.logList && activeCar.logList.length > 4" |
| | | @click="showMore = true">æ¥çæ´å¤ä½ä¸ä¿¡æ¯</div> |
| | | <div class="empty" v-if="!activeCar.contractList || activeCar.logList.contractList == 0"> |
| | | <img src="@/assets/images/default_nodata.png" alt=""> |
| | | </div> |
| | | </div> |
| | | <div class="tab2" v-if="modalTab == 1"> |
| | | <div class="list"> |
| | | <div class="item"> |
| | | <div class="item" v-for="item in activeCar.contractList"> |
| | | <div class="head"> |
| | | <div class="code">ååå·ï¼12312312</div> |
| | | <div class="addr">æ¶è´§å°ï¼æ±é¨çèç©æµä¸å¿</div> |
| | | <div class="code">ååå·ï¼{{ item.ioCode }}</div> |
| | | <div class="addr">æ¶è´§å°ï¼{{ item.address }}</div> |
| | | </div> |
| | | <div class="line" v-for="i in 3"> |
| | | <div class="name">ç©æåç§°ï¼<span class="val">é»å±±</span></div> |
| | | <div class="num">æ°éï¼<span class="val">100䏿¯</span></div> |
| | | <div class="line" v-for="i in item.detailList"> |
| | | <div class="name">ç©æåç§°ï¼<span class="val">{{ i.materialName }}</span></div> |
| | | <div class="num">æ°éï¼<span class="val">{{ i.ioQty }}䏿¯</span></div> |
| | | </div> |
| | | </div> |
| | | <div class="empty" v-if="!activeCar.contractList || activeCar.logList.contractList == 0"> |
| | | <img src="@/assets/images/default_nodata.png" alt=""> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="modal_mask" v-if="activeCar && activeCar.phone" @click="activeCar = {}"></div> |
| | | <div class="modal_mask" v-if="showModal" @click="closeModal"></div> |
| | | </div> |
| | | </v-scale-screen> |
| | | </template> |
| | |
| | | import 'swiper/css/swiper.min.css' |
| | | import Swiper from 'swiper' |
| | | |
| | | const statusMapD = ['ä»»å¡çæ', '确认任å¡', 'å·²ç¾å°', 'å
¥åçå¾
', 'æå°å«å·', 'ä½ä¸ä¸', 'ä½ä¸å®æ', 'æå°è½¬ç§»', 'å¼å¸¸æèµ·', 'ä¸åææç¦»å', '离å', 'å·²è¿å·'] |
| | | const colors = ['#FEAF01', '#01ABFE', '#51F9E4'] |
| | | const weekMap = ['æææ¥', 'ææä¸', 'ææäº', 'ææä¸', 'ææå', 'ææäº', 'ææå
',] |
| | | const date = ref(dayjs().format('YYYY.MM.DD')) |
| | |
| | | const scatterData = data7.value.carsList.map(item => { |
| | | return { |
| | | name: item.terminalId, |
| | | img: item.status == 0 ? icLixian : item.status == 1 || item.status == 2 ? icZaitu : icKongxian, |
| | | img: item.jobStatus == 2 ? icLixian : item.jobStatus == 1 ? icZaitu : icKongxian, |
| | | data: [{ code: item.plateNum, value: [item.longitude, item.latitude] }] |
| | | } |
| | | }) |
| | |
| | | myChart.on('click', function (params) { |
| | | const item = params.data |
| | | getCarsJobDetails({ carCode: item.code }).then(res => { |
| | | activeCar.value = res.data |
| | | // getCarsJobDetails({ carCode: 'çAE5277' }).then(res => { |
| | | showModal.value = true |
| | | activeCar.value = { ...res.data, carCode: item.code } |
| | | }) |
| | | }) |
| | | window.addEventListener('resize', function () {//æ§è¡ |
| | |
| | | }) |
| | | } |
| | | const activeCar = ref({}) |
| | | const showModal = ref(false) |
| | | const modalTab = ref(0) |
| | | const showMore = ref(false) |
| | | const modalTabClick = (val) => { |
| | | modalTab.value = val |
| | | } |
| | | const closeModal = () => { |
| | | showModal.value = false |
| | | activeCar.value = {} |
| | | } |
| | | |
| | | |
| | |
| | | initEchart1() |
| | | }) |
| | | } |
| | | const dataList6 = ref([]) |
| | | const data6 = ref({}) |
| | | const getData6 = () => { |
| | | wlstockList().then(res => { |
| | | const result = res.data.stockList || [] |
| | | dataList6.value = result |
| | | const result = res.data || [] |
| | | data6.value = result |
| | | }) |
| | | } |
| | | |
| | |
| | | var newSwiper1 = new Swiper('.two-swiper', { |
| | | initialSlide: 0, |
| | | direction: 'vertical', //ç«ç´æ¹å |
| | | slidesPerView: 7, |
| | | autoplay: autoplayFlag(dataList6.value, 7, 2000), |
| | | slidesPerView: 6, |
| | | autoplay: autoplayFlag(data6.value.stockList, 6, 2000), |
| | | observer: true, //ä¿®æ¹swiperèªå·±æåå
ç´ æ¶ï¼èªå¨åå§åswiperiper |
| | | }) |
| | | } |
| | |
| | | |
| | | .list { |
| | | margin-top: 22px; |
| | | height: 240px; |
| | | height: 216px; |
| | | overflow: hidden; |
| | | scrollbar-width: none; |
| | | |
| | |
| | | } |
| | | |
| | | .tab1 { |
| | | height: 360px; |
| | | overflow: auto; |
| | | |
| | | .more_btn { |
| | | width: 116px; |
| | | height: 25px; |
| | | border-radius: 2px; |
| | | border: 1px solid #D2E0FF; |
| | | font-size: 12px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | color: D2E0FF; |
| | | margin-left: 30px; |
| | | margin-top: 12px; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | |
| | | .item { |
| | | display: flex; |
| | | |
| | |
| | | color: #fff; |
| | | } |
| | | |
| | | .ac { |
| | | color: #00F2F3; |
| | | } |
| | | |
| | | .text { |
| | | margin-bottom: 4px; |
| | | } |
| | |
| | | } |
| | | |
| | | .tab2 { |
| | | height: 360px; |
| | | overflow: auto; |
| | | |
| | | .list { |
| | | .item { |
| | | width: 560px; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .empty { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | height: 340px; |
| | | |
| | | img { |
| | | width: 144px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .modal_mask { |
| | |
| | | ) |
| | | .eq("c.DELETED",0) |
| | | .eq("c.status",0) |
| | | .eq("m.WORK_STATUS",0) |
| | | .orderByAsc("c.id") |
| | | ); |
| | | String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() |
| | |
| | | @Select(" select c.id , c.type , c.REALNAME as realName , c.userName as userName , c.avatar ," + |
| | | " c.wechat_name as wechatName , c.mobile , c.sex , c.birthday , c.avatar , d.COMPANY_NAME_PATH as departmentName " + |
| | | " from system_user c " + |
| | | " INNER JOIN company d on c.COMPANY_ID = d.id " + |
| | | " INNER JOIN company d on c.COMPANY_ID = d.id " + |
| | | " LEFT JOIN member m on c.member_id = m.id " + |
| | | " ${ew.customSqlSegment} ") |
| | | IPage<UserResponse> getUserPage(IPage<UserResponse> page, @Param(Constants.WRAPPER) Wrapper wrapper); |
| | | |
| | |
| | | @ApiModelProperty(value = "æ¯å¦æ¥è¯¢åºå®äººåç»ç»ä¸»é®" ,hidden = true) |
| | | private String companySpecialId; |
| | | |
| | | @ApiModelProperty(value = "å¨èç¶æ 0å¨è 1离è" ) |
| | | private Integer workStatus; |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | <if test="dto.status != null "> |
| | | AND usr.`status` = #{dto.status} |
| | | </if> |
| | | <if test="dto.workStatus != null "> |
| | | AND m.WORK_STATUS = #{dto.workStatus} |
| | | </if> |
| | | <if test="dto.memberType != null "> |
| | | AND m.`type` = #{dto.memberType} |
| | | </if> |
| | |
| | | return ApiResponse.success( HKService.temperatureHumidityDataStatistic(request)); |
| | | } |
| | | |
| | | @ApiOperation("ãæµ·åº·ãæ ¹æ®æ¶é´åæ¶é´ç»´åº¦è·åååºè½èæ°æ®") |
| | | @PostMapping("/energyTotal") |
| | | @LoginNoRequired |
| | | public ApiResponse<BaseResponse<EnergyTotalDataResponse>> energyTotalData(@RequestBody EnergyTotalDataRequest request, HttpServletResponse response) { |
| | | return ApiResponse.success( HKService.energyTotal(request)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("ãæµ·åº·ãè·ååºåç¨éæå-è½èçæ¿") |
| | | @PostMapping("/regionDataRanking") |
| | | @LoginNoRequired |
| | | public ApiResponse<BaseResponse<List<RegionDataRankingDataResponse>>> regionDataRankingData(@RequestBody RegionDataRankingDataRequest request, HttpServletResponse response) { |
| | | return ApiResponse.success( HKService.regionDataRanking(request)); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.config.annotation.LoginNoRequired; |
| | | import com.doumee.core.haikang.model.param.BaseResponse; |
| | | import com.doumee.core.haikang.model.param.request.RegionDataRankingTypeRequest; |
| | | import com.doumee.core.haikang.model.param.respose.RegionDataRankingDataResponse; |
| | | import com.doumee.core.haikang.model.param.respose.RegionEnergyListResponse; |
| | | import com.doumee.core.haikang.service.HKService; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.dao.web.response.platformReport.*; |
| | |
| | | import io.swagger.annotations.*; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @ApiOperation("ä¸å¿æ°æ®") |
| | | @GetMapping("/centerData") |
| | | public ApiResponse<EnergyBoardVO> centerData() { |
| | | |
| | | EnergyBoardVO data =boardService.centerEnergyData(); |
| | | |
| | | return ApiResponse.success(data); |
| | | } |
| | | |
| | | |
| | | |
| | | @LoginNoRequired |
| | | @ApiOperation("ä¸å¿ç¨çµè½èæ°æ®") |
| | | @GetMapping("/regionDataRanking") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "æ¥è¯¢ç±»åï¼1=仿¥ï¼2=æ¬æï¼3=æ¨æ¥", required = true), |
| | | }) |
| | | public ApiResponse<List<RegionDataRankingDataResponse>> regionDataRanking(@RequestParam Integer type) { |
| | | return ApiResponse.success(boardService.getRegionDataRanking(type)); |
| | | } |
| | | |
| | | |
| | | @LoginNoRequired |
| | |
| | | @ApiOperation("宿¶è´è·æ²çº¿") |
| | | @GetMapping("/loadCurve") |
| | | public ApiResponse<List<EnergyDataVO>> loadCurve() { |
| | | |
| | | List<EnergyDataVO> loadCurveList =boardService.loadEnergyCurve(); |
| | | return ApiResponse.success(loadCurveList); |
| | | } |
| | |
| | | String[] minitorDataSearch= new String[]{"/api/fpms/v2/minitor/data/search","å页æ¥è¯¢è®¾å¤çæµå岿°æ®"};//å页æ¥è¯¢è®¾å¤çæµå岿°æ® |
| | | String[] userOpenidSave= new String[]{"/api/v1/oa/userOpenId/saveV2","ä¿åç¨æ·åopenIdç»å®ä¿¡æ¯å¾®ä¿¡å
¬ä¼å·"};//ä¿åç¨æ·åopenIdç»å®ä¿¡æ¯å¾®ä¿¡å
¬ä¼å· |
| | | String[] temperatureHumidityDataStatistic= new String[]{"/api/v2/public/monitor/sensor/list","æ¶é²çæ¿-4温湿度ç»è®¡"};//æ¶é²çæ¿-温湿度 |
| | | String[] regionDataRanking= new String[]{"/api/ecm/v1/energy/regionDataRanking","æ¶é²çæ¿-4è·ååºåç¨éæå-è½èçæ¿"};//æ¶é²çæ¿-è·ååºåç¨éæå - è½èçæ¿ |
| | | String[] energyTotal= new String[]{"/api/ecm/v1/energy/energyTotal","æ¶é²çæ¿-4æ ¹æ®æ¶é´åæ¶é´ç»´åº¦è·åååºè½èæ°æ®"};//æ¶é²çæ¿-æ ¹æ®æ¶é´åæ¶é´ç»´åº¦è·åååºè½èæ°æ® |
| | | } |
| | | /** |
| | | * éå½A.55æ¶é²è®¾å¤ç±»å |
| | |
| | | return startDoPostStringArtemisAdmin(HKConstants.InterfacePath.temperatureHumidityDataStatistic,body); |
| | | } |
| | | |
| | | /** |
| | | *æ¶é²çæ¿-4è·ååºåç¨éæå-è½èçæ¿ |
| | | * @param body |
| | | * @return |
| | | */ |
| | | public static String regionDataRanking(String body) { |
| | | return startDoPostStringArtemis(HKConstants.InterfacePath.regionDataRanking,body); |
| | | } |
| | | |
| | | /** |
| | | *æ¶é²çæ¿-4æ ¹æ®æ¶é´åæ¶é´ç»´åº¦è·åååºè½èæ°æ® |
| | | * @param body |
| | | * @return |
| | | */ |
| | | public static String energyTotal(String body) { |
| | | return startDoPostStringArtemis(HKConstants.InterfacePath.energyTotal,body); |
| | | } |
| | | |
| | | /** |
| | | * è·åé¨ç¦ç¹å表 |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.haikang.model.param.request; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class EnergyTotalDataRequest { |
| | | |
| | | @ApiModelProperty(value = "æ¶é´ç»´åº¦day/month/year") |
| | | private String periodType; |
| | | |
| | | @ApiModelProperty(value = "æ¥è¯¢æ¥æ") |
| | | private String date; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.haikang.model.param.request; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class RegionDataRankingDataRequest { |
| | | |
| | | @ApiModelProperty(value = "æ¶é´ç»´åº¦day/month/year") |
| | | private String periodType; |
| | | |
| | | @ApiModelProperty(value = "æ¥è¯¢æ¥æ") |
| | | private String date; |
| | | |
| | | @ApiModelProperty(value = "仪表类å(1:çµè¡¨;2:水表;3:æ°è¡¨;4:ç表)") |
| | | private Integer meterType; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.haikang.model.param.request; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class RegionDataRankingTypeRequest { |
| | | |
| | | @ApiModelProperty(value = "æ¥è¯¢ç±»åï¼1=仿¥ï¼2=æ¬æï¼3=æ¨æ¥") |
| | | private Integer queryType; |
| | | |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.haikang.model.param.respose; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class EnergyTotalDataResponse { |
| | | |
| | | @ApiModelProperty(value = "ç¨çµæ»é") |
| | | private String electricity; |
| | | |
| | | @ApiModelProperty(value = "ç¨æ°´æ»é") |
| | | private String water; |
| | | |
| | | @ApiModelProperty(value = "ç¨æ°æ»é") |
| | | private String gas; |
| | | |
| | | @ApiModelProperty(value = "ç¨çæ»é") |
| | | private String heat; |
| | | |
| | | @ApiModelProperty(value = "èªå®ä¹æ»é") |
| | | private String extend ; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.haikang.model.param.respose; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class RegionDataRankingDataResponse { |
| | | |
| | | @ApiModelProperty(value = "åºå") |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "çµé") |
| | | private String value; |
| | | |
| | | @ApiModelProperty(value = "ç¾åæ¯") |
| | | private String percent; |
| | | |
| | | } |
| | |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | *æ¶é²çæ¿-4è·ååºåç¨éæå-è½èçæ¿ |
| | | * @return |
| | | */ |
| | | public static BaseResponse<List<RegionDataRankingDataResponse>> regionDataRanking(RegionDataRankingDataRequest param){ |
| | | log.info("ãæµ·åº·æ¶é²çæ¿-4è·ååºåç¨éæå-è½èçæ¿ã================å¼å§===="+JSONObject.toJSONString(param)); |
| | | try { |
| | | String res = HKTools.regionDataRanking(JSONObject.toJSONString(param)); |
| | | TypeReference typeReference = |
| | | new TypeReference< BaseResponse<List<RegionDataRankingDataResponse> >>(){}; |
| | | BaseResponse<List<RegionDataRankingDataResponse>> result = JSONObject.parseObject(res, typeReference.getType()); |
| | | logResult(result,"海康æ¶é²çæ¿-4è·ååºåç¨éæå-è½èçæ¿"); |
| | | return result; |
| | | }catch (Exception e){ |
| | | log.error("ãæµ·åº·æ¶é²çæ¿-4è·ååºåç¨éæå-è½èçæ¿ã================失败====ï¼\n"+ e.getMessage()); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | /** |
| | | *æ¶é²çæ¿-4è·ååºåç¨éæå-è½èçæ¿ |
| | | * @return |
| | | */ |
| | | public static BaseResponse<EnergyTotalDataResponse> energyTotal(EnergyTotalDataRequest param){ |
| | | log.info("ãæµ·åº·æ¶é²çæ¿-4æ ¹æ®æ¶é´åæ¶é´ç»´åº¦è·åååºè½èæ°æ®ã================å¼å§===="+JSONObject.toJSONString(param)); |
| | | try { |
| | | String res = HKTools.energyTotal(JSONObject.toJSONString(param)); |
| | | TypeReference typeReference = |
| | | new TypeReference< BaseResponse<EnergyTotalDataResponse >>(){}; |
| | | BaseResponse<EnergyTotalDataResponse> result = JSONObject.parseObject(res, typeReference.getType()); |
| | | logResult(result,"海康æ¶é²çæ¿-4æ ¹æ®æ¶é´åæ¶é´ç»´åº¦è·åååºè½èæ°æ®"); |
| | | return result; |
| | | }catch (Exception e){ |
| | | log.error("ãæµ·åº·æ¶é²çæ¿-4æ ¹æ®æ¶é´åæ¶é´ç»´åº¦è·åååºè½èæ°æ®ã================失败====ï¼\n"+ e.getMessage()); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | /** |
| | | *å页æ¥è¯¢æ¶é²è®¾å¤é¨ä»¶ç¶æ |
| | |
| | | private Integer areaId; |
| | | |
| | | @ApiModelProperty(value = "ç¶æ 0å¾
å¤ç 1å·²å¤ç 2ä¸å¤ç", example = "1") |
| | | @ExcelColumn(name="å¤çç»æ" ,valueMapping ="0=0å¾
å¤ç;1=å·²å¤ç;2=ä¸å¤ç;",index = 5) |
| | | @ExcelColumn(name="å¤çç»æ" ,valueMapping ="0=0å¾
å¤ç;1=å·²å¤ç;2=ä¸å¤ç;",index = 5,width = 6) |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "ç³è¯·å¤ç人ç¼ç (å
³èmember)", example = "1") |
| | |
| | | private Integer checkUserId; |
| | | |
| | | @ApiModelProperty(value = "åºååç§°") |
| | | @ExcelColumn(name="鿣åºå",index = 1) |
| | | @ExcelColumn(name="鿣åºå",index = 1,width = 10) |
| | | private String areaName; |
| | | |
| | | @ApiModelProperty(value = "ç³è¯·äººå§å", example = "1") |
| | | @TableField(exist = false) |
| | | @ExcelColumn(name="ææ¥äººå§å",index =3) |
| | | @ExcelColumn(name="ææ¥äººå§å",index =3,width = 6) |
| | | private String memberName; |
| | | @ApiModelProperty(value = "ç³è¯·äººæå±ç»ç»åç§°", example = "1") |
| | | @TableField(exist = false) |
| | |
| | | private String companyName; |
| | | @ApiModelProperty(value = "责任é¨é¨åç§°", example = "1") |
| | | @TableField(exist = false) |
| | | @ExcelColumn(name="责任é¨é¨åç§°",index = 0) |
| | | @ExcelColumn(name="责任é¨é¨åç§°",index = 0,width = 10) |
| | | private String dutyCompanyName; |
| | | @ApiModelProperty(value = "ç³è¯·äººææºå·", example = "1") |
| | | @TableField(exist = false) |
| | |
| | | private String checkorPhone; |
| | | @ApiModelProperty(value = "éæ£ç±»ååç§°", example = "1") |
| | | @TableField(exist = false) |
| | | @ExcelColumn(name="éæ£ç±»å",index = 2) |
| | | @ExcelColumn(name="éæ£ç±»å",index = 2,width = 10) |
| | | private String categoryName; |
| | | |
| | | @ApiModelProperty(value = "æ¥è¯¢å¼å§æ¶é´ï¼åºäºææ¥æ¶é´ï¼", example = "2024-05-20 11:48:50") |
| | |
| | | |
| | | @ApiModelProperty(value = "ææ¥æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @ExcelColumn(name="ææ¥æ¶é´",index = 6,dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @ExcelColumn(name="ææ¥æ¶é´",index = 6,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18) |
| | | private Date submitTime; |
| | | |
| | | @ApiModelProperty(value = "å¤çæ¶é´ï¼æ´æ¹/éå使ç¨ï¼") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @ExcelColumn(name="å¤çæ¶é´",index = 7 ,dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @ExcelColumn(name="å¤çæ¶é´",index = 7 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18) |
| | | private Date dealTime; |
| | | |
| | | @ApiModelProperty(value = "éä»¶ä¿¡æ¯") |
| | |
| | | @ExcelColumn(name="å
¥åºç±»å",index = 7,width = 12,valueMapping = "0=æ´æç;1=ä»¶ç;") |
| | | private Integer inType; |
| | | |
| | | @ApiModelProperty(value = "æ»è¿è¾é", example = "1") |
| | | @ExcelColumn(name="æ»è¿è¾é",index = 2,width = 12) |
| | | @ApiModelProperty(value = "æ»ä½ä¸é(䏿¯)", example = "1") |
| | | @ExcelColumn(name="æ»ä½ä¸é(䏿¯)",index = 2,width = 12) |
| | | private BigDecimal totalNum; |
| | | |
| | | @ApiModelProperty(value = "å车çå·") |
| | |
| | | public class PlatformWaterGasForExcelVO { |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @ExcelColumn(name="æè¿æä½æ¶é´",index = 5,dateFormat="yyyy-MM-dd HH:mm",width = -1) |
| | | @ExcelColumn(name="æè¿æä½æ¶é´",index = 5,dateFormat="yyyy-MM-dd HH:mm",width = 20) |
| | | private Date editDate; |
| | | |
| | | @ApiModelProperty(value = "æ¶é´ï¼å¹´æï¼") |
| | | @ExcelColumn(name="ä½¿ç¨æä»½",index = 2,dateFormat="yyyy-MM") |
| | | @ExcelColumn(name="ä½¿ç¨æä»½",index = 2,dateFormat="yyyy-MM",width = 10) |
| | | private Date timeInfo; |
| | | |
| | | @ApiModelProperty(value = "ç±»å 0ç¨æ°´ 1ç¨æ° 2ç¨æ²¹", example = "1") |
| | | @ExcelColumn(name="ç±»å",valueMapping = "0=ç¨æ°´;1=ç¨æ°;2=ç¨æ²¹;",index = 0) |
| | | @ExcelColumn(name="ç±»å",valueMapping = "0=ç¨æ°´;1=ç¨æ°;2=ç¨æ²¹;",index = 0,width = 10) |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "æ°é (ç¨çµé¡¿ï¼ç¨çµåº¦ï¼ æ²¹èLï¼", example = "1") |
| | | @ExcelColumn(name="æ°é",index = 3) |
| | | @ExcelColumn(name="æ°é",index = 3,width = 10) |
| | | private BigDecimal num; |
| | | |
| | | @ApiModelProperty(value = "说æ") |
| | | @ExcelColumn(name="说æ",index = 4) |
| | | @ExcelColumn(name="说æ",index = 4,width = 20) |
| | | private String content; |
| | | } |
| | |
| | | package com.doumee.dao.web.response.platformReport; |
| | | |
| | | import com.doumee.core.haikang.model.param.respose.RegionDataRankingDataResponse; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | |
| | | @ApiModelProperty(value = "忝å¼" ,hidden = true) |
| | | private BigDecimal sameNum; |
| | | |
| | | @ApiModelProperty(value = "å个åºåç¨çµä¿¡æ¯") |
| | | private List<RegionDataRankingDataResponse> regionDataRankingDataList; |
| | | |
| | | } |
| | |
| | | return hiddenDangerMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public void dealHiddenDanger(HiddenDanger hiddenDanger){ |
| | |
| | | import com.doumee.core.haikang.model.param.respose.*; |
| | | import com.doumee.core.haikang.service.HKCarOpenService; |
| | | import com.doumee.core.haikang.service.HKService; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | |
| | | } |
| | | if(data == null){ |
| | | data = new RegionEnergyListResponse(); |
| | | data.setSecondRegionDataList(new ArrayList<>()); |
| | | data.setRootValue("0"); |
| | | data.setSamePercent("0"); |
| | | data.setRingPercent("0"); |
| | |
| | | return data; |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢è½èç¨çµä¿¡æ¯ 1=仿¥ï¼2=æ¬æï¼3=æ¨æ¥ |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<RegionDataRankingDataResponse> getRegionDataRanking(Integer type){ |
| | | RegionDataRankingDataRequest request = new RegionDataRankingDataRequest(); |
| | | request.setMeterType(1); |
| | | if(Constants.equalsInteger(type,Constants.ONE)){ |
| | | request.setDate(DateUtil.getFomartDate(new Date(),"yyyy-MM-dd")); |
| | | request.setPeriodType("day"); |
| | | }else if(Constants.equalsInteger(type,Constants.TWO)){ |
| | | request.setDate(DateUtil.getFomartDate(new Date(),"yyyy-MM")); |
| | | request.setPeriodType("month"); |
| | | }else{ |
| | | request.setDate(DateUtil.getBeforDay(new Date(),1)); |
| | | request.setPeriodType("day"); |
| | | } |
| | | BaseResponse<List<RegionDataRankingDataResponse>> response = HKService.regionDataRanking(request); |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ){ |
| | | return response.getData(); |
| | | }else{ |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | TMSContants.TopStatusLevel tem = TMSContants.TopStatusLevel.ddsc; |
| | | if(i == 0){ |
| | | tem=TMSContants.TopStatusLevel.yrk; |
| | | } if(i == 1){ |
| | | } |
| | | if(i == 1){ |
| | | tem=TMSContants.TopStatusLevel.ydh; |
| | | } if(i == 2){ |
| | | } |
| | | if(i == 2){ |
| | | tem=TMSContants.TopStatusLevel.clysz; |
| | | } if(i == 4){ |
| | | } |
| | | if(i == 4){ |
| | | tem=TMSContants.TopStatusLevel.ckckz; |
| | | } if(i == 3){ |
| | | } |
| | | if(i == 3){ |
| | | tem=TMSContants.TopStatusLevel.ydpzz; |
| | | } if(i == 5){ |
| | | } |
| | | if(i == 5){ |
| | | tem=TMSContants.TopStatusLevel.ddsc; |
| | | } |
| | | t.setName(tem.getName()); |
| | |
| | | package com.doumee.service.business.third; |
| | | |
| | | import com.doumee.core.haikang.model.cars.response.CarsAlarmResultListResponse; |
| | | import com.doumee.core.haikang.model.param.respose.PageFireChannelInfoResponse; |
| | | import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse; |
| | | import com.doumee.core.haikang.model.param.respose.PageSensorStatusResponse; |
| | | import com.doumee.core.haikang.model.param.respose.RegionEnergyListResponse; |
| | | import com.doumee.core.haikang.model.param.request.RegionDataRankingTypeRequest; |
| | | import com.doumee.core.haikang.model.param.respose.*; |
| | | import com.doumee.dao.business.model.PlatformWarnEvent; |
| | | import com.doumee.dao.web.reqeust.CarsJobAndContractDTO; |
| | | import com.doumee.dao.web.response.platformReport.*; |
| | |
| | | List<GeneralVO> todayTotalInList(); |
| | | |
| | | List<CarsAlarmResultListResponse> carsEventList(); |
| | | |
| | | List<RegionDataRankingDataResponse> getRegionDataRanking(Integer type); |
| | | } |