From 0600ab29100da647a5cd34c935c16f59b3e772e5 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期一, 17 三月 2025 11:14:39 +0800
Subject: [PATCH] Merge branch 'dev' of http://114.132.189.42:9002/r/center-lims-before-ruoyi into dev
---
src/views/chart/dailyBusinessStatistical/index.vue | 277 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 269 insertions(+), 8 deletions(-)
diff --git a/src/views/chart/dailyBusinessStatistical/index.vue b/src/views/chart/dailyBusinessStatistical/index.vue
index bd1a36f..0cb1f98 100644
--- a/src/views/chart/dailyBusinessStatistical/index.vue
+++ b/src/views/chart/dailyBusinessStatistical/index.vue
@@ -1,9 +1,270 @@
<template>
- <div>姣忔棩涓氬姟缁熻</div>
-</template>
-
-<script>
-export default {};
-</script>
-
-<style></style>
+ <div class="daily-main" v-loading="loading">
+ <div class="daily-content" style="height:100%">
+ <el-row :gutter="20">
+ <el-col :xs="12" :sm="8" :md="6" :lg="4" :xl="4" style="margin-bottom: 16px;">
+ <div class="daily-card daily-head">
+ <div class="daily-head-left">
+ <h4>浠婃棩浠诲姟鎺ユ敹</h4>
+ <span>{{ pageData.RECEIVE }}</span>
+ <div class="daily-head-left-info">
+ <img :src="`../../../static/img/daliy-${pageData.RECEIVE_RATIO<0?'down':'up'}.svg`" alt="">
+ <span :class="{active:pageData.RECEIVE_RATIO<0}" class="num" v-html="` ${handleData(pageData.RECEIVE_RATIO)}% `"></span>
+ <span style="font-size: 12px;">杈冩槰澶�</span>
+ </div>
+ </div>
+ <img src="../../../static/img/daliy-0.svg" alt="" srcset="">
+ </div>
+ </el-col>
+ <el-col :xs="12" :sm="8" :md="6" :lg="4" :xl="4" style="margin-bottom: 16px;">
+ <div class="daily-card daily-head">
+ <div class="daily-head-left">
+ <h4>浠婃棩浠诲姟瀹屾垚</h4>
+ <span >{{ pageData.FINISHE }}</span>
+ <div class="daily-head-left-info">
+ <img :src="`../../../static/img/daliy-${pageData.FINISHE_RATIO<0?'down':'up'}.svg`" alt="">
+ <span :class="{active:pageData.FINISHE_RATIO<0}" class="num" v-html="` ${handleData(pageData.FINISHE_RATIO)}% `"></span>
+ <span style="font-size: 12px;">杈冩槰澶�</span>
+ </div>
+ </div>
+ <img src="../../../static/img/daliy-1.svg" alt="" srcset="">
+ </div>
+ </el-col>
+ <el-col :xs="12" :sm="8" :md="6" :lg="4" :xl="4" style="margin-bottom: 16px;">
+ <div class="daily-card daily-head">
+ <div class="daily-head-left">
+ <h4>浠婃棩浠诲姟鍓╀綑</h4>
+ <span >{{ pageData.SURPLUS }}</span>
+ <div class="daily-head-left-info">
+ <img :src="`../../../static/img/daliy-${pageData.SURPLUS_RATIO<0?'down':'up'}.svg`" alt="">
+ <span :class="{active:pageData.SURPLUS_RATIO<0}" class="num" v-html="` ${handleData(pageData.SURPLUS_RATIO)}% `"></span>
+ <span style="font-size: 12px;">杈冩槰澶�</span>
+ </div>
+ </div>
+ <img src="../../../static/img/daliy-2.svg" alt="" srcset="">
+ </div>
+ </el-col>
+ <el-col :xs="12" :sm="8" :md="6" :lg="4" :xl="4" style="margin-bottom: 16px;">
+ <div class="daily-card daily-head">
+ <div class="daily-head-left">
+ <h4>浠婃棩妫�娴嬭垂鐢�</h4>
+ <span>锟{ pageData.PRICE }}</span>
+ <div class="daily-head-left-info">
+ <img :src="`../../../static/img/daliy-${pageData.PRICE_RATIO<0?'down':'up'}.svg`" alt="">
+ <span :class="{active:pageData.PRICE_RATIO}" class="num" v-html="` ${handleData(pageData.PRICE_RATIO)}% `"></span>
+ <span style="font-size: 12px;">杈冩槰澶�</span>
+ </div>
+ </div>
+ <img src="../../../static/img/daliy-3.svg" alt="" srcset="">
+ </div>
+ </el-col>
+ <el-col :xs="12" :sm="8" :md="6" :lg="4" :xl="4" style="margin-bottom: 16px;">
+ <div class="daily-card daily-head">
+ <div class="daily-head-left">
+ <h4>浠婃棩妫�娴嬪伐鏃�</h4>
+ <span>{{pageData.COST}}</span>
+ <div class="daily-head-left-info">
+ <img :src="`../../../static/img/daliy-${pageData.COST_RATIO<0?'down':'up'}.svg`" alt="">
+ <span :class="{active:pageData.COST_RATIO<0}" class="num" v-html="` ${handleData(pageData.COST_RATIO)}% `"></span>
+ <span style="font-size: 12px;">杈冩槰澶�</span>
+ </div>
+ </div>
+ <img src="../../../static/img/daliy-4.svg" alt="" srcset="">
+ </div>
+ </el-col>
+ <el-col :xs="12" :sm="8" :md="6" :lg="4" :xl="4" style="margin-bottom: 16px;">
+ <div class="daily-card daily-head">
+ <div class="daily-head-left">
+ <h4>浠婃棩妫�娴嬩汉鍛�</h4>
+ <span >{{ pageData.PERSON }}</span>
+ <div class="daily-head-left-info">
+ <img :src="`../../../static/img/daliy-${pageData.PERSON_RATIO<0?'down':'up'}.svg`" alt="">
+ <span :class="{active:pageData.PERSON_RATIO<0}" class="num" v-html="` ${handleData(pageData.PERSON_RATIO)}% `"></span>
+ <span style="font-size: 12px;">杈冩槰澶�</span>
+ </div>
+ </div>
+ <img src="../../../static/img/daliy-5.svg" alt="" srcset="">
+ </div>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20" style="height: calc(100% - 170px);">
+ <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" style="margin-bottom: 16px;height: 100%;">
+ <div class="daily-card chart-box" style="height: 100%;">
+ <h4>杩�10鏃ヤ换鍔℃帴鏀堕噺</h4>
+ <echart-module :id="'daily-left'" :config="chartConfig0" :datas="chartData0" style="height: calc(100% - 32px);"></echart-module>
+ </div>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" style="margin-bottom: 16px;height: 100%;">
+ <div class="daily-card chart-box" style="height: 100%;">
+ <h4>杩�10鏃ュ疄闄呭畬鎴愪换鍔′笌鎺ユ敹浠诲姟瀵规瘮</h4>
+ <echart-module :id="'daily-right'" :config="chartConfig1" :datas="chartData1" style="height: calc(100% - 32px);"></echart-module>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ </div>
+ </template>
+
+ <script>
+
+import EchartModule from '@/components/Echart/echart.vue'
+import {
+ businessStatisticsByDay
+} from "../../../api/chart/dailyBusinessStatistical";
+ export default {
+ components: {EchartModule},
+ data(){
+ return{
+ chartConfig0:{
+ height: '',
+ isLoading:false,
+ type:'line'
+ },
+ chartData0:{
+ xData:[],
+ yData:[
+ {
+ title:'浠诲姟鎺ユ敹閲�',
+ data:[]
+ }
+ ]
+ },
+ chartConfig1:{
+ height: '',
+ isLoading:false,
+ type:'bar'
+ },
+ chartData1:{
+ xData:[],
+ yData:[
+ {
+ title:'浠婃棩鎺ユ敹',
+ data:[]
+ },
+ {
+ title:'浠婃棩瀹屾垚',
+ data:[]
+ },
+ ]
+ },
+ pageData:{},
+ loading:false,
+ timers:null,
+ }
+ },
+ mounted(){
+ this.init()
+ this.timers&&clearInterval(this.timers);
+ setInterval(this.init(),1000*60*5)
+ },
+ methods:{
+ init(){
+ this.chartConfig0.isLoading = false
+ this.chartConfig1.isLoading = false
+ this.loading = true;
+ businessStatisticsByDay().then(res => {
+ if (res.code == 201) return
+ this.pageData = this.HaveJson(res.data)
+ let xData = res.data.DAYS.map(m=>{
+ let arr = m.split('-')
+ return `${arr[1]}-${arr[2]}`
+ })
+ this.chartData0.xData = xData
+ this.chartData1.xData = xData
+ this.chartData0.yData[0].data = this.pageData.RECETENDAYS
+ this.chartData1.yData[0].data = this.pageData.RECETENDAYS
+ this.chartData1.yData[1].data = this.pageData.FINISHTENDAYS
+ this.loading = false;
+ this.chartConfig0.isLoading = true
+ this.chartConfig1.isLoading = true
+ })
+ },
+ handleData(val){
+ if(val){
+ let num = Math.abs(val)*100
+ return num.toFixed(0);
+ }else{
+ return '0'
+ }
+ }
+ },
+ deactivated(){
+ this.timers&&clearInterval(this.timers);
+ }
+ }
+ </script>
+
+ <style scoped>
+ .daily-main{
+ height: 450px;
+ overflow-y: auto;
+ overflow-x: hidden;
+ }
+ .daily-content{
+ padding: 20px 0;
+ box-sizing: border-box;
+ }
+ .daily-card{
+ width: 100%;
+ background: #FFFFFF;
+ border-radius: 14px;
+ box-shadow: 6px 6px 54px 0px rgba(0,0,0,0.05);
+ }
+
+ .daily-head{
+ padding: 16px;
+ box-sizing: border-box;
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-start;
+ }
+
+ .daily-head-left h4{
+ color: #202224;
+ font-size: 16px;
+ font-weight: 400;
+ margin-bottom: 16px;
+ opacity: 0.8;
+ }
+
+ .daily-head-left>span{
+ font-family: Nunito Sans-Bold;color: #202224;
+ font-weight: bold;
+ font-size: 28px;
+ display: inline-block;
+ margin-bottom: 16px;
+ }
+
+ .daily-head-left .daily-head-left-info{
+ display: flex;
+ align-items: center;
+ font-size: 16px;
+ color: #202224;
+ }
+
+ .daily-head-left .daily-head-left-info .num{
+ color: #00B69B;
+ }
+ .daily-head-left .daily-head-left-info .num.active{
+ color: #F93C65;
+ }
+
+ .chart-box{
+ padding: 16px 24px;
+ box-sizing: border-box;
+ }
+
+ .chart-box h4{
+ color: #202224;
+ font-family: PingFang SC-Regular;
+ font-weight: 400;
+ font-size: 24px;
+ margin-bottom: 16px;
+ }
+
+ .chart{
+ width: 100%;
+ height: 450px;
+ }
+ </style>
+
\ No newline at end of file
--
Gitblit v1.9.3