jiangping
2025-01-23 9adce67dc6af1c6cf4a0d0528eced986771c2d64
Merge remote-tracking branch 'origin/master'
已修改14个文件
237 ■■■■ 文件已修改
h5/pages/driver/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/login.vue 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/taskDetail.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staff/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staffLogin/login.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/waybill/home.vue 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/waybill/list.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/waybill/waybillDetail.vue 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/wdata/home.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/wdata/list.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/utils/config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen/src/router/index.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen/src/views/LogisticsCenter.vue 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen/src/views/SecurityControl.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/index.vue
@@ -2,7 +2,7 @@
    <view class="main_app">
        <view class="title_wrap">
            <view class="name">{{ driverInfo.realname || driverInfo.username }},欢迎登录~</view>
            <view class="btn" @click="loginOut">退出登录</view>
            <view class="btn" @click="loginOut">账号解绑</view>
        </view>
        <!--  -->
        <view class="banner_wrap">
@@ -218,9 +218,9 @@
            width: 144rpx;
            height: 56rpx;
            border-radius: 36rpx;
            border: 1rpx solid $uni-color-primary;
            border: 1rpx solid #B2B2B2;
            font-size: 26rpx;
            color: $uni-color-primary;
            color: #666666;
            display: flex;
            justify-content: center;
            align-items: center;
h5/pages/driver/login.vue
@@ -5,8 +5,14 @@
        <view class="login_title">安泰物流智慧园区</view>
        <view class="login_title">物流车司机登录</view>
        <view class="tabs">
            <view class="tab" @click="tabsClick(0)" :class="{active: activeTab == 0  }"><view>账号登录</view><view class="bor"></view></view>
            <view class="tab" @click="tabsClick(1)" :class="{active: activeTab == 1  }"><view>验证码登录</view><view class="bor"></view></view>
            <view class="tab" @click="tabsClick(0)" :class="{active: activeTab == 0  }">
                <view>账号登录</view>
                <view class="bor"></view>
            </view>
            <view class="tab" @click="tabsClick(1)" :class="{active: activeTab == 1  }">
                <view>验证码登录</view>
                <view class="bor"></view>
            </view>
        </view>
        <view class="login_list">
            <template v-if="activeTab == 0">
@@ -29,15 +35,8 @@
                </view>
                <view class="login_list_item">
                  <image src="@/static/ic_captcha.png" mode="widthFix"></image>
                  <input
                    v-model="form.code"
                    placeholder="请输入验证码"
                        :maxlength="6"
                    type="number"
                  />
                  <text class="captcha" v-if="countDown == 0" @click="initCaptcha"
                    >获取验证码</text
                  >
                    <input v-model="form.code" placeholder="请输入验证码" :maxlength="6" type="number" />
                    <text class="captcha" v-if="countDown == 0" @click="initCaptcha">获取验证码</text>
                  <text class="placeholder9" v-else>{{ countDown }}</text>
                </view>
            </template>
@@ -93,7 +92,8 @@
        methods: {
            onLogin() {
                const {
                    form,activeTab
                    form,
                    activeTab
                } = this
                if(activeTab == 0){
                    if (!form.username) return uni.showToast({
@@ -172,12 +172,16 @@
                  title: '手机号不能为空',
                  icon: 'none'
                })
                sendSms({ phone: this.form.phone }).then(res => {
                sendSms({
                    phone: this.form.phone
                }).then(res => {
                    if (res.code === 200) {
                  this.countDown = 60
                  setInterval(() => {
                    if (this.countDown == 0) return
                    this.countDown--
                  }, 1000)
                    }
                })
            },
        }
@@ -215,12 +219,14 @@
            font-weight: 600;
            color: #333333;
        }
        .tabs{
            display: flex;
            align-items: center;
            justify-content: space-evenly;
            width: 530rpx;
            margin: 48rpx auto 0rpx;
            .tab{
                font-size: 30rpx;
                color: #666666;
@@ -230,10 +236,12 @@
                height: 52rpx;    
                line-height: 36rpx;
            }
            .active{
                font-weight: bold;
                font-size: 34rpx;
                color: #222222;
                .bor{
                    width: 80rpx;
                    height: 8rpx;
@@ -241,6 +249,7 @@
                }
            }
        }
        .login_list {
            margin-top: 36rpx;
            width: 100%;
h5/pages/driver/taskDetail.vue
@@ -207,8 +207,8 @@
                //         'openLocation'
                //     ] // 必填,需要使用的JS接口列表
                // })
                // this.getLocation()
                this.getDetail()
                this.getLocation()
                // this.getDetail()
            } else {
                this.getDetail()
            }
@@ -324,7 +324,7 @@
                display: flex;
                .label {
                    width: 150rpx;
                    width: 154rpx;
                    font-size: 30rpx;
                    color: #666666;
                }
h5/pages/staff/index.vue
@@ -4,7 +4,7 @@
            <view class="name" v-if="userInfo.realname">{{ userInfo.realname || userInfo.username || "" }},欢迎登录~</view>
            <view class="name" v-else>请先登录</view>
            <view class="btn" @click="loginOut">{{
                userInfo.username ? "退出登录" : "去登录"
                userInfo.username ? "账号解绑" : "去登录"
            }}</view>
        </view>
        <view class="banner_wrap">
@@ -226,9 +226,9 @@
            width: 144rpx;
            height: 56rpx;
            border-radius: 36rpx;
            border: 1rpx solid $uni-color-primary;
            border: 1rpx solid #B2B2B2;
            font-size: 26rpx;
            color: $uni-color-primary;
            color: #666666;
            display: flex;
            justify-content: center;
            align-items: center;
h5/pages/staffLogin/login.vue
@@ -175,8 +175,7 @@
                            })
                        })
                        saveHkUserOpenid({})
                    } else {
                    }
                    } else {}
                })
            },
            ...mapMutations(["setToken", "setUserInfo"]),
