| | |
| | | <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 |
| | | <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> |
| | |
| | | <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="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> |
| | |
| | | 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, |
| | |
| | | wltotalInList, |
| | | wltransportMeasure, |
| | | } from '@/api' |
| | | import 'swiper/css/swiper.min.css' |
| | | import Swiper from 'swiper' |
| | | |
| | | const colors = ['#FEAF01', '#01ABFE', '#51F9E4'] |
| | | const weekMap = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六',] |
| | |
| | | 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', |
| | | // 散点样式 |
| | | rippleEffect: { |
| | | period: 1, |
| | | scale: 1, |
| | | brushType: 'fill' |
| | | }, |
| | | // 散点大小 自定义散点图片 |
| | | // 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], |
| | |
| | | color: '#ffffff' |
| | | } |
| | | }, |
| | | |
| | | tooltip: { |
| | | trigger: 'item', |
| | | formatter: function (params) { |
| | |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | borderColor: '#2980b9', |
| | | borderColor: '#428598', |
| | | borderWidth: 1, |
| | | areaColor: '#1d3b60' |
| | | }, |
| | | emphasis: { |
| | | areaColor: '#FA8C16', |
| | | borderWidth: 0, |
| | | color: 'green' |
| | | borderWidth: 1, |
| | | color: '#428598' |
| | | } |
| | | }, |
| | | data: data |
| | | } |
| | | }, |
| | | ...serData, |
| | | ] |
| | | } |
| | | |
| | |
| | | wlplatformJobList().then(res => { |
| | | const result = res.data |
| | | dataList3.value = result |
| | | loopFn1() |
| | | }) |
| | | } |
| | | const data4 = ref({}) |
| | |
| | | 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自己或子元素时,自动初始化swiperiper |
| | | }) |
| | | } |
| | | const loopFn2 = () => { |
| | | var newSwiper1 = new Swiper('.two-swiper', { |
| | | initialSlide: 0, |
| | | direction: 'vertical', //竖直方向 |
| | | slidesPerView: 7, |
| | | autoplay: autoplayFlag(dataList6.value, 7, 2000), |
| | | observer: true, //修改swiper自己或子元素时,自动初始化swiperiper |
| | | }) |
| | | } |
| | | onMounted(() => { |
| | |
| | | <style lang="scss" scoped> |
| | | div { |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .swiper-wrapper { |
| | | display: block !important; |
| | | } |
| | | |
| | | .main_content { |
| | |
| | | .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; |
| | |
| | | |
| | | .item { |
| | | width: 100%; |
| | | height: 36px; |
| | | height: 36px !important; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | |
| | | color: #D2E0FF; |
| | | padding: 10px; |
| | | margin-bottom: 10px; |
| | | |
| | | .head { |
| | | display: flex; |
| | | justify-content: space-between; |
| | |
| | | line-height: 36px; |
| | | border-bottom: 1px solid rgba(255,255,255,0.16); |
| | | margin-bottom: 10px; |
| | | |
| | | .code { |
| | | font-weight: 500; |
| | | font-size: 14px; |
| | | color: #00F2F3; |
| | | } |
| | | } |
| | | |
| | | .line{ |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 8px; |
| | | |
| | | &:nth-last-child(1){ |
| | | margin-bottom: 0; |
| | | } |
| | | |
| | | .name{ |
| | | flex: 4; |
| | | } |
| | | |
| | | .num{ |
| | | flex: 3; |
| | | } |
| | | |
| | | .val{ |
| | | color: #fff; |
| | | } |