h5/pages/waybill/waybillDetail.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
h5/static/ic_tips@2x.png | 补丁 | 查看 | 原始文档 | blame | 历史 | |
h5_meeting/pages/index/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
h5_meeting/utils/config.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
screen/src/assets/images/LogisticsCenter/ic_hetong@2x.png | 补丁 | 查看 | 原始文档 | blame | 历史 | |
screen/src/assets/images/LogisticsCenter/ic_tips@2x.png | 补丁 | 查看 | 原始文档 | blame | 历史 | |
screen/src/views/EnergyConsum.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
screen/src/views/LogisticsCenter.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
h5/pages/waybill/waybillDetail.vue
@@ -5,6 +5,10 @@ </map> <view class="main_content"> <view class="stock_status" v-if="info.overStock && info.overStock == 1"> <image src="@/static/ic_tip@2x.png" mode=""></image> <view class="">因库存不足,订单暂时无法配载</view> </view> <view class="info"> <view class="head"> <view class="code">{{info.contractNumber}}</view> @@ -350,7 +354,24 @@ } } } .stock_status{ background: #FFEEEE; font-size: 26rpx; color: #ED4545; display: flex; align-items: center; border-radius: 8rpx 8rpx 0rpx 0rpx; height: 80rpx; position: relative; z-index: 1; padding: 0 30rpx 4rpx; top: 8rpx; image{ width: 28rpx; height: 28rpx; margin-right: 10rpx; } } .info { border-radius: 12rpx; margin-bottom: 20rpx; @@ -359,7 +380,6 @@ overflow: hidden; position: relative; z-index: 1; .head { display: flex; justify-content: space-between; h5/static/ic_tips@2x.png
h5_meeting/pages/index/index.vue
@@ -22,6 +22,7 @@ v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 5">已撤销</text> </view> <view v-if="meetingInfo.meetingName" class="meeting_name">{{meetingInfo.meetingName}}</view> <view class=""> <view v-if="meetingInfo.meetingTime && meetingInfo.bookingUser" class="meeting_con"> <view class="content"> <view class="line"> @@ -33,8 +34,21 @@ <text>预约人:{{meetingInfo.bookingUser }}</text> </view> </view> <view v-show="showQrbg" class="qrcode_wrap"> <canvas id="qrcode" canvas-id="qrcode" class="qrcode"></canvas> </view> </view> <view v-if="meetingInfo.meetingTime && meetingInfo.bookingUser && showQrbg" class="qrcode_box"> <view class="text" v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 1"> 微信扫一扫开始会议</view> <view class="text" v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 4"> 微信扫一扫开始会议</view> <view class="text" v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 2"> 微信扫一扫结束会议</view> </view> </view> <view class="meeting_wrap"> @@ -62,13 +76,17 @@ v-if="info.fileType == 0 && (info.meetingListResponseList == null || info.meetingListResponseList.length == 0)" class="swiper" circular autoplay indicator-dots> <swiper-item v-for="item in info.multifileList"> <image class="swiper_item" :src="!param.officeFlag || param.officeFlag == '0' ? item.localFileurlFull : item.fileurlFull" mode="aspectFill"></image> <image class="swiper_item" :src="!param.officeFlag || param.officeFlag == '0' ? item.localFileurlFull : item.fileurlFull" mode="aspectFill"></image> </swiper-item> </swiper> <!-- --> <template v-if="info.fileType == 1 && info.multifileList && info.multifileList.length > 0 && (info.meetingListResponseList == null || info.meetingListResponseList.length == 0)"> <video :src="!param.officeFlag || param.officeFlag == '0' ? info.multifileList[0].localFileurlFull : info.multifileList[0].fileurlFull" class="app_video" :autoplay="true" loop :controls="false"></video> <video :src="!param.officeFlag || param.officeFlag == '0' ? info.multifileList[0].localFileurlFull : info.multifileList[0].fileurlFull" class="app_video" :autoplay="true" loop :controls="false"></video> </template> </view> </template> @@ -239,13 +257,13 @@ display: flex; flex-direction: column; justify-content: space-between; padding-bottom: 42rpx; padding-bottom: 34rpx; color: #fff; overflow: hidden; .meeting_wrap { margin-left: 42rpx; margin-top: 85rpx; // margin-top: 60rpx; .title { font-weight: 500; @@ -322,6 +340,7 @@ justify-content: space-between; align-items: center; padding: 0 42rpx; padding-right: 64rpx; .content { .line { @@ -339,6 +358,7 @@ } } .qrcode_wrap { width: 110px; height: 110px; @@ -355,19 +375,35 @@ } .qrcode_box { width: 100%; display: flex; justify-content: flex-end; color: rgba(255, 255, 255, 0.6); padding-right: 64rpx; margin-top: 18rpx; .text { width: 110px; text-align: center; font-size: 22rpx; // transform: scale(.84); } } .meeting_name { margin-bottom: 12rpx; font-weight: bold; font-size: 49rpx; padding-left: 42rpx; padding-right: 64rpx; } .home_status { font-weight: bold; font-size: 125rpx; margin: 70rpx 42rpx; line-height: 185rpx; height: 185rpx; margin: 140rpx 42rpx 22rpx; line-height: 125rpx; height: 125rpx; } .orange { h5_meeting/utils/config.js
@@ -2,6 +2,7 @@ // export const baseUrl = 'gateway_interface/' // export const baseUrl = 'http://192.168.5.13/gateway_interface/' export const baseUrl = 'http://192.168.0.173/gateway_interface/' // export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/' export const statusMap = { 0: '待确认', screen/src/assets/images/LogisticsCenter/ic_hetong@2x.png
screen/src/assets/images/LogisticsCenter/ic_tips@2x.png
screen/src/views/EnergyConsum.vue
@@ -195,7 +195,7 @@ </template> <div class="bottom_wrap" v-if="data1.yesterdayElectricity"> <div class="bottom bottom1" @click="changeacDay(3)"> <div :class="{ active: activeDays == 3 }" class="num fs_linear">{{ data1.yesterdayElectricity.total || 0 <div :class="{ active: activeDays == 3 }" class="num fs_linear">{{ dataObj6.obj1.total || 0 }}</div> <div class="name">昨日用电</div> <div class="unit">kw·h</div> @@ -203,14 +203,14 @@ <img v-else src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" /> </div> <div class="bottom bottom2" @click="changeacDay(1)"> <div :class="{ active: activeDays == 1 }" class="num">{{ data1.todayElectricity.total || 0 }}</div> <div :class="{ active: activeDays == 1 }" class="num">{{ dataObj6.obj2.total || 0 }}</div> <div class="name">今日用电</div> <div class="unit">kw·h</div> <img v-if="activeDays == 1" src="@/assets/images/ic_dianliang@2x.png" class="bg" alt="" /> <img v-else src="@/assets/images/ic_dianliang_b@2x.png" class="bg" alt="" /> </div> <div class="bottom bottom3" @click="changeacDay(2)"> <div :class="{ active: activeDays == 2 }" class="num fs_linear">{{ data1.monthElectricity.total || 0 }} <div :class="{ active: activeDays == 2 }" class="num fs_linear">{{ dataObj6.obj3.total || 0 }} </div> <div class="name">本月用电</div> <div class="unit">kw·h</div> @@ -559,15 +559,56 @@ }) } const activeDays = ref('1') const data6 = ref({}) const data6 = ref([]) const dataObj6 = ref({ obj1: { total: 0 }, obj2: { total: 0 }, obj3: { total: 0 }, }) const changeacDay = (val) => { activeDays.value = val getData6() if (val == 3) { data6.value = dataObj6.value.obj1.list } else if (val == 1) { data6.value = dataObj6.value.obj2.list } else { data6.value = dataObj6.value.obj3.list } } const getData6 = () => { regionDataRanking({ type: activeDays.value }).then(res => { const result = res.data || {} data6.value = result let obj = { obj1: { list: [], total: 0 }, obj2: { list: [], total: 0 }, obj3: { list: [], total: 0 }, } regionDataRanking({ type: 3 }).then(res => { let arr = res.data || [] obj.obj1.list = arr arr.forEach(i => { obj.obj1.total += Number(i.value) }) obj.obj1.total = obj.obj1.total.toFixed(1) dataObj6.value = obj }) regionDataRanking({ type: 1 }).then(res => { let arr = res.data || [] obj.obj2.list = arr arr.forEach(i => { obj.obj2.total += Number(i.value) }) obj.obj2.total = obj.obj2.total.toFixed(1) dataObj6.value = obj changeacDay(1) }) regionDataRanking({ type: 2 }).then(res => { let arr = res.data || [] obj.obj3.list = arr arr.forEach(i => { obj.obj3.total += Number(i.value) }) obj.obj3.total = obj.obj3.total.toFixed(1) dataObj6.value = obj }) } screen/src/views/LogisticsCenter.vue
@@ -30,11 +30,8 @@ <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 class="title">累计出库量统计说明:</div> <div>累计出库量:所有物流出库作业数据(包含联营加工(回运、落地销售)、前置库移库(成都/临沂)等所有出库作业数据)</div> </div> </div> </div> @@ -48,11 +45,22 @@ </div> <div class="content_wrap"> <div class="num_wrap"> <div class="question1"> <div class="hover_con"> <div class="num_list" v-if="StockOutData.currentNum || StockOutData.currentNum == 0"> <div class="num" v-for="i in StockOutData.currentNum + ''"> {{ i }} <img class="bg" src="@/assets/images/LogisticsCenter/bg_number@2x.png" alt=""> </div> </div> <div class="hover_wrap"> <div class="triangle"></div> <div class="title">调拨出库量:{{ StockOutData.currentProvinceNum || 0 }}箱</div> <div class="title">其他出库量:{{ StockOutData.currentOtherNum || 0 }}箱</div> </div> </div> </div> <div class="content"> <div class="unit_wrap"> @@ -125,7 +133,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.createDate || '-' }}</span> </div> </div> </div> @@ -172,7 +180,7 @@ <div class="name">当前订单量</div> <div class="num"><span class="blue" v-if="cneterData.currentOrderNum || cneterData.currentOrderNum == 0">{{ cneterData.currentOrderNum.toFixed(0) }}</span>箱</div> cneterData.currentOrderNum }}</span>箱</div> </div> </div> <div class="item"> @@ -180,7 +188,7 @@ <div class="content"> <div class="name">当前任务量</div> <div class="num"><span v-if="cneterData.currentPlanNum || cneterData.currentPlanNum == 0">{{ cneterData.currentPlanNum.toFixed(0) }}</span>箱</div> cneterData.currentPlanNum }}</span>箱</div> <div class="unit">车次:{{ cneterData.currentPlanCarNum }}</div> </div> </div> @@ -190,7 +198,7 @@ <div class="name">今日出库量</div> <div class="num"><span v-if="cneterData.crrentOutNum || cneterData.crrentOutNum == 0" class="finish">{{ cneterData.crrentOutNum.toFixed(0) }}</span>箱</div> cneterData.crrentOutNum }}</span>箱</div> <div class="unit">车次:{{ cneterData.crrentOutCarNum }}</div> </div> </div> @@ -200,7 +208,7 @@ <div class="name">剩余任务量</div> <div class="num"><span v-if="cneterData.crrentRestNum || cneterData.crrentRestNum == 0" class="today">{{ cneterData.crrentRestNum.toFixed(0) }}</span>箱</div> cneterData.crrentRestNum }}</span>箱</div> <div class="unit">车次:{{ cneterData.crrentRestCarNum }}</div> </div> </div> @@ -342,7 +350,7 @@ 全省: <span>{{ data7.currentNum }}</span> <span class="unit">辆 | </span> <span v-if="data7.totalNum">{{ ((data7.currentNum / data7.totalNum) * 100).toFixed(1) }}%</span> <span v-if="data7.totalNum">{{ (data7.useRate * 100).toFixed(1) }}%</span> </div> </div> <div class="echart5_wrap"> @@ -355,10 +363,14 @@ <div class="modal_wrap" v-if="showModal"> <div class="title_head"> <div class="left"> <img src="@/assets/images/energy_ef/chuku_ic_car@2x.png" alt=""> <img src="@/assets/images/LogisticsCenter/ic_hetong.png" alt=""> <span>合同号:{{ modalInfo.contractNumber }}</span> </div> <div class="tit_status">{{ modalInfo.orderStatusDesc }}</div> </div> <div v-if="modalInfo.overStock && modalInfo.overStock == 1" class="stock"> <img src="@/assets/images/LogisticsCenter/ic_tips@2x.png" alt=""> <span>因库存不足,订单暂时无法配载</span> </div> <div class="info"> <div class="item"> @@ -1062,8 +1074,8 @@ isLoadingTask.value = false let temp = res.data.rows || [] transportTask.value = temp.map(item => { if (item.transportDate) { item.transportDate = item.transportDate.slice(5, 16) if (item.createDate) { item.createDate = item.createDate.slice(5, 16) } return item }) @@ -1103,6 +1115,15 @@ label: { show: false, position: 'center' }, emphasis: { // 设置悬浮时样式为空 scale: false, // 关闭放大效果 itemStyle: { shadowBlur: 0, // 阴影模糊度为 0 shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0)', }, }, color: colors, labelLine: { @@ -1742,7 +1763,7 @@ }, barBorderRadius: [30, 30, 0, 0], }, data: data7.value.detailList.map(i => i.totalNum) data: data7.value.detailList.map(i => (i.totalNum - i.zaituNum)) }, { name: '当日提报运力', @@ -1850,7 +1871,7 @@ initialSlide: 0, direction: 'vertical', //竖直方向 slidesPerView: 5, autoplay: autoplayFlag(transportTask.value, 5, 4000), autoplay: autoplayFlag(transportTask.value, 5, 6000), observer: true, //修改swiper自己或子元素时,自动初始化swiper }) } @@ -2459,7 +2480,7 @@ z-index: 999; top: -5px; width: 407px; height: 134px; height: 148px; background: rgba(0, 30, 63, 0.6); border: 1px solid #003F82; backdrop-filter: blur(3px); @@ -2469,6 +2490,10 @@ line-height: 19px; font-weight: 400; border-radius: 6px; div { margin-bottom: 3px; } .triangle { width: 12px; @@ -2488,6 +2513,64 @@ font-size: 14px; color: #e2ebfd; } } } } .question1 { display: flex; align-items: center; .hover_con { position: relative; &:hover { .hover_wrap { display: block; } } } .hover_wrap { display: none; position: absolute; left: 108%; z-index: 999; top: -5px; width: 212px; height: 62px; background: rgba(0, 30, 63, 0.6); border: 1px solid #003F82; backdrop-filter: blur(3px); padding: 10px; font-size: 15px; color: #e2ebfd; line-height: 19px; font-weight: 400; border-radius: 6px; div { margin-bottom: 3px; } .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: 600; color: #e2ebfd; } } } @@ -2622,12 +2705,21 @@ top: -32px !important; } } .stock{ display: flex; align-items: center; color: #dd5d2a; margin-bottom: 8px; img{ margin-right: 6px; width: 14px; } } .title_head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; margin-bottom: 8px; .left { display: flex; @@ -2838,6 +2930,7 @@ .hover_wrap { left: 175px; height: 80px; } .icon {