From c9ef2687d3460da668d08d58dee6af468ed6693e Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 05 十一月 2024 11:48:34 +0800
Subject: [PATCH] 最新版本541200007
---
screen/src/views/LogisticsCenter.vue | 1132 ++++++++++++++++++++++++++++++++++-------------------------
1 files changed, 648 insertions(+), 484 deletions(-)
diff --git a/screen/src/views/LogisticsCenter.vue b/screen/src/views/LogisticsCenter.vue
index a1c768e..101762b 100644
--- a/screen/src/views/LogisticsCenter.vue
+++ b/screen/src/views/LogisticsCenter.vue
@@ -29,8 +29,8 @@
</div>
<div class="content_wrap">
<div class="num_wrap">
- <div class="num_list">
- <div class="num" v-for="i in '200000'">
+ <div class="num_list" v-if="cneterData.yearOutTotal">
+ <div class="num" v-for="i in cneterData.yearOutTotal + ''">
{{ i }}
<img class="bg" src="@/assets/images/LogisticsCenter/bg_number@2x.png" alt="">
</div>
@@ -39,9 +39,10 @@
<div class="unit_wrap">
<span class="la">鍚屾瘮</span>
<img src="@/assets/images/ic_up.png" class="icon" alt="">
- <span>10.2%</span>
+ <span v-if="cneterData.yearOutTotalOnYear || cneterData.yearOutTotalOnYear == 0">{{
+ cneterData.yearOutTotalOnYear }} %</span>
<span class="la" style="margin-left: 30px;margin-right: 10px;">绱鍑哄簱杞︽</span>
- <span>3900</span>
+ <span>{{ cneterData.yearOutTimes || '' }}</span>
</div>
</div>
@@ -77,7 +78,8 @@
</div>
<div class="search_wrap">
<img src="@/assets/images/LogisticsCenter/ic_search@2x.png" alt="">
- <span>璁㈠崟鏌ヨ</span>
+ <input class="input" type="text" @blur="getData2" v-model="taskCode">
+ <!-- <span>璁㈠崟鏌ヨ</span> -->
</div>
</div>
<div class="list_wrap">
@@ -87,11 +89,11 @@
<span class="item">浣嶇疆</span>
<span class="item">浠诲姟涓嬭揪鏃堕棿</span>
</div>
- <div class="line" v-for="i in 5">
- <span class="item">鐨朅23bbb</span>
- <span class="item">11</span>
- <span class="item">11</span>
- <span class="item">11</span>
+ <div class="line" v-for="(item, i) in transportTask" :key="i">
+ <span class="item">{{ item.carNo }}</span>
+ <span class="item">{{ item.statusStr }}</span>
+ <span class="item">{{ item.address }}</span>
+ <span class="item">{{ item.taskDate }}</span>
</div>
</div>
</div>
@@ -108,30 +110,39 @@
<span>鍏ㄧ渷</span>
<img src="@/assets/images/LogisticsCenter/bottom.png" class="icon" alt="">
</div>
+ <div class="select_op">
+ <div class="line">鍚堣偉浠�</div>
+ <div class="line">鍚堣偉浠�</div>
+ <div class="line">鍚堣偉浠�</div>
+ <div class="line">鍚堣偉浠�</div>
+ </div>
</div>
<div class="static_wrap">
<div class="item">
<img src="@/assets/images/LogisticsCenter/ic_jinrijihua@2x.png" alt="">
<div class="content">
<div class="name">浠婃棩璁″垝閲�</div>
- <div class="num"><span>1000</span>涓囨敮</div>
- <div class="unit">杞︽锛�10</div>
+ <div class="num"><span>{{ cneterData.outPlanTotal }}</span>涓囨敮</div>
+ <div class="unit">杞︽锛歿{ cneterData.outPlanTimes }}</div>
</div>
</div>
<div class="item">
<img src="@/assets/images/LogisticsCenter/ic_jinrichuku@2x.png" alt="">
<div class="content">
<div class="name">浠婃棩鍑哄簱閲�</div>
- <div class="num"><span class="today">1000</span>涓囨敮</div>
- <div class="unit">杞︽锛�10</div>
+ <div class="num"><span class="today">{{ cneterData.outTotal }}</span>涓囨敮</div>
+ <div class="unit">杞︽锛歿{ cneterData.outTimes }}</div>
</div>
</div>
<div class="item">
<img src="@/assets/images/LogisticsCenter/ic_jinriweichu@2x.png" alt="">
<div class="content">
<div class="name">浠婃棩鏈嚭搴撻噺</div>
- <div class="num"><span class="finish">1000</span>涓囨敮</div>
- <div class="unit">杞︽锛�10</div>
+ <div class="num" v-if="cneterData.outPlanTotal && cneterData.outTotal"><span class="finish">{{
+ cneterData.outPlanTotal - cneterData.outTotal }}</span>涓囨敮</div>
+ <div class="unit" v-if="cneterData.outPlanTotal && cneterData.outTotal">杞︽锛歿{ cneterData.outPlanTimes
+ -
+ cneterData.outTimes }}</div>
</div>
</div>
</div>
@@ -161,8 +172,8 @@
</div>
<div class="content_wrap">
<div class="num_wrap">
- <div class="num_list">
- <div class="num" v-for="i in '200000'">
+ <div class="num_list" v-if="cneterData.yearInTotal">
+ <div class="num" v-for="i in cneterData.yearInTotal + ''">
{{ i }}
<img class="bg" src="@/assets/images/LogisticsCenter/bg_number@2x.png" alt="">
</div>
@@ -171,9 +182,9 @@
<div class="unit_wrap">
<span class="la">鍚屾瘮</span>
<img src="@/assets/images/ic_up.png" class="icon" alt="">
- <span>10.2%</span>
+ <span>{{ cneterData.yearInTotalOnYear }}%</span>
<span class="la" style="margin-left: 30px;margin-right: 10px;">绱鍑哄簱杞︽</span>
- <span>3900</span>
+ <span>{{ cneterData.yearInTimes }}</span>
</div>
</div>
@@ -182,7 +193,7 @@
<div class="echart_wrap">
<div class="echart3" id="echart3"></div>
<div class="pie_text">
- <div class="fs30">30%</div>
+ <!-- <div class="fs30">{{ cneterData.PlanTotal }}%</div> -->
</div>
</div>
<div class="text">璁″垝瀹屾垚閲�</div>
@@ -196,11 +207,11 @@
<div>杩涢攢瀛樿繍钀�</div>
</div>
<div class="tabs">
- <div class="tab active">7澶�</div>
+ <div :class="{ active: activeTabs == 0 }" class="tab" @click="tabsClick4(0)">7澶�</div>
<div class="separate"></div>
- <div class="tab">30澶�</div>
+ <div :class="{ active: activeTabs == 1 }" class="tab" @click="tabsClick4(1)">30澶�</div>
<div class="separate"></div>
- <div class="tab">1骞�</div>
+ <div :class="{ active: activeTabs == 2 }" class="tab" @click="tabsClick4(2)">1骞�</div>
</div>
</div>
<div class="echart4_wrap">
@@ -231,6 +242,14 @@
import dayjs from 'dayjs'
import * as echarts from 'echarts'
import chinaJSON from '@/assets/china.json'
+import {
+ getStoreOperationList,
+ getStorearriveGoodsList,
+ getStorecenterData,
+ getStoreenergyDataList,
+ getStorelastMonthOil,
+ getStoreTaskList,
+} from '@/api'
const weekMap = ['鏄熸湡鏃�', '鏄熸湡涓�', '鏄熸湡浜�', '鏄熸湡涓�', '鏄熸湡鍥�', '鏄熸湡浜�', '鏄熸湡鍏�',]
const date = ref(dayjs().format('YYYY.MM.DD'))
@@ -243,44 +262,6 @@
}, 1000)
-const colors = ['#0193FE', '#FFB642']
-const StockOutData = ref([])
-const getStockOut = () => {
- let arr = []
- arr.push({ name: '鐪佸唴', value: 20 })
- arr.push({ name: '鐪佸', value: 30 })
- arr.sort((a, b) => b.value - a.value)
- StockOutData.value = arr
-
- initEchart1()
-}
-const initEchart1 = () => {
- const myChart = echarts.init(document.getElementById('echart1'))
- const option = {
- tooltip: {
- trigger: 'item'
- },
- series: [
- {
- type: 'pie',
- radius: ['72%', '96%'],
- label: {
- show: false,
- position: 'center'
- },
- color: colors,
- labelLine: {
- show: false
- },
- data: StockOutData.value
- }
- ]
- }
- myChart.setOption(option)
- window.addEventListener('resize', function () { // 鎵ц
- myChart.resize()
- })
-}
const initEchart2 = () => {
const myChart = echarts.init(document.getElementById('echart1'))
const option = {
@@ -340,352 +321,6 @@
myChart.resize()
})
}
-const initEchart4 = () => {
- // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥
- const myChart = echarts.init(document.getElementById('echart4'))
- // 缁樺埗鍥捐〃
- myChart.setOption({
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'line'
- },
- formatter: function (params) {
- setTimeout(() => {
- console.log('params', params)
- })
- return `
- <div style="background-color: #091123;margin: -12px;padding: 14px;border: 2px solid rgba(1,217,254,0.5);color: #fff;">
- <div>${params[0].name}鎬婚攢鍞(涓囧厓)</div>
- <div style="display: flex;align-items: center;">
- <div style="width: 10px;height: 10px;border-radius: 50%;background-color: #ebbf40;"></div>
- <div style="margin: 0 4px 0 6px;">鎬婚攢鍞�</div>
- <span style="color: #ebbf40;">${params[0].value}</span>
- </div>
- </div>
- `
- }
- },
- xAxis: {
- type: 'category',
- boundaryGap: false,
- data: [1, 2, 3, 4, 5, 5]
- },
- yAxis: {
- type: 'value',
- name: '涓囨敮',
- nameTextStyle: {
- padding: [0, 0, 0, -16] // 鍥涗釜鏁板瓧鍒嗗埆涓轰笂鍙充笅宸︿笌鍘熶綅缃窛绂�
- },
- splitLine: {
- show: true,
- lineStyle: {
- //杩欓噷杈撳叆绾挎潯鐨勬牱寮�
- color: 'rgba(255,255,255,0.14)',
- type: 'dashed',
- },
- splitNumber: 4
- }
- },
- legend: {
- itemGap: 24,
- icon: 'rect',
- right: '12px',
- top: '0',
- itemWidth: 16,
- itemHeight: 2,
- textStyle: {
- color: '#fff',
- borderColor: '#fff'
- },
- data: ['鎬诲叆搴撻噺', '鎬诲嚭搴撻噺']
- },
- grid: {
- top: '18%',
- left: '0%',
- right: '2%',
- bottom: '2%',
- containLabel: true
- },
- series: [
- {
- name: '鎬诲叆搴撻噺',
- data: [10, 2, 30, 4, 4, 30].map(i => {
- return {
- name: i,
- value: i,
- }
- }),
- type: 'line',
- areaStyle: {
- normal: {
- color: {
- x: 0,
- y: 0,
- x2: 0,
- y2: 1,
- colorStops: [
- {
- offset: 0,
- color: "#4191f6" // 0% 澶勭殑棰滆壊
- },
- {
- offset: .4,
- color: "#203d79" // 0% 澶勭殑棰滆壊
- },
- {
- offset: 1,
- color: "#1b1b12" // 100% 澶勭殑棰滆壊
- }],
- globalCoord: false // 缂虹渷涓� false
- }
- }
- },
- lineStyle: { // 绾挎潯鏍峰紡
- color: {
- type: 'linear',
- x: 0,
- y: 0,
- x2: 0,
- y2: 1,
- colorStops: [{
- offset: 0, color: '#4191f6' // 0% 澶勭殑棰滆壊
- }, {
- offset: 1, color: '#4191f6' // 100% 澶勭殑棰滆壊
- }],
- },
- width: 1.5, // 绾挎潯绮楃粏
- },
- symbol: 'circle',
- symbolSize: 6,
- itemStyle: {
- color: "#4190f4",
- borderColor: "rgba(255,255,255,.3)",
- borderWidth: 6,
- },
- smooth: true
- },
- {
- name: '鎬诲嚭搴撻噺',
- data: [30, 2, 10, 4, 4, 20].map(i => {
- return {
- name: i,
- value: i,
- }
- }),
- type: 'line',
- areaStyle: {
- normal: {
- color: {
- x: 0,
- y: 0,
- x2: 0,
- y2: 1,
- colorStops: [{
- offset: 0,
- color: "rgba(192, 156, 53,.7)" // 0% 澶勭殑棰滆壊
- }, {
- offset: 1,
- color: "#1b1b12" // 100% 澶勭殑棰滆壊
- }],
- globalCoord: false // 缂虹渷涓� false
- }
- }
- },
- lineStyle: { // 绾挎潯鏍峰紡
- color: {
- type: 'linear',
- x: 0,
- y: 0,
- x2: 0,
- y2: 1,
- colorStops: [{
- offset: 0, color: '#F3BD00' // 0% 澶勭殑棰滆壊
- }, {
- offset: 1, color: '#F3BD00' // 100% 澶勭殑棰滆壊
- }],
- },
- width: 2, // 绾挎潯绮楃粏
- },
- symbol: 'circle',
- symbolSize: 6,
- itemStyle: {
- color: "#F3BD00",
- borderColor: "rgba(255,255,255,.3)",
- borderWidth: 6,
- },
- smooth: true
- }
- ]
- })
-
- window.addEventListener('resize', function () {//鎵ц
- myChart.resize()
- })
-}
-const initEchart5 = () => {
- // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥
- const myChart = echarts.init(document.getElementById('echart5'))
- // 缁樺埗鍥捐〃
- myChart.setOption({
- legend: {
- itemGap: 12,
- // icon: 'circle',
- right: '12px',
- top: '0',
- data: ['鎬诲簱瀛�', '褰撳墠搴撳瓨', '搴撳瓨鍒╃敤鐜�'],
- itemWidth: 20,
- itemHeight: 10,
- textStyle: {
- color: '#fff',
- borderColor: '#fff'
- },
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- top: '16%',
- containLabel: true
- },
- tooltip: {
- trigger: 'axis'
- },
- xAxis: [{
- nameGap: 5,
- type: 'category',
- axisLine: {
- show: true,
- lineStyle: {
- color: '#999'
- },
- },
- axisLabel: {
- color: '#869CC9'
- // fontSize: 24,
- },
- axisTick: {
- show: false,
- },
- data: ['鍚堣偉', '婊佸窞', '鑺滄箹', '铓屽煚', '闃滈槼'],
- }],
- yAxis: [
- {
- nameTextStyle: {
- color: '#869CC9',
- },
- offset: 0,
- name: '涓囨敮',
- type: 'value',
- axisLabel: {
- show: true,
- color: "#869CC9",
- },
- axisLine: {
- show: true,
- },
- splitLine: {
- show: true,
- lineStyle: {
- width: 1,
- color: "rgba(49,105,129,0.4)",
- type: 'dashed'
- }
- },
- },
- {
- type: 'value',
- name: '%',
- min: 0,
- max: 100,
- // interval: 5,
- axisLabel: {
- formatter: '{value}%'
- },
- splitLine: false
- }
- ],
- series: [
- {
- name: '鎬诲簱瀛�',
- type: 'bar',
- barWidth: 8,
- barGap: '60%',
- label: {
- show: false,
- position: 'top',
- color: '#fff',
- },
- itemStyle: {
- color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
- {
- offset: 0,
- color: '#5bc7d5'
- },
- {
- offset: 1,
- color: '#1a3f55'
- }
- ], false),
- lineStyle: {
- width: 1,
- type: 'solid'
- },
- barBorderRadius: [30, 30, 0, 0],
- },
- data: [900, 438, 485, 631, 689]
- },
- {
- name: '褰撳墠搴撳瓨',
- type: 'bar',
- barWidth: 8,
- label: {
- show: false,
- position: 'top',
- color: '#fff',
- },
- itemStyle: {
- color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
- {
- offset: 0,
- color: '#edaf3d'
- },
- {
- offset: 1,
- color: '#323522'
- }
- ], false),
- lineStyle: {
- width: 1,
- type: 'solid'
- },
- barBorderRadius: [30, 30, 0, 0],
- },
- data: [438, 485, 631, 689, 900]
- },
- {
- name: '搴撳瓨鍒╃敤鐜�',
- type: 'line',
- smooth: true,
- showAllSymbol: true,
- symbol: 'none',
- lineStyle: {
- color: "#3d87e5"
- },
- label: {
- show: false,
- position: 'top',
- color: '#fff',
- },
- data: [485, 631, 389, 224, 287]
- }
- ]
- })
-
- window.addEventListener('resize', function () {//鎵ц
- myChart.resize()
- })
-}
const mapEchart = ref()
const initMap = () => {
@@ -693,12 +328,12 @@
echarts.registerMap('china', chinaJSON)
var points = [
// 鐐瑰潗鏍�
- { value: [110.81, 33.40], itemStyle: { color: '#c1bb1f' }, name: '11', total: 0, bj: 0, yj: 0, yx: 0, tj: 0, dw: 0 },
+ { value: [110.81, 33.40], itemStyle: { color: '#c1bb1f' }, name: '鍖椾含', total: 0, bj: 0, yj: 0, yx: 0, tj: 0, dw: 0 },
{ value: [116.55, 40.01], itemStyle: { color: '#3eef1d' }, name: '鍖椾含', total: 0, bj: 0, yj: 0, yx: 0, tj: 0, dw: 0 },
- { value: [113.11, 28.40], itemStyle: { color: '#3eef1d' }, name: '22', total: 5, bj: 0, yj: 0, yx: 5, tj: 0, dw: 0 },
- { value: [106.44, 29.50], itemStyle: { color: '#3eef1d' }, name: '33', total: 10, bj: 0, yj: 0, yx: 10, tj: 0, dw: 0 },
- { value: [112.85, 38.95], itemStyle: { color: '#3eef1d' }, name: '44', total: 8, bj: 0, yj: 0, yx: 8, tj: 0, dw: 0 },
- { value: [82.78, 43.27], itemStyle: { color: '#3eef1d' }, name: '55', total: 18, bj: 0, yj: 0, yx: 18, tj: 0, dw: 0 }
+ { value: [113.11, 28.40], itemStyle: { color: '#3eef1d' }, name: '鍖椾含', total: 5, bj: 0, yj: 0, yx: 5, tj: 0, dw: 0 },
+ { value: [106.44, 29.50], itemStyle: { color: '#3eef1d' }, name: '鍖椾含', total: 10, bj: 0, yj: 0, yx: 10, tj: 0, dw: 0 },
+ { value: [112.85, 38.95], itemStyle: { color: '#3eef1d' }, name: '鍖椾含', total: 8, bj: 0, yj: 0, yx: 8, tj: 0, dw: 0 },
+ { value: [82.78, 43.27], itemStyle: { color: '#3eef1d' }, name: '鍖椾含', total: 18, bj: 0, yj: 0, yx: 18, tj: 0, dw: 0 }
]
var lineToLf = [
{ name: '11', coords: [[110.81, 33.40], [116.55, 40.01]], lineStyle: { color: '#c1bb1f' } },
@@ -723,7 +358,7 @@
label: {
show: false
},
- zoom: 1.5,
+ zoom: 1.6,
silent: true, // 涓嶅搷搴旈紶鏍囨椂闂�
show: true,
roam: false, // 鍦板浘缂╂斁鍜屽钩绉�
@@ -767,7 +402,7 @@
{
type: 'map',
map: 'china',
- zoom: 1.5,
+ zoom: 1.6,
tooltip: {
show: false
},
@@ -818,8 +453,8 @@
showEffectOn: 'render',
// zlevel: 2, // zlevel鐢ㄤ簬 Canvas 鍒嗗眰 鐩稿悓鐨勭粯鍒跺湪鍚屼竴涓猚anvas涓�
rippleEffect: {
- number: 5, // 娉㈢汗鏁伴噺
- period: 4, // 鍔ㄧ敾鍛ㄦ湡 鏁板�艰秺澶э紝娉㈠姩瓒婃參
+ number: 3, // 娉㈢汗鏁伴噺
+ period: 10, // 鍔ㄧ敾鍛ㄦ湡 鏁板�艰秺澶э紝娉㈠姩瓒婃參
scale: 3.5, // 鍔ㄧ敾涓尝绾圭殑鏈�澶х缉鏀炬瘮渚�
brushType: 'stroke' // 娉㈢汗鐨勭粯鍒舵柟寮� stroke fill
},
@@ -841,41 +476,22 @@
extraCssText: 'box-shadow: 0 0 0 rgba(0, 0, 0, 0);', // 鍘婚櫎box-shadow闃村奖
formatter: (params) => {
return `<div class="map-tip-box">
- <div class="company-name">${params.name}</div>
- <div class="monitor-total">鐩戞祴鎬绘暟锛�${params.data.total}鍙�</div>
+ <div class="item-state-con title">
+ <div class="icon"></div>
+ <span>${params.data.name}</span>
+ </div>
<div class="item-state-con">
<span class="dot bj"></span>
<span class="item-state-num">
- <span class="num">${params.data.bj}鍙�</span>
- <span class="text">鎶ヨ</span>
+ <span class="text">鏈湀鍑哄簱閲忥細</span>
+ <span class="num">${params.data.total}涓囨敮</span>
</span>
</div>
<div class="item-state-con">
<span class="dot yj"></span>
<span class="item-state-num">
- <span class="num">${params.data.yj}鍙�</span>
- <span class="text">棰勮</span>
- </span>
- </div>
- <div class="item-state-con">
- <span class="dot yx"></span>
- <span class="item-state-num">
- <span class="num">${params.data.yx}鍙�</span>
- <span class="text">杩愯</span>
- </span>
- </div>
- <div class="item-state-con">
- <span class="dot tj"></span>
- <span class="item-state-num">
- <span class="num">${params.data.tj}鍙�</span>
- <span class="text">鍋滄満</span>
- </span>
- </div>
- <div class="item-state-con">
- <span class="dot dw"></span>
- <span class="item-state-num">
- <span class="num">${params.data.dw}鍙�</span>
- <span class="text">鏂綉</span>
+ <span class="text">鏈勾鍑哄簱閲�</span>
+ <span class="num">${params.data.yx}涓囨敮</span>
</span>
</div>
</div>`
@@ -884,26 +500,26 @@
z: 4
},
// 鍦板浘绾跨殑鍔ㄧ敾鏁堟灉
- {
- name: 'arrowline',
- type: 'lines',
- // zlevel: 1,
- effect: {
- show: true,
- period: 3, // 绠ご鎸囧悜閫熷害锛屽�艰秺灏忛�熷害瓒婂揩
- trailLength: 0.1, // 鐗规晥灏捐抗闀垮害[0,1]鍊艰秺澶э紝灏捐抗瓒婇暱閲�
- symbol: 'arrow', // 绠ご鍥炬爣
- symbolSize: 6 // 鍥炬爣澶у皬
- },
- lineStyle: {
- color: '#1DE9B6',
- width: 2, // 绾挎潯瀹藉害
- opacity: 0.1, // 灏捐抗绾挎潯閫忔槑搴�
- curveness: 0.2 // 灏捐抗绾挎潯鏇茬洿搴�
- },
- data: lineToLf,
- z: 3
- }
+ // {
+ // name: 'arrowline',
+ // type: 'lines',
+ // // zlevel: 1,
+ // effect: {
+ // show: true,
+ // period: 3, // 绠ご鎸囧悜閫熷害锛屽�艰秺灏忛�熷害瓒婂揩
+ // trailLength: 0.1, // 鐗规晥灏捐抗闀垮害[0,1]鍊艰秺澶э紝灏捐抗瓒婇暱閲�
+ // symbol: 'arrow', // 绠ご鍥炬爣
+ // symbolSize: 6 // 鍥炬爣澶у皬
+ // },
+ // lineStyle: {
+ // color: '#1DE9B6',
+ // width: 2, // 绾挎潯瀹藉害
+ // opacity: 0.1, // 灏捐抗绾挎潯閫忔槑搴�
+ // curveness: 0.2 // 灏捐抗绾挎潯鏇茬洿搴�
+ // },
+ // data: lineToLf,
+ // z: 3
+ // }
]
}
myChart.setOption(option)
@@ -911,7 +527,7 @@
myChart.resize()
})
}
-const initEnergy = () => {
+const initEnergy = (list) => {
var myChart = echarts.init(document.querySelector('.energyRef'))
// 缁樺埗鍥捐〃
myChart.setOption({
@@ -960,7 +576,7 @@
axisLine: {
show: false
},
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
+ data: list.map(i => i.dateStr)
},
series: [
{
@@ -974,7 +590,7 @@
emphasis: {
focus: 'series'
},
- data: [320, 302, 301, 334, 390, 330, 320],
+ data: list.map(i => i.inTransitNum),
itemStyle: {
normal: {
color: {
@@ -1023,7 +639,7 @@
emphasis: {
focus: 'series'
},
- data: [120, 132, 101, 134, 90, 230, 210]
+ data: list.map(i => i.arriveNum)
}
]
})
@@ -1031,31 +647,548 @@
myChart.resize()
})
}
+const getData1 = () => {
+ getStorearriveGoodsList().then(res => {
+ initEnergy(res.data || [])
+ })
+}
+const transportTask = ref([])
+const taskCode = ref('')
+const getData2 = () => {
+ getStoreTaskList({ code: taskCode.value }).then(res => {
+ let temp = res.data || []
+ temp = temp.splice(0, 5)
+ transportTask.value = temp.map(item => {
+ item.taskDate = item.taskDate.slice(5, 16)
+ return item
+ })
+ })
+}
+
+const cneterData = ref({})
+const colors = ['#0193FE', '#FFB642']
+const StockOutData = ref([])
+const initEchart1 = () => {
+ const myChart = echarts.init(document.getElementById('echart1'))
+ const option = {
+ tooltip: {
+ trigger: 'item'
+ },
+ series: [
+ {
+ type: 'pie',
+ radius: ['72%', '96%'],
+ label: {
+ show: false,
+ position: 'center'
+ },
+ color: colors,
+ labelLine: {
+ show: false
+ },
+ data: StockOutData.value
+ }
+ ]
+ }
+ myChart.setOption(option)
+ window.addEventListener('resize', function () { // 鎵ц
+ myChart.resize()
+ })
+}
+const getStockOut = () => {
+ let arr = []
+ arr.push({ name: '鐪佸唴', value: (cneterData.value.yearProvinceRata * 100).toFixed(0) + '%' })
+ arr.push({ name: '鐪佸', value: ((1 - cneterData.value.yearProvinceRata) * 100).toFixed(0) + '%' })
+ arr.sort((a, b) => b.value - a.value)
+ StockOutData.value = arr
+ initEchart1()
+}
+const getData3 = () => {
+ getStorecenterData().then(res => {
+ cneterData.value = res.data || {}
+ getStockOut()
+ })
+}
+
+const activeTabs = ref(0)
+const dataList4 = ref([])
+const initEchart4 = () => {
+ // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥
+ const myChart = echarts.init(document.getElementById('echart4'))
+ // 缁樺埗鍥捐〃
+ myChart.setOption({
+ tooltip: {
+ trigger: 'axis',
+ backgroundColor: '#091123',
+ axisPointer: {
+ type: 'line'
+ },
+ // formatter: function (params) {
+ // setTimeout(() => {
+ // })
+ // return `
+ // <div style="background-color: #091123;margin: -12px;padding: 14px;border: 2px solid rgba(1,217,254,0.5);color: #fff;">
+ // <div>${params[0].name}鎬婚攢鍞(涓囧厓)</div>
+ // <div style="display: flex;align-items: center;">
+ // <div style="width: 10px;height: 10px;border-radius: 50%;background-color: #ebbf40;"></div>
+ // <div style="margin: 0 4px 0 6px;">鎬婚攢鍞�</div>
+ // <span style="color: #ebbf40;">${params[0].value}</span>
+ // </div>
+ // </div>
+ // `
+ // }
+ },
+ xAxis: {
+ type: 'category',
+ boundaryGap: false,
+ data: dataList4.value.map(i => i.dateStr)
+ },
+ yAxis: {
+ type: 'value',
+ name: '涓囨敮',
+ nameTextStyle: {
+ padding: [0, 0, 0, -16] // 鍥涗釜鏁板瓧鍒嗗埆涓轰笂鍙充笅宸︿笌鍘熶綅缃窛绂�
+ },
+ splitLine: {
+ show: true,
+ lineStyle: {
+ //杩欓噷杈撳叆绾挎潯鐨勬牱寮�
+ color: 'rgba(255,255,255,0.14)',
+ type: 'dashed',
+ },
+ splitNumber: 4
+ }
+ },
+ legend: {
+ itemGap: 24,
+ icon: 'rect',
+ right: '12px',
+ top: '0',
+ itemWidth: 16,
+ itemHeight: 2,
+ textStyle: {
+ color: '#fff',
+ borderColor: '#fff'
+ },
+ data: ['鎬诲叆搴撻噺', '鎬诲嚭搴撻噺', '搴撳瓨閲�']
+ },
+ grid: {
+ top: '18%',
+ left: '0%',
+ right: '2%',
+ bottom: '2%',
+ containLabel: true
+ },
+ series: [
+ {
+ name: '鎬诲叆搴撻噺',
+ data: dataList4.value.map(item => {
+ return {
+ name: item.dateStr,
+ value: item.totalInNum,
+ }
+ }),
+ type: 'line',
+ areaStyle: {
+ normal: {
+ color: {
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [
+ {
+ offset: 0,
+ color: "#4191f6" // 0% 澶勭殑棰滆壊
+ },
+ {
+ offset: .4,
+ color: "#203d79" // 0% 澶勭殑棰滆壊
+ },
+ {
+ offset: 1,
+ color: "#1b1b12" // 100% 澶勭殑棰滆壊
+ }],
+ globalCoord: false // 缂虹渷涓� false
+ }
+ }
+ },
+ lineStyle: { // 绾挎潯鏍峰紡
+ color: {
+ type: 'linear',
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [{
+ offset: 0, color: '#4191f6' // 0% 澶勭殑棰滆壊
+ }, {
+ offset: 1, color: '#4191f6' // 100% 澶勭殑棰滆壊
+ }],
+ },
+ width: 1.5, // 绾挎潯绮楃粏
+ },
+ symbol: 'circle',
+ symbolSize: 4,
+ itemStyle: {
+ color: "#4190f4",
+ borderColor: "rgba(255,255,255,.3)",
+ borderWidth: 4,
+ },
+ smooth: true
+ },
+ {
+ name: '鎬诲嚭搴撻噺',
+ data: dataList4.value.map(item => {
+ return {
+ name: item.dateStr,
+ value: item.totalOutNum,
+ }
+ }),
+ type: 'line',
+ areaStyle: {
+ normal: {
+ color: {
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [{
+ offset: 0,
+ color: "rgba(192, 156, 53,.7)" // 0% 澶勭殑棰滆壊
+ }, {
+ offset: 1,
+ color: "#1b1b12" // 100% 澶勭殑棰滆壊
+ }],
+ globalCoord: false // 缂虹渷涓� false
+ }
+ }
+ },
+ lineStyle: { // 绾挎潯鏍峰紡
+ color: {
+ type: 'linear',
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [{
+ offset: 0, color: '#F3BD00' // 0% 澶勭殑棰滆壊
+ }, {
+ offset: 1, color: '#F3BD00' // 100% 澶勭殑棰滆壊
+ }],
+ },
+ width: 2, // 绾挎潯绮楃粏
+ },
+ symbol: 'circle',
+ symbolSize: 4,
+ itemStyle: {
+ color: "#F3BD00",
+ borderColor: "rgba(255,255,255,.3)",
+ borderWidth: 4,
+ },
+ smooth: true
+ },
+ {
+ name: '搴撳瓨閲�',
+ data: dataList4.value.map(item => {
+ return {
+ name: item.dateStr,
+ value: item.stockNum,
+ }
+ }),
+ type: 'line',
+ areaStyle: {
+ normal: {
+ color: {
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [{
+ offset: 0,
+ color: "rgba(218, 233, 250)" // 0% 澶勭殑棰滆壊
+ }, {
+ offset: 1,
+ color: "#1b1b12" // 100% 澶勭殑棰滆壊
+ }],
+ globalCoord: false // 缂虹渷涓� false
+ }
+ }
+ },
+ lineStyle: { // 绾挎潯鏍峰紡
+ color: {
+ type: 'linear',
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [{
+ offset: 0, color: '#fff' // 0% 澶勭殑棰滆壊
+ }, {
+ offset: 1, color: '#fff' // 100% 澶勭殑棰滆壊
+ }],
+ },
+ width: 2, // 绾挎潯绮楃粏
+ },
+ symbol: 'circle',
+ symbolSize: 4,
+ itemStyle: {
+ color: "#fff",
+ borderColor: "rgba(255,255,255,.3)",
+ borderWidth: 4,
+ },
+ smooth: true
+ },
+ ]
+ })
+
+ window.addEventListener('resize', function () {//鎵ц
+ myChart.resize()
+ })
+}
+const tabsClick4 = (tab) => {
+ activeTabs.value = tab
+ getData4()
+}
+const getData4 = () => { // 杩涢攢瀛樿繍钀�
+ getStoreOperationList({ queryType: activeTabs.value }).then(res => {
+ console.log('res', res)
+ dataList4.value = res.data || []
+ initEchart4()
+ })
+}
+
+const dataList5 = ref([])
+const initEchart5 = () => {
+ // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥
+ const myChart = echarts.init(document.getElementById('echart5'))
+ // 缁樺埗鍥捐〃
+ myChart.setOption({
+ legend: {
+ itemGap: 12,
+ // icon: 'circle',
+ right: '12px',
+ top: '0',
+ data: ['鎬诲簱瀛�', '褰撳墠搴撳瓨', '搴撳瓨鍒╃敤鐜�'],
+ itemWidth: 20,
+ itemHeight: 10,
+ textStyle: {
+ color: '#fff',
+ borderColor: '#fff'
+ },
+ },
+ grid: {
+ left: '3%',
+ right: '0%',
+ bottom: '3%',
+ top: '24%',
+ containLabel: true
+ },
+ tooltip: {
+ trigger: 'axis'
+ },
+ xAxis: [{
+ nameGap: 5,
+ type: 'category',
+ axisLine: {
+ show: true,
+ lineStyle: {
+ color: '#999'
+ },
+ },
+ axisLabel: {
+ color: '#869CC9'
+ // fontSize: 24,
+ },
+ axisTick: {
+ show: false,
+ },
+ data: dataList5.value.map(i => i.placeName),
+ }],
+ yAxis: [
+ {
+ nameTextStyle: {
+ color: '#869CC9',
+ },
+ offset: 0,
+ name: '涓囨敮',
+ type: 'value',
+ axisLabel: {
+ show: true,
+ color: "#869CC9",
+ },
+ axisLine: {
+ show: true,
+ },
+ splitLine: {
+ show: true,
+ lineStyle: {
+ width: 1,
+ color: "rgba(49,105,129,0.4)",
+ type: 'dashed'
+ }
+ },
+ },
+ {
+ type: 'value',
+ name: '%',
+ min: 0,
+ max: 100,
+ // interval: 5,
+ axisLabel: {
+ formatter: '{value}'
+ },
+ splitLine: false
+ }
+ ],
+ series: [
+ {
+ name: '鎬诲簱瀛�',
+ type: 'bar',
+ barWidth: 8,
+ barGap: '60%',
+ label: {
+ show: false,
+ position: 'top',
+ color: '#fff',
+ },
+ itemStyle: {
+ color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+ {
+ offset: 0,
+ color: '#5bc7d5'
+ },
+ {
+ offset: 1,
+ color: '#1a3f55'
+ }
+ ], false),
+ lineStyle: {
+ width: 1,
+ type: 'solid'
+ },
+ barBorderRadius: [30, 30, 0, 0],
+ },
+ data: dataList5.value.map(i => i.totalStockNum)
+ },
+ {
+ name: '褰撳墠搴撳瓨',
+ type: 'bar',
+ barWidth: 8,
+ label: {
+ show: false,
+ position: 'top',
+ color: '#fff',
+ },
+ itemStyle: {
+ color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+ {
+ offset: 0,
+ color: '#edaf3d'
+ },
+ {
+ offset: 1,
+ color: '#323522'
+ }
+ ], false),
+ lineStyle: {
+ width: 1,
+ type: 'solid'
+ },
+ barBorderRadius: [30, 30, 0, 0],
+ },
+ data: dataList5.value.map(i => i.nowStockNum)
+ },
+ {
+ name: '搴撳瓨鍒╃敤鐜�',
+ type: 'line',
+ smooth: true,
+ showAllSymbol: true,
+ symbol: 'none',
+ lineStyle: {
+ color: "#3d87e5"
+ },
+ label: {
+ show: false,
+ position: 'top',
+ color: '#fff',
+ },
+ data: dataList5.value.map(i => i.stockRataNum)
+ }
+ ]
+ })
+
+ window.addEventListener('resize', function () {//鎵ц
+ myChart.resize()
+ })
+}
+const getData5 = () => {
+ getStoreenergyDataList({ queryType: activeTabs.value }).then(res => {
+ console.log('res', res)
+ dataList5.value = res.data || []
+ initEchart5()
+ })
+}
+
+const initData = () => {
+ getData1()
+ getData2()
+ getData3()
+ getData4()
+ getData5()
+}
onMounted(() => {
- initEnergy()
+ initData()
+
initMap()
- getStockOut()
- initEchart2()
- initEchart3()
- initEchart4()
- initEchart5()
+ // initEchart2()
+ // initEchart3()
+ // initEchart4()
+ // initEchart5()
})
</script>
-<style>
-.map-tip-box{
- background-color: #1f3b57;
- color: #fff;
+<style lang="scss">
+.map-tip-box {
+ background-color: rgba(6, 25, 48, .8);
+ padding: 10px 30px;
+ padding-left: 20px;
+ border-radius: 4px;
+ backdrop-filter: blur(10px);
+ color: #D2E0FF;
+ font-size: 12px;
+ border: 1px solid #D2E0FF;
+ .icon {
+ width: 12px;
+ height: 14px;
+ background-image: url('@/assets/images/FireFighting/ic_location@2x.png');
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: cover;
+ margin-right: 6px;
+ }
+
+ .title {
+ font-size: 14px;
+ font-weight: 600;
+ display: flex;
+ align-items: center
+ }
+
+ .item-state-con {
+ margin-bottom: 6px;
+ }
}
</style>
<style lang="scss" scoped>
div {
box-sizing: border-box;
}
+
.main_content {
display: flex;
padding: 20px 25px 0;
@@ -1066,7 +1199,6 @@
.left_box_one {
margin-top: 20px;
padding: 0px 10px 30px 20px;
- border: 1px solid;
.content_wrap {
display: flex;
@@ -1176,7 +1308,6 @@
.left_box_three {
width: 440px;
padding: 0 15px;
- border: 1px solid;
.second_title {
margin-bottom: 10px;
@@ -1195,11 +1326,12 @@
}
.item {
- flex: 1;
+ flex: 4;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
+
}
.header {
@@ -1213,7 +1345,7 @@
.center_box {
flex: 1;
padding: 0 20px;
- margin: 0 40px;
+ margin: 0 20px;
display: flex;
flex-direction: column;
@@ -1221,7 +1353,7 @@
background: rgba(255, 255, 255, 0.02);
height: 230px;
border-top: 2px solid #306ba1;
- padding-top: 20px;
+ padding: 20px 20px 0;
.header_wrap {
display: flex;
@@ -1229,6 +1361,12 @@
margin-bottom: 28px;
font-weight: bold;
font-size: 18px;
+ position: relative;
+ &:hover{
+ .select_op{
+ display: block;
+ }
+ }
background-image: -webkit-linear-gradient(top,
#ffffff 0%,
#c8ddff 66%,
@@ -1260,6 +1398,23 @@
.icon {
width: 14px;
margin-left: 2px;
+ }
+ }
+ .select_op{
+ position: absolute;
+ top: 26px;
+ right: 0px;
+ width: 90px;
+ z-index: 11;
+ display: none;
+ background: radial-gradient( 64% 83% at 50% 50%, rgba(19,88,173,0.8) 0%, rgba(5,18,32,0.86) 100%);
+ .line{
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 36px;
+ cursor: pointer;
+ color: #fff;
}
}
}
@@ -1346,7 +1501,6 @@
.echart_map {
width: 100%;
height: 100%;
- border: 1px solid;
/* transform: scale(.2); */
}
}
@@ -1635,11 +1789,17 @@
height: 28px;
border-radius: 14px;
border: 1px solid #869CC9;
+ padding-left: 8px;
+ margin-right: 12px;
img {
width: 14px;
height: 14px;
margin-right: 3px;
+ }
+
+ .input {
+ flex: 1;
}
}
@@ -1649,6 +1809,10 @@
font-size: 14px;
color: #d2e0ff;
+ .tab {
+ cursor: pointer;
+ }
+
.separate {
width: 1px;
height: 14px;
--
Gitblit v1.9.3