jiangping
2025-02-18 754f0eea0b16985a4dc8e8448e1bde7a8aec6f26
Merge remote-tracking branch 'origin/master'
已修改10个文件
557 ■■■■■ 文件已修改
admin/src/views/platform/components/PlatformSign.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/taskConfirm.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/taskDetail.vue 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/waybill/waybillDetail.vue 241 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pda/pages/index/center.vue 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen/src/views/EnergyConsum.vue 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen/src/views/FireFighting.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen/src/views/LogisticsCenter.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/platform/components/PlatformSign.vue
@@ -96,21 +96,23 @@
    handleCall(item) {
      // const activePlatform = this.activePlat
      platformJobSign({ jobId: item.id, signType: '2' }).then(res => {
        Message.success('签到成功')
        this.$emit('success')
        this.getList()
        if (res.code == 200) {
          Message.success('签到成功')
          this.$emit('success')
          this.getList()
        }
      })
    },
    getList(page) {
      const { activePlat, pagination, carCodeFront } = this
      if(page){
      if (page) {
        pagination.page = page
      }
      }
      platformJobPage({
        model: { platformGroupId: activePlat.id, queryStatus: '0,1', carCodeFront },
        page: pagination.page,
        capacity: pagination.pageSize
      }).then(res => {
      }).then(res => {
        this.dataList = res.records
        this.pagination.total = res.total
      })
h5/pages.json
@@ -317,7 +317,7 @@
        {
            "path": "pages/driver/reserved",
            "style": {
                "navigationBarTitleText": "入园预约",
                "navigationBarTitleText": "入园卸货预约",
                "enablePullDownRefresh": false
            }
        },
h5/pages/driver/index.vue
@@ -64,7 +64,7 @@
            <view class="left">
                <view class="img_wrap img1" @click="jump('/pages/driver/notice')">
                    <image src="@/static/driver/wuliu_ic_ruyuanyuyue@2x.png" class="img"></image>
                    <view class="h1">入园预约</view>
                    <view class="h1">入园卸货预约</view>
                    <view class="h2">RESERVATION</view>
                </view>
                <view class="img_wrap img2" @click="jump('/pages/driver/reservedGuide?str=bookingTips')">
h5/pages/driver/taskConfirm.vue
@@ -156,8 +156,10 @@
                carCodeBack: param.carCodeBack,
                arriveDate: param.date + ':59'
            }).then(res =>{
                this.showToast('确认成功')
                this.$goBack()
                if(res && res.code == 200){
                    this.showToast('确认成功')
                    this.$goBack()
                }
            })
        },
        getDetail(jobId) {
h5/pages/driver/taskDetail.vue
@@ -98,11 +98,11 @@
            </view> -->
            <view v-if="param.status == 1" class="signIn_wrap" @click="handleSignIn">
                <image :src="
            param.getDistance < signDistance
            (param.getDistance || param.getDistance == 0) && param.getDistance < signDistance
              ? require('@/static/driver/btn_qiandao@2x.png')
              : require('@/static/driver/btn_qiandao_fail@2x.png')
          " class="img" mode="widthFix"></image>
                <view class="handle">{{ param.getDistance > signDistance ? '无法签到' : '签到' }}</view>
                <view class="handle">{{ !param.getDistance || param.getDistance > signDistance ? '无法签到' : '签到' }}</view>
                <view class="time">{{nowTime}}</view>
            </view>
        </view>
@@ -182,10 +182,10 @@
                    status: '0'
                },
                jobId: '',
                // lat: '',
                // lnt: '',
                lat: '31.783205',
                lnt: '117.262635',
                lat: '',
                lnt: '',
                // lat: '31.783205',
                // lnt: '117.262635',
                nowTime: '',
                wmsInfo: {},
                signDistance: uni.getStorageSync('driverGuide').signDistance,
