Files
cattleTransportation/datav/index.html

400 lines
12 KiB
HTML
Raw Normal View History

2025-12-08 15:24:43 +08:00
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<!--设置是否为缩放模式 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 新 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" type="text/css" href="https://apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.css">
<!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
<script src="js/jquery.min.js"></script>
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="js/bootstrap.min.js"></script>
<!--echarts JS-->
<script src="js/echarts.min.js"></script>
<!-- 轮播swiper文件 -->
<link rel="stylesheet" type="text/css" href="css/swiper.min.css">
<script src="js/swiper.min.js"></script>
<!--界面样式-->
<script src="js/visual.js"></script>
<script src="js/china.js"></script>
<script src="js/chartMap.js"></script>
<link rel="stylesheet" type="text/css" href="css/visual.css">
</head>
<body class="ksh">
<div id="load">
<div class="load_img"><!-- 加载动画 -->
<img class="jzxz1" src="images/jzxz1.png">
<img class="jzxz2" src="images/jzxz2.png">
</div>
</div>
<div class="head_top">
<div class="head_logo">牛只管理系统</div>
<img class="head_decor" src="images/header.png" alt="标题装饰">
</div>
<div class="visual">
<div class="visual_left">
<div class="visual_box">
<div class="visual_title">
<span>交通流量</span>
<img src="images/ksh33.png">
</div>
<div class="visual_chart" id="main1">
</div>
</div>
<div class="visual_box">
<div class="visual_title">
<span>交通工具流量</span>
<img src="images/ksh33.png">
</div>
<div class="visual_chart" id="main2">
</div>
</div>
<div class="visual_box">
<div class="visual_title">
<span>收费站车流量</span>
<img src="images/ksh33.png">
</div>
<div class="visual_chart sfzcll">
<a>运输方式</a>
<a>客运量</a>
<a>货运量</a>
<div class="sfzcll_pos_box">
<div class="sfzcll_box">
<img class="sfzcll_bkJk" src="images/ksh34.png">
<img class="sfzcll_bkJk" src="images/ksh34.png">
<img class="sfzcll_bkJk" src="images/ksh34.png">
<img class="sfzcll_bkJk" src="images/ksh34.png">
<label><img src="images/ksh35.png">公路运输</label>
<div class="sfzcll_smallBk">
<div class="ygl">
<span>4347.2万</span>
</div>
</div>
<div class="sfzcll_smallBk">
<div class="ygh">
<span>4347.2万</span>
</div>
</div>
<div class="clear"></div>
</div>
<div class="sfzcll_box">
<img class="sfzcll_bkJk" src="images/ksh34.png">
<img class="sfzcll_bkJk" src="images/ksh34.png">
<img class="sfzcll_bkJk" src="images/ksh34.png">
<img class="sfzcll_bkJk" src="images/ksh34.png">
<label><img src="images/ksh35.png">公路运输</label>
<div class="sfzcll_smallBk">
<div class="ygl">
<span>4347.2万</span>
</div>
</div>
<div class="sfzcll_smallBk">
<div class="ygh">
<span>4347.2万</span>
</div>
</div>
<div class="clear"></div>
</div>
<div class="sfzcll_box">
<img class="sfzcll_bkJk" src="images/ksh34.png">
<img class="sfzcll_bkJk" src="images/ksh34.png">
<img class="sfzcll_bkJk" src="images/ksh34.png">
<img class="sfzcll_bkJk" src="images/ksh34.png">
<label><img src="images/ksh35.png">公路运输</label>
<div class="sfzcll_smallBk">
<div class="ygl">
<span>4347.2万</span>
</div>
</div>
<div class="sfzcll_smallBk">
<div class="ygh">
<span>4347.2万</span>
</div>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
</div>
<div class="visual_con">
<div class="visual_conTop">
<div class="visual_conTop_box visual_conTop1">
<div class="stat-card">
<h3>采购总额</h3>
<p class="stat-value" data-field="toalProcurementAmount">--</p>
</div>
</div>
<div class="visual_conTop_box visual_conTop1">
<div class="stat-card">
<h3>销售总额</h3>
<p class="stat-value" data-field="toalSalesAmount">--</p>
</div>
</div>
<div class="visual_conTop_box visual_conTop1">
<div class="stat-card">
<h3>利润</h3>
<p class="stat-value" data-field="profits">--</p>
</div>
</div>
<div class="visual_conTop_box visual_conTop1">
<div class="stat-card">
<h3>应收货款</h3>
<p class="stat-value" data-field="accountsReceivable">--</p>
</div>
</div>
<div class="visual_conTop_box visual_conTop1">
<div class="stat-card">
<h3>未收货款</h3>
<p class="stat-value" data-field="uncollectedPayment">--</p>
</div>
</div>
<div class="visual_conTop_box visual_conTop1">
<div class="stat-card">
<h3>实收货款</h3>
<p class="stat-value" data-field="actualPayment">--</p>
</div>
</div>
<div class="visual_conTop_box visual_conTop1">
<div class="stat-card">
<h3>采购头数</h3>
<p class="stat-value" data-field="totalPurchase">--</p>
</div>
</div>
<div class="visual_conTop_box visual_conTop1">
<div class="stat-card">
<h3>采购单数</h3>
<p class="stat-value" data-field="totalOrder">--</p>
</div>
</div>
<div class="visual_conTop_box visual_conTop1">
<div class="stat-card">
<h3>销售单数</h3>
<p class="stat-value" data-field="totalSales">--</p>
</div>
</div>
</div>
<div class="visual_conBot">
<img class="visual_conBot_l" src="images/ksh42.png">
<img class="visual_conBot_2" src="images/ksh43.png">
<img class="visual_conBot_3" src="images/ksh44.png">
<img class="visual_conBot_4" src="images/ksh45.png">
<div class="visual_chart" id="main8"></div>
<div class="visual_conBot_bot">
<div class="visualSssf_left">
<h3>今日实时收费</h3>
<a style="display:block">全省数据</a>
<a>大同北</a>
<a>大同南</a>
<a>朔州</a>
<a>吕梁北</a>
<a>吕梁南</a>
<a>太原</a>
<a class="active">晋中</a>
<a>太旧</a>
<a>长治</a>
</div>
<div class="visualSssf_right">
<div class="visualSssf_right_box" id="main5"></div>
<div class="visualSssf_right_box" id="main6"></div>
<div class="visualSssf_right_box" id="main7"></div>
</div>
<div class="clear"></div>
</div>
</div>
</div>
<div class="visual_right">
<div class="visual_box">
<div class="visual_title">
<span>本月发生事件</span>
<img src="images/ksh33.png">
</div>
<div class="swiper-container visual_swiper1 visual_chart">
<div class="swiper-wrapper">
<div class="swiper-slide" id="main3"></div>
<div class="swiper-slide" id="main31"></div>
</div>
</div>
</div>
<div class="visual_box visualSfzsfl">
<div class="visual_title">
<span>收费站收费量</span>
<img src="images/ksh33.png">
</div>
<div class="visual_chart" id="main9">
</div>
<div class="visual_table">
<table>
<tr>
<td>小型车</td>
<td>中型车</td>
<td>大型车</td>
</tr>
<tr>
<td>2486万</td>
<td>2486万</td>
<td>2486万</td>
</tr>
<tr>
<td>2486万</td>
<td>2486万</td>
<td>2486万</td>
</tr>
<tr>
<td>2486万</td>
<td>2486万</td>
<td>2486万</td>
</tr>
<tr>
<td>2486万</td>
<td>2486万</td>
<td>2486万</td>
</tr>
</table>
</div>
</div>
<div class="visual_box">
<div class="visual_title">
<span>收费站收费排行</span>
<img src="images/ksh33.png">
</div>
<div class="swiper-container visual_swiper2 visual_chart">
<div class="swiper-wrapper">
<div class="swiper-slide" id="main4"></div>
<div class="swiper-slide" id="main41"></div>
</div>
</div>
</div>
</div>
<div class="clear"></div>
</div>
<script type="text/javascript">
// 公共接口域名(建议由前端/网关同域反向代理到目标域,避免浏览器 CORS
const API_BASE = '/api';
$(function(){
var a=$('.visualSssf_left a')
for(var i=0;i<a.length;i++){
a[i].index=i;
a[i].onclick=function(){
for(var i=0;i<a.length;i++){
a[i].className=''
}
this.className='active'
}
}
var sfzcllH=$('.sfzcll_box').height()
var sfzcllHtwo=sfzcllH-2
$('.sfzcll_box').css('line-height',sfzcllH+'px')
$('.sfzcll_smallBk>div').css('line-height',sfzcllHtwo+'px')
//删除加载动画
$('#load').fadeOut(1000)
setTimeout(function(){
$('#load').remove()
}
,1100);
// 销售概览数据
const fieldMap = {
toalProcurementAmount: '采购总额',
actualPayment: '实收货款',
profits: '利润',
toalSalesAmount: '销售总额',
accountsReceivable: '应收货款',
totalOrder: '采购单数',
totalPurchase: '采购头数',
totalSales: '销售单数',
uncollectedPayment: '未收货款'
};
const formatNumber = (val) => {
if (val === undefined || val === null || val === '') return '--';
const num = Number(val);
if (Number.isNaN(num)) return val;
if (Math.abs(num) >= 10000) return (num / 10000).toFixed(2) + '万';
return num.toLocaleString();
};
const renderSalesOverview = (payload = {}) => {
$('.stat-value').each(function() {
const field = $(this).data('field');
const value = payload[field];
$(this).text(formatNumber(value));
if (fieldMap[field]) {
$(this).attr('title', fieldMap[field]);
}
});
};
const fetchSalesOverview = () => {
$.ajax({
url: API_BASE + '/salesoverview/list',
method: 'GET',
success: function(res) {
const list = res && (res.data || res.rows || res.result || res.list || res);
const first = Array.isArray(list) ? list[0] : list;
renderSalesOverview(first || {});
},
error: function() {
renderSalesOverview({});
}
});
};
fetchSalesOverview();
})
//交通流量
var myChart1 = echarts.init(document.getElementById('main1'));
myChart1.setOption(option1);
//交通工具流量
var myChart2 = echarts.init(document.getElementById('main2'));
myChart2.setOption(option2);
//本月发生事件
var myChart3 = echarts.init(document.getElementById('main3'));
myChart3.setOption(option3);
var myChart31 = echarts.init(document.getElementById('main31'));
myChart31.setOption(option31);
var mySwiper1 = new Swiper('.visual_swiper1', {
autoplay: true,//可选选项,自动滑动
speed:800,//可选选项,滑动速度
autoplay: {
delay: 5000,//1秒切换一次
},
})
//收费站收费排行
var myChart4 = echarts.init(document.getElementById('main4'));
myChart4.setOption(option4);
var myChart41 = echarts.init(document.getElementById('main41'));
myChart41.setOption(option41);
var mySwiper2 = new Swiper('.visual_swiper2', {
autoplay: true,//可选选项,自动滑动
direction : 'vertical',//可选选项,滑动方向
speed:2000,//可选选项,滑动速度
})
//今日实时收费
var myChart5 = echarts.init(document.getElementById('main5'));
myChart5.setOption(option5);
var myChart6 = echarts.init(document.getElementById('main6'));
myChart6.setOption(option6);
var myChart7 = echarts.init(document.getElementById('main7'));
myChart7.setOption(option7);
//中间地图
var myChart8 = echarts.init(document.getElementById('main8'));
myChart8.setOption(option8);
//收费站收费量
var myChart9 = echarts.init(document.getElementById('main9'));
myChart9.setOption(option9);
</script>
</body>
</html>