ll
liukangdong
2025-01-07 9b80c42df73cb99b37d95b5c0a186ceec5e45a27
ll
已添加1个文件
已修改8个文件
200 ■■■■ 文件已修改
h5/pages/driver/reserved.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/reservedGuide.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/reservedRecord.vue 48 ●●●● 补丁 | 查看 | 原始文档 | 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 115 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/reserved.vue
@@ -98,8 +98,10 @@
                </view>
            </view>
            <view class="copy" @click="copy">复制车前牌照号</view>
            <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
@@ -2,12 +2,7 @@
  <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" 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>
@@ -34,12 +29,22 @@
          </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"
    import {
        driverApplyRecord
    } from "@/api"
export default {
  data() {
    return {
@@ -64,7 +69,10 @@
        this.getList()
    },
    onReachBottom() {
        const { total,  datalist} = this
            const {
                total,
                datalist
            } = this
      if(datalist.length < total){
            this.page = this.page + 1
            this.getList()
@@ -74,9 +82,14 @@
    },
  methods: {
        getList() {
            const { page, capacity } = this
                const {
                    page,
                    capacity
                } = this
            driverApplyRecord({
                page, capacity,model: {}
                    page,
                    capacity,
                    model: {}
            }).then(res => {
                this.datalist = [...this.datalist, ...res.data.records]
                this.total = res.data.total
@@ -105,15 +118,18 @@
    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;
@@ -125,16 +141,20 @@
    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;
@@ -145,37 +165,45 @@
      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;
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> -->
@@ -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;