@@ -226,15 +226,17 @@
                    lnt,
                    jobId
                } = this
                if (param.getDistance > signDistance) return
                if (!param.getDistance || param.getDistance > signDistance) return
                driverSignInTask({
                    jobId,
                    lat,
                    lnt,
                    signType: 0
                }).then(res => {
                    this.showToast('签到成功')
                    this.getDetail()
                }).then(res => {
                    if (res && res.code == 200) {
                        this.showToast('签到成功')
                        this.getDetail()
                    }
                })
            },
            getDetail() {
@@ -292,7 +294,8 @@
                        console.log('---', res);
                        this.getDetail()
                    },
                    fail: (err) => {
                    fail: (err) => {
                        this.getDetail()
                        this.showToast('获取定位失败', err)
                    }
                })
h5/pages/waybill/waybillDetail.vue
@@ -5,10 +5,10 @@
        </map>
        <view class="main_content">
            <view class="info">
                <view class="stock_status" v-if="info.overStock && info.overStock == 1">
                    <image src="@/static/ic_tip@2x.png" mode=""></image>
                    <view class="">因库存不足,订单暂时无法配载</view>
            <view class="info">
                <view class="stock_status" v-if="info.overStock && info.overStock == 1">
                    <image src="@/static/ic_tip@2x.png" mode=""></image>
                    <view class="">因库存不足,订单暂时无法配载</view>
                </view>
                <view class="head">
                    <view class="code">{{info.contractNumber}}</view>
@@ -39,22 +39,22 @@
                    <view class="line">
                        <view class="la">预计到达</view>
                        <view class="val primaryColor" v-if="info.plannedArrivedDate">{{info.plannedArrivedDate.slice(0,11)}}</view>
                    </view>
                    <view v-if="showRecord" class="table">
                        <view class="ite header">
                            <view class="name">品规名称</view>
                            <view class="num">数量<text>(万支)</text></view>
                        </view>
                        <view class="ite" v-for="ite in info.orderDetailVOList">
                            <view class="name">{{ite.productName}}</view>
                            <view class="num">{{ite.pnumber}}</view>
                        </view>
                    </view>
                    <view class="line switch" @click="showRecord = !showRecord">
                        <view class="">{{  showRecord ? '收起品规明细' : '查看品规明细'}}</view>
                        <u-icon v-if="!showRecord" name="arrow-down" size="12" class="ml6" color='#666666'></u-icon>
                        <u-icon v-if="showRecord" name="arrow-up" size="12" class="ml6" color='#666666'></u-icon>
                    </view>
                    </view>
                    <view v-if="showRecord" class="table">
                        <view class="ite header">
                            <view class="name">品规名称</view>
                            <view class="num">数量<text>(万支)</text></view>
                        </view>
                        <view class="ite" v-for="ite in info.orderDetailVOList">
                            <view class="name">{{ite.productName}}</view>
                            <view class="num">{{ite.pnumber}}</view>
                        </view>
                    </view>
                    <view class="line switch" @click="showRecord = !showRecord">
                        <view class="">{{  showRecord ? '收起品规明细' : '查看品规明细'}}</view>
                        <u-icon v-if="!showRecord" name="arrow-down" size="12" class="ml6" color='#666666'></u-icon>
                        <u-icon v-if="showRecord" name="arrow-up" size="12" class="ml6" color='#666666'></u-icon>
                    </view>
                    
                </view>
            </view>
@@ -72,7 +72,7 @@
                            <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 && k != 0" src="@/static/waybill/ic_dingdan@2x.png" class="icon"></image>
                            <image v-if="dri.key == 4 && k != 0" src="@/static/waybill/ic_dingdan@2x.png" class="icon"></image>
                            <image v-if="dri.key == 4 && k == 0" 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>
@@ -86,9 +86,9 @@
                            <view v-else class="icon_wrap"></view>
                            <view class="text" :class="{placeholder3: k==0 && i== 0}">
                                {{item.orderStatusDes}}
                                <text v-if="item.tel">,发货仓库电话:</text>
                                <template v-if="item.tel">
                                    <text v-for="phone,p in item.tel.split(',')" @click="callPhone(phone)" class="primaryColor">{{phone}}<text v-if="p < item.tel.split(',').length - 1">,</text></text>
                                <text v-if="item.tel">,发货仓库电话:</text>
                                <template v-if="item.tel">
                                    <text v-for="phone,p in item.tel.split(',')" @click="callPhone(phone)" class="primaryColor">{{phone}}<text v-if="p < item.tel.split(',').length - 1">,</text></text>
                                </template>
                                
                            </view>