@@ -215,11 +214,13 @@
                sendSms({
                    phone: this.form.phone
                }).then(res => {
                    if (res.code === 200) {
                    this.countDown = 60
                    setInterval(() => {
                        if (this.countDown == 0) return
                        this.countDown--
                    }, 1000)
                    }
                })
            }
        }
h5/pages/waybill/home.vue
@@ -9,16 +9,9 @@
            <view class="item">
                <view class="la">验证码</view>
              <view class="df_sb">
                  <input
                    v-model="form.code"
                    placeholder="请输入验证码"
                      placeholder-class="placeholder9"
                        :maxlength="6"
                    type="number"
                  />
                  <text class="captcha" v-if="countDown == 0" @click="initCaptcha"
                    >获取验证码</text
                  >
                    <input v-model="form.code" placeholder="请输入验证码" placeholder-class="placeholder9" :maxlength="6"
                        type="number" />
                    <text class="captcha" v-if="countDown == 0" @click="initCaptcha">获取验证码</text>
                  <text class="placeholder9" v-else>{{ countDown }}</text>
              </view>
            </view>
@@ -30,7 +23,12 @@
</template>
<script>
    import { sendSms, loginGkUserWithCode, wxAuthorizea, getUserInfo } from '@/api'
    import {
        sendSms,
        loginGkUserWithCode,
        wxAuthorizea,
        getUserInfo
    } from '@/api'
    export default {
        data() {
            return {
@@ -60,11 +58,17 @@
        },
        methods: {
            onSubmit() {
                const { code, phone } = this.form
                const {
                    code,
                    phone
                } = this.form
                if (!phone) return this.showToast('手机号不能为空')
                if (!code) return this.showToast('验证码不能为空')
                loginGkUserWithCode({
                  phone, code,openid: this.$store.state.openId, userType: 3
                    phone,
                    code,
                    openid: this.$store.state.openId,
                    userType: 3
                }).then(res => {
                  if (res && res.code == 200) {
                        this.$store.commit('setToken', res.data)
@@ -113,12 +117,16 @@
                title: '手机号不能为空',
                icon: 'none'
              })
              sendSms({ phone: this.form.phone }).then(res => {
                sendSms({
                    phone: this.form.phone
                }).then(res => {
                    if (res.code === 200) {
                this.countDown = 60
                setInterval(() => {
                  if (this.countDown == 0) return
                  this.countDown--
                }, 1000)
                    }
              })
            },
        }
@@ -128,6 +136,7 @@
<style lang="scss">
.main_app{
    padding-top: 218rpx;
    .bg{
        width: 750rpx;
        position: absolute;
@@ -135,6 +144,7 @@
        top: 0;
        z-index: -1;
    }
    .login_wrap {
      width: 690rpx;
      height: 490rpx;
@@ -151,6 +161,7 @@
        box-sizing: border-box;
        margin-bottom: 30rpx;
            border-bottom: 1px solid #E5E5E5;
        &:last-child {
          margin-bottom: 0 !important;
        }
@@ -160,14 +171,17 @@
                font-size: 28rpx;
                color: #222222;
            }
        .captcha {
          color: $uni-color-primary;
        }
            .df_sb{
                display: flex;
                justify-content: space-between;
                align-items: center;
            }
        input {
          flex: 1;
          height: 86rpx;
@@ -179,11 +193,13 @@
        }
      }
    }
    .login_btn {
     width: 630rpx;
     height: 88rpx;
      box-sizing: border-box;
      margin-top: 40rpx;
      .login_btn_n {
        width: 100%;
        height: 98rpx;
h5/pages/waybill/list.vue
@@ -2,7 +2,7 @@
    <view class="main_app">
        <view class="title_wrap">
            <view class="name">{{ waybillInfo.realname || waybillInfo.username || waybillInfo.mobile }},欢迎登录~</view>
            <view class="btn" @click="loginOut">退出登录</view>
            <view class="btn" @click="loginOut">账号解绑</view>
        </view>
        <view class="head_wrap" @click="openModal">
            <view class="search_box">
@@ -232,7 +232,7 @@
                        ...form
                    },
                    pager: {
                        rows: 10,
                        rows: 16,
                        page
                    }
                }).then(res => {
@@ -256,9 +256,9 @@
        // align-items: center;
        background-color: #fff;
        width: 750rpx;
        height: 70rpx;
        height: 90rpx;
        margin: -10rpx -30rpx 0;
        padding: 12rpx 30rpx;
        padding: 24rpx 30rpx 0;
        .name {
            font-weight: 600;
            font-size: 34rpx;
@@ -269,9 +269,9 @@
            width: 144rpx;
            height: 56rpx;
            border-radius: 36rpx;
            border: 1rpx solid $uni-color-primary;
            border: 1rpx solid #B2B2B2;
            font-size: 26rpx;
            color: $uni-color-primary;
            color: #666666;
            display: flex;
            justify-content: center;
            align-items: center;
h5/pages/waybill/waybillDetail.vue
@@ -34,12 +34,28 @@
                    </view>
                    <view class="line">
                        <view class="la">车辆位置</view>
                        <view class="val">{{'-'}}</view>
                        <view class="val">{{ info.address || '-'}}</view>
                    </view>
                    <view class="line">
                        <view class="la">预计到达</view>
                        <view class="val primaryColor" v-if="info.plannedArrivedDate">{{info.plannedArrivedDate.slice(0,11)}}</view>
                    </view>
                    <view 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>
            <view class="drive_info">
@@ -116,7 +132,8 @@
                    //     color: '#FF0000',
                    //     width: 3
                    // }, 
                ]
                ],
                showRecord: false
            };
        },
        onLoad(options) {
@@ -178,6 +195,16 @@
                    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)
                                },
                            })
                            this.polyline = []
                            let temp = {
                                color: '#ff0000',
@@ -192,6 +219,7 @@
                            this.polyline.push(temp)
                        }
                    }
                })
            },
            distance() {
@@ -417,12 +445,47 @@
                        width: 140rpx;
                    }
                    .val {}
                    .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;
                }
            }
        }
