From 37752f6c417b3d9dd13e815413d006e388d76939 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期一, 23 十二月 2024 19:49:38 +0800 Subject: [PATCH] ll --- screen/src/views/LogisticsCenter.vue | 223 ++++++++++++++++++++++++++----------------------------- 1 files changed, 105 insertions(+), 118 deletions(-) diff --git a/screen/src/views/LogisticsCenter.vue b/screen/src/views/LogisticsCenter.vue index 4635785..ff138cd 100644 --- a/screen/src/views/LogisticsCenter.vue +++ b/screen/src/views/LogisticsCenter.vue @@ -3,7 +3,7 @@ <div class="main_app"> <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="" /> --> + <img src="@/assets/images/maintitle.gif" class="main_header_bg" alt="" /> <div class="title">鍏ㄧ渷鐗╂祦鍦ㄩ��</div> <div class="time_wrap"> <span class="date">{{ date }}</span> @@ -172,7 +172,7 @@ </div> <div class="footer"> <div class="wrap"> - <div class="content"> + <div class="content" :style='{ width: cneterData.level1}'> <div class="scale">0</div> <!-- <div class="node"> <div>8h</div> @@ -181,24 +181,36 @@ <div class="icon icon2"></div> </div> </div> --> - <div class="box"> - <div class="tag"> + <div :style="{width: cneterData.level3}" :class="{box23: cneterData.crrentOutNum >= cneterData.hoursAbility}" class="box" > + <div v-if="cneterData.crrentOutNum < cneterData.hoursAbility" class="tag"> <div class="icon"></div> <span>浠婃棩鍑哄簱</span> </div> </div> - <div class="box box1"> - <div class="tag tag1"> + <div :style="{width: cneterData.level2}" class="box box1"> + <div v-if="cneterData.hoursAbility >= cneterData.currentPlanNum" class="tag tag1"> <div class="icon"></div> <span>褰撴棩璁″垝</span> </div> </div> </div> - <!-- <div class="side"> - <div class="box"></div> + <div class="side"> + <div v-if="cneterData.crrentOutNum >= cneterData.hoursAbility" :style="{width: cneterData.level33}" class="box box22" > + <div class="tag"> + <div class="icon"></div> + <span>浠婃棩鍑哄簱</span> + </div> + </div> + <div v-if="cneterData.hoursAbility <= cneterData.currentPlanNum" :style="{width: cneterData.level22}" class="box box1 box11"> + <div class="tag tag1"> + <div class="icon"></div> + <span>褰撴棩璁″垝</span> + </div> + </div> + <!-- <div class="box"></div> --> <div class="scale" style="left: -12px;">8h</div> <div class="scale scale1">鏈�澶�</div> - </div> --> + </div> </div> </div> </div> @@ -334,7 +346,7 @@ </div> <div id="map-container" ref="mapContainer"></div> <div class="fu_list"> - <div class="fu_item" v-for="item, i in modalInfo.cicleStatusList"> + <div class="fu_item" v-for="item, k in modalInfo.cicleStatusList"> <div class="item_title"> <div class="icon"> <img v-if="item.key == 0 && k != 0" src="@/assets/images/LogisticsCenter/ic_dingdan@2x.png" @@ -379,8 +391,9 @@ </div> </div> </div> - <div class="modal_mask" v-if="showModal" @click="showModal = false"></div> + <div class="modal_mask" v-if="showModal" @click="closeModal"></div> </div> + <!-- <Loading v-if="isLoading" /> --> </v-scale-screen> </template> @@ -396,6 +409,9 @@ import chinaJSON from '@/assets/china.json' import fahuoImg from '@/assets/images/LogisticsCenter/ic_fahuodi@2x.png' import shouImg from '@/assets/images/LogisticsCenter/ic_huowu@2x.png' +// import { Loading } from 'vue3-loading-spinner'; +// import 'vue3-loading-spinner/dist/style.css'; + import { getStoreOperationList, getStorearriveGoodsList, @@ -424,67 +440,7 @@ time.value = dayjs().format('HH:mm:ss') }, 1000) - -const initEchart2 = () => { - const myChart = echarts.init(document.getElementById('echart1')) - const option = { - series: [ - { - type: 'pie', - radius: ['86%', '100%'], - label: { - show: false, - position: 'center' - }, - padAngle: 5, - itemStyle: { - borderRadius: 10 - }, - color: colors, - labelLine: { - show: false - }, - data: [ - { value: 1048, name: 'Search Engine' }, - { value: 735, name: 'Direct' }, - { value: 580, name: 'Email' } - ] - } - ] - } - myChart.setOption(option) - window.addEventListener('resize', function () { // 鎵ц - myChart.resize() - }) -} -const initEchart3 = () => { - const myChart = echarts.init(document.getElementById('echart3')) - const option = { - tooltip: { - trigger: 'item' - }, - series: [ - { - type: 'pie', - radius: ['80%', '96%'], - label: { - show: false, - position: 'center' - }, - color: ['#72ecc5', '#19373a'], - labelLine: { - show: false - }, - data: [3, 7] - } - ] - } - myChart.setOption(option) - window.addEventListener('resize', function () { // 鎵ц - myChart.resize() - }) -} - +const isLoading = ref(false); // const mapList = ref([]) const mapEchart = ref() @@ -536,6 +492,7 @@ { name: '鍙版咕鐪�', value: 0 }, { name: '棣欐腐鐗瑰埆琛屾斂鍖�', value: 0 }, { name: '婢抽棬鐗瑰埆琛屾斂鍖�', value: 0 }, + { name: '鍗楁捣璇稿矝', value: 0 }, ] mapData.forEach(item => { item.monthNum = 0 @@ -557,7 +514,7 @@ { min: 100000, max: 99999999999, label: '鍑哄簱閲�10w浠ヤ笂', color: '#be6f2b' }, { min: 50000, max: 100000, label: '鍑哄簱閲�5-10w', color: '#c39332' }, { min: 20000, max: 50000, label: '鍑哄簱閲�2-5w', color: '#5ecbaf' }, - { min: -1, max: 20000, label: '鍑哄簱閲�2w浠ヤ笅', color: '#325a9b' }, + { min: -1, max: 20000, label: '鍑哄簱閲�2w浠ヤ笅', color: '#3561a4' }, ], itemWidth: 22, itemHeight: 22, @@ -595,8 +552,8 @@ center: [105.194115019531, 36.582111640625], // 鍦板浘涓績浣嶇疆锛� 姝ゅ鐨勭含搴︿笌涓嬮潰鐨刢enter鐩稿樊1搴︽槸褰㈡垚闃村奖鐨勮窛绂伙紝鍙嚜宸遍殢鎰忚皟鏁� itemStyle: { areaColor: '#152e4a', //鍦板浘闃村奖鐨勯鑹� - borderColor: '#f7f7f7', // 鐪佷唤杈规棰滆壊 - borderWidth: 0.1, // 鐪佷唤杈规瀹藉害 + borderColor: '#779dc8', // 鐪佷唤杈规棰滆壊 + borderWidth: 0.5, // 鐪佷唤杈规瀹藉害 // shadowBlur: 5, // 鐪佷唤杈规鑱氱劍 }, emphasis: { @@ -902,18 +859,22 @@ page: 0, rows: 10 }) -const modalTabClick = (val) => { - modalTab.value = val -} const taskClick = (item) => { + isLoading.value = true kzorderInfo({ contractNumber: item.contractNumber }).then(res => { modalInfo.value = res.data showModal.value = true - console.log('modalInfo.value', modalInfo.value) + isLoading.value = false nextTick(() => { initGdMap() }) + }, () => { + isLoading.value = false }) +} +const closeModal = () => { + showModal.value = false + modalInfo.value = {} } @@ -1083,9 +1044,46 @@ activeTab1.value = val getStockOut() } +// footer const getData3 = () => { - getStorecenterData().then(res => { - cneterData.value = res.data || {} + getStorecenterData({ + factoryCode: activeCity.value.code + }).then(res => { + const obj = res.data || {} + console.log('obj', obj); + + // 8灏忔椂 璁″垝 浠婃棩 + // obj.hoursAbility = 6000 + // obj.maxAbility = 8000 + // obj.currentPlanNum = 5000 + // obj.crrentOutNum = 7000 + + obj.level1 = ((obj.hoursAbility / obj.maxAbility) * 100).toFixed(2) + '%' + if(obj.currentPlanNum >= obj.hoursAbility){ + obj.level2 = '100%' + obj.level22 = (((obj.currentPlanNum - obj.hoursAbility) / (obj.maxAbility - obj.hoursAbility)) * 100).toFixed(2) + obj.level22 = obj.level22 > 100 ? '100%' : obj.level22 + '%' + }else{ + obj.level2 = ((obj.currentPlanNum / obj.hoursAbility)* 100).toFixed(2) + '%' + obj.level22 = 0 + } + if(obj.crrentOutNum >= obj.hoursAbility){ + obj.level3 = '100%' + obj.level33 = (((obj.crrentOutNum - obj.hoursAbility) / (obj.maxAbility - obj.hoursAbility)) * 100).toFixed(2) + obj.level33 = obj.level33 > 100 ? '100%' : obj.level33 + '%' + }else{ + obj.level3 = ((obj.crrentOutNum / obj.hoursAbility)* 100).toFixed(2) + '%' + obj.level33 = 0 + } + + console.log('obj1', obj.level1); + console.log('obj2', obj.level2); + console.log('obj22', obj.level22); + console.log('obj3', obj.level3); + console.log('obj33', obj.level33); + + cneterData.value = obj + }) } @@ -1669,6 +1667,11 @@ getCity() changeCity() getData5() + setInterval(() => { + getCity() + changeCity() + getData5() + }, 1000 * 60 * 10) setTimeout(() => { loopFn1() }, 12000) @@ -2041,47 +2044,18 @@ height: 76px; .content { - flex: 5; + width: 80%; height: 16px; background: rgba(255, 255, 255, 0.13); border-radius: 8px; - margin-right: 4px; + margin-right: 6px; display: flex; position: relative; - .node { - position: absolute; - left: 69%; - top: -20px; - width: 22px; - height: 70px; - z-index: 999; - overflow: hidden; - - .node_icon { - background-color: #051623; - height: 16px; - - .icon { - background-color: #25333f; - height: 16px; - width: 16px; - position: absolute; - top: 20px; - right: -8px; - border-radius: 50%; - overflow: hidden; - } - - .icon2 { - right: 12px; - } - } - } } .box { - width: 40%; + width: 80%; height: 16px; background: linear-gradient(270deg, #FF9F02 0%, #FFEA70 100%); border-radius: 8px; @@ -2102,7 +2076,9 @@ border-radius: 12px; display: flex; align-items: center; - + justify-content: center; + min-width: 76px; + border: 1px solid #fff; .icon { position: absolute; top: 1px; @@ -2126,9 +2102,18 @@ } .box1 { - width: 70%; + width: 10%; z-index: 9; - background: linear-gradient(270deg, #15FDC8 0%, #006BFF 100%); + background: linear-gradient(270deg, #68dfd3 0%, #006BFF 100%); + } + .box11{ + background: linear-gradient(270deg,#75f8cc 0%, #68dfd3 100%); + } + .box22{ + background: linear-gradient(270deg, #f2a43b 0%, #ecbb61 100%); + } + .box23{ + background: linear-gradient(270deg, #f4b34a 0%, #FFEA70 100%); } .scale { @@ -2141,10 +2126,11 @@ .scale1 { left: 84%; + min-width: 36px; } .side { - flex: 2; + flex: 1; height: 16px; background: rgba(255, 255, 255, 0.13); border-radius: 8px; @@ -2349,7 +2335,8 @@ top: 220px; right: 10px; z-index: 999999; - :deep(.amap-markers){ + + :deep(.amap-markers) { left: -12px !important; top: -32px !important; } -- Gitblit v1.9.3