ll
liukangdong
2025-01-07 9b80c42df73cb99b37d95b5c0a186ceec5e45a27
ll
已添加1个文件
已修改8个文件
638 ■■■■■ 文件已修改
h5/pages/driver/reserved.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/reservedGuide.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/reservedRecord.vue 404 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staff/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staffLogin/login.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/waybill/home.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/utils/service.js 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen/src/assets/images/ic_question@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
screen/src/views/LogisticsCenter.vue 193 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/reserved.vue
@@ -98,8 +98,10 @@
                </view>
            </view>
            <view class="copy" @click="copy">复制车前牌照号</view>
            <view class="handle_sub" @click="onSubmit">
                提交
            <view class="footer">
                <view class="handle_sub" @click="onSubmit">
                    提交
                </view>
            </view>
        </view>
        
@@ -379,11 +381,13 @@
}
.main_app {
    padding-top: 10rpx;
    .footer{
        background-color: #f7f7f7;
        padding: 20rpx 30rpx 30rpx;
        margin: 0 -30rpx;
    }
    .handle_sub{
        // position: fixed;
        // bottom: 64rpx;
        width: 690rpx;
        margin-top: 80rpx;
        background-color: #4d99a8;
        height: 88rpx;
        line-height: 88rpx;
@@ -401,6 +405,7 @@
        background-color: #f7f7f7;
        display: flex;
        margin: 0 -30rpx;
        width: 750rpx;
        justify-content: flex-end;
        padding: 12rpx 30rpx;
        font-size: 26rpx;
h5/pages/driver/reservedGuide.vue
@@ -1,5 +1,5 @@
<template>
    <view>
    <view class="box">
        <mp-html :content="content" />
    </view>
</template>
@@ -21,5 +21,7 @@
</script>
<style lang="scss">
.box{
    padding: 0 30rpx;
}
</style>
h5/pages/driver/reservedRecord.vue
@@ -1,188 +1,216 @@
<template>
  <view class="main_app">
    <!--  -->
    <view class="box_list">
      <view
        class="box_list_item"
        v-for="(item, index) in datalist"
        :key="index"
        @click="handleDetail(item.id)"
      >
        <view class="box_list_item_head">
          <text>{{item.driverName}}的入园预约</text>
          <text class="loading" :class="{red: item.status == 3}">{{ statusMap[item.status] }}</text>
        </view>
        <view class="box_list_item_nr">
          <view class="box_list_item_nr_item">
            <text>合同编号:</text>
            <text>{{item.contractNum}}</text>
          </view>
          <view class="box_list_item_nr_item">
            <text>到场时间:</text>
            <text>{{item.arriveDate.slice(5,16)}}</text>
          </view>
          <view class="box_list_item_nr_item">
            <text>司机姓名:</text>
            <text>{{item.driverName}} {{item.driverPhone}}</text>
          </view>
          <view class="box_list_item_nr_item">
            <text>车辆信息:</text>
            <text>{{item.carCodeFront}}</text>
          </view>
          <view class="box_list_item_nr_item">
            <text class="placeholder9">{{item.createDate.slice(0,16)}}提交</text>
          </view>
        </view>
      </view>
    </view>
  </view>
</template>
<script>
    import { driverApplyRecord } from "@/api"
export default {
  data() {
    return {
      isShowCar: false,
      isShowDate: false,
      param: {},
            page: 1,
            capacity: 20,
            total: 0,
            datalist: [],
            statusMap: {
                0: '待审批',
                1: '审批中',
                2: '已通过',
                3: '已拒绝',
                4: '已取消',
            }
    }
  },
    onShow() {
        this.page = 1
        this.getList()
    },
    onReachBottom() {
        const { total,  datalist} = this
      if(datalist.length < total){
            this.page = this.page + 1
            this.getList()
        } else {
            this.showToast('暂无更多数据')
        }
    },
  methods: {
        getList() {
            const { page, capacity } = this
            driverApplyRecord({
                page, capacity,model: {}
            }).then(res => {
                this.datalist = [...this.datalist, ...res.data.records]
                this.total = res.data.total
            })
        },
    handleDetail(id) {
      uni.navigateTo({
        url: `/pages/driver/reservedDetail?id=${id}`
      })
    },
    confirmDate(e) {
      console.log(e.value)
      this.param.aa = dayjs(e.value).format('YYYY-MM-DD')
      this.isShowDate = false
    },
    seletedCar(e) {
      console.log(e.value)
      this.param.aa = dayjs(e.value).format('YYYY-MM-DD')
      this.isShowDate = false
    }
  }
};
</script>
<style lang="scss">
    page{
        background: #f7f7f7;
    }
.main_app {
  background: #f7f7f7;
  padding: 0;
}
.app_header {
  display: flex;
  align-items: center;
  margin: 0 -15rpx;
  background-color: #fff;
  .item {
    width: 360rpx;
    height: 72rpx;
    margin: 15rpx;
    padding: 0 30rpx;
    display: flex;
    align-items: center;
    justify-content: center;
    align-items: center;
  }
}
.box_list {
  width: 100%;
  padding: 30rpx;
  box-sizing: border-box;
  .box_list_item {
    width: 100%;
    margin-bottom: 20rpx;
    &:last-child {
      margin: 0 !important;
    }
    .box_list_item_head {
      width: 100%;
      height: 100rpx;
      padding: 0 30rpx;
      box-sizing: border-box;
      background: linear-gradient(270deg, #fefeff 0%, #e1f7fe 100%);
      border-radius: 8rpx 8rpx 0rpx 0rpx;
      display: flex;
      align-items: center;
      justify-content: space-between;
      .loading {
        color: #4c99a8;
      }
      .success {
        color: #03c68f;
      }
      .error {
        color: #e0312a;
      }
      text {
        &:nth-child(1) {
          font-size: 32rpx;
          font-weight: 600;
          color: #222222;
        }
        &:nth-child(2) {
          font-size: 26rpx;
          font-weight: 400;
        }
      }
    }
    .box_list_item_nr {
      padding: 30rpx 30rpx 10rpx;
      width: 100%;
      box-sizing: border-box;
      background-color: #ffffff;
      .box_list_item_nr_item {
        width: 100%;
        display: flex;
        align-items: center;
        margin-bottom: 16rpx;
        text {
          font-size: 26rpx;
          font-weight: 400;
          color: #666666;
        }
      }
    }
  }
}
</style>
<template>
    <view class="main_app">
        <!--  -->
        <view class="box_list">
            <view class="box_list_item" v-for="(item, index) in datalist" :key="index" @click="handleDetail(item.id)">
                <view class="box_list_item_head">
                    <text>{{item.driverName}}的入园预约</text>
                    <text class="loading" :class="{red: item.status == 3}">{{ statusMap[item.status] }}</text>
                </view>
                <view class="box_list_item_nr">
                    <view class="box_list_item_nr_item">
                        <text>合同编号:</text>
                        <text>{{item.contractNum}}</text>
                    </view>
                    <view class="box_list_item_nr_item">
                        <text>到场时间:</text>
                        <text>{{item.arriveDate.slice(5,16)}}</text>
                    </view>
                    <view class="box_list_item_nr_item">
                        <text>司机姓名:</text>
                        <text>{{item.driverName}} {{item.driverPhone}}</text>
                    </view>
                    <view class="box_list_item_nr_item">
                        <text>车辆信息:</text>
                        <text>{{item.carCodeFront}}</text>
                    </view>
                    <view class="box_list_item_nr_item">
                        <text class="placeholder9">{{item.createDate.slice(0,16)}}提交</text>
                    </view>
                </view>
            </view>
            <view v-if="datalist.length === 0" style="text-align: center">
              <image
                src="@/static/empty.png"
                style="width: 320rpx; margin: 120px auto 0"
                mode="widthFix"
              />
              <view class="placeholder9 fs24">暂无数据</view>
            </view>
        </view>
    </view>
</template>
<script>
    import {
        driverApplyRecord
    } from "@/api"
    export default {
        data() {
            return {
                isShowCar: false,
                isShowDate: false,
                param: {},
                page: 1,
                capacity: 20,
                total: 0,
                datalist: [],
                statusMap: {
                    0: '待审批',
                    1: '审批中',
                    2: '已通过',
                    3: '已拒绝',
                    4: '已取消',
                }
            }
        },
        onShow() {
            this.page = 1
            this.getList()
        },
        onReachBottom() {
            const {
                total,
                datalist
            } = this
            if (datalist.length < total) {
                this.page = this.page + 1
                this.getList()
            } else {
                this.showToast('暂无更多数据')
            }
        },
        methods: {
            getList() {
                const {
                    page,
                    capacity
                } = this
                driverApplyRecord({
                    page,
                    capacity,
                    model: {}
                }).then(res => {
                    this.datalist = [...this.datalist, ...res.data.records]
                    this.total = res.data.total
                })
            },
            handleDetail(id) {
                uni.navigateTo({
                    url: `/pages/driver/reservedDetail?id=${id}`
                })
            },
            confirmDate(e) {
                console.log(e.value)
                this.param.aa = dayjs(e.value).format('YYYY-MM-DD')
                this.isShowDate = false
            },
            seletedCar(e) {
                console.log(e.value)
                this.param.aa = dayjs(e.value).format('YYYY-MM-DD')
                this.isShowDate = false
            }
        }
    };
</script>
<style lang="scss">
    page {
        background: #f7f7f7;
    }
    .main_app {
        background: #f7f7f7;
        padding: 0;
    }
    .app_header {
        display: flex;
        align-items: center;
        margin: 0 -15rpx;
        background-color: #fff;
        .item {
            width: 360rpx;
            height: 72rpx;
            margin: 15rpx;
            padding: 0 30rpx;
            display: flex;
            align-items: center;
            justify-content: center;
            align-items: center;
        }
    }
    .box_list {
        width: 100%;
        padding: 30rpx;
        box-sizing: border-box;
        .box_list_item {
            width: 100%;
            margin-bottom: 20rpx;
            &:last-child {
                margin: 0 !important;
            }
            .box_list_item_head {
                width: 100%;
                height: 100rpx;
                padding: 0 30rpx;
                box-sizing: border-box;
                background: linear-gradient(270deg, #fefeff 0%, #e1f7fe 100%);
                border-radius: 8rpx 8rpx 0rpx 0rpx;
                display: flex;
                align-items: center;
                justify-content: space-between;
                .loading {
                    color: #4c99a8;
                }
                .success {
                    color: #03c68f;
                }
                .error {
                    color: #e0312a;
                }
                text {
                    &:nth-child(1) {
                        font-size: 32rpx;
                        font-weight: 600;
                        color: #222222;
                    }
                    &:nth-child(2) {
                        font-size: 26rpx;
                        font-weight: 400;
                    }
                }
            }
            .box_list_item_nr {
                padding: 30rpx 30rpx 10rpx;
                width: 100%;
                box-sizing: border-box;
                background-color: #ffffff;
                .box_list_item_nr_item {
                    width: 100%;
                    display: flex;
                    align-items: center;
                    margin-bottom: 16rpx;
                    text {
                        font-size: 26rpx;
                        font-weight: 400;
                        color: #666666;
                    }
                }
            }
        }
    }
</style>
h5/pages/staff/index.vue
@@ -1,10 +1,10 @@
<template>
    <view class="main_app">
        <view class="title_wrap">
            <view class="name" v-if="userInfo.realname">{{ userInfo.realname || "" }},欢迎登录~</view>
            <view class="name" v-if="userInfo.realname">{{ userInfo.realname || userInfo.username || "" }},欢迎登录~</view>
            <view class="name" v-else>请先登录</view>
            <view class="btn" @click="loginOut">{{
                userInfo.realname ? "退出登录" : "去登录"
                userInfo.username ? "退出登录" : "去登录"
            }}</view>
        </view>
        <view class="banner_wrap">
h5/pages/staffLogin/login.vue
@@ -176,7 +176,6 @@
                        })
                        saveHkUserOpenid({})
                    } else {
                        this.initCaptcha()
                    }
                })
            },
