| <!DOCTYPE html> | 
| <html> | 
|   | 
| <head> | 
|     <meta charset="utf-8"> | 
|     <title>layuiAdmin 控制台主页一</title> | 
|     <meta name="renderer" content="webkit"> | 
|     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | 
|     <meta name="viewport" | 
|         content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> | 
|     <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all"> | 
|     <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all"> | 
|     <style type="text/css"> | 
|         html, | 
|         body { | 
|             height: 100%; | 
|         } | 
|   | 
|         .ceshi { | 
|             display: flex; | 
|             justify-content: space-around; | 
|         } | 
|   | 
|         .acls { | 
|             display: inline-block; | 
|             width: 125px; | 
|             height: 60px; | 
|         } | 
|   | 
|         .water-ball { | 
|             position: relative; | 
|             width: 100px; | 
|             height: 100px; | 
|             border-radius: 50%; | 
|             background-color: #e0f7fa; | 
|             overflow: hidden; | 
|             box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); | 
|         } | 
|   | 
|         .wave { | 
|             position: absolute; | 
|             bottom: 0; | 
|             left: -50%; /* 调整波浪的起始位置 */ | 
|             width: 200%; | 
|             height: 200%; | 
|             background: #00bcd4; | 
|             border-radius: 50%; | 
|         } | 
|   | 
|         .text-container { | 
|             position: absolute; | 
|             top: 50%; | 
|             left: 50%; | 
|             transform: translate(-50%, -50%); | 
|             text-align: center; | 
|             display: flex; | 
|             flex-direction: column; | 
|             align-items: center; | 
|             justify-content: center; | 
|         } | 
|   | 
|         .label { | 
|             font-size: 12px; | 
|             color: #00796b; | 
|             font-weight: bold; | 
|             margin-bottom: 5px; /* 调整文字和百分数之间的间距 */ | 
|         } | 
|   | 
|         .percentage { | 
|             font-size: 18px; | 
|             color: #00796b; | 
|             font-weight: bold; | 
|         } | 
|   | 
|         .gradient-line { | 
|             margin-top: 30px; | 
|             width: 80%; | 
|             height: 2px; /* 线条的高度 */ | 
|             background: linear-gradient(to right,  | 
|                 #74f2e57f, /* 左边浅色 */ | 
|                 #03d5c0, /* 中间深色 */ | 
|                 #74f2e57f); /* 右边浅色 */ | 
|             opacity: 0.5; | 
|         } | 
|   | 
|   | 
|   | 
|         .cuboid_group{ | 
|             display: flex; | 
|             justify-content: center; | 
|             align-items: center; | 
|             height: 100px; | 
|             width: 115px; | 
|             margin: 0; | 
|             perspective: 1000px; | 
|         } | 
|   | 
|         .cuboid { | 
|             width: 200px; /* 长方体的宽度 */ | 
|             height: 100px; /* 长方体的高度 */ | 
|             position: relative; | 
|             transform-style: preserve-3d; | 
|             transform: rotateX(-25deg) rotateY(45deg); /* 初始旋转角度 */ | 
|         } | 
|   | 
|         .cuboid .face { | 
|             position: absolute; | 
|             display: flex; | 
|             justify-content: center; | 
|             align-items: center; | 
|             font-size: 20px; | 
|             color: white; | 
|             background-color: rgba(0, 123, 255, 0.8); | 
|             border: 2px solid #007bff; | 
|             box-sizing: border-box; | 
|             overflow: hidden; /* 隐藏超出部分 */ | 
|             opacity: 0.6; | 
|         } | 
|   | 
|         /* 前面 */ | 
|         .cuboid .front { | 
|             width: 100px; | 
|             height: 50px; | 
|             transform: translateZ(25px); /* 向前移动 */ | 
|             border-radius: 5px; /* 圆角 */ | 
|         } | 
|   | 
|         /* 后面 */ | 
|         .cuboid .back { | 
|             width: 100px; | 
|             height: 50px; | 
|             transform: rotateY(180deg) translateZ(25px); /* 向后移动 */ | 
|             border-radius: 5px; /* 圆角 */ | 
|         } | 
|   | 
|         /* 右面 */ | 
|         .cuboid .right { | 
|             width: 50px; | 
|             height: 50px; | 
|             transform: rotateY(90deg) translateZ(75px); /* 向右移动 */ | 
|             border-radius: 5px; /* 圆角 */ | 
|         } | 
|   | 
|         /* 左面 */ | 
|         .cuboid .left { | 
|             width: 50px; | 
|             height: 50px; | 
|             transform: rotateY(-90deg) translateZ(25px); /* 向左移动 */ | 
|             display: flex; | 
|             flex-wrap: wrap; | 
|             justify-content: space-around; | 
|             align-content: space-around; | 
|             background-color: rgba(0, 123, 255, 0.8); | 
|             border-radius: 5px; /* 圆角 */ | 
|         } | 
|   | 
|         /* 窗户样式 */ | 
|         .cuboid .left .window { | 
|             width: 16px; /* 窗户宽度 */ | 
|             height: 16px; /* 窗户高度 */ | 
|             background-color: yellow; | 
|         } | 
|   | 
|         /* 顶面 */ | 
|         .cuboid .top { | 
|             width: 100px; | 
|             height: 50px; | 
|             transform: rotateX(90deg) translateZ(25px); /* 向上移动 */ | 
|             border-radius: 5px; /* 圆角 */ | 
|              | 
|         } | 
|   | 
|         /* 底面 */ | 
|         .cuboid .bottom { | 
|             width: 100px; | 
|             height: 50px; | 
|             transform: rotateX(-90deg) translateZ(25px); /* 向下移动 */ | 
|             border-radius: 5px; /* 圆角 */ | 
|         } | 
|   | 
|         /* 去掉表格的边框线 */ | 
|         .layui-table { | 
|             border: none; | 
|         } | 
|         .layui-table th, .layui-table td { | 
|             border: none; | 
|         } | 
|         /* 去掉表头的下边框 */ | 
|         .layui-table thead tr { | 
|             border-bottom: none; | 
|         } | 
|         /* 去掉表格行的下边框 */ | 
|         .layui-table tbody tr { | 
|             border-bottom: none; | 
|         } | 
|     </style> | 
| </head> | 
|   | 
| <body> | 
|     <!-- background: radial-gradient(circle,#bce2aa, #6ce6da); --> | 
|     <div class="layui-fluid" style="padding: 10px;height: 97%;"> | 
|         <div class="layui-row layui-col-space15" style="height: 100%;"> | 
|             <!-- 左 --> | 
|             <div class="layui-col-md4" style="height: 100%;margin-top: 10px;">                 | 
|                 <div class="layui-card" style="height: 100%;border-radius: 15px;box-shadow: 0px 0px 10px 1px #a4a3a3;"> | 
|                     <div style="width: 100%;height: 23.33%;"> | 
|                         <div class="layui-card-header"> | 
|                             <img src="../../img/console/xiexian.png" style="height: 20px;"> | 
|                             系统监控 | 
|                         </div> | 
|                         <div class="layui-card-body" style="padding-top: 0px; height: 90%;display: flex; justify-content: space-between; "> | 
|                             <div class="mokuan"style="display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100px;width: 100px;"> | 
|                                 <img src="../../img/console/zaixianyonghu.png" style="width: 30px;"> | 
|                                 <label style="height: 35px;line-height: 35px;">在线用户数</label> | 
|                                 <label style="font-size: 32px;color: #009688;">108</label>                         | 
|                             </div> | 
|                             <div class="mokuan"style="display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100px;width: 100px;"> | 
|                                 <img src="../../img/console/PDA.png" style="width: 30px;"> | 
|                                 <label style="height: 35px;line-height: 35px;">接入PDA数</label> | 
|                                 <label style="font-size: 32px;color: #009688;">108</label>                         | 
|                             </div> | 
|                             <div class="mokuan"style="display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100px;width: 100px;"> | 
|                                 <img src="../../img/console/pc.png" style="width: 30px;"> | 
|                                 <label style="height: 35px;line-height: 35px;">接入PC数</label> | 
|                                 <label style="font-size: 32px;color: #009688;">108</label>                         | 
|                             </div> | 
|                             <div class="mokuan"style="display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100px;width: 100px;"> | 
|                                 <img src="../../img/console/dayinji.png" style="width: 30px;"> | 
|                                 <label style="height: 35px;line-height: 35px;">接入打印机数</label> | 
|                                 <label style="font-size: 32px;color: #009688;">108</label>                         | 
|                             </div> | 
|                         </div>             | 
|                     </div> | 
|                     <div style="width: 100%;height: 38.33%;"> | 
|                         <div class="layui-card-header"> | 
|                             <img src="../../img/console/xiexian.png" style="height: 20px;"> | 
|                             库存物料类型分布 | 
|                         </div> | 
|                         <div class="layui-card-body" style="padding: 0;height: 100%;"> | 
|                             <div id="zhuOrder" style="width: 100%; height: 100%; display: flex; align-items: center;justify-content: center;"> | 
|                             </div> | 
|                         </div>             | 
|                     </div>     | 
|                     <div style="width: 100%;height: 38.33%;"> | 
|                         <div class="layui-card-header"> | 
|                             <img src="../../img/console/xiexian.png" style="height: 20px;"> | 
|                             库存质量状态分布 | 
|                         </div> | 
|                         <div class="layui-card-body" style="padding: 0;height: 90%;"> | 
|                             <div id="yuanOrder" style="width: 100%; height: 100%; display: flex; align-items: center;justify-content: center;"> | 
|                             </div> | 
|                         </div>             | 
|                     </div>     | 
|                 </div> | 
|             </div> | 
|             <!-- 中 --> | 
|             <div class="layui-col-md4" style="height: 100%;margin-top: 10px;"> | 
|                 <div style="width: 100%;height: 15%;"> | 
|                     <div class="layui-card-body" style="padding-top: 0px; height: 100%;display: flex; justify-content: space-between;"> | 
|                         <div class="mokuan"style="display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100px;width: 100px;"> | 
|                             <label style="height: 50px;line-height: 50px;font-size: 36px;color: #009688;font-weight: 600;">5</label>   | 
|                             <label style="font-size: 20px;">库区总数</label>                                               | 
|                         </div> | 
|                         <div class="mokuan"style="display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100px;width: 100px;"> | 
|                             <label style="height: 50px;line-height: 50px;font-size: 32px;color: #009688;font-weight: 600;">2270</label>  | 
|                             <label style="font-size: 20px;">库位总数</label>                                              | 
|                         </div> | 
|                         <div class="mokuan"style="display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100px;width: 100px;"> | 
|                             <label style="height: 50px;line-height: 50px;font-size: 32px;color: #009688;font-weight: 600;">108</label>  | 
|                             <label style="font-size: 20px;">已使用库位</label>                                                | 
|                         </div> | 
|                         <div class="mokuan"style="display: flex;justify-content: center;align-items: center;height: 100px;margin: 0;"> | 
|                             <div class="water-ball"> | 
|                                 <div class="wave"></div> | 
|                                 <div class="text-container"> | 
|                                     <div class="label">总利用率</div> | 
|                                     <div class="percentage">50%</div> | 
|                                 </div> | 
|                             </div>                 | 
|                         </div> | 
|                     </div> | 
|                 </div> | 
|                 <div style="width: 100%;height: 85%;display: flex;  align-items: center;flex-direction: column;"> | 
|   | 
|                     <div class="gradient-line"></div> | 
|   | 
|                     <div style="width: 300px;height: 120px;box-shadow: 0px 0px 10px 1px #009688; border-radius:15px;margin-top: 30px;"> | 
|                         <div class="layui-card-header"> | 
|                             <img src="../../img/console/xiexian.png" style="height: 20px;"> | 
|                             原辅料仓库,常温库区 | 
|                         </div> | 
|                         <div class="layui-card-body" style="padding-top: 0px; height: 90%;display: flex; justify-content: space-between; "> | 
|                             <div class="mokuan"style="display: flex; flex-direction: column; justify-content: center; align-items: center; height: 60px;width: 100px;"> | 
|                                 <label style="height: 50px;line-height: 50px;font-size: 28px;color: #009688;font-weight: 600;">1008</label>   | 
|                                 <label style="font-size: 18px;">库位总数</label>                                               | 
|                             </div> | 
|                             <div class="mokuan"style="display: flex; flex-direction: column; justify-content: center; align-items: center; height: 60px;width: 100px;"> | 
|                                 <label style="height: 50px;line-height: 50px;font-size: 28px;color: #009688;font-weight: 600;">270</label>  | 
|                                 <label style="font-size: 18px;">已使用</label>                                              | 
|                             </div> | 
|                              | 
|                         </div>     | 
|                     </div> | 
|   | 
|                     <!-- <div style="width: auto;height: 220px;display: grid;align-items: center; justify-content: center; grid-template-columns: repeat(3, 1fr);  gap: 10px;margin-top: 30px;"> | 
|                         <div class="cuboid_group"> | 
|                             <div class="cuboid"> | 
|                                 <div class="face front"></div> | 
|                                 <div class="face back"></div> | 
|                                 <div class="face right"></div> | 
|                                 <div class="face left"> | 
|                                     <div class="window"></div> | 
|                                     <div class="window"></div> | 
|                                     <div class="window"></div> | 
|                                     <div class="window"></div> | 
|                                 </div> | 
|                                 <div class="face top"></div> | 
|                                 <div class="face bottom"></div> | 
|                             </div> | 
|                         </div> | 
|                         <div class="cuboid_group"> | 
|                             <div class="cuboid"> | 
|                                 <div class="face front"></div> | 
|                                 <div class="face back"></div> | 
|                                 <div class="face right"></div> | 
|                                 <div class="face left"> | 
|                                     <div class="window"></div> | 
|                                     <div class="window"></div> | 
|                                     <div class="window"></div> | 
|                                     <div class="window"></div> | 
|                                 </div> | 
|                                 <div class="face top"></div> | 
|                                 <div class="face bottom"></div> | 
|                             </div> | 
|                         </div> | 
|                         <div class="cuboid_group"> | 
|                             <div class="cuboid"> | 
|                                 <div class="face front"></div> | 
|                                 <div class="face back"></div> | 
|                                 <div class="face right"></div> | 
|                                 <div class="face left"> | 
|                                     <div class="window"></div> | 
|                                     <div class="window"></div> | 
|                                     <div class="window"></div> | 
|                                     <div class="window"></div> | 
|                                 </div> | 
|                                 <div class="face top"></div> | 
|                                 <div class="face bottom"></div> | 
|                             </div> | 
|                         </div> | 
|                         <div class="cuboid_group"> | 
|                             <div class="cuboid"> | 
|                                 <div class="face front"></div> | 
|                                 <div class="face back"></div> | 
|                                 <div class="face right"></div> | 
|                                 <div class="face left"> | 
|                                     <div class="window"></div> | 
|                                     <div class="window"></div> | 
|                                     <div class="window"></div> | 
|                                     <div class="window"></div> | 
|                                 </div> | 
|                                 <div class="face top"></div> | 
|                                 <div class="face bottom"></div> | 
|                             </div> | 
|                         </div> | 
|                         <div class="cuboid_group"> | 
|                             <div class="cuboid"> | 
|                                 <div class="face front"></div> | 
|                                 <div class="face back"></div> | 
|                                 <div class="face right"></div> | 
|                                 <div class="face left"> | 
|                                     <div class="window"></div> | 
|                                     <div class="window"></div> | 
|                                     <div class="window"></div> | 
|                                     <div class="window"></div> | 
|                                 </div> | 
|                                 <div class="face top"></div> | 
|                                 <div class="face bottom"></div> | 
|                             </div> | 
|                         </div> | 
|                          | 
|                     </div> --> | 
|                 </div>             | 
|             </div> | 
|             <!-- 右 --> | 
|             <div class="layui-col-md4" style="height: 100%;margin-top: 10px;"> | 
|                 <div class="layui-card" style="height: 100%;border-radius: 15px;box-shadow: 0px 0px 10px 1px #a4a3a3;"> | 
|                     <div style="width: 100%;height: 33.33%;"> | 
|                         <div class="layui-card-header"> | 
|                             <img src="../../img/console/xiexian.png" style="height: 20px;"> | 
|                             近一月热度物料 | 
|                         </div> | 
|                         <div class="layui-card-body" style="padding: 0;height: 90%;width: 90%;margin-left: 5%;"> | 
|                             <table id="LAY-app-content-list" lay-filter="LAY-app-content-list"border="0" cellpadding="0" cellspacing="0"></table> | 
|                         </div>             | 
|                     </div> | 
|                     <div style="width: 100%;height: 33.33%;"> | 
|                         <div class="layui-card-header"> | 
|                             <img src="../../img/console/xiexian.png" style="height: 20px;"> | 
|                             安全库存预警 | 
|                         </div> | 
|                         <div class="layui-card-body" style="padding: 0;height: 90%;width: 90%;margin-left: 5%;"> | 
|                             <table id="LAY-app-content-list2" lay-filter="LAY-app-content-list2"></table> | 
|                         </div>             | 
|                     </div>     | 
|                     <div style="width: 100%;height: 33.33%;"> | 
|                         <div class="layui-card-header"> | 
|                             <img src="../../img/console/xiexian.png" style="height: 20px;"> | 
|                             月度出入库趋势 | 
|                         </div> | 
|                         <div class="layui-card-body" style="padding: 0;height: 90%;"> | 
|                             <div id="xianOrder" style="width: 100%; height: 100%; display: flex; align-items: center;justify-content: center;"> | 
|                             </div> | 
|                         </div>             | 
|                     </div>     | 
|                 </div> | 
|             </div> | 
|         </div> | 
|     </div> | 
|   | 
|     <script src="../../layuiadmin/layui/layui.js?t=1"></script> | 
|     <script src="../../layuiadmin/layui/layui.js?t=1"></script> | 
|     <script src="../../js/jquery-3.5.1.min.js"></script> | 
|     <script src="../../js/jquery.cookie.js"></script> | 
|     <script src="../../js/public.js"></script> | 
|     <script src="../../layuiadmin/echarts/echarts.min.js"></script> | 
|     <script> | 
|         layui.config({ | 
|             base: '../../layuiadmin/' //静态资源所在路径 | 
|         }).extend({ | 
|   | 
|             index: 'lib/index', //主入口模块 | 
|              | 
|         }); | 
|         // 直接使用全局的 echarts | 
|         var echarts = window.echarts; | 
|   | 
|         layui.use(['index', 'console', 'table', 'laypage', 'layer'], function () { | 
|             var table = layui.table, | 
|                 form = layui.form, | 
|                 laypage = layui.laypage, | 
|                 layer = layui.layer | 
|   | 
|             //库存物料类型分布(柱状) | 
|             this.chartLine = echarts.init(document.getElementById("zhuOrder")); | 
|             option = { | 
|                 xAxis: { | 
|                     type: 'category', | 
|                     data: ['成品', '原料', '外包材', '内包材', '中间品', '耗材'], | 
|                     axisLine: { show: false }, // 隐藏 x 轴线 | 
|                     axisTick: { show: false }, // 隐藏 x 轴刻度线 | 
|                 }, | 
|                 yAxis: { | 
|                     type: 'value' | 
|                 }, | 
|                 grid: { | 
|                     top:'5%', | 
|                     containLabel: true | 
|                 }, | 
|                 series: [ | 
|                     { | 
|                         data: [ | 
|                             { | 
|                                 value: 120, | 
|                                 itemStyle: { | 
|                                     color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | 
|                                         { offset: 0, color: '#37A2FF' }, | 
|                                         { offset: 1, color: '#9EE7FF' } | 
|                                     ]), | 
|                                     borderRadius: [15, 15, 0, 0] | 
|                                 } | 
|                             }, | 
|                             { | 
|                                 value: 200, | 
|                                 itemStyle: { | 
|                                     color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | 
|                                         { offset: 0, color: '#FF9F7F' }, | 
|                                         { offset: 1, color: '#FFD97F' } | 
|                                     ]), | 
|                                     borderRadius: [15, 15, 0, 0] | 
|                                 } | 
|                             }, | 
|                             { | 
|                                 value: 150, | 
|                                 itemStyle: { | 
|                                     color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | 
|                                         { offset: 0, color: '#73F0A0' }, | 
|                                         { offset: 1, color: '#B8F7D4' } | 
|                                     ]), | 
|                                     borderRadius: [15, 15, 0, 0] | 
|                                 } | 
|                             }, | 
|                             { | 
|                                 value: 80, | 
|                                 itemStyle: { | 
|                                     color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | 
|                                         { offset: 0, color: '#FF6B6B' }, | 
|                                         { offset: 1, color: '#FFA8A8' } | 
|                                     ]), | 
|                                     borderRadius: [15, 15, 0, 0] | 
|                                 } | 
|                             }, | 
|                             { | 
|                                 value: 70, | 
|                                 itemStyle: { | 
|                                     color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | 
|                                         { offset: 0, color: '#A28DFF' }, | 
|                                         { offset: 1, color: '#D5C7FF' } | 
|                                     ]), | 
|                                     borderRadius: [15, 15, 0, 0] | 
|                                 } | 
|                             }, | 
|                             { | 
|                                 value: 110, | 
|                                 itemStyle: { | 
|                                     color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | 
|                                         { offset: 0, color: '#FFD700' }, | 
|                                         { offset: 1, color: '#FFFACD' } | 
|                                     ]), | 
|                                     borderRadius: [15, 15, 0, 0]                                | 
|                                 } | 
|                             } | 
|                         ], | 
|                         type: 'bar', | 
|                         barWidth: '30%', | 
|                         showBackground: true, | 
|                         backgroundStyle: { | 
|                             color: 'rgba(180, 180, 180, 0.2)', | 
|                             borderRadius: [25, 25, 0, 0] | 
|                         } | 
|                     } | 
|                 ] | 
|             }; | 
|             this.chartLine.setOption(option); | 
|   | 
|              | 
|             //库存质量状态分布(饼状) | 
|             this.chartYuan = echarts.init(document.getElementById("yuanOrder")); | 
|             var option2; | 
|              | 
|             option2 = { | 
|                 tooltip: { | 
|                     trigger: 'item' | 
|                 }, | 
|                 legend: { | 
|                     top: '5%', | 
|                     left: 'center' | 
|                 }, | 
|                 series: [ | 
|                 { | 
|                     name: '数量', | 
|                     type: 'pie', | 
|                     radius: ['40%', '70%'], | 
|                     avoidLabelOverlap: false, | 
|                     itemStyle: { | 
|                         borderRadius: 10, | 
|                         borderColor: '#fff', | 
|                         borderWidth: 2 | 
|                     }, | 
|                     label: { | 
|                         show: true, // 显示标签 | 
|                         position: 'outside', // 标签位置在饼图外部 | 
|                         formatter: '{b}: {c} ({d}%)' // 标签格式,显示名称、值和百分比 | 
|                     }, | 
|                     labelLine: { | 
|                         show: true, // 显示引导线 | 
|                         length: 20, // 第一段引导线的长度 | 
|                         length2: 30 // 第二段引导线的长度 | 
|                     }, | 
|                     data: [ | 
|                         { value: 1048, name: '合格' }, | 
|                         { value: 735, name: '不合格' }, | 
|                         { value: 580, name: '待验证' } | 
|                     ] | 
|                 }] | 
|             }; | 
|             this.chartYuan.setOption(option2); | 
|   | 
|             //获取月度出入库趋势(折线) | 
|             this.chartXian = echarts.init(document.getElementById("xianOrder")); | 
|             var option3; | 
|   | 
|             option3 = { | 
|                 title: { | 
|                     text: '' | 
|                 }, | 
|                 tooltip: { | 
|                     trigger: 'axis' | 
|                 }, | 
|                 legend: { | 
|                     data: ['入库', '出库'] | 
|                 }, | 
|                 grid: { | 
|                     top: '15%',                     | 
|                     left:'5%', | 
|                     bottom:'15%', | 
|                     containLabel: true | 
|                 }, | 
|                 toolbox: { | 
|                     feature: { | 
|                         //saveAsImage: {}//保存图片 | 
|                     } | 
|                 }, | 
|                 xAxis: { | 
|                     type: 'category', | 
|                     boundaryGap: false, | 
|                     data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], | 
|                     axisLine: { show: false }, // 隐藏 x 轴线 | 
|                     axisTick: { show: false }, // 隐藏 x 轴刻度线 | 
|                 }, | 
|                 yAxis: { | 
|                     type: 'value' | 
|                 }, | 
|                 series: [ | 
|                     { | 
|                         name: '入库', | 
|                         type: 'line', | 
|                         stack: 'Total', | 
|                         data: [120, 132, 101, 134, 90, 230, 210] | 
|                     }, | 
|                     { | 
|                         name: '出库', | 
|                         type: 'line', | 
|                         stack: 'Total', | 
|                         data: [220, 182, 191, 234, 290, 330, 310] | 
|                     } | 
|                 ] | 
|             }; | 
|             this.chartXian.setOption(option3); | 
|              | 
|             //近一月热度物料 | 
|             refreshTable(); | 
|             function refreshTable() { | 
|                 infoOptions = { | 
|                     elem: '#LAY-app-content-list', | 
|                     height: 'full-600', | 
|                     id: 'LAY-app-content-list', | 
|                     page: false, | 
|                     limit: pageCnt, | 
|                     limits: pageLimits, | 
|                     cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增 | 
|                     even: true, | 
|                     cols: [[ | 
|                         { field: '', title: '序号', type: 'numbers' }, | 
|                         { field: 'SkuName', title: '物料名称', align: 'center' }, | 
|                         { field: 'RQty', title: '入库数量', align: 'center' }, | 
|                         { field: 'CQty', title: '出库数量', align: 'center' }, | 
|                     ]] | 
|                 }; | 
|   | 
|                 var param = { | 
|   | 
|                 }; | 
|                 sendData(IP + "/Statistical/GetTotalRecord", param, 'get', function (res) { | 
|                     if (res.code == 0) { //成功 | 
|                         var list = res.data; | 
|                         $.extend(infoOptions, { | 
|                             data: list | 
|                         }); | 
|                         // infoOptions.page = { | 
|                         //     curr: 1 | 
|                         // } | 
|                         tableIns = table.render(infoOptions); | 
|                     } | 
|                     else { //不成功 | 
|                         layer.msg('获取总量列表信息失败!', { | 
|                             icon: 2, | 
|                             time: 2000 //2秒关闭(如果不配置,默认是3秒) | 
|                         }, function () { }); | 
|                     } | 
|                 }); | 
|             } | 
|   | 
|   | 
|             //安全库存预警 | 
|             refreshTable2(); | 
|             function refreshTable2() { | 
|                 infoOptions2 = { | 
|                     elem: '#LAY-app-content-list2', | 
|                     height: 'full-600', | 
|                     id: 'LAY-app-content-list2', | 
|                     page: false, | 
|                     limit: pageCnt, | 
|                     limits: pageLimits, | 
|                     cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增 | 
|                     even: true, | 
|                     cols:[[ | 
|                         {field: '',title: '序号',type:'numbers',fixed: 'left', "disabled": true}, | 
|                         {field: 'SkuNo', title: '物料编码', align: 'center'}, | 
|                         {field: 'SkuName', title: '物料名称', align: 'center'}, | 
|                         {title: '批次', field: 'LotNo', align: 'center'}, | 
|                         {field: 'ResidueQty', title: '剩余数量', align: 'center'}, | 
|                     ]] | 
|                 }; | 
|   | 
|                 var param = { | 
|                 }; | 
|   | 
|                 sendData(IP + "/Statistical/GetInventoryWarning", param, 'get', function(res) { | 
|                     if (res.code == 0) { //成功 | 
|                         var list = res.data; | 
|                         $.extend(infoOptions2, { | 
|                             data: list | 
|                         }); | 
|                         // infoOptions2.page = { | 
|                         //     curr: 1 | 
|                         // } | 
|                         tableIns = table.render(infoOptions2); | 
|                     } else { //不成功 | 
|                         layer.msg('获取低库存物料信息失败!', { | 
|                             icon: 2, | 
|                             time: 2000 //2秒关闭(如果不配置,默认是3秒) | 
|                         }, function() {}); | 
|                     } | 
|                 }); | 
|             } | 
|   | 
|             // 设置初始百分比 | 
|             setPercentage(50); | 
|             function setPercentage(percent) { | 
|                 const wave = $('.wave'); | 
|                 const percentageText = $('.percentage'); | 
|                 const waterBallHeight = $('.water-ball').height(); | 
|   | 
|                 // 计算波浪的高度(百分比越高,波浪越低) | 
|                 const waveHeight =(100 - percent) / 100 * waterBallHeight; | 
|   | 
|                 // 设置波浪的高度 | 
|                 wave.css('top', waveHeight + 'px'); | 
|   | 
|                 // 更新显示的百分比 | 
|                 percentageText.text(percent + '%'); | 
|             } | 
|         }) | 
|     </script> | 
| </body> | 
|   | 
| </html> |