jiangping
2025-02-18 754f0eea0b16985a4dc8e8448e1bde7a8aec6f26
Merge remote-tracking branch 'origin/master'
已修改10个文件
173 ■■■■ 文件已修改
admin/src/views/platform/components/PlatformSign.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/taskConfirm.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/taskDetail.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/waybill/waybillDetail.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pda/pages/index/center.vue 81 ●●●● 补丁 | 查看 | 原始文档 | 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,9 +96,11 @@
    handleCall(item) {
      // const activePlatform = this.activePlat
      platformJobSign({ jobId: item.id, signType: '2' }).then(res => {
        if (res.code == 200) {
        Message.success('签到成功')
        this.$emit('success')
        this.getList()
        }
      })
    },
    getList(page) {
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 =>{
                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 => {
                    if (res && res.code == 200) {
                    this.showToast('签到成功')
                    this.getDetail()
                    }
                })
            },
            getDetail() {
@@ -293,6 +295,7 @@
                        this.getDetail()
                    },
                    fail: (err) => {
                        this.getDetail()
                        this.showToast('获取定位失败', err)
                    }
                })
h5/pages/waybill/waybillDetail.vue
@@ -195,7 +195,8 @@
                    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';
                            // const apiKey = 'd9a554b1808ce10a12a932ed9b0db1d0';
                            const apiKey = '3916a7b434e7f13ae1a0af64e88ec0a3';
                            let adsInfo = this.gisInfo.gisList[this.gisInfo.gisList.length - 1]
                            const location = adsInfo.lon1 + ',' + adsInfo.lat1;
                            uni.request({
pda/pages/index/center.vue
@@ -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>
@@ -248,7 +247,8 @@
                transformId: '', // 转移记录任务id
                TransferList: [],
                wmsInfo: {},
                timer: null
                timer: null,
                timer1: null,
            }
        },
        onLoad() {
@@ -256,6 +256,22 @@
            // 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() {
@@ -265,7 +281,9 @@
                }).then(res => {
                    const platformGroupList = res.data || []
                    if (platformGroupList.length > 0) {
                        const { activePlatformGroup } = this
                        const {
                            activePlatformGroup
                        } = this
                        const temp = platformGroupList.find(i => i.id === activePlatformGroup.id)
                        this.TransferList = temp.platformList || []
                    }
@@ -290,24 +308,34 @@
                })
            },
            getPlatformTask() {
                if(this.timer1){
                    clearInterval(this.timer1)
                }
                getPlatformWorkData({
                    platformId: this.activePlatform.id
                }).then(res => {
                    this.platformTaskInfo = res.data
                    this.currentDate = new Date(res.data.currentDate).getTime()
                    this.circulInitTaskList()
                    setInterval(() => {
                    this.currentDate = this.currentDate + 1000
                    this.timer1 = setInterval(() => {
                        this.circulInitTaskList()
                        this.currentDate = this.currentDate + 1000
                    }, 1000)
                }, () => {
                })
                }, () => {})
            },
            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()
                            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 {
@@ -315,7 +343,12 @@
                            }
                        }
                        if (item.newStartDate) {
                            let timeNum = time.getTime() - new Date(item.newStartDate).getTime()
                            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 {
@@ -360,16 +393,20 @@
                finishWork({
                    jobId: item.id
                }).then(res => {
                        if (res && res.code == 200) {
                    this.showToast('完成作业')
                    this.getPlatformTask()
                        }
                })
            },
            handleWork(item) { // 开始作业
                beginWork({
                    jobId: item.id
                }).then(res => {
                    if (res && res.code == 200) {
                    this.showToast('已开始作业')
                    this.getPlatformTask()
                    }
                })
            },
            handlePass(item) {
@@ -401,17 +438,23 @@
                        jobId: item.id,
                        platformId: activePlatform.id
                    }).then(res => {
                        if (res && res.code == 200) {
                        this.showToast('叫号成功')
                        this.getPlatformCallList()
                        }
                    })
                } else { // 月台叫号
                    platformCallNumber({
                        platformId: activePlatform.id,
                        jobId: item.id
                    }).then(res => {
                        if (res && res.code == 200) {
                        this.showToast('叫号成功')
                        this.getPlatformCallList()
                        this.getPlatformTask()
                        }
                    })
                }
            },
@@ -508,6 +551,10 @@
    }
</script>
<style lang="scss">
    page {
        background-color: #f1f2f2;
    }
    .main_app {
        padding: 0rpx;
        height: calc(100vh - 44px);
@@ -539,6 +586,7 @@
                    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;
@@ -737,6 +786,7 @@
        .order_list {
            height: calc(100% - 160rpx);
            margin-top: 20rpx;
            .scroll_view {
                height: 100%;
            }
@@ -744,6 +794,7 @@
            .platform_ing {
                border-radius: 8rpx;
                border: 1rpx solid #dfe2e8;
                &: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 );
            overflow-y: auto;
        }
        .contract_list {
            border-top: 1rpx solid #E5E5E5;
            margin-bottom: 30rpx;
            padding-top: 30rpx;
            &:nth-last-child(1){
                margin-bottom: 0;
            }
            .list {
                background: #f7f7f7;
                border-radius: 8rpx;
                padding: 20rpx;
                .item{
                    border-bottom: 1rpx solid #e5e5e5;
                    padding-bottom: 20rpx;
                    margin-bottom: 20rpx;
                    &:nth-last-child(1){
                        border: none;
                        padding-bottom: 0;
                        margin-bottom: 0;
                    }
                }
                .line {
                    display: flex;
                    margin-bottom: 20rpx;
                    &: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) {