@@ -113,7 +113,7 @@
                param: {},
                latitude: 31.783205,
                longitude: 117.262635,
                longitude: 117.262635,
                scale: 5,
                markers: [],
                includePoints: [
@@ -132,7 +132,7 @@
                    //     color: '#FF0000',
                    //     width: 3
                    // }, 
                ],
                ],
                showRecord: false
            };
        },
@@ -181,29 +181,30 @@
                            }
                        })
                        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
                        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) {
                            const apiKey = 'd9a554b1808ce10a12a932ed9b0db1d0';
                            let adsInfo = this.gisInfo.gisList[this.gisInfo.gisList.length - 1]
                            const location = adsInfo.lon1 + ',' + adsInfo.lat1;
                            uni.request({
                                url: `https://restapi.amap.com/v3/geocode/regeo?key=${apiKey}&location=${location}`,
                                method: 'GET',
                                success: (res) => {
                                    this.$set(this.info, 'address', res.data.regeocode.formatted_address)
                                },
                        if (this.gisInfo && this.gisInfo.gisList && this.gisInfo.gisList.length > 0) {
                            // const apiKey = 'd9a554b1808ce10a12a932ed9b0db1d0';
                            const apiKey = '3916a7b434e7f13ae1a0af64e88ec0a3';
                            let adsInfo = this.gisInfo.gisList[this.gisInfo.gisList.length - 1]
                            const location = adsInfo.lon1 + ',' + adsInfo.lat1;
                            uni.request({
                                url: `https://restapi.amap.com/v3/geocode/regeo?key=${apiKey}&location=${location}`,
                                method: 'GET',
                                success: (res) => {
                                    this.$set(this.info, 'address', res.data.regeocode.formatted_address)
                                },
                            })
                            this.polyline = []
                            let temp = {
@@ -218,7 +219,7 @@
                            }
                            this.polyline.push(temp)
                        }
                    }
                    }
                    
                })
            },