h5/pages/wdata/home.vue
@@ -91,11 +91,13 @@
                sendSms({
                    phone: this.form.phone
                }).then(res => {
                    this.countDown = 10
                    if (res.code === 200) {
                        this.countDown = 60
                    setInterval(() => {
                        if (this.countDown == 0) return
                        this.countDown--
                    }, 1000)
                    }
                })
            },
            userAuth(source) {
h5/pages/wdata/list.vue
@@ -4,7 +4,7 @@
            <view class="name" v-if="driverInfo.realname || driverInfo.username">{{ driverInfo.realname || driverInfo.username }},欢迎登录~</view>
            <view class="name" v-else>请先登录</view>
            <view class="btn" @click="loginOut">{{
                driverInfo.realname || driverInfo.username ? "退出登录" : "去登录"
                driverInfo.realname || driverInfo.username ? "账号解绑" : "去登录"
            }}</view>
        </view>
        <view class="head_wrap">
@@ -152,7 +152,8 @@
        align-items: center;
        background-color: #fff;
        margin: -10rpx -30rpx 0;
        padding: 16rpx 30rpx 0;
        padding: 20rpx 30rpx 6rpx;
        height: 90rpx;
        .name {
            font-weight: 600;
            font-size: 34rpx;
@@ -163,9 +164,9 @@
            width: 144rpx;
            height: 56rpx;
            border-radius: 36rpx;
            border: 1rpx solid $uni-color-primary;
            border: 1rpx solid #B2B2B2;
            font-size: 26rpx;
            color: $uni-color-primary;
            color: #666666;
            display: flex;
            justify-content: center;
            align-items: center;
h5/utils/config.js
@@ -1,8 +1,8 @@
// export const baseUrl = 'zhyq_interface/'
export const baseUrl = 'zhyq_interface/'
// export const baseUrl = 'http://192.168.0.173/gateway_interface/'
// export const baseUrl = 'http://10.50.250.253:8088/gateway_interface/'
export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/'
// export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/'
export const app_url = 'https://atwl.ahzyssl.com/zhyq_h5/#/'
screen/src/router/index.js
@@ -35,7 +35,7 @@
      path: '/SecurityControl',  // 安防管控大屏 -
      name: 'SecurityControl',
      meta: {
        title: '安泰智慧物流园区-安防智能监测'
        title: '安泰智慧物流园区-智能安防监测'
      },
      component: () => import('../views/SecurityControl.vue')
    },
@@ -43,7 +43,7 @@
      path: '/LogisticsCenter', //全省物流在途-物流中心
      name: 'LogisticsCenter',
      meta: {
        title: '安徽中烟成品集控大屏'
        title: '安徽中烟数智成品管控'
      },
      component: () => import('../views/LogisticsCenter.vue')
    },
