ll
liukangdong
2024-12-16 ebf7a029c270a728c7578870d6d60a5762f0d1f2
ll
已添加14个文件
已修改20个文件
956 ■■■■■ 文件已修改
admin/src/components/business/OperaHiddenDangerParamWindow.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/reportRecord.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/vehicle/category.vue 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/vehicle/components/OperaCategoryWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/App.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/index.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/manifest.json 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/forgetPsd.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/login.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/taskDetail.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/login/login.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staff/snapshot.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staff/task/vDangetAppr.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staffLogin/forgetPsd.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staffLogin/login.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/waybill/home.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/waybill/list.vue 289 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/waybill/waybillDetail.vue 525 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/driver/ic_fahuodi@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/driver/ic_huowu@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/driver/map_point@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/waybill/ic_cangku@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/waybill/ic_cangku_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/waybill/ic_dangqian@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/waybill/ic_daohuo_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/waybill/ic_dingdan@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/waybill/ic_dingdan_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/waybill/ic_peizai@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/waybill/ic_peizai_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/waybill/ic_ruku.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/waybill/ic_yunshu@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/waybill/ic_yunshu_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/utils/config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen/src/views/LogisticsEfficiency.vue 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaHiddenDangerParamWindow.vue
@@ -4,11 +4,11 @@
      <el-form-item label="名称" prop="name">
        <el-input v-model="form.name" placeholder="请输入名称" v-trim />
      </el-form-item>
      <!-- <el-form-item label="责任部门" prop="companyId">
      <el-form-item label="责任部门" prop="companyId">
        <el-select filterable clearable @change="() => loadMember(1)" v-model="form.companyId">
          <el-option v-for="op in department" :key="op.id" :label="op.name" :value="op.id"></el-option>
        </el-select>
      </el-form-item> -->
      </el-form-item>
      <el-form-item v-if="form.type == 0" label="选择安全员" prop="memberIdList">
        <el-select v-model="form.memberIdList" filterable multiple clearable placeholder="请选择">
          <el-option v-for="item in memberList" :key="item.id" :label="item.name" :value="item.id">
@@ -70,7 +70,6 @@
      this.form.memberIdList = null
      this.form.type = type
      this.getfindCompanyTreePage()
      this.loadMember()
      // 新建组织
      if (target == null) {
        this.$nextTick(() => {
admin/src/views/business/reportRecord.vue
@@ -149,7 +149,8 @@
      },
      pagination: {
        capacity: 10,
        page: 1
        page: 1,
        total: 0
      },
      total: 0
    }
@@ -203,6 +204,7 @@
        ...pagination
      }).then(res => {
        this.dataList = res.records || []
        this.pagination.total = res.total
      })
    },
    clear () {
@@ -213,6 +215,7 @@
    },
    handleSizeChange (capacity) {
      this.pagination.capacity = capacity
      this.getList()
    }
  }
}
admin/src/views/vehicle/category.vue
@@ -18,8 +18,8 @@
            <ul class="toolbar" v-permissions="['business:category:create', 'business:category:delete']">
                <li><el-button type="primary" @click="handleEdit()" icon="el-icon-plus"
                        v-permissions="['business:category:create']">新建</el-button></li>
                <li v-permissions="['business:category:exportExcel']"><el-button type="primary" @click="exportExcel"
                        >导出</el-button></li>
                <li v-permissions="['business:category:exportExcel']"><el-button type="primary"
                        @click="exportExcel">导出</el-button></li>
            </ul>
            <el-table row-key="id" :tree-props="{ children: 'childCategoryList' }" v-loading="isWorking.search"
                :data="dataList" stripe @selection-change="handleSelectionChange">
@@ -42,7 +42,7 @@
                    </template>
                </el-table-column>
            </el-table>
            <pagination @size-change="handleSizeChange" @current-change="getList" :pagination="tableData.pagination">
            <pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination">
            </pagination>
        </template>
        <!-- 新建/修改 -->
@@ -79,11 +79,11 @@
    },
    created() {
        this.config({
      module: '车辆信息表',
      api: '/business/category',
      'field.id': 'id',
      'field.main': 'id'
    })
            module: '车辆信息表',
            api: '/business/category',
            'field.id': 'id',
            'field.main': 'id'
        })
        this.getList()
    },
    methods: {
@@ -110,8 +110,11 @@
            })
        },
        getList() {
        getList(page) {
            const { pagination, filters } = this
            if (page) {
                pagination.page = page
            }
            this.loading = true
            fetchList({
                model: { ...filters },
@@ -125,6 +128,10 @@
                this.loading = false
            })
        },
        handleSizeChange(val){
            this.pagination.pageSize = val
            this.getList()
        }
    }
}
</script>
admin/src/views/vehicle/components/OperaCategoryWindow.vue
@@ -2,7 +2,7 @@
  <GlobalWindow :title="title" :visible.sync="visible" :confirm-working="isWorking" width="600px" @close="close" @confirm="confirm">
    <el-form :model="form" ref="form" :rules="rules">
      <el-form-item label="所属分类" prop="parentId">
        <el-select :disabled="form.id" v-model="form.parentId" placeholder="不填为则一级分类">
        <el-select :disabled="form.id" clearable v-model="form.parentId" placeholder="不填为则一级分类">
          <el-option v-for="op in dataList" :key="op.id" :label="op.name" :value="op.id"></el-option>
        </el-select>
      </el-form-item>
h5/App.vue
@@ -145,6 +145,9 @@
  color: #999999 !important;
  font-size: 28rpx;
}
.placeholder3{
    color: #333333 !important;
}
.red{
    color: red !important;
}
h5/index.html
@@ -11,6 +11,7 @@
        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
    </script>
        <script src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"/> 
        <script src="https://webapi.amap.com/maps?v=2.0&key=96b8d96e645290f1de14f5229ee030e4"></script>
    <title></title>
    <!--preload-links-->
    <!--app-context-->
