From ec7cc88fca8de4b3c56f8ebee074fb7ce71ebf1e Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 02 七月 2025 10:39:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
admin/src/views/index.vue | 457 ---------------------------------------------------------
1 files changed, 1 insertions(+), 456 deletions(-)
diff --git a/admin/src/views/index.vue b/admin/src/views/index.vue
index b090fe8..11c5aa1 100644
--- a/admin/src/views/index.vue
+++ b/admin/src/views/index.vue
@@ -3,132 +3,7 @@
<div class="home_header">
<div class="mb10 fs17">涓嬪崍濂斤紝{{ userInfo.realname }}</div>
<div class="fs13">
- 浠婂ぉ鏄� {{ nowDate }} {{ nowWeek }}锛屾杩庤闂仈鍚堝埄鍗庝簨浠朵笂鎶ョ郴缁熺鐞嗗钩鍙�
- </div>
- </div>
- <div class="main">
- <div class="app_content">
- <div class="static_card">
- <div class="card">
- <div class="header" >
- <div class="left">
- <div class="fs15">SHE浠婃棩鎻愭姤鏁伴噺</div>
- <div class="num">{{ headerData.todaySheNum ||0 }}</div>
- </div>
-<!-- <img src="@/assets/images/bg_a.png" alt="" />-->
- </div>
- <div class="content">
- <div>鏈В鍐筹細{{ 0}}</div>
- <div>宸茶В鍐筹細{{ headerData.sheNum || 0}}</div>
- <div>鎬诲伐鍗曢噺锛歿{ headerData.sheNum || 0}}</div>
- </div>
- </div>
- <div class="card">
- <div class="header">
- <div class="left">
- <div class="fs15">璺岀粖婊戜粖鏃ュ伐鍗曟暟閲�</div>
- <div class="num">{{ headerData.todayDbhNum ||0 }}</div>
- </div>
-<!--
- <img src="@/assets/icons/home_icon2.png" alt="" />
--->
- </div>
- <div class="content">
- <div>鏈В鍐筹細{{ headerData.dbhYesNum || 0}}</div>
- <div>宸茶В鍐筹細{{ headerData.dbhNoNum || 0}}</div>
- <div>鎬诲伐鍗曢噺锛歿{ headerData.dbhNum || 0}}</div>
- </div>
- </div>
- <div class="card">
- <div class="header">
- <div class="left">
- <div class="fs15">DCA浠婃棩涓婃姤娆℃暟</div>
- <div class="num">{{ headerData.todayDcaNum ||0 }}</div>
- </div>
-<!-- <img src="@/assets/icons/home_icon3.png" alt="" />-->
- </div>
- <div class="content">
- <div>绗﹀悎椤癸細{{ headerData.dcaYesNum || 0}}</div>
- <div>涓嶇鍚堥」锛歿{ headerData.dcaNoNum || 0}}</div>
- <div>鎬讳笂鎶ユ鏁帮細{{ headerData.dcaNum || 0}}</div>
- </div>
- </div>
- <div class="card">
- <div class="header">
- <div class="left">
- <div class="fs15">DCA浠婃棩宸ュ崟鏁伴噺</div>
- <div class="num">{{ headerData.todayDcaChildNum ||0 }}</div>
- </div>
-<!-- <img src="@/assets/images/bg_a.png" alt="" />-->
- </div>
- <div class="content">
- <div>鏈В鍐筹細{{ headerData.dcaChildYesNum || 0}}</div>
- <div>宸茶В鍐筹細{{ headerData.dcaChildNoNum || 0}}</div>
- <div>鎬诲伐鍗曢噺锛歿{ headerData.dcaChildNum || 0}}</div>
- </div>
- </div>
- </div>
- <div class="static_wrap">
- <div class="df mb50" >
- <div class="wrap static1">
- <div class="header" style="text-align: center">
- <div class="home_title" style="text-align: center;width: 80%">鍚勭被鍨嬪伐鍗曞崰姣旂粺璁★紙{{searchForm.timeName}}锛�</div>
- <div style="text-align: right;width: 150px;font-size: 12px;height: 25px">
- <el-form :model="searchForm" label-width="100px" inline >
- <el-select v-model="searchForm.timeType" :popper-append-to-body="true" clearable placeholder="鏃堕棿鑼冨洿" @change="reloadDataByType()">
- <el-option value="0" label="鏈懆"/>
- <el-option value="1" label="鏈湀"/>
- <el-option value="2" label="鏈搴�"/>
- <el-option value="3" label="鏈勾"/>
- </el-select>
- </el-form>
- </div>
- </div>
- <div class="echart" style="height: 400px" >
- <div id="circleChart0"></div>
- <div id="circleChart1"></div>
- </div>
- </div>
- </div>
- <div class="df mb50" >
- <div class="wrap static1">
- <div class="header">
- <div class="home_title">1.SHE浜嬩欢涓婃姤</div>
- </div>
- <div class="echart" >
- <div id="echart0"></div>
- <div id="echart01"></div>
- </div>
- </div>
- <div class="wrap static2">
- <div class="header">
- <div class="home_title">2.娣卞害绗﹀悎鎬у鏌CA涓婃姤璁板綍</div>
- </div>
- <div class="echart" >
- <div id="echart1"> </div>
- <div id="echart11"> </div>
- </div>
- </div>
- <div class="wrap static3">
- <div class="header">
- <div class="home_title">3.娣卞害绗﹀悎鎬у鏌CA浜嬩欢宸ュ崟</div>
- </div>
- <div class="echart" >
- <div id="echart2"> </div>
- <div id="echart21"> </div>
- </div>
- </div>
- <div class="wrap static4">
- <div class="header">
- <div class="home_title">4.璺岀粖婊戦闄╀笂鎶�</div>
- </div>
- <div class="echart" >
- <div id="echart3"> </div>
- <div id="echart31"> </div>
- </div>
- </div>
- </div>
- </div>
+ 浠婂ぉ鏄� {{ nowDate }} {{ nowWeek }}锛屾杩庤闂眴绫宠烦璺冲畼缃戝悗鍙扮鐞嗗钩鍙�
</div>
</div>
</div>
@@ -138,7 +13,6 @@
import dayjs from 'dayjs'
import * as echarts from 'echarts'
import { weeks } from '@/utils/config'
-import { getIndexData, getWorkOrderData } from '@/api/business/workorder'
const colors = ['#52a4f7', '#7678f7', '#5fc6d5']
export default {
components: {
@@ -169,344 +43,15 @@
}
},
created () {
- this.initData()
},
mounted () {
this.updateDate()
// this.initData()
},
methods: {
- initData () {
- this.updateDate()
- this.getWorkHead()
- this.getWorkBody0()
- this.getWorkBody1()
- this.getWorkBody2()
- this.getWorkBody3()
- // this.getWorkBody()
- },
- reloadDataByType () {
- getIndexData({timeType: this.searchForm.timeType }).then(res => {
- if (this.searchForm.timeType == '0') {
- this.searchForm.timeName = '鏈懆'
- } else if (this.searchForm.timeType =='1') {
- this.searchForm.timeName = '鏈湀'
- } else if (this.searchForm.timeType =='2') {
- this.searchForm.timeName = '鏈搴�'
- } else if (this.searchForm.timeType == '3') {
- this.searchForm.timeName = '鏈勾'
- } else {
- this.searchForm.timeName = '鍏ㄩ儴'
- }
- this.headerData1 =res || []
- this.initAllData()
- })
- },
- getWorkBody0 () {
- getWorkOrderData({ queryType: 0, orderType: 0 }).then(res => {
- this.staticData0 = res || []
- this.initEchart0()
- })
- getWorkOrderData({ queryType: 1, orderType: 0 }).then(res => {
- this.staticData01 = res || []
- this.initEchart01()
- })
- },
- getWorkBody1 () {
- getWorkOrderData({ queryType: 0, orderType: 1 }).then(res => {
- this.staticData1 = res || []
- this.initEchart1()
- })
- getWorkOrderData({ queryType: 1, orderType: 1 }).then(res => {
- this.staticData11 = res || []
- this.initEchart11()
- })
- },
- getWorkBody2 () {
- getWorkOrderData({ queryType: 0, orderType: 2 }).then(res => {
- this.staticData2 = res || []
- this.initEchart2()
- })
- getWorkOrderData({ queryType: 1, orderType: 2 }).then(res => {
- this.staticData21 = res || []
- this.initEchart21()
- })
- },
- getWorkBody3 () {
- getWorkOrderData({ queryType: 0, orderType: 3 }).then(res => {
- this.staticData3 = res || []
- this.initEchart3()
- })
- getWorkOrderData({ queryType: 1, orderType: 3 }).then(res => {
- this.staticData31 = res || []
- this.initEchart31()
- })
- },
- getWorkHead () {
- getIndexData({ }).then(res => {
- this.headerData = res || {}
- this.headerData1 = res || {}
- this.initAllData()
- })
- },
- initAllData(){
- var cdata = []
- cdata.push({ name: '璺岀粖婊戜簨浠�', value: this.headerData1.dbhNum || 0 })
- cdata.push({ name: 'DCA浜嬩欢', value: this.headerData1.dcaChildNum || 0 })
- cdata.push({ name: 'SHE浜嬩欢', value: this.headerData1.sheNum || 0 })
- this.initEchartCircleDo('circleChart0', '鍚勭被鍨嬩簨浠跺伐鍗曚笂鎶ョ粺璁�', '', cdata)
- var xdata = ['SHE浜嬩欢', '璺岀粖婊戜簨浠�', 'DCA浜嬩欢']
- var ydata = []
- ydata.push({ name: '宸茶В鍐�', stack: 'cateNum', type: 'bar', unit: '椤�', color: '#f07e6f', data: [this.headerData1.sheNum || 0, this.headerData1.dbhYesNum || 0, this.headerData1.dcaChildYesNum || 0] })
- ydata.push({ name: '鏈В鍐�', stack: 'cateNum', type: 'bar', unit: '椤�', color: '#8383ff', data: [0, this.headerData1.dbhNoNum || 0, this.headerData1.dcaChildNoNum || 0] })
- ydata.push({ name: '鎬诲崟閲�', type: 'bar', unit: '娆�', color: '#29aeff', data: [this.headerData1.sheNum || 0, this.headerData1.dbhNum || 0, this.headerData1.dcaChildNum || 0] })
- this.initEchartDataDo('鍚勭被鍨嬩簨浠剁姸鎬佺粺璁�', 'circleChart1', xdata, ydata)
- },
updateDate () {
this.nowDate = dayjs().format('YYYY骞碝鏈圖鏃�')
this.nowWeek = weeks[new Date().getDay()]
- },
- initEchart0 () {
- var ydata = [{ name: '宸ュ崟鏁伴噺', type: 'line', unit: '鍗�', color: '#29aeff', data: this.staticData0.map(i => i.total) }]
- this.initEchartDataDo('鏈堝害缁熻', 'echart0', this.staticData0.map(i => i.dateStr), ydata)
- },
- initEchart01 () {
- var ydata = [{ name: '宸ュ崟鏁伴噺', type: 'bar', unit: '鍗�', color: '#29aeff', data: this.staticData01.map(i => i.total) }]
- this.initEchartDataDo('瀛e害缁熻', 'echart01', this.staticData01.map(i => i.dateStr), ydata)
- },
- initEchart1 () {
- var ydata = []
- ydata.push({ name: '绗﹀悎椤�', type: 'line', unit: '椤�', color: '#f07e6f', data: this.staticData1.map(i => i.dcaYesTotal) })
- ydata.push({ name: '涓嶇鍚堥」', type: 'line', unit: '椤�', color: '#8383ff', data: this.staticData1.map(i => i.dcaNoTotal) })
- ydata.push({ name: '涓婃姤娆℃暟', type: 'bar', unit: '娆�', color: '#29aeff', data: this.staticData1.map(i => i.total) })
- this.initEchartDataDo('鏈堝害缁熻', 'echart1', this.staticData1.map(i => i.dateStr), ydata)
- },
- initEchart11 () {
- var ydata = []
- ydata.push({ name: '绗﹀悎椤�', type: 'line', unit: '椤�', color: '#f07e6f', data: this.staticData11.map(i => i.dcaYesTotal) })
- ydata.push({ name: '涓嶇鍚堥」', type: 'line', unit: '椤�', color: '#8383ff', data: this.staticData11.map(i => i.dcaNoTotal) })
- ydata.push({ name: '涓婃姤娆℃暟', type: 'bar', unit: '娆�', color: '#29aeff', data: this.staticData11.map(i => i.total) })
- this.initEchartDataDo('瀛e害缁熻', 'echart11', this.staticData11.map(i => i.dateStr), ydata)
- },
- initEchart2 () {
- var ydata = []
- ydata.push({ name: '宸ョ▼甯堝叧闂崟閲�', type: 'line', unit: '鍗�', color: '#f0ee6f', data: this.staticData2.map(i => i.gcsTotal) })
- ydata.push({ name: 'WTS鍏抽棴鍗曢噺', type: 'line', unit: '鍗�', color: '#29aeff', data: this.staticData2.map(i => i.wtsTotal) })
- ydata.push({ name: 'SHE鍏抽棴鍗曢噺', type: 'line', unit: '鍗�', color: '#e75314', data: this.staticData2.map(i => i.sheTotal) })
- ydata.push({ name: '鏈В鍐冲崟閲�', type: 'line', unit: '鍗�', color: '#8383ff', data: this.staticData2.map(i => i.unCloseTotal) })
- ydata.push({ name: '宸ュ崟鎬婚噺', type: 'line', unit: '鍗�', color: '#30d3de', data: this.staticData2.map(i => i.total) })
- this.initEchartDataDo('鏈堝害缁熻', 'echart2', this.staticData2.map(i => i.dateStr), ydata)
- },
- initEchart21 () {
- var ydata = []
- ydata.push({ name: '宸ョ▼甯堝叧闂崟閲�', type: 'bar', unit: '鍗�', color: '#f0ee6f', data: this.staticData21.map(i => i.gcsTotal) })
- ydata.push({ name: 'WTS鍏抽棴鍗曢噺', type: 'bar', unit: '鍗�', color: '#29aeff', data: this.staticData21.map(i => i.wtsTotal) })
- ydata.push({ name: 'SHE鍏抽棴鍗曢噺', type: 'bar', unit: '鍗�', color: '#e75314', data: this.staticData21.map(i => i.sheTotal) })
- ydata.push({ name: '鏈В鍐冲崟閲�', type: 'bar', unit: '鍗�', color: '#8383ff', data: this.staticData21.map(i => i.unCloseTotal) })
- ydata.push({ name: '宸ュ崟鎬婚噺', type: 'line', unit: '鍗�', color: '#30d3de', data: this.staticData21.map(i => i.total) })
- this.initEchartDataDo('瀛e害缁熻', 'echart21', this.staticData21.map(i => i.dateStr), ydata)
- },
- initEchart3 () {
- var ydata = []
- ydata.push({ name: '宸ョ▼甯堝叧闂崟閲�', type: 'line', unit: '鍗�', color: '#6feef0', data: this.staticData3.map(i => i.gcsTotal) })
- ydata.push({ name: 'WTS鍏抽棴鍗曢噺', type: 'line', unit: '鍗�', color: 'rgba(217,4,34,0.83)', data: this.staticData3.map(i => i.wtsTotal) })
- ydata.push({ name: 'SHE鍏抽棴鍗曢噺', type: 'line', unit: '鍗�', color: '#e75314', data: this.staticData3.map(i => i.sheTotal) })
- ydata.push({ name: '鏈В鍐冲崟閲�', type: 'line', unit: '鍗�', color: '#8383ff', data: this.staticData3.map(i => i.unCloseTotal) })
- ydata.push({ name: '宸ュ崟鎬婚噺', type: 'line', unit: '鍗�', color: '#30d3de', data: this.staticData3.map(i => i.total) })
- this.initEchartDataDo('鏈堝害缁熻', 'echart3', this.staticData3.map(i => i.dateStr), ydata)
- },
- initEchart31 () {
- var ydata = []
- ydata.push({ name: '宸ョ▼甯堝叧闂崟閲�', type: 'bar', unit: '鍗�', color: '#6feef0', data: this.staticData31.map(i => i.gcsTotal) })
- ydata.push({ name: 'WTS鍏抽棴鍗曢噺', type: 'bar', unit: '鍗�', color: 'rgba(217,4,34,0.83)', data: this.staticData31.map(i => i.wtsTotal) })
- ydata.push({ name: 'SHE鍏抽棴鍗曢噺', type: 'bar', unit: '鍗�', color: '#e75314', data: this.staticData31.map(i => i.sheTotal) })
- ydata.push({ name: '鏈В鍐冲崟閲�', type: 'bar', unit: '鍗�', color: '#8383ff', data: this.staticData31.map(i => i.unCloseTotal) })
- ydata.push({ name: '宸ュ崟鎬婚噺', type: 'line', unit: '鍗�', color: '#30d3de', data: this.staticData31.map(i => i.total) })
- this.initEchartDataDo('瀛e害缁熻', 'echart31', this.staticData31.map(i => i.dateStr), ydata)
- },
- initEchartDataDo (title, id, xdata, ydata) {
- const myChart = echarts.init(document.getElementById(id))
- myChart.setOption({
- title: {
- text: (title || ''),
- textStyle: {
- fontSize: 12,
- fontStyle: 'normal',
- fontWeight: 'bold'
- }
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- },
- textStyle: {
- fontSize: 10,
- fontStyle: 'normal',
- fontWeight: 'normal'
- }
- },
- legend: {
- orient: 'vertical',
- left: 'right',
- textStyle: {
- fontSize: 10,
- fontStyle: 'normal',
- fontWeight: 'normal'
- }
- },
- xAxis: {
- type: 'category',
- // boundaryGap: false,
- data: xdata
- },
- yAxis: {
- type: 'value',
- name: '',
- min: 0,
- axisLabel: {
- formatter: function (value) {
- return Number.isInteger(value) ? value : ''
- }
- },
- textStyle: {
- fontSize: 10,
- fontStyle: 'normal',
- fontWeight: 'normal'
- },
- nameTextStyle: {
- padding: [0, 0, 4, -30] // 鍥涗釜鏁板瓧鍒嗗埆涓轰笂鍙充笅宸︿笌鍘熶綅缃窛绂�
- },
- splitLine: {
- show: true,
- lineStyle: {
- // 杩欓噷杈撳叆绾挎潯鐨勬牱寮�
- color: 'rgba(255,255,255,0.14)'
- }
- }
- },
- grid: {
- top: '16%',
- left: '2%',
- right: '8%',
- bottom: '2%',
- containLabel: true
- },
- series: this.seriesInitData(ydata)
- })
- window.addEventListener('resize', function () { // 鎵ц
- myChart.resize()
- })
- },
- seriesInitData (ydata) {
- var array = []
- for (let i = 0; i < ydata.length; i++) {
- array.push({
- data: ydata[i].data,
- name: ydata[i].name,
- stack: ydata[i].stack || '',
- type: ydata[i].type || 'line',
- areaStyle: {
- normal: {
- color: {
- x: 0,
- y: 0,
- x2: 0,
- y2: 1,
- colorStops: [{
- offset: 0,
- color: ydata[i].color || '#207FF7' // 0% 澶勭殑棰滆壊
- }, {
- offset: 1,
- color: 'rgba(255,255,255,.2)' // 100% 澶勭殑棰滆壊
- }],
- globalCoord: false // 缂虹渷涓� false
- }
- }
- },
- lineStyle: { // 绾挎潯鏍峰紡
- color: {
- type: 'linear',
- x: 0,
- y: 0,
- x2: 0,
- y2: 1,
- colorStops: [{
- offset: 0, color: ydata[i].color || '#207FF7' // 0% 澶勭殑棰滆壊
- }, {
- offset: 1, color: ydata[i].color || '#207FF7' // 100% 澶勭殑棰滆壊
- }]
- },
- width: 2 // 绾挎潯绮楃粏
- },
- symbol: 'circle',
- symbolSize: 10,
- itemStyle: {
- borderWidth: 1,
- borderColor: '#fff',
- color: ydata[i].color || '#207FF7'
- },
- smooth: false
- })
- }
-
- return array
- },
- initEchartCircleDo (id, title, subTitle, data) {
- var option = {
- title: {
- text: '',
- subtext: '',
- left: 'center',
- bottom: 'bottom',
- textStyle: {
- fontSize: 10,
- fontStyle: 'normal',
- fontWeight: 'bold'
- }
- },
- tooltip: {
- trigger: 'item'
- },
- legend: {
- orient: 'vertical',
- left: 'left',
- textStyle: {
- fontSize: 10,
- fontStyle: 'normal',
- fontWeight: 'normal'
- }
- },
- series: [
- {
- name: title || '',
- type: 'pie',
- radius: '50%',
- data: data,
- label: {
- show: true,
- formatter: '{b}:{d}%',
- textStyle: {
- fontSize: 10,
- fontStyle: 'normal',
- fontWeight: 'normal'
- }
- },
- labelLine: {
- show: true
- },
- emphasis: {
- itemStyle: {
- shadowBlur: 10,
- shadowOffsetX: 0,
- shadowColor: 'rgba(0, 0, 0, 0.5)'
- }
- }
- }
- ]
- }
- const myChart = echarts.init(document.getElementById(id))
- myChart.setOption(option)
}
}
}
--
Gitblit v1.9.3