From 9bfd32ac0781b51d2b8479b91a9754f18060fcb9 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期四, 14 十一月 2024 17:48:50 +0800 Subject: [PATCH] ll --- screen/src/views/LogisticsEfficiency.vue | 166 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 141 insertions(+), 25 deletions(-) diff --git a/screen/src/views/LogisticsEfficiency.vue b/screen/src/views/LogisticsEfficiency.vue index a04ca3b..1d043b5 100644 --- a/screen/src/views/LogisticsEfficiency.vue +++ b/screen/src/views/LogisticsEfficiency.vue @@ -89,14 +89,19 @@ <span class="item addr">鏀惰揣鍗曚綅</span> <span class="item time">浠诲姟寮�濮嬫椂闂�</span> </div> - <div class="line" v-for="item in dataList3"> - <span class="item flag"><span :class="{ flag_bg: item.type == 1 || item.type == 3 }">{{ item.type == 1 - || item.type == 3 ? '鍑�' : '鍏�' }}</span></span> - <span class="item order">{{ item.billCode || item.contractNum }}</span> - <span class="item id_card">{{ item.carCodeFront }}</span> - <span class="item status">{{ statusMap[item.status].label }}</span> - <span class="item addr">{{ item.repertotyAddress }}</span> - <span class="item time" v-if="item.confirmTaskDate">{{ item.confirmTaskDate.slice(5, 16) }}</span> + <div class="one-swiper list_temp"> + <div class="swiper-wrapper"> + <div class="line swiper-slide one-swiper-slide" v-for="item in dataList3"> + <span class="item flag"><span :class="{ flag_bg: item.type == 1 || item.type == 3 }">{{ item.type + == 1 + || item.type == 3 ? '鍑�' : '鍏�' }}</span></span> + <span class="item order">{{ item.billCode || item.contractNum }}</span> + <span class="item id_card">{{ item.carCodeFront }}</span> + <span class="item status">{{ statusMap[item.status].label }}</span> + <span class="item addr">{{ item.repertotyAddress }}</span> + <span class="item time" v-if="item.confirmTaskDate">{{ item.confirmTaskDate.slice(5, 16) }}</span> + </div> + </div> </div> </div> </div> @@ -223,10 +228,12 @@ <Percent v-if="data1.stockTotal && data1.stockMax" :rate="((data1.stockTotal / data1.stockMax) * 100).toFixed(0)" /> </div> - <div class="list"> - <div class="item" v-for="item in dataList6"> - <div class="la">{{ item.name }}</div> - <div class="val">{{ item.num }}涓囨敮</div> + <div class="list two-swiper"> + <div class="swiper-wrapper"> + <div class="item two-swiper-slide swiper-slide" v-for="item in dataList6"> + <div class="la">{{ item.name }}</div> + <div class="val">{{ item.num }}涓囨敮</div> + </div> </div> </div> </div> @@ -300,6 +307,9 @@ import dayjs from 'dayjs' import * as echarts from 'echarts' import ahJSON from '@/assets/anhui.json' +import icKongxian from '@/assets/images/LogisticsCenter/map_car_kongxian@2x.png' +import icLixian from '@/assets/images/LogisticsCenter/map_car_lixian@2x.png' +import icZaitu from '@/assets/images/LogisticsCenter/map_car_zaitu@2x.png' import { wlcenterData, wljobData, @@ -308,6 +318,8 @@ wltotalInList, wltransportMeasure, } from '@/api' +import 'swiper/css/swiper.min.css' +import Swiper from 'swiper' const colors = ['#FEAF01', '#01ABFE', '#51F9E4'] const weekMap = ['鏄熸湡鏃�', '鏄熸湡涓�', '鏄熸湡浜�', '鏄熸湡涓�', '鏄熸湡鍥�', '鏄熸湡浜�', '鏄熸湡鍏�',] @@ -524,6 +536,66 @@ const initMap = () => { var myChart = echarts.init(echartMap.value) echarts.registerMap('js', ahJSON) + var scatterData = [ + { + name: '骞煎効鍥�', + num: 15, + color: ['#1984ff', '#184b8d'], + img: icKongxian, + data: [ + { name: '鑵惧啿甯�', value: [117.25, 31.49] }, + ], + }, + { + name: '灏忓', + num: 11, + color: ['#f16c08', '#7f3710'], + img: icLixian, + data: [ + { name: '鑵惧啿甯�', value: [118.5, 31.08] }, + ], + } + ] + let serData = [] + scatterData.forEach((item) => { + serData.push({ + name: `${item.name}`, + type: 'effectScatter', + coordinateSystem: 'geo', + effectType: 'ripple', + showEffectOn: 'render', + // 鏁g偣鏍峰紡 + rippleEffect: { + period: 1, + scale: 1, + brushType: 'fill' + }, + // 鏁g偣澶у皬 鑷畾涔夋暎鐐瑰浘鐗� + // symbol: `image://${item.img}`, + symbol: `image://${item.img}`, + label: { + show: true, + formatter: '{b|{b}}', + position: 'top', + distance: -1, + rich: { + b: { + color: "#fff", + fontSize: 14, + height: 30, + // width: 200, + padding: 5, + }, + } + }, + symbolSize: [24, 30], + hoverAnimation: true, + + zlevel: 99, + data: item.data, + }) + } + ) var center = { '鍚堣偉甯�': [117.25, 31.83], '婊佸窞甯�': [118.32, 32.3], @@ -570,7 +642,6 @@ color: '#ffffff' } }, - tooltip: { trigger: 'item', formatter: function (params) { @@ -668,18 +739,19 @@ }, itemStyle: { normal: { - borderColor: '#2980b9', + borderColor: '#428598', borderWidth: 1, areaColor: '#1d3b60' }, emphasis: { areaColor: '#FA8C16', - borderWidth: 0, - color: 'green' + borderWidth: 1, + color: '#428598' } }, data: data - } + }, + ...serData, ] } @@ -736,6 +808,7 @@ wlplatformJobList().then(res => { const result = res.data dataList3.value = result + loopFn1() }) } const data4 = ref({}) @@ -770,6 +843,33 @@ wlstockList().then(res => { const result = res.data dataList6.value = result + loopFn2() + }) +} + +const autoplayFlag = (list = [], leng = 4, time = 2000) => { + if (list.length > leng) { + return { delay: time, disableOnInteraction: false } + } else { + return false + } +} +const loopFn1 = () => { + var newSwiper1 = new Swiper('.one-swiper', { + initialSlide: 0, + direction: 'vertical', //绔栫洿鏂瑰悜 + slidesPerView: 7, + autoplay: autoplayFlag(dataList3.value, 7, 2000), + observer: true, //淇敼swiper鑷繁鎴栧瓙鍏冪礌鏃讹紝鑷姩鍒濆鍖杝wiperiper + }) +} +const loopFn2 = () => { + var newSwiper1 = new Swiper('.two-swiper', { + initialSlide: 0, + direction: 'vertical', //绔栫洿鏂瑰悜 + slidesPerView: 7, + autoplay: autoplayFlag(dataList6.value, 7, 2000), + observer: true, //淇敼swiper鑷繁鎴栧瓙鍏冪礌鏃讹紝鑷姩鍒濆鍖杝wiperiper }) } onMounted(() => { @@ -789,6 +889,10 @@ <style lang="scss" scoped> div { box-sizing: border-box; +} + +.swiper-wrapper { + display: block !important; } .main_content { @@ -901,10 +1005,15 @@ .list_wrap { padding: 10px 0; + .list_temp { + height: 210px !important; + overflow: hidden; + } + .list { .line { display: flex; - height: 30px; + height: 30px !important; align-items: center; padding: 0 10px; font-size: 12px; @@ -1224,7 +1333,7 @@ .item { width: 100%; - height: 36px; + height: 36px !important; display: flex; align-items: center; @@ -1526,34 +1635,41 @@ color: #D2E0FF; padding: 10px; margin-bottom: 10px; + .head { display: flex; justify-content: space-between; align-items: center; height: 36px; line-height: 36px; - border-bottom: 1px solid rgba(255,255,255,0.16); + border-bottom: 1px solid rgba(255, 255, 255, 0.16); margin-bottom: 10px; + .code { font-weight: 500; font-size: 14px; color: #00F2F3; } } - .line{ + + .line { display: flex; align-items: center; margin-bottom: 8px; - &:nth-last-child(1){ + + &:nth-last-child(1) { margin-bottom: 0; } - .name{ + + .name { flex: 4; } - .num{ + + .num { flex: 3; } - .val{ + + .val { color: #fff; } } -- Gitblit v1.9.3