h5/manifest.json
@@ -128,9 +128,9 @@
                "/zhyq_interface" : {
                    // 这个字段名需与你配置的basePrefixUrl一致,系统识别到带有/dev-api请求的地址时,会在前面拼接上代理服务器地址
                    // "target" : "http://172.20.10.7:10010", // 代理服务器域名或IP地址
                    // "target" : "http://192.168.0.106:10010", // 代理服务器域名或IP地址
                    // "target" : "http://10.50.250.253:8088/gateway_interface", // 代理服务器域名或IP地址
                    "target" : "https://atwl.ahzyssl.com/zhyq_interface", // 代理服务器域名或IP地址
                    // "target" : "http://192.168.0.107:10010", // 代理服务器域名或IP地址
                    "target" : "http://10.50.250.253:8088/gateway_interface", // 代理服务器域名或IP地址
                    // "target" : "https://atwl.ahzyssl.com/zhyq_interface", // 代理服务器域名或IP地址
                    "changeOrigin" : true, // 允许跨域 
                    "pathRewrite" : {
                        "^/zhyq_interface" : ""
@@ -142,7 +142,7 @@
        "sdkConfigs" : {
            "maps" : {
                "amap" : {
                    "key" : "d9a554b1808ce10a12a932ed9b0db1d0",
                    "key" : "96b8d96e645290f1de14f5229ee030e4",
                    "securityJsCode" : "",
                    "serviceHost" : ""
                }
h5/pages/driver/forgetPsd.vue
@@ -7,14 +7,14 @@
    <view class="login_list">
      <view class="login_list_item">
        <image src="@/static/login_ic_phone@2x.png" mode="widthFix" />
        <input v-model="form.phone" :maxlength="11" placeholder="请输入手机号" />
        <input v-model="form.phone"  type="tel" :maxlength="11" placeholder="请输入手机号" />
      </view>
      <view class="login_list_item">
        <image src="@/static/ic_captcha.png" mode="widthFix"></image>
        <input
          v-model="form.validCode"
          placeholder="请输入验证码"
          type="text"
           type="number"
        />
        <text class="captcha" v-if="countDown == 0" @click="initCaptcha"
          >获取验证码</text
h5/pages/driver/login.vue
@@ -7,7 +7,7 @@
    <view class="login_list">
      <view class="login_list_item">
        <image src="@/static/login_ic_phone@2x.png" mode="widthFix" />
        <input v-model="form.username"  @focus="showKeyboard = true" @blur="showKeyboard = false" maxlength="18" placeholder="手机号" />
        <input v-model="form.username"  type="tel"  @focus="showKeyboard = true" @blur="showKeyboard = false" maxlength="18" placeholder="手机号" />
      </view>
      <view class="login_list_item">
        <image src="@/static/login_ic_password@2x.png" mode="widthFix" />
h5/pages/driver/taskDetail.vue
@@ -206,8 +206,8 @@
                //         'openLocation'
                //     ] // 必填,需要使用的JS接口列表
                // })
                // this.getLocation()
                this.getDetail()
                this.getLocation()
                // this.getDetail()
            } else {
                this.getDetail()
            }
@@ -287,7 +287,8 @@
                    type: 'wgs84',
                    success: (res) => {
                        this.lat = res.latitude
                        this.lnt = res.longitude
                        this.lnt = res.longitude
                        console.log('---', res);
                        this.getDetail()
                    },
                    fail: (err) => {
h5/pages/login/login.vue
@@ -41,7 +41,7 @@
    export default {
        data() {
            return {
                code: ''
                code: 'qwe'
            }
        },
        onLoad(option) {
h5/pages/staff/snapshot.vue
@@ -87,7 +87,7 @@
                    <text></text>
                    <text>联系电话</text>
                </view>
                <view class="value"><input type="text" disabled placeholder="请输入联系电话" v-model="param.memberPhone"
                <view class="value"><input type="tel" disabled placeholder="请输入联系电话" v-model="param.memberPhone"
                        placeholder-style="color: #999999;" /></view>
            </view>
            <view class="line">
h5/pages/staff/task/vDangetAppr.vue
@@ -263,9 +263,9 @@
            @cancel="isShowHandleDate = false" mode="datetime"></u-datetime-picker>
        <!--  -->
        <view v-if="videoPlay" class="video_app">
<!--         <view v-show="videoPlay" class="video_app">
            <video controls id="myvideo" :src="videoUrl" @fullscreenchange="screenChange"></video>
        </view>
        </view> -->
    </view>
</template>
@@ -366,8 +366,8 @@
                console.log(item)
                this.videoPlay = true;
                this.videoUrl = item.fileurlFull;
                this.videoContext.requestFullScreen();
                this.$nextTick(() => {
                    this.videoContext.requestFullScreen();
                    this.videoContext.play();
                })
                
@@ -1378,6 +1378,10 @@
        top: 0;
        width: 100vw;
        height: 100vh;
        video{
            width: 100%;
            height: 100%;
        }
    }
    .Transfer_footer {
        display: flex;
h5/pages/staffLogin/forgetPsd.vue
@@ -6,14 +6,14 @@
    <view class="login_list">
      <view class="login_list_item">
        <image src="@/static/login_ic_phone@2x.png" mode="widthFix" />
        <input v-model="form.phone" maxlength="18" placeholder="请输入手机号" />
        <input v-model="form.phone"  type="tel" maxlength="18" placeholder="请输入手机号" />
      </view>
      <view class="login_list_item">
        <image src="@/static/ic_captcha.png" mode="widthFix"></image>
        <input
          v-model="form.validCode"
          placeholder="请输入验证码"
          type="text"
          type="number"
        />
        <text class="captcha" v-if="countDown == 0" @click="initCaptcha"
          >获取验证码</text
h5/pages/staffLogin/login.vue
@@ -6,7 +6,7 @@
    <view class="login_list">
      <view class="login_list_item">
        <image src="@/static/login_ic_phone@2x.png" mode="widthFix" />
        <input v-model="form.username" maxlength="18" @focus="showKeyboard = true" @blur="showKeyboard = false" placeholder="账号" />
        <input v-model="form.username" type="number" maxlength="18" @focus="showKeyboard = true" @blur="showKeyboard = false" placeholder="账号" />
      </view>
      <view class="login_list_item">
        <image src="@/static/login_ic_password@2x.png" mode="widthFix" />
h5/pages/waybill/home.vue
@@ -4,7 +4,7 @@
        <view class="login_wrap">
            <view class="item">
                <view class="la">手机号</view>
              <input v-model="form.phone" maxlength="18" placeholder-class="placeholder9" placeholder="请输入手机号" />
              <input v-model="form.phone" type="tel" maxlength="18" placeholder-class="placeholder9" placeholder="请输入手机号" />
            </view>
            <view class="item">
                <view class="la">验证码</view>
@@ -13,7 +13,7 @@
                    v-model="form.code"
                    placeholder="请输入验证码"
                      placeholder-class="placeholder9"
                    type="text"
                    type="number"
                  />
                  <text class="captcha" v-if="countDown == 0" @click="initCaptcha"
                    >获取验证码</text
h5/pages/waybill/list.vue
@@ -1,46 +1,49 @@
<template>
    <view class="main_app">
        <view class="head_wrap">
        <view class="head_wrap" @click="openModal">
            <view class="search_box">
                <image src="@/static/ic_search@2x.png" class="search" mode=""></image>
                <input type="text" placeholder-class="placeholder9" v-model="param.name" @confirm="handleQuery" />
                <!-- <input type="text" disabled placeholder-class="placeholder9" v-model="param.contractNumber" @confirm="handleQuery" /> -->
            </view>
            <view class="right" @click="openModal">
            <view class="right">
                <image src="@/static/ic_shaixuan@2x.png" mode=""></image>
                <text>筛选</text>
            </view>
        </view>
        <!--  -->
        <view class="main_list">
            <view class="item" v-for="item,index in list" :key="index">
                <view class="head">
                    <view class="code">{{item.contractNumber}}</view>
                    <view class="status">{{item.orderStatus}}</view>
                </view>
                <view class="content">
                    <view class="line">
                        <view class="la">发货地:</view>
                        <view class="val">{{item.fromRepertoty || '-'}}</view>
        <scroll-view scroll-y="true" class="scroll_Y" @scrolltolower="scrolltolower">
            <view class="main_list">
                <view class="item" v-for="item,index in list" :key="index">
                    <view class="head">
                        <view class="code">{{item.contractNumber}}</view>
                        <view class="status">{{item.orderStatusDesc }}</view>
                    </view>
                    <view class="line">
                        <view class="la">到货地:</view>
                        <view class="val">{{item.toRepertoty || '-'}}</view>
                    <view class="content">
                        <view class="line">
                            <view class="la">发货地:</view>
                            <view class="val">{{item.fromRepertoty || item.deliveryEnterprise || '-'}}</view>
                        </view>
                        <view class="line">
                            <view class="la">到货地:</view>
                            <view class="val">{{item.toRepertoty || item.receiveEnterprise || '-'}}</view>
                        </view>
                        <view class="line">
                            <view class="la">车牌号:</view>
                            <view class="val">{{item.plateNumber || item.plateName || '-'}}</view>
                        </view>
                    </view>
                    <view class="line">
                        <view class="la">车牌号:</view>
                        <view class="val">{{item.plateNumber || '-'}}</view>
                    <view class="footer">
                        <view class="time">{{item.ncCreateDate}}</view>
                        <view class="detail" @click="handleDetail(item)">查看详情</view>
                    </view>
                </view>
                <view class="footer">
                    <view class="time">{{item.ncCreateDate}}</view>
                    <view class="detail" @click="handleDetail(item)">查看详情</view>
                <view v-if="list.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 v-if="list.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>
        </scroll-view>
        <!--  -->
        <u-popup :show="showModal" round="12" @close="showModal = false">
            <view class="modal">
@@ -48,45 +51,47 @@
                <view class="line">
                    <view class="la">合同号</view>
                    <view class="val">
                        <input type="text" placeholder-class="placeholder9" v-model="form.contract" />
                        <input type="text" placeholder-class="placeholder9" v-model="form.contractNumber" />
                    </view>
                </view>
                <view class="line">
                    <view class="la">制单开始日期</view>
                    <view class="val" @click="showStarttime = true">
                        <text class="mr12"
                            :class="{placeholder9: !form.starttime}">{{ form.starttime ? form.starttime : '请选择' }}</text>
                            :class="{placeholder9: !form.ncCreateDateTimeStart}">{{ form.ncCreateDateTimeStart ? form.ncCreateDateTimeStart : '请选择' }}</text>
                        <u-icon name="arrow-right" size="14" color="#999999"></u-icon>
                    </view>
                </view>
                <view class="line">
                    <view class="la">制单结束日期</view>
                    <view class="val" @click="showEndtime = true">
                        <text class="mr12" :class="{placeholder9: !form.endtime}">{{ form.endtime ? form.endtime : '请选择' }}</text>
                        <text class="mr12"
                            :class="{placeholder9: !form.ncCreateDateTimeEnd}">{{ form.ncCreateDateTimeEnd ? form.ncCreateDateTimeEnd : '请选择' }}</text>
                        <u-icon name="arrow-right" size="14" color="#999999"></u-icon>
                    </view>
                </view>
                <view class="line">
                    <view class="la">发货地</view>
                    <view class="val">
                        <input type="text" placeholder-class="placeholder9" v-model="form.fromRepertoty" />
                        <input type="text" placeholder-class="placeholder9" v-model="form.deliveryEnterprise" />
                    </view>
                </view>
                <view class="line">
                    <view class="la">到货地</view>
                    <view class="val">
                        <input type="text" placeholder-class="placeholder9" v-model="form.toRepertoty" />
                        <input type="text" placeholder-class="placeholder9" v-model="form.receiveEnterprise" />
                    </view>
                </view>
                <view class="line">
                    <view class="la">省份</view>
                    <view class="val" @click="showPri = true">
                        <text class="mr12" :class="{placeholder9: !form.provinceName}">{{ form.provinceName ? form.provinceName : '请选择' }}</text>
                        <text class="mr12"
                            :class="{placeholder9: !form.provinceName}">{{ form.provinceName ? form.provinceName : '请选择' }}</text>
                        <u-icon name="arrow-right" size="14" color="#999999"></u-icon>
                    </view>
                </view>
                <view class="btns">
                    <view class="btn" @click="showModal = false">取消</view>
                    <view class="btn" @click="clear">取消</view>
                    <view class="btn sub" @click="modalSub">提交</view>
                </view>
            </view>
@@ -95,9 +100,9 @@
        <u-datetime-picker :show="showStarttime" v-model="form.starttime" mode="date" @confirm="confirmStart"
            @cancel="showStarttime = false"></u-datetime-picker>
        <u-datetime-picker :show="showEndtime" v-model="form.endtime" mode="date" @confirm="confirmEnd"
            @cancel="showEndtime = false"></u-datetime-picker>
        <u-picker :show="showPri" :columns="provinceList" @cancel="showPri = false" @confirm="confirmPro"></u-picker>
            @cancel="showEndtime = false"></u-datetime-picker>
        <u-picker :show="showPri" :columns="provinceList" @cancel="showPri = false" @confirm="confirmPro"></u-picker>
    </view>
</template>
@@ -116,7 +121,7 @@
                showModal: false,
                showStarttime: false,
                showEndtime: false,
                showEndtime: false,
                showPri: false,
                form: {},
                provinceList: [
@@ -128,61 +133,94 @@
                ]
            };
        },
        onLoad(options) {
            this.$set(this.param, 'phoneNumber', options.phone)
            this.$set(this.form, 'starttime', dayjs().format('YYYY/MM/DD'))
            const nextMonth = dayjs().add(1, 'month');
            this.$set(this.form, 'endtime', nextMonth.format('YYYY/MM/DD'))
        onLoad(options) {
            this.$set(this.param, 'phoneNumber', options.phone)
            this.getList()
        },
        methods: {
        methods: {
            clear() {
                this.param = {
                    phoneNumber: this.param.phoneNumber
                }
                this.form = {}
                this.page = 1
                this.list = []
                this.showModal = false
                this.getList()
            },
            modalSub() {
                this.handleQuery()
                this.showModal = false
            },
            openModal() {
                this.showModal = true
            },
            confirmPro(e) {
                this.$set(this.form, 'provinceName', e.value[0])
                this.showPri = false
                // this.$set(this.form, 'ncCreateDateTimeStart', dayjs().subtract(1, 'month').format('YYYY-MM-DD'))
                // const nextMonth = dayjs().add(1, 'month');
                // this.$set(this.form, 'ncCreateDateTimeEnd', dayjs().format('YYYY-MM-DD'))
            },
            confirmPro(e) {
                this.$set(this.form, 'provinceName', e.value[0])
                this.showPri = false
            },
            confirmStart(e) {
                this.$nextTick(() => {
                    this.$set(this.form, 'starttime', dayjs(e.value).format('YYYY/MM/DD'))
                    this.$set(this.form, 'ncCreateDateTimeStart', dayjs(e.value).format('YYYY-MM-DD'))
                })
                this.showStarttime = false
            },
            confirmEnd(e) {
                this.$nextTick(() => {
                    this.$set(this.form, 'endtime', dayjs(e.value).format('YYYY/MM/DD'))
                    this.$set(this.form, 'ncCreateDateTimeEnd', dayjs(e.value).format('YYYY-MM-DD'))
                })
                this.showEndtime = false
            },
            handleQuery() {
                this.page = 1
                this.list = []
                this.getList()
            },
            handleDetail(item) {
                uni.navigateTo({
                    url: '/pages/waybill/waybillDetail?id=' + item.contractNumber
                })
            handleDetail(item) {
                uni.navigateTo({
                    url: '/pages/waybill/waybillDetail?id=' + item.contractNumber
                })
            },
            scrolltolower() {
                const {
                    total,
                    list
                } = this
                if (list.length < total) {
                    this.page = this.page + 1
                    this.getList()
                } else {
                    this.showToast('暂无更多数据')
                }
            },
            getList() {
                const {
                    param,
                    form
                } = this
                if(form.contract){
                    form.contractNumber = [form.contract]
                }else{
                    form.contractNumber = null
                }
                    form,
                    page
                } = this
                // if (form.contract) {
                //     form.contractNumber = form.contract
                // } else {
                //     form.contractNumber = null
                // }
                orderListTms({
                    ...param,
                    ...form
                    parameters: {
                        ...param,
                        ...form
                    },
                    pager: {
                        rows: 10,
                        page
                    }
                }).then(res => {
                    this.list = res.data || []
                    this.total = res.data.total
                    if (res.data && res.data.rows) {
                        this.list = [...this.list, ...res.data.rows]
                        this.total = res.data.totalCount
                    }
                })
            }
        }
@@ -236,87 +274,92 @@
        }
    }
    .main_list {
    .scroll_Y {
        background-color: #f7f7f7;
        width: 750rpx;
        margin: 0 -30rpx;
        padding: 24rpx 30rpx;
        height: calc(100vh - 140rpx);
        .item {
            border-radius: 8rpx;
            margin-bottom: 20rpx;
            padding: 0 30rpx;
            background-color: #fff;
        height: calc(100vh - 130rpx);
            .head {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 0 30rpx;
                width: 690rpx;
                height: 84rpx;
                margin: 0 -30rpx;
                background: linear-gradient(270deg, #FEFEFF 0%, #E1F7FE 100%);
        .main_list {
            width: 750rpx;
            margin: 0 -30rpx;
            padding: 24rpx 30rpx;
                .code {
                    font-weight: 500;
                    font-size: 32rpx;
                    color: #222222;
                }
                .status {
                    color: $uni-color-primary;
                }
            }
            .content {
                padding: 20rpx 0rpx;
                border-bottom: 1rpx solid #E5E5E5;
            .item {
                border-radius: 8rpx;
                margin-bottom: 20rpx;
                padding: 0 30rpx;
                background-color: #fff;
                .line {
                .head {
                    display: flex;
                    margin-bottom: 16rpx;
                    font-size: 26rpx;
                    justify-content: space-between;
                    align-items: center;
                    padding: 0 30rpx;
                    width: 690rpx;
                    height: 84rpx;
                    margin: 0 -30rpx;
                    background: linear-gradient(270deg, #FEFEFF 0%, #E1F7FE 100%);
                    .la {
                        color: #666666;
                    .code {
                        font-weight: 500;
                        font-size: 32rpx;
                        color: #222222;
                    }
                    .val {}
                    &:nth-last-child(1) {
                        margin-bottom: 0;
                    .status {
                        color: $uni-color-primary;
                    }
                }
            }
            .footer {
                display: flex;
                justify-content: space-between;
                align-items: center;
                font-size: 26rpx;
                color: #999999;
                padding-bottom: 20rpx;
                .content {
                    padding: 20rpx 0rpx;
                    border-bottom: 1rpx solid #E5E5E5;
                    margin-bottom: 20rpx;
                .detail {
                    width: 168rpx;
                    height: 60rpx;
                    background: #FFFFFF;
                    border-radius: 30rpx;
                    border: 1rpx solid $uni-color-primary;
                    color: $uni-color-primary;
                    .line {
                        display: flex;
                        margin-bottom: 16rpx;
                        font-size: 26rpx;
                        .la {
                            color: #666666;
                        }
                        .val {}
                        &:nth-last-child(1) {
                            margin-bottom: 0;
                        }
                    }
                }
                .footer {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    justify-content: center;
                    font-size: 26rpx;
                    color: #999999;
                    padding-bottom: 20rpx;
                    .detail {
                        width: 168rpx;
                        height: 60rpx;
                        background: #FFFFFF;
                        border-radius: 30rpx;
                        border: 1rpx solid $uni-color-primary;
                        color: $uni-color-primary;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        font-size: 26rpx;
                    }
                }
            }
        }
    }
    .modal {
        .modal_title {
            height: 112rpx;
h5/pages/waybill/waybillDetail.vue
@@ -1,235 +1,350 @@
<template>
    <view class="main_app">
        <image class="bg" src="@/static/wuliuche_bg@2x.png" mode="widthFix"></image>
        <view class="info">
            <view class="head">
                <view class="code">{{info.contractNumber}}</view>
                <view class="status">{{info.orderStatus}}</view>
            </view>
            <view class="content">
                <view class="line">
                    <view class="la">发货地</view>
                    <view class="val">{{info.fromRepertoty || '-'}}</view>
        <!-- <image class="bg" src="@/static/wuliuche_bg@2x.png" mode="widthFix"></image> -->
        <map id="map" :latitude="latitude" :longitude="longitude" :polyline="polyline" :markers="markers" :scale="4">
        </map>
        <view class="main_content">
            <view class="info">
                <view class="head">
                    <view class="code">{{info.contractNumber}}</view>
                    <view class="status">{{info.orderStatusDesc}}</view>
                </view>
                <view class="line">
                    <view class="la">到货地</view>
                    <view class="val">{{info.toRepertoty || '-'}}</view>
                </view>
                <view class="line">
                    <view class="la">车牌号</view>
                    <view class="val">{{info.plateNumber || '-'}}</view>
                </view>
                <view class="line">
                    <view class="la">司机信息</view>
                    <view class="val">{{ '-'}}</view>
                </view>
                <view class="line">
                    <view class="la">车辆位置</view>
                    <view class="val">{{ '-'}}</view>
                </view>
                <view class="line">
                    <view class="la">预计到达</view>
                    <view class="val">{{'-'}}</view>
                <view class="content">
                    <view class="line">
                        <view class="la">发货地</view>
                        <view class="val">{{info.deliveryEnterprise || '-'}}</view>
                    </view>
                    <view class="line">
                        <view class="la">到货地</view>
                        <view class="val">{{info.receiveEnterprise || '-'}}</view>
                    </view>
                    <view class="line">
                        <view class="la">车牌号</view>
                        <view class="val">{{info.plateName || '-'}}</view>
                    </view>
                    <view class="line">
                        <view class="la">司机信息</view>
                        <view class="val" @click="callPhone(info.driverTel)">{{ info.driverName  }} <text class="primaryColor ml12">{{info.driverTel}}</text> </view>
                    </view>
                    <view class="line">
                        <view class="la">车辆位置</view>
                        <view class="val">{{'-'}}</view>
                    </view>
                    <view class="line">
                        <view class="la">预计到达</view>
                        <view class="val">{{info.plannedArrivedDate}}</view>
                    </view>
                </view>
            </view>
        </view>
        <view class="drive_info">
            <view class="title">物流信息</view>
<!--             <view class="item">
                <view class="h2">
                    <view class="icon_wrap"><image src="@/static/driver/ic_mostarted.png" class="icon"></image></view>
                    <view class="text">到达卸货地</view>
            <view class="drive_info">
                <view class="title">物流信息</view>
                <view class="drive_list" v-for="dri,k in info.cicleStatusList">
                    <view class="separate"></view>
                    <view class="item_title">
                        <view class="icon_wrap">
                            <image v-if="dri.key == 0 && k != 0" src="@/static/waybill/ic_dingdan@2x.png" class="icon"></image>
                            <image v-if="dri.key == 0 && k == 0" src="@/static/waybill/ic_dingdan_sel@2x.png" class="icon"></image>
                            <image v-if="dri.key == 1 && k != 0" src="@/static/waybill/ic_peizai@2x.png" class="icon"></image>
                            <image v-if="dri.key == 1 && k == 0" src="@/static/waybill/ic_peizai_sel@2x.png" class="icon"></image>
                            <image v-if="dri.key == 2 && k != 0" src="@/static/waybill/ic_cangku@2x.png" class="icon"></image>
                            <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" 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>
                        <view class="" :class="{primaryColor: k == 0}">{{dri.name}}</view>
                    </view>
                    <view class="item" v-for="item,i in dri.secondList">
                        <view class="h2" v-if="item.orderStatusDes">
                            <view class="icon_wrap"  v-if="i != 0">
                                <image src="@/static/driver/ic_mostarted.png" class="icon"></image>
                            </view>
                            <view v-else class="icon_wrap"></view>
                            <view class="text" :class="{placeholder3: k==0 && i== 0}" >
                                {{item.orderStatusDes}}
                                <text v-if="item.tel">,发货仓库电话:</text>
                                <text v-if="item.tel" @click="callPhone(item.tel)" class="primaryColor">{{item.tel}}</text>
                            </view>
                        </view>
                        <view class="time">{{item.recordDate}}</view>
                    </view>
                </view>
                <view class="time">202422222222</view>
                <view class="separate"></view>
            </view>
            <view class="item">
                <view class="h2 h1">
                    <view class="icon_wrap"><image src="@/static/driver/ic_dangqian.png" class="icon"></image></view>
                    <view class="text">到达卸货地</view>
                </view>
                <view class="time">202422222222</view>
                <view class="separate separate_ac"></view>
            </view>
            <view class="item">
                <view class="h2">
                    <view class="icon_wrap"><image src="@/static/driver/ic_mostarted.png" class="icon"></image></view>
                    <view class="text">到达卸货地</view>
                </view>
                <view class="time">202422222222</view>
                <view class="separate"></view>
            </view> -->
        </view>
        </view>
    </view>
</template>
<script>
    import { orderInfoTms } from '@/api'
<script>
    import {
        orderInfoTms
    } from '@/api'
    export default {
        data() {
            return {
                id: '',
                info: {},
                param: {}
                id: '',
                info: {},
                param: {},
                latitude: 31.783205,
                longitude: 117.262635,
                markers: [],
                includePoints: [
                    // {latitude: 31.783205, longitude: 117.262635}, {latitude: 36.783205, longitude: 118.10},
                ],
                polyline: [
                    // {
                    //     points: [{
                    //         latitude: 31.783205,
                    //         longitude: 117.262635
                    //     }, {
                    //         latitude: 36.783205,
                    //         longitude: 118.10
                    //     }],
                    //     color: '#FF0000',
                    //     width: 3
                    // },
                ]
            };
        },
        onLoad(options) {
            this.id = options.id
            this.getDetail()
        },
        methods: {
            getDetail() {
                orderInfoTms({ contractNumber: this.id }).then(res => {
                    this.info = res.data
                })
        },
        onLoad(options) {
            this.id = options.id
            this.getDetail()
        },
        methods: {
            getDetail() {
                orderInfoTms({
                    contractNumber: this.id
                }).then(res => {
                    this.info = res.data
                    if (res.data.deliveryLat && res.data.receiveLat) {
                        this.markers = []
                        this.markers.push({
                            id: 1,
                            latitude: res.data.deliveryLat,
                            longitude: res.data.deliveryLon,
                            width: 36,
                            iconPath: '/static/driver/ic_fahuodi@2x.png',
                            label: {
                                content: ' ',
                                padding: 3,
                                borderWidth: 2,
                                borderRadius: '50%',
                                borderColor: '#fff',
                                borderRadius: 32,
                                bgColor: '#FF0000'
                            }
                        })
                        this.markers.push({
                            id: 2,
                            latitude: res.data.receiveLat,
                            longitude: res.data.receiveLon,
                            width: 36,
                            iconPath: '/static/driver/ic_huowu@2x.png',
                            label: {
                                content: ' ',
                                padding: 3,
                                borderWidth: 2,
                                borderRadius: '50%',
                                borderColor: '#fff',
                                borderRadius: 32,
                                bgColor: '#FF0000'
                            }
                        })
                        this.latitude = (Number(this.markers[0].latitude) + Number(this.markers[1].latitude)) / 2 - 8
                        this.longitude = (Number(this.markers[0].longitude) + Number(this.markers[1].longitude)) / 2
                    }
                    if (res.data && res.data.gisList && res.data.gisList.length > 0) {
                        this.gisInfo = res.data.gisList[0]
                    }
                })
            },
            callPhone(phone){
                uni.makePhoneCall({
                    phoneNumber: phone
                });
            }
        }
    }
</script>
<style lang="scss" scoped>
    page{
        background-color: #f7f7f7;
<style lang="scss" scoped>
    page {
        background-color: #f7f7f7;
    }
    .main_app{
        padding-top: 120rpx;
        .bg{
            width: 750rpx;
            position: absolute;
            left: 0;
            top: 0;
        }
        .drive_info{
            background: #fff;
            border-radius: 16rpx;
            padding: 30rpx;
            margin-bottom: 20rpx;
            .title{
                font-weight: 500;
                font-size: 32rpx;
                color: #222222;
                margin-bottom: 20rpx;
            }
            .line{
                display: flex;
                margin-bottom: 24rpx;
                .label{
                    color: #666666;
                    margin-right: 40rpx;
                }
                .val{
                }
            }
            .item{
                position: relative;
                color: #999999;
                margin-bottom: 30rpx;
                .h2{
                    display: flex;
                    align-items: center;
                    height: 48rpx;
                    .icon_wrap{
                        width: 48rpx;
                        margin-right: 30rpx;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        .icon{
                            width: 24rpx;
                            height: 24rpx;
                            position: relative;
                            z-index: 2;
                        }
                    }
                }
                .h1{
                    .icon_wrap{
                        .icon{
                            width: 48rpx;
                            height: 48rpx;
                        }
                    }
                }
                .time{
                    padding-left: 78rpx;
                    font-size: 24rpx;
                    margin-top: 6rpx;
                }
                .separate{
                    height: calc( 100% );
                    width: 1rpx;
                    border: 1rpx dashed #666666;
                    position: absolute;
                    left: 22rpx;
                    top: 24rpx;
                    z-index: 1;
                }
                .separate_ac{
                    top: 48rpx;
                }
            }
        }
        .info {
            border-radius: 12rpx;
            margin-bottom: 20rpx;
            padding: 0 30rpx;
            background-color: #fff;
            overflow: hidden;
    .main_app {
        padding: 0;
        padding-top: 45vh;
        .main_content{
            height: 55vh ;
            overflow: auto;
            padding: 20rpx 30rpx 0;
            position: relative;
            z-index: 1;
            .head {
            z-index: 999;
        }
        #map {
            width: 750rpx;
            position: absolute;
            left: 0;
            top: 0;
            height: 105vh;
            ::v-deep .amap-marker-label {
                top: 36px !important;
                left: 12px !important;
                border: 3px solid #fff !important;
                border-radius: 50%;
                box-shadow: #222222 0px 0px 1px;
            }
        }
        .drive_info {
            background: #fff;
            border-radius: 16rpx;
            padding: 30rpx;
            margin-bottom: 20rpx;
            position: relative;
            z-index: 999;
            .separate {
                height: calc( 100% - 250rpx );
                width: 1rpx;
                border: 1rpx dashed #CCCCCC;
                position: absolute;
                left: 53rpx;
                top: 102rpx;
                z-index: -1;
            }
            .title {
                font-weight: 500;
                font-size: 32rpx;
                color: #222222;
                margin-bottom: 20rpx;
            }
            .line {
                display: flex;
                margin-bottom: 24rpx;
                .label {
                    color: #666666;
                    margin-right: 40rpx;
                }
                .val {}
            }
            .item_title{
                font-weight: 600;
                font-size: 32rpx;
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 0 30rpx;
                width: 690rpx;
                height: 84rpx;
                margin: 0 -30rpx;
                background: linear-gradient( 270deg, #FEFEFF 0%, #E1F7FE 100%);
                .code {
                    font-weight: 500;
                    font-size: 32rpx;
                    color: #222222;
                }
                .status {
                    color: $uni-color-primary;
                }
            }
            .content {
                padding: 20rpx 0rpx;
                margin-bottom: 20rpx;
                .line {
                    display: flex;
                    margin-bottom: 16rpx;
                    font-size: 26rpx;
                    .la {
                        color: #666666;
                        width: 140rpx;
                    }
                    .val {}
                    &:nth-last-child(1) {
                        margin-bottom: 0;
                    }
            .icon_wrap {
                width: 48rpx;
                margin-right: 30rpx;
                display: flex;
                align-items: center;
                justify-content: center;
                .icon {
                    width: 48rpx;
                    height: 48rpx;
                    position: relative;
                    z-index: 2;
                }
            }
        }
            }
            .item {
                position: relative;
                color: #999999;
                margin-bottom: 30rpx;
                .text{
                    color: #666666;
                }
                .icon {
                    width: 20rpx;
                    height: 20rpx;
                    position: relative;
                    z-index: 2;
                }
                .h2 {
                    display: flex;
                    align-items: center;
                    height: 48rpx;
                }
                .h1 {
                }
                .time {
                    padding-left: 78rpx;
                    font-size: 24rpx;
                    margin-top: 6rpx;
                }
            }
        }
        .info {
            border-radius: 12rpx;
            margin-bottom: 20rpx;
            padding: 0 30rpx;
            background-color: #fff;
            overflow: hidden;
            position: relative;
            z-index: 1;
            .head {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 0 30rpx;
                width: 690rpx;
                height: 84rpx;
                margin: 0 -30rpx;
                background: linear-gradient(270deg, #FEFEFF 0%, #E1F7FE 100%);
                .code {
                    font-weight: 500;
                    font-size: 32rpx;
                    color: #222222;
                }
                .status {
                    color: $uni-color-primary;
                }
            }
            .content {
                padding: 20rpx 0rpx;
                margin-bottom: 20rpx;
                .line {
                    display: flex;
                    margin-bottom: 16rpx;
                    font-size: 28rpx;
                    .la {
                        color: #666666;
                        width: 140rpx;
                    }
                    .val {}
                    &:nth-last-child(1) {
                        margin-bottom: 0;
                    }
                }
            }
        }
    }
    .main_bg {
        position: absolute;
        left: 0;
    .main_bg {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        z-index: -1;
        width: 100%;
        z-index: -1;
        color: #222222;
    }
</style>
h5/static/driver/ic_fahuodi@2x.png
h5/static/driver/ic_huowu@2x.png
h5/static/driver/map_point@2x.png
h5/static/waybill/ic_cangku@2x.png
h5/static/waybill/ic_cangku_sel@2x.png
h5/static/waybill/ic_dangqian@2x.png
h5/static/waybill/ic_daohuo_sel@2x.png
h5/static/waybill/ic_dingdan@2x.png
h5/static/waybill/ic_dingdan_sel@2x.png
h5/static/waybill/ic_peizai@2x.png
h5/static/waybill/ic_peizai_sel@2x.png
h5/static/waybill/ic_ruku.png
h5/static/waybill/ic_yunshu@2x.png
h5/static/waybill/ic_yunshu_sel@2x.png
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/views/LogisticsEfficiency.vue
@@ -30,14 +30,22 @@
              <div class="content">
                <div class="num" v-if="data1.monthOutTotal || data1.yearOutTotal">{{ activeTab1 == 0 ?
                  data1.monthOutTotal.toLocaleString() : data1.yearOutTotal.toLocaleString() }}</div>
                <div class="unit_wrap" v-if="data1.monthOutTotalOnYear || data1.yearOutTotalOnYear">
                  <span style="color: #869CC9;">同比</span>
                  <img
                    v-if="(activeTab1 == 0 && data1.monthOutTotalOnYear > 0) || (activeTab1 == 1 && data1.yearOutTotalOnYear > 0)"
                    src="@/assets/images/ic_up.png" class="icon" alt="">
                  <img v-else src="@/assets/images/ic_down.png" class="icon" alt="">
                  <span>{{ activeTab1 == 0 ? Math.abs(data1.monthOutTotalOnYear) : Math.abs(data1.yearOutTotalOnYear)
                    }}%</span>
                <div class="unit_wrap">
                  <span style="color: #869CC9;">{{ activeTab1 == 0 ? '同比' : '环比' }}</span>
                  <template v-if="activeTab1 == 0 && data1.monthLastOutTotal">
                    <img v-if="data1.monthOutTotal > data1.monthLastOutTotal" src="@/assets/images/ic_up.png"
                      class="icon" alt="">
                    <img v-else src="@/assets/images/ic_down.png" class="icon" alt="">
                  </template>
                  <template v-if="activeTab1 == 1 && data1.yearLastOutTotal">
                    <img v-if="data1.yearOutTotal > data1.yearLastOutTotal" src="@/assets/images/ic_up.png"
                      class="icon" alt="">
                    <img v-else src="@/assets/images/ic_down.png" class="icon" alt="">
                  </template>
                  <span v-if="activeTab1 == 0 && data1.monthLastOutTotal">{{ Math.abs((((data1.monthOutTotal - data1.monthLastOutTotal)/data1.monthLastOutTotal) * 100).toFixed(1)) }}%</span>
                  <span v-else-if="activeTab1 == 1 && data1.yearLastOutTotal">{{ Math.abs((((data1.yearOutTotal - data1.yearLastOutTotal)/data1.yearLastOutTotal) * 100).toFixed(1)) }}%</span>
                  <span v-else>-</span>
                </div>
              </div>
              <div class="train_wrap">
@@ -166,7 +174,7 @@
              <div ref="echartMap" class="echart_map" id="echartMap"></div>
            </div>
            <div class="warnning_info">
              <div class="head" @click="isShowCarW = !isShowCarW">
              <div class="head" @click="isShowCarW = !isShowCarW">
                <img src="../assets/images/FireFighting/fire_right.png" alt="">
                <span>车辆报警</span>
              </div>
@@ -199,7 +207,7 @@
                <img src="@/assets/images/energy_ef/ic_chukuxiaolv@2x.png" alt="">
                <div class="content">
                  <div class="name">出库效率</div>
                  <div class="num"><span>{{ activeTab12 == 0 ? data1.todayInRata : data1.monthInRata }}</span>万支/小时
                  <div class="num"><span>{{ activeTab12 == 0 ? data1.todayOutRate : data1.monthOutRate }}</span>万支/小时
                  </div>
                </div>
              </div>
@@ -207,7 +215,7 @@
                <img src="@/assets/images/energy_ef/ic_rukuxiaolv@2x.png" alt="">
                <div class="content">
                  <div class="name">入库效率</div>
                  <div class="num"><span class="today">{{ activeTab12 == 0 ? data1.monthOutTotal : data1.yearOutTotal
                  <div class="num"><span class="today">{{ activeTab12 == 0 ? data1.todayInRate : data1.monthInRate
                      }}</span>万支/小时</div>
                </div>
              </div>
@@ -581,7 +589,7 @@
    return {
      name: item.terminalId,
      img: item.status == 0 ? icLixian : item.status == 1 || item.status == 2 ? icZaitu : icKongxian,
      data: [{code: item.plateNum, value: [item.longitude,item.latitude]}]
      data: [{ code: item.plateNum, value: [item.longitude, item.latitude] }]
    }
  })
  // var scatterData = [
@@ -771,7 +779,7 @@
  myChart.setOption(option)
  myChart.on('click', function (params) {
    const item = params.data
    getCarsJobDetails({carCode: item.code}).then(res => {
    getCarsJobDetails({ carCode: item.code }).then(res => {
      activeCar.value = res.data
    })
  })
@@ -813,7 +821,7 @@
    const result = res.data || []
    dataList2.value = result
    dataList2.value.forEach(item => {
      item.planDateStrT = activeTab2.value == 2 ? dayjs(item.planDateStr).format('M') : dayjs(item.planDateStr).format('M.D')
      item.planDateStrT = activeTab2.value == 2 ? dayjs(item.planDate).format('M') : dayjs(item.planDate).format('M.D')
    })
    initEnergy()
  })
@@ -865,7 +873,7 @@
      return i
    })
    dataList5.value.forEach(i => {
      i.rate = ((i.num / count) * 100).toFixed(0)
      i.rate = count == 0 ? 0 : ((i.num / count) * 100).toFixed(0)
    })
    data5.value = count
    initEchart1()
@@ -874,7 +882,7 @@
const dataList6 = ref([])
const getData6 = () => {
  wlstockList().then(res => {
    const result = res.data
    const result = res.data.stockList || []
    dataList6.value = result
  })
}
@@ -1252,6 +1260,7 @@
        bottom: 0;
        border-top: 1px solid #5ecbce;
        border-bottom: 1px solid #5ecbce;
        .head {
          display: flex;
          width: 280px;
@@ -1264,6 +1273,7 @@
          font-weight: bold;
          font-size: 16px;
          cursor: pointer;
          img {
            width: 14px;
            margin-right: 10px;
@@ -1273,19 +1283,23 @@
        .war_list {
          max-height: 300px;
          overflow: auto;
          .line {
            font-size: 13px;
            color: #D2E0FF;
            display: flex;
            align-items: center;
            height: 30px;
            div{
            div {
              flex: 3;
            }
            .id_card{
            .id_card {
              color: #00F2F3;
            }
            .title{
            .title {
              flex: 4;
            }
          }