screen/src/views/LogisticsCenter.vue
@@ -4,7 +4,7 @@
      <img src="@/assets/images/LogisticsCenter/bg@2x.png" class="main_bg" alt="" />
      <div class="main_header">
        <img src="@/assets/images/maintitle.gif" class="main_header_bg" alt="" />
        <div class="title">安徽中烟成品集控大屏</div>
        <div class="title">安徽中烟数智成品管控</div>
        <div class="time_wrap">
          <span class="date">{{ date }}</span>
          <span class="week">{{ week }}</span>
@@ -438,7 +438,7 @@
          <div class="item">
            <div class="dian"></div>
            <div class="la">车辆位置:</div>
            <div class="val">{{ modalInfo.aa || '-' }}</div>
            <div class="val">{{ modalInfo.position || '-' }}</div>
          </div>
          <div class="item">
            <div class="dian"></div>
@@ -510,6 +510,7 @@
import VScaleScreen from 'v-scale-screen'
import Percent from '@/components/percent.vue'
import dayjs from 'dayjs'
import axios from "axios"
import * as echarts from 'echarts'
import 'swiper/css/swiper.min.css'
import Swiper from 'swiper'
@@ -1008,6 +1009,20 @@
  showModal.value = true
  kzorderInfo({ contractNumber: item.contractNumber }).then(res => {
    modalInfo.value = res.data
    const apiKey = 'd9a554b1808ce10a12a932ed9b0db1d0'
    if (modalInfo.value.gisList && modalInfo.value.gisList.length > 0) {
      const gisInfo = modalInfo.value.gisList[0]
      if (gisInfo && gisInfo.gisList && gisInfo.gisList.length > 0) {
        const adsInfo = gisInfo.gisList[gisInfo.gisList.length - 1]
        const location = adsInfo.lon1 + ',' + adsInfo.lat1
        axios.get(`https://restapi.amap.com/v3/geocode/regeo?key=${apiKey}&location=${location}`).then(res => {
          console.log('res', res.data)
          if(res.data.status == 1){
            modalInfo.value.position = res.data.regeocode.formatted_address
          }
        })
      }
    }
    modalLoading.value = false
    nextTick(() => {
@@ -1997,6 +2012,7 @@
      padding: 0px 10px 30px 20px;
      position: relative;
      height: 160px;
      .content_wrap {
        display: flex;
        justify-content: space-between;
@@ -2402,6 +2418,7 @@
                z-index: -1;
              }
            }
            .tooltip_wrap{
              .tooltip{
                z-index: 9999999999;
@@ -2409,6 +2426,7 @@
                transform: translate(70px, -42%);
              }
            }
            .tag1 {
              background-color: #28F0CC;
              border: 1px solid #28F0CC;
@@ -2862,12 +2880,12 @@
    flex-wrap: wrap;
    background-color: #0d2845;
    border-radius: 4px;
    padding: 10px 20px 0;
    padding: 10px 20px 0px;
    margin-bottom: 16px;
    .item {
      display: flex;
      align-items: center;
      /* align-items: center; */
      font-size: 13px;
      width: 55%;
      margin-bottom: 8px;
@@ -2882,10 +2900,15 @@
        background-color: #fff;
        border-radius: 50%;
        margin-right: 4px;
        margin-top: 7px;
      }
      .la {
        color: #01D9FE;
        width: 70px;
      }
      .val{
        flex: 1;
      }
    }
  }
screen/src/views/SecurityControl.vue
@@ -4,7 +4,7 @@
      <img src="@/assets/images/SecurityControl/bg@2x.png" class="main_bg" alt="" />
      <div class="main_header">
        <img src="@/assets/images/maintitle.gif" class="main_header_bg" alt="" />
        <div class="title">安泰智慧物流园区-安防智能监测</div>
        <div class="title">安泰智慧物流园区-智能安防监测</div>
        <div class="time_wrap">
          <span class="date">{{ date }}</span>
          <span class="week">{{ week }}</span>