h5/pages/waybill/home.vue
@@ -67,7 +67,7 @@
                  phone, code,openid: this.$store.state.openId, userType: 3
                }).then(res => {
                  if (res && res.code == 200) {
                        this.$store.commit('setToken', res.data.token)
                        this.$store.commit('setToken', res.data)
                        getUserInfo().then(ress => {
                            this.$store.commit('setWaybillInfo', ress.data)
                            uni.navigateTo({
h5/utils/service.js
@@ -1,4 +1,4 @@
import { baseUrl } from "./config.js"
import { baseUrl, app_url } from "./config.js"
export const http = function (options) {
    {
        return new Promise((resolve, reject) => {
@@ -34,12 +34,15 @@
                                duration: 2000
                            })
                        })
                        if (data.code === 500 || data.code === 5112) {
                            uni.clearStorageSync()
                            return uni.navigateTo({
                                url: '/pages/login/login'
                        if (data.code === 500) {
                            uni.showToast({
                                'title': '服务器异常',icon:'none'
                            })
                        }
                        if (data.code === 5112) {
                            uni.clearStorageSync()
                            window.location.href = app_url
                        }
                        return resolve(data)
                    }
                    resolve(data)
screen/src/assets/images/ic_question@2x.png
screen/src/views/LogisticsCenter.vue
@@ -25,7 +25,18 @@
            <div class="second_title">
              <div class="title">
                <img src="@/assets/images/LogisticsCenter/ic_title@2x.png" class="icon" alt="" />
                <div>累计出库量</div>
                <div>累计出库量(箱)</div>
                <div class="question">
                  <img src="@/assets/images/ic_question@2x.png" style="margin-left: 6px;" class="icon" alt="">
                  <div class="hover_wrap">
                    <div class="triangle"></div>
                    <div class="title">出库能力统计说明:</div>
                    <div>当前订单量:截至昨日未完成订单+当日下达的订单数量;</div>
                    <div>当日任务量:截至昨日已配载未出库+当日已配载未出库数量+无需配载的任务;</div>
                    <div>今日出库量:当日按实际出库量(以电子锁上锁为准)</div>
                    <div>剩余任务量:当日任务量-今日出库量</div>
                  </div>
                </div>
              </div>
              <div class="tabs">
                <div class="tab" :class="{ active: activeTab1 == 1 }" @click="tab1Click(1)">本周</div>
@@ -114,7 +125,7 @@
                    <span class="item">{{ item.contractNumber }}</span>
                    <span class="item status">{{ item.statusDesc }}</span>
                    <span class="item">{{ item.receiveEnterprise }}</span>
                    <span class="item">{{ item.transportDate }}</span>
                    <span class="item">{{ item.transportDate || '-' }}</span>
                  </div>
                </div>
              </div>
@@ -133,6 +144,17 @@
              <div class="left">
                <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
                <span>出库能力</span>
                <div class="question">
                  <img src="@/assets/images/ic_question@2x.png" style="margin-left: 4px;" class="icon" alt="">
                  <div class="hover_wrap">
                    <div class="triangle"></div>
                    <div class="title">出库能力统计说明:</div>
                    <div>当前订单量:截至昨日未完成订单+当日下达的订单数量;</div>
                    <div>当日任务量:截至昨日已配载未出库+当日已配载未出库数量+无需配载的任务;</div>
                    <div>今日出库量:当日按实际出库量(以电子锁上锁为准)</div>
                    <div>剩余任务量:当日任务量-今日出库量</div>
                  </div>
                </div>
              </div>
              <div class="right">
                <img @click="showPro = !showPro" src="@/assets/images/LogisticsCenter/position.png" class="posi" alt="">
@@ -147,15 +169,18 @@
              <div class="item">
                <img src="@/assets/images/LogisticsCenter/ic_jinrijihua@2x.png" alt="">
                <div class="content">
                  <div class="name">当日订单量</div>
                  <div class="num"><span class="blue" v-if="cneterData.currentOrderNum">{{ cneterData.currentOrderNum.toFixed(0) }}</span>箱</div>
                  <div class="name">当前订单量</div>
                  <div class="num"><span class="blue"
                      v-if="cneterData.currentOrderNum || cneterData.currentOrderNum == 0">{{
                        cneterData.currentOrderNum.toFixed(0) }}</span>箱</div>
                </div>
              </div>
              <div class="item">
                <img src="@/assets/images/LogisticsCenter/ic_jinrijihua@2.png" alt="">
                <div class="content">
                  <div class="name">当日计划量</div>
                  <div class="num"><span v-if="cneterData.currentPlanNum">{{ cneterData.currentPlanNum.toFixed(0) }}</span>箱</div>
                  <div class="name">当前任务量</div>
                  <div class="num"><span v-if="cneterData.currentPlanNum || cneterData.currentPlanNum == 0">{{
                    cneterData.currentPlanNum.toFixed(0) }}</span>箱</div>
                  <div class="unit">车次:{{ cneterData.currentPlanCarNum }}</div>
                </div>
              </div>
@@ -163,7 +188,9 @@
                <img src="@/assets/images/LogisticsCenter/ic_jinrichuku@2x.png" alt="">
                <div class="content">
                  <div class="name">今日出库量</div>
                  <div class="num"><span v-if="cneterData.crrentOutNum" class="finish">{{ cneterData.crrentOutNum.toFixed(0) }}</span>箱</div>
                  <div class="num"><span v-if="cneterData.crrentOutNum || cneterData.crrentOutNum == 0"
                      class="finish">{{
                        cneterData.crrentOutNum.toFixed(0) }}</span>箱</div>
                  <div class="unit">车次:{{ cneterData.crrentOutCarNum }}</div>
                </div>
              </div>
@@ -171,7 +198,9 @@
                <img src="@/assets/images/LogisticsCenter/ic_jinriweichu@2x.png" alt="">
                <div class="content">
                  <div class="name">剩余任务量</div>
                  <div class="num"><span v-if="cneterData.crrentRestNum" class="today">{{ cneterData.crrentRestNum.toFixed(0) }}</span>箱</div>
                  <div class="num"><span v-if="cneterData.crrentRestNum || cneterData.crrentRestNum == 0"
                      class="today">{{
                        cneterData.crrentRestNum.toFixed(0) }}</span>箱</div>
                  <div class="unit">车次:{{ cneterData.crrentRestCarNum }}</div>
                </div>
              </div>
@@ -197,7 +226,7 @@
                  <div :style="{ width: cneterData.level2 }" class="box box1">
                    <div v-if="cneterData.hoursAbility >= cneterData.currentPlanNum" class="tag tag1">
                      <div class="icon"></div>
                      <span>当日计划</span>
                      <span>当前任务</span>
                    </div>
                  </div>
                </div>
@@ -213,7 +242,7 @@
                    :style="{ width: cneterData.level22 }" class="box box1 box11">
                    <div class="tag tag1">
                      <div class="icon"></div>
                      <span>当日计划</span>
                      <span>当前任务</span>
                    </div>
                  </div>
                  <!-- <div class="box"></div> -->
@@ -481,42 +510,42 @@
    { value: [103.9526, 30.7617, 1901], itemStyle: { color: '#fff' }, name: '四川', total: 18, bj: 0, yj: 0, yx: 18, tj: 0, dw: 0 }
  ]
  const mapData = [
    { name: '北京市',code:'110000', value: 0 },
    { name: '天津市',code:'120000', value: 0 },
    { name: '上海市', code:'310000',value: 0 },
    { name: '重庆市', code:'500000',value: 0 },
    { name: '河北省',code:'130000', value: 0 },
    { name: '河南省',code:'410000', value: 0 },
    { name: '云南省',code:'530000', value: 0 },
    { name: '辽宁省',code:'210000', value: 0 },
    { name: '黑龙江省', code:'230000',value: 0 },
    { name: '湖南省',code:'430000', value: 0 },
    { name: '安徽省', code:'340000',value: 0 },
    { name: '山东省',code:'370000', value: 0 },
    { name: '新疆维吾尔自治区', code:'650000',value: 0 },
    { name: '江苏省',code:'320000', value: 0 },
    { name: '浙江省', code:'330000', value: 0 },
    { name: '江西省', code:'360000', value: 0 },
    { name: '湖北省', code:'420000', value: 0 },
    { name: '广西壮族自治区',code:'450000', value: 0 },
    { name: '甘肃省', code:'620000', value: 0 },
    { name: '山西省', code:'140000', value: 0 },
    { name: '内蒙古自治区', code:'150000', value: 0 },
    { name: '陕西省', code:'610000', value: 0 },
    { name: '吉林省',code:'220000', value: 0 },
    { name: '福建省', code:'350000', value: 0 },
    { name: '贵州省', code:'520000', value: 0 },
    { name: '广东省', code:'440000', value: 0 },
    { name: '青海省', code:'630000', value: 0 },
    { name: '西藏自治区',code:'540000', value: 0 },
    { name: '宁夏回族自治区',code:'640000', value: 0 },
    { name: '四川省',code:'510000', value: 0 },
    { name: '宁夏省', code:'640000',value: 0 },
    { name: '海南省', code:'460000',value: 0 },
    { name: '台湾省', code:'710000',value: 0 },
    { name: '香港特别行政区', code:'810000',value: 0 },
    { name: '澳门特别行政区', code:'820003',value: 0 },
    { name: '南海诸岛', code:'',value: 0 },
    { name: '北京市', code: '110000', value: 0 },
    { name: '天津市', code: '120000', value: 0 },
    { name: '上海市', code: '310000', value: 0 },
    { name: '重庆市', code: '500000', value: 0 },
    { name: '河北省', code: '130000', value: 0 },
    { name: '河南省', code: '410000', value: 0 },
    { name: '云南省', code: '530000', value: 0 },
    { name: '辽宁省', code: '210000', value: 0 },
    { name: '黑龙江省', code: '230000', value: 0 },
    { name: '湖南省', code: '430000', value: 0 },
    { name: '安徽省', code: '340000', value: 0 },
    { name: '山东省', code: '370000', value: 0 },
    { name: '新疆维吾尔自治区', code: '650000', value: 0 },
    { name: '江苏省', code: '320000', value: 0 },
    { name: '浙江省', code: '330000', value: 0 },
    { name: '江西省', code: '360000', value: 0 },
    { name: '湖北省', code: '420000', value: 0 },
    { name: '广西壮族自治区', code: '450000', value: 0 },
    { name: '甘肃省', code: '620000', value: 0 },
    { name: '山西省', code: '140000', value: 0 },
    { name: '内蒙古自治区', code: '150000', value: 0 },
    { name: '陕西省', code: '610000', value: 0 },
    { name: '吉林省', code: '220000', value: 0 },
    { name: '福建省', code: '350000', value: 0 },
    { name: '贵州省', code: '520000', value: 0 },
    { name: '广东省', code: '440000', value: 0 },
    { name: '青海省', code: '630000', value: 0 },
    { name: '西藏自治区', code: '540000', value: 0 },
    { name: '宁夏回族自治区', code: '640000', value: 0 },
    { name: '四川省', code: '510000', value: 0 },
    { name: '宁夏省', code: '640000', value: 0 },
    { name: '海南省', code: '460000', value: 0 },
    { name: '台湾省', code: '710000', value: 0 },
    { name: '香港特别行政区', code: '810000', value: 0 },
    { name: '澳门特别行政区', code: '820003', value: 0 },
    { name: '南海诸岛', code: '', value: 0 },
  ]
  let totalNum = 0
  mapList.value.forEach(i => {
@@ -530,10 +559,10 @@
        item.value = 0
        item.monthNum = ite.monthNum
        item.yearNum = ite.yearNum
        if(totalNum > 0){
        if (totalNum > 0) {
          item.rate = ((ite.yearNum / totalNum) * 100).toFixed(2)
          item.value = (ite.yearNum / totalNum).toFixed(4)
        }
      }
    })
@@ -702,7 +731,7 @@
    mapList.value = temp.map(item => {
      item.value = item.monthNum
      item.name = item.provinceName
      item.code=item.provinceCode
      item.code = item.provinceCode
      return item
    })
    initMap()
@@ -1210,7 +1239,7 @@
          } else if (item.seriesName === '库存利用率') {
            result += `
            <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
              <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #5a6fc0;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
              <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #b2bcd1;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
              <div><strong>${item.value}%</strong></div>
            </div>`
          }
@@ -1580,7 +1609,7 @@
      // icon: 'circle',
      right: '10%',
      top: '0%',
      data: ['总运力资源', '当日提报运力', '车辆利用率'],
      data: ['当日可用运力', '当日提报运力', '车辆利用率'],
      itemWidth: 20,
      itemHeight: 10,
      textStyle: {
@@ -1594,7 +1623,7 @@
        // 遍历悬浮时的所有点,定制化显示内容
        let result = `<div style="width: 160px">${params[0].name}</div>`
        params.forEach((item) => {
          if (item.seriesName === '总运力资源') {
          if (item.seriesName === '当日可用运力') {
            result += `
            <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
              <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #88d9cc;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
@@ -1686,7 +1715,7 @@
    ],
    series: [
      {
        name: '总运力资源',
        name: '当日可用运力',
        type: 'bar',
        barWidth: 10,
        barGap: '60%',
@@ -2111,6 +2140,9 @@
        .left {
          display: flex;
          align-items: center;
          position: relative;
          img {
            width: 16px;
@@ -2280,6 +2312,7 @@
            .tag1 {
              background-color: #28F0CC;
              border: 1px solid #28F0CC;
              .icon {
                background-color: #28F0CC;
              }
@@ -2405,6 +2438,55 @@
          height: 192px;
          width: 410px;
        }
      }
    }
  }
  .question {
    display: flex;
    align-items: center;
    &:hover {
      .hover_wrap {
        display: block;
      }
    }
    .hover_wrap {
      display: none;
      position: absolute;
      left: 130px;
      z-index: 999;
      top: -5px;
      width: 407px;
      height: 134px;
      background: rgba(0, 30, 63, 0.6);
      border: 1px solid #003F82;
      backdrop-filter: blur(3px);
      padding: 10px;
      font-size: 13px;
      color: #e2ebfd;
      line-height: 19px;
      font-weight: 400;
      border-radius: 6px;
      .triangle {
        width: 12px;
        height: 12px;
        position: absolute;
        top: 10px;
        left: -6px;
        transform: rotate(45deg);
        border-left: 1px solid #003F82;
        border-bottom: 1px solid #003F82;
        background: rgba(0, 30, 63, 0.6);
        backdrop-filter: blur(3px);
      }
      .title {
        font-weight: bold;
        font-size: 14px;
        color: #e2ebfd;
      }
    }
  }
@@ -2752,6 +2834,11 @@
    font-weight: 500;
    font-size: 16px;
    color: #FFFFFF;
    position: relative;
    .hover_wrap {
      left: 175px;
    }
    .icon {
      width: 16px;