@@ -287,21 +288,21 @@
            background: #fff;
            border-radius: 16rpx;
            padding: 30rpx;
            margin-bottom: 20rpx;
            position: relative;
            margin-bottom: 20rpx;
            position: relative;
            z-index: 999;
            .drive_list{
                position: relative;
                z-index: 999;
                .separate {
                    height: calc(100% - 48rpx);
                    width: 1rpx;
                    border: 1rpx dashed #CCCCCC;
                    position: absolute;
                    left: 24rpx;
                    top: 48rpx;
                    z-index: -1;
                }
            .drive_list{
                position: relative;
                z-index: 999;
                .separate {
                    height: calc(100% - 48rpx);
                    width: 1rpx;
                    border: 1rpx dashed #CCCCCC;
                    position: absolute;
                    left: 24rpx;
                    top: 48rpx;
                    z-index: -1;
                }
            }
            
@@ -350,12 +351,12 @@
                position: relative;
                color: #999999;
                margin-bottom: 30rpx;
                &:nth-last-child(1){
                    margin-bottom: 0;
                    padding-bottom: 30rpx;
                &:nth-last-child(1){
                    margin-bottom: 0;
                    padding-bottom: 30rpx;
                }
                .text {
                    color: #666666;
                    color: #666666;
                    flex: 1;
                }
@@ -363,7 +364,7 @@
                    width: 20rpx;
                    height: 20rpx;
                    position: relative;
                    z-index: 2;
                    z-index: 2;
                    margin-top: 12rpx;
                }
@@ -389,36 +390,36 @@
            background-color: #fff;
            overflow: hidden;
            position: relative;
            z-index: 1;
            .stock_status{
                background: #FFEEEE;
                font-size: 26rpx;
                color: #ED4545;
                display: flex;
                align-items: center;
                border-radius: 8rpx 8rpx 0rpx 0rpx;
                height: 80rpx;
                margin: 0rpx -30rpx 0;
                position: relative;
                z-index: 1;
                padding: 0 30rpx;
                image{
                    width: 28rpx;
                    height: 28rpx;
                    margin-right: 10rpx;
                }
            z-index: 1;
            .stock_status{
                background: #FFEEEE;
                font-size: 26rpx;
                color: #ED4545;
                display: flex;
                align-items: center;
                border-radius: 8rpx 8rpx 0rpx 0rpx;
                height: 80rpx;
                margin: 0rpx -30rpx 0;
                position: relative;
                z-index: 1;
                padding: 0 30rpx;
                image{
                    width: 28rpx;
                    height: 28rpx;
                    margin-right: 10rpx;
                }
            }
            .head {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 0 30rpx;
                width: 690rpx;
                width: 690rpx;
                border-radius: 8rpx 8rpx 0rpx 0rpx;
                height: 84rpx;
                margin: 0 -30rpx;
                background: linear-gradient(270deg, #FEFEFF 0%, #E1F7FE 100%);
                position: relative;
                position: relative;
                z-index: 11;
                .code {
                    font-weight: 500;
@@ -445,47 +446,47 @@
                        width: 140rpx;
                    }
                    .val {
                        flex: 1;
                    .val {
                        flex: 1;
                    }
                    &:nth-last-child(1) {
                        margin-bottom: 0;
                    }
                }
                .table{
                    margin: 0 auto 20rpx;
                    .ite{
                        width: 100%;
                        height: 68rpx;
                        background: #FFFFFF;
                        border-bottom: 1rpx solid #E5E5E5;
                        display: flex;
                        align-items: center;
                        font-size: 28rpx;
                        padding-left: 30rpx;
                        .name{
                            flex: 8;
                            // padding-left: 20rpx;
                        }
                        .num{
                            flex: 3;
                        }
                    }
                    .header{
                        background: #F4F7FC;
                        font-weight: 500;
                        text{
                            font-size: 22rpx;
                        }
                    }
                }
                .switch{
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    color: #666666;
                }
                .table{
                    margin: 0 auto 20rpx;
                    .ite{
                        width: 100%;
                        height: 68rpx;
                        background: #FFFFFF;
                        border-bottom: 1rpx solid #E5E5E5;
                        display: flex;
                        align-items: center;
                        font-size: 28rpx;
                        padding-left: 30rpx;
                        .name{
                            flex: 8;
                            // padding-left: 20rpx;
                        }
                        .num{
                            flex: 3;
                        }
                    }
                    .header{
                        background: #F4F7FC;
                        font-weight: 500;
                        text{
                            font-size: 22rpx;
                        }
                    }
                }
                .switch{
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    color: #666666;
                }
            }
        }
pda/pages/index/center.vue
@@ -39,7 +39,7 @@
                </view>
                <view class="line" v-else>
                    <text class="label">合同单号</text>
                    <text class="value">{{ item.contractNum }}</text>
                    <text class="value">{{ item.contractNum }}</text>
                    <text class="primaryColor" @click="subDetail(item)">预约详情</text>
                </view>
                <view class="line">
@@ -104,7 +104,7 @@
                            </view>
                            <view class="line" v-else>
                                <text class="label">合同单号</text>
                                <text class="value">{{ item.contractNum }}</text>
                                <text class="value">{{ item.contractNum }}</text>
                                <text class="primaryColor" @click="subDetail(item)">预约详情</text>
                            </view>
                            <view class="line">
@@ -182,8 +182,7 @@
            <view class="TransformModal">
                <view class="title">转移月台</view>
                <view class="transform_list">
                    <view class="line" @click="transformPlatClick(item)" v-for="item in TransferList"
                        :key="item.id">
                    <view class="line" @click="transformPlatClick(item)" v-for="item in TransferList" :key="item.id">
                        <view class="name">{{ item.name  || item.platformName}}</view>
                        <view class="status" :class="{ green: item.workStatus == 1 }">({{ item.workStatus == 0 ? "空闲" : "作业中" }})
                        </view>
@@ -245,10 +244,11 @@
                callType: 1,
                transformPlatId: '', // 转移记录月台id
                transformId: '', // 转移记录任务id
                transformId: '', // 转移记录任务id
                TransferList: [],
                wmsInfo: {},
                timer: null
                wmsInfo: {},
                timer: null,
                timer1: null,
            }
        },
        onLoad() {
@@ -256,20 +256,38 @@
            // setInterval(() => {
            //     this.getPlatformGroup()
            // }, 1000 * 30)
        },
        onHide(){
            if(this.timer1){
                clearInterval(this.timer1)
            }
            if(this.timer){
                clearInterval(this.timer)
            }
        },
        onUnload(){
            if(this.timer1){
                clearInterval(this.timer1)
            }
            if(this.timer){
                clearInterval(this.timer)
            }
        },
        methods: {
            getTransferList() {
                getPlatformGroupList({
                    queryData: 1,
                    queryType: 1
                }).then(res => {
                    const platformGroupList = res.data || []
                    if (platformGroupList.length > 0) {
                        const { activePlatformGroup } = this
                        const temp = platformGroupList.find(i => i.id === activePlatformGroup.id)
                        this.TransferList = temp.platformList || []
                    }
                })
        methods: {
            getTransferList() {
                getPlatformGroupList({
                    queryData: 1,
                    queryType: 1
                }).then(res => {
                    const platformGroupList = res.data || []
                    if (platformGroupList.length > 0) {
                        const {
                            activePlatformGroup
                        } = this
                        const temp = platformGroupList.find(i => i.id === activePlatformGroup.id)
                        this.TransferList = temp.platformList || []
                    }
                })
            },
            getPlatformGroup() {
                getPlatformGroupList({
@@ -280,42 +298,57 @@
                    if (this.platformGroupList.length > 0) {
                        this.activePlatformGroup = this.platformGroupList[0]
                        if (this.activePlatformGroup.platformList && this.activePlatformGroup.platformList.length > 0) {
                            this.activePlatform = this.activePlatformGroup.platformList[0]
                            this.getPlatformTask()
                            this.timer = setInterval(() => {
                                this.getPlatformTask()
                            this.activePlatform = this.activePlatformGroup.platformList[0]
                            this.getPlatformTask()
                            this.timer = setInterval(() => {
                                this.getPlatformTask()
                            }, 120 * 1000)
                        }
                    }
                })
            },
            getPlatformTask() {
            getPlatformTask() {
                if(this.timer1){
                    clearInterval(this.timer1)
                }
                getPlatformWorkData({
                    platformId: this.activePlatform.id
                }).then(res => {
                    this.platformTaskInfo = res.data
                    this.circulInitTaskList()
                    setInterval(() => {
                        this.circulInitTaskList()
                    this.platformTaskInfo = res.data
                    this.currentDate = new Date(res.data.currentDate).getTime()
                    this.circulInitTaskList()
                    this.currentDate = this.currentDate + 1000
                    this.timer1 = setInterval(() => {
                        this.circulInitTaskList()
                        this.currentDate = this.currentDate + 1000
                    }, 1000)
                }, () => {
                })
                }, () => {})
            },
            circulInitTaskList() {
            circulInitTaskList() {
                let time = this.currentDate
                if (this.platformTaskInfo && this.platformTaskInfo.platformJobList && this.platformTaskInfo.platformJobList
                    .length > 0) {
                    let time = new Date()
                    this.platformTaskInfo.platformJobList.forEach(item => {
                        if (item.newCallDate) {
                            let timeNum = time.getTime() - new Date(item.newCallDate).getTime()
                        if (item.newCallDate) {
                            let timeNum = 0
                            if(time > new Date(item.newCallDate).getTime()){
                                timeNum = time - new Date(item.newCallDate).getTime()
                            }else{
                                timeNum = 0
                            }
                            if (timeNum > 3600000) {
                                item.callDateTemp = dayjs.duration(timeNum).format('H小时m分s秒')
                            } else {
                                item.callDateTemp = dayjs.duration(timeNum).format('m分s秒')
                            }
                        }
                        if (item.newStartDate) {
                            let timeNum = time.getTime() - new Date(item.newStartDate).getTime()
                        if (item.newStartDate) {
                            let timeNum = 0
                            if(time > new Date(item.newStartDate).getTime()){
                                timeNum = time - new Date(item.newStartDate).getTime()
                            }else{
                                timeNum = 0
                            }
                            if (timeNum > 3600000) {
                                item.startDateTemp = dayjs.duration(timeNum).format('H小时m分s秒')
                            } else {
@@ -330,11 +363,11 @@
                const index = e.indexs[0]
                this.activePlatformGroup = this.platformGroupList[index]
                if (this.activePlatformGroup.platformList && this.activePlatformGroup.platformList.length > 0) {
                    this.activePlatform = this.activePlatformGroup.platformList[0]
                    this.getPlatformTask()
                    clearInterval(this.timer)
                    this.timer = setInterval(() => {
                        this.getPlatformTask()
                    this.activePlatform = this.activePlatformGroup.platformList[0]
                    this.getPlatformTask()
                    clearInterval(this.timer)
                    this.timer = setInterval(() => {
                        this.getPlatformTask()
                    }, 60 * 1000)
                }
                this.showPlatformgroup = false
@@ -350,26 +383,30 @@
                    this.wmsInfo = res.data
                    this.showDetail = true
                })
            },
            subDetail(item) {
                uni.navigateTo({
                  url: `/pages/index/SubDetail?id=${item.bookId}`
                })
            },
            subDetail(item) {
                uni.navigateTo({
                    url: `/pages/index/SubDetail?id=${item.bookId}`
                })
            },
            handleFinish(item) {
                finishWork({
                    jobId: item.id
                }).then(res => {
                    this.showToast('完成作业')
                    this.getPlatformTask()
                        if (res && res.code == 200) {
                            this.showToast('完成作业')
                            this.getPlatformTask()
                        }
                })
            },
            handleWork(item) { // 开始作业
                beginWork({
                    jobId: item.id
                }).then(res => {
                    this.showToast('已开始作业')
                    this.getPlatformTask()
                    if (res && res.code == 200) {
                        this.showToast('已开始作业')
                        this.getPlatformTask()
                    }
                })
            },
            handlePass(item) {
@@ -400,18 +437,24 @@
                    platformInPark({
                        jobId: item.id,
                        platformId: activePlatform.id
                    }).then(res => {
                        this.showToast('叫号成功')
                        this.getPlatformCallList()
                    }).then(res => {
                        if (res && res.code == 200) {
                            this.showToast('叫号成功')
                            this.getPlatformCallList()
                        }
                    })
                } else { // 月台叫号
                    platformCallNumber({
                        platformId: activePlatform.id,
                        jobId: item.id
                    }).then(res => {
                        this.showToast('叫号成功')
                        this.getPlatformCallList()
                        this.getPlatformTask()
                    }).then(res => {
                        if (res && res.code == 200) {
                            this.showToast('叫号成功')
                            this.getPlatformCallList()
                            this.getPlatformTask()
                        }
                    })
                }
            },
@@ -485,7 +528,7 @@
                    activePlatform
                } = this
                this.transformId = item.id
                this.transformPlatId = activePlatform.id
                this.transformPlatId = activePlatform.id
                this.getTransferList()
                this.showTransform = true
            },
@@ -508,6 +551,10 @@
    }
</script>
<style lang="scss">
    page {
        background-color: #f1f2f2;
    }
    .main_app {
        padding: 0rpx;
        height: calc(100vh - 44px);
@@ -526,8 +573,8 @@
                .item {
                    width: 220rpx;
                    height: 80rpx;
                    line-height: 80rpx;
                    height: 80rpx;
                    line-height: 80rpx;
                    text-align: center;
                    background: #ffffff;
                    border-radius: 8rpx;
@@ -536,9 +583,10 @@
                    color: #222222;
                    margin-bottom: 15rpx;
                    margin-right: 15rpx;
                    white-space: nowrap;
                    overflow: hidden;
                    white-space: nowrap;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    &:nth-of-type(3n) {
                        margin-right: 0;
                    }
@@ -615,6 +663,7 @@
                        justify-content: center;
                        align-items: center;
                        height: 100%;
                        &:nth-of-type(1) {
                            background: #e9f5f6;
                            padding: 0 12rpx;
@@ -718,7 +767,7 @@
    .PlatformCallModal {
        height: calc(100vh - 44px);
        padding: 30rpx;
        .title {
            text-align: center;
            margin: 0 0 30rpx;
@@ -737,6 +786,7 @@
        .order_list {
            height: calc(100% - 160rpx);
            margin-top: 20rpx;
            .scroll_view {
                height: 100%;
            }
@@ -744,7 +794,8 @@
            .platform_ing {
                border-radius: 8rpx;
                border: 1rpx solid #dfe2e8;
                &:nth-of-type(1){
                &:nth-of-type(1) {
                    margin-top: 0;
                }
            }
@@ -903,6 +954,7 @@
        padding: 36rpx 30rpx;
        border-radius: 12rpx;
        box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5);
        .modal_title {
            font-weight: 600;
            font-size: 32rpx;
@@ -911,37 +963,46 @@
            text-align: center;
            margin-bottom: 36rpx;
        }
        .contract_wrap{
            height: calc( 100% - 400rpx );
        .contract_wrap {
            height: calc(100% - 400rpx);
            overflow-y: auto;
        }
        .contract_list {
            border-top: 1rpx solid #E5E5E5;
            margin-bottom: 30rpx;
            padding-top: 30rpx;
            &:nth-last-child(1){
            &:nth-last-child(1) {
                margin-bottom: 0;
            }
            .list {
                background: #f7f7f7;
                border-radius: 8rpx;
                padding: 20rpx;
                .item{
                .item {
                    border-bottom: 1rpx solid #e5e5e5;
                    padding-bottom: 20rpx;
                    margin-bottom: 20rpx;
                    &:nth-last-child(1){
                    &:nth-last-child(1) {
                        border: none;
                        padding-bottom: 0;
                        margin-bottom: 0;
                    }
                }
                .line {
                    display: flex;
                    margin-bottom: 20rpx;
                    &:nth-last-child(1){
                    &:nth-last-child(1) {
                        margin-bottom: 0rpx;
                    }
                    .label {
                        color: #666666;
                        width: 92rpx;
screen/src/views/EnergyConsum.vue
@@ -346,11 +346,25 @@
      },
      data: data5.value.map(i => dayjs(i.timeData).format('M'))
    },
    // tooltip: {
    //   trigger: 'axis',
    //   axisPointer: {
    //     type: 'line'
    //   },
    // },
    tooltip: {
      trigger: 'axis',
      axisPointer: {
        type: 'line'
      },
      formatter: function (params) {
        // 遍历悬浮时的所有点,定制化显示内容
        let result = `<div>
          <div style="width: 120px">${params[0].name}月</div>
          <div style="display: flex;align-items: center;;margin-top: 2px;">
            <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #f6d047;margin-right: 6px;"></div></div>
            <div><strong>${params[0].value} L</strong></div>
          </div>
        </div>`
        return result
      }
    },
    yAxis: {
      type: 'value',
@@ -634,9 +648,17 @@
    },
    tooltip: {
      trigger: 'axis',
      axisPointer: {
        type: 'line'
      },
      formatter: function (params) {
        // 遍历悬浮时的所有点,定制化显示内容
        let result = `<div>
          <div style="width: 120px">${params[0].name}月</div>
          <div style="display: flex;align-items: center;;margin-top: 2px;">
            <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #61a1c4;margin-right: 6px;"></div></div>
            <div><strong>${params[0].value} </strong></div>
          </div>
        </div>`
        return result
      }
    },
    xAxis: {
      type: 'category',
screen/src/views/FireFighting.vue
@@ -25,7 +25,7 @@
            <div class="list_wrap">
              <div class="list">
                <div class="header line">
                  <span class="item name">设备类型</span>
                  <span class="item name">设备名称</span>
                  <span class="item">总数</span>
                  <span class="item">报警</span>
                  <span class="item">屏蔽</span>
@@ -41,7 +41,7 @@
                        <span class="item" style="color: #FEAF01;">{{ item.alarmDeviceNum || 0 }}</span>
                        <span class="item">{{ item.shieldDeviceNum || 0 }}</span>
                        <span class="item">{{ item.errDeviceNum || 0 }}</span>
                        <span class="item">{{ item.offlineDeviceNum || 0 }}</span>
                        <span class="item">{{ item.onlineDeviceNum || 0 }}</span>
                      </div>
                      <div class="separate"></div>
                    </div>
@@ -90,14 +90,14 @@
                <img src="@/assets/images/FireFighting/xiaofang_ic_zaixian@2x.png" alt="">
                <div class="content">
                  <div class="name">总数</div>
                  <div class="num">{{ dataList4.onlineDeviceNum }}</div>
                  <div class="num">{{ dataList4.onlineDeviceNum || 0 }}</div>
                </div>
              </div>
              <div class="item">
                <img src="@/assets/images/FireFighting/xiaofang_ic_baojing@2x.png" alt="">
                <div class="content">
                  <div class="name">报警</div>
                  <div class="num num2">{{ dataList4.alarmDeviceNum }}</div>
                  <div class="num num2">{{ dataList4.alarmDeviceNum || 0}}</div>
                </div>
              </div>
              <div class="item">
@@ -111,14 +111,14 @@
                <img src="@/assets/images/FireFighting/xiaofang_ic_guzhang@2x.png" alt="">
                <div class="content">
                  <div class="name">故障</div>
                  <div class="num num3">{{ dataList4.errDeviceNum }}</div>
                  <div class="num num3">{{ dataList4.errDeviceNum || 0 }}</div>
                </div>
              </div>
              <div class="item">
                <img src="@/assets/images/FireFighting/xiaofang_ic_zhengchang@2x.png" alt="">
                <div class="content">
                  <div class="name">正常</div>
                  <div class="num num4">{{ dataList4.offlineDeviceNum }}</div>
                  <div class="num num4">{{ dataList4.onlineDeviceNum || 0 }}</div>
                </div>
              </div>
            </div>
@@ -1055,16 +1055,20 @@
    getData7()
  }, 60 * 1000)
  setInterval(() => {
    getData5()
    getData8()
  }, 60 * 60 * 1000)
  setInterval(() => {
    changeData8(1)
    changeData9(1)
  }, 1000 * 5)
  setTimeout(() => {
    loopFn1()
    loopFn2()
  }, 12000)
})
@@ -1107,17 +1111,20 @@
            font-size: 14px;
            .item {
              flex: 1;
              flex: 2;
              display: flex;
              justify-content: center;
              /* margin: 0 6px; */
              align-items: center;
              white-space: nowrap;
              overflow: hidden;
              text-overflow: ellipsis;
            }
            .name {
              flex: 2;
              flex: 5;
              justify-content: flex-start;
            }
            .warnning {
screen/src/views/LogisticsCenter.vue
@@ -1010,7 +1010,8 @@
  showModal.value = true
  kzorderInfo({ contractNumber: item.contractNumber }).then(res => {
    modalInfo.value = res.data
    const apiKey = 'd9a554b1808ce10a12a932ed9b0db1d0'
    // const apiKey = 'd9a554b1808ce10a12a932ed9b0db1d0'
    const apiKey = '3916a7b434e7f13ae1a0af64e88ec0a3'
    if (modalInfo.value.gisList && modalInfo.value.gisList.length > 0) {
      const gisInfo = modalInfo.value.gisList[0]
      if (gisInfo && gisInfo.gisList && gisInfo.gisList.length > 0) {