index.html 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>首页</title>
  6. <link href="css/common.css" rel="stylesheet">
  7. <link href="css/index.css" rel="stylesheet">
  8. <link href="css/scrollBar.css" rel="stylesheet">
  9. <script type="text/javascript" src="js/echarts.min.js"></script>
  10. <script type="text/javascript" src="js/jquery-2.2.4.min.js"></script>
  11. <script type="text/javascript" src="js/common.js"></script>
  12. <script type="text/javascript" src="js/scroll.js"></script>
  13. <script type="text/javascript" src="js/api.js"></script>
  14. <script type="text/javascript" src="js/jsmpeg.min.js"></script>
  15. </head>
  16. <body>
  17. <div class="header-wrapper">
  18. <div class="title">
  19. 智能化综合管理平台
  20. <svg version="1.1" width="900" height='100'>
  21. <polygon points="" style="fill:transparent;stroke:#69F8FE;stroke-width:2"/>
  22. </svg>
  23. </div>
  24. <div class="nav-bar">
  25. <a class="item active" >首页</a>
  26. <a class="item" href="fzfx.html">生产管理</a>
  27. <a class="item" href="swfk.html">生物防控</a>
  28. <a class="item" href="spjk.html">视频监控</a>
  29. <a class="item" href="hbjc.html">环保监测</a>
  30. </div>
  31. </div>
  32. <div class="grid-wrapper">
  33. <div class="left1">
  34. <div class="wrapper wrapper1">
  35. <div class="tab"><div class="tab-title">人员出入</div></div>
  36. <div class="wrapper-content">
  37. <div class="wide-border">
  38. </div>
  39. <svg version="1.1" width="37" height="25" class="wide-border-line1">
  40. <g transform="translate(0.5 0.5)">
  41. <polyline points="0,24.5 0,0 37,23.5 " style="fill:#0E1E51;stroke:#53BAFD;stroke-width:1"/>
  42. </g>
  43. </svg>
  44. <svg version="1.1" width="90" height="25" class="wide-border-line2">
  45. <g transform="translate(0.5 0.5)">
  46. <polyline points="90,25 65,0 25,0 -1,23.5" style="fill:#0E1E51;stroke:#53BAFD;stroke-width:1"/>
  47. </g>
  48. </svg>
  49. <svg version="1.1" width="25" height="26" class="wide-border-line3">
  50. <line x1="0" y1="0" x2="26" y2="24.5"style="stroke:#53BAFD;stroke-width:1"/>
  51. </svg>
  52. <svg version="1.1" width="25" height="26" class="wide-border-line4">
  53. <line x1="0" y1="24" x2="25" y2="0"style="stroke:#53BAFD;stroke-width:1"/>
  54. </svg>
  55. <div id="device-status">
  56. <div id="chart-snhjsj"></div>
  57. <!--<div class="device-status-box">
  58. <div class="chart-tab-t"><div class="chart-tab-title">人员出入统计</div></div>
  59. <div id="chart-rycrtj"></div>
  60. </div>-->
  61. </div>
  62. </div>
  63. </div>
  64. <div class="wrapper wrapper1">
  65. <div class="tab"><div class="tab-title">行业新闻</div></div>
  66. <div class="wrapper-content">
  67. <div class="wide-border">
  68. </div>
  69. <svg version="1.1" width="37" height="25" class="wide-border-line1">
  70. <g transform="translate(0.5 0.5)">
  71. <polyline points="0,24.5 0,0 37,23.5 " style="fill:#0E1E51;stroke:#53BAFD;stroke-width:1"/>
  72. </g>
  73. </svg>
  74. <svg version="1.1" width="90" height="25" class="wide-border-line2">
  75. <g transform="translate(0.5 0.5)">
  76. <polyline points="90,25 65,0 25,0 -1,23.5" style="fill:#0E1E51;stroke:#53BAFD;stroke-width:1"/>
  77. </g>
  78. </svg>
  79. <svg version="1.1" width="25" height="26" class="wide-border-line3">
  80. <line x1="0" y1="0" x2="26" y2="24.5"style="stroke:#53BAFD;stroke-width:1"/>
  81. </svg>
  82. <svg version="1.1" width="25" height="26" class="wide-border-line4">
  83. <line x1="0" y1="24" x2="25" y2="0"style="stroke:#53BAFD;stroke-width:1"/>
  84. </svg>
  85. <div class="news-box">
  86. <div id="news-list">
  87. </div>
  88. </div>
  89. </div>
  90. </div>
  91. </div>
  92. <div class="brief">
  93. <div class="line1">
  94. <div class="cont datenow">2019-05-21</div>
  95. <div class="division"></div>
  96. <div class="cont">首页</div>
  97. <div class="division"></div>
  98. <div class="cont" id='dataSet'><img src="images/set.png" /></div>
  99. </div>
  100. <div class="line2">
  101. <div class="item">
  102. <div class="bor wrapper">
  103. <div class="border-zhe">
  104. <div class="zhe-block zhe-block-rotate1"></div>
  105. <div class="zhe-block zhe-block-rotate2"></div>
  106. <div class="zhe-block zhe-block-rotate3"></div>
  107. <div class="zhe-block zhe-block-rotate4"></div>
  108. <div class="item-info-title">
  109. <span class="title">总存栏:</span>
  110. <span class="number">0</span>
  111. </div>
  112. </div>
  113. </div>
  114. </div>
  115. <div class="item">
  116. <div class="bor wrapper">
  117. <div class="border-zhe">
  118. <div class="zhe-block zhe-block-rotate1"></div>
  119. <div class="zhe-block zhe-block-rotate2"></div>
  120. <div class="zhe-block zhe-block-rotate3"></div>
  121. <div class="zhe-block zhe-block-rotate4"></div>
  122. <div class="item-info-title">
  123. <span class="title">母猪存栏:</span>
  124. <span class="number">0</span>
  125. </div>
  126. </div>
  127. </div>
  128. </div>
  129. <div class="item">
  130. <div class="bor wrapper">
  131. <div class="border-zhe">
  132. <div class="zhe-block zhe-block-rotate1"></div>
  133. <div class="zhe-block zhe-block-rotate2"></div>
  134. <div class="zhe-block zhe-block-rotate3"></div>
  135. <div class="zhe-block zhe-block-rotate4"></div>
  136. <div class="item-info-title">
  137. <span class="title">均产仔数:</span>
  138. <span class="number">0</span>
  139. </div>
  140. </div>
  141. </div>
  142. </div>
  143. <div class="item">
  144. <div class="bor wrapper">
  145. <div class="border-zhe">
  146. <div class="zhe-block zhe-block-rotate1"></div>
  147. <div class="zhe-block zhe-block-rotate2"></div>
  148. <div class="zhe-block zhe-block-rotate3"></div>
  149. <div class="zhe-block zhe-block-rotate4"></div>
  150. <div class="item-info-title">
  151. <span class="title">PSY:</span>
  152. <span class="number">0</span>
  153. </div>
  154. </div>
  155. </div>
  156. </div>
  157. <div class="item">
  158. <div class="bor wrapper">
  159. <div class="border-zhe">
  160. <div class="zhe-block zhe-block-rotate1"></div>
  161. <div class="zhe-block zhe-block-rotate2"></div>
  162. <div class="zhe-block zhe-block-rotate3"></div>
  163. <div class="zhe-block zhe-block-rotate4"></div>
  164. <div class="item-info-title">
  165. <span class="title">MSY:</span>
  166. <span class="number">0</span>
  167. </div>
  168. </div>
  169. </div>
  170. </div>
  171. <div class="item">
  172. <div class="bor wrapper">
  173. <div class="border-zhe">
  174. <div class="zhe-block zhe-block-rotate1"></div>
  175. <div class="zhe-block zhe-block-rotate2"></div>
  176. <div class="zhe-block zhe-block-rotate3"></div>
  177. <div class="zhe-block zhe-block-rotate4"></div>
  178. <div class="item-info-title">
  179. <span class="title">料肉比:</span>
  180. <span class="number">0</span>
  181. </div>
  182. </div>
  183. </div>
  184. </div>
  185. </div>
  186. </div>
  187. <div class="img" id='img_map' style='position:relative;'>
  188. <div class='img_window' id="box" style="position:absolute;transform:scale(1)">
  189. <canvas id="diagonal" width="" height=""></canvas>
  190. <img alt="" src="images/newmap.jpg" id="pic" usemap="#buildmap" style="">
  191. <map name="buildmap" id="buildmap"><!-- 三个鼠标点击的区域 -->
  192. <!--老牧1区开始-->
  193. <area shape="poly" coords="614,220,620,216,681,259,676,263" href="#" alt="" />
  194. <area shape="poly" coords="602,227,608,223,669,266,663,270" href="#" alt="" />
  195. <area shape="poly" coords="590,233,597,230,657,272,650,276" href="#" alt="" />
  196. <area shape="poly" coords="578,240,586,236,646,280,640,285" href="#" alt="" />
  197. <area shape="poly" coords="566,246,574,243,635,289,629,292" href="#" alt="" />
  198. <area shape="poly" coords="555,253,562,249,622,295,617,300" href="#" alt="" />
  199. <area shape="poly" coords="542,260,549,257,610,304,604,308" href="#" alt="" />
  200. <area shape="poly" coords="530,267,537,264,597,311,591,316" href="#" alt="" />
  201. <area shape="poly" coords="517,275,524,271,585,319,578,323" href="#" alt="" />
  202. <area shape="poly" coords="504,282,511,278,570,327,564,332" href="#" alt="" />
  203. <!--老牧1区结束-->
  204. <!--老牧2区开始-->
  205. <area shape="poly" coords="540,162,547,160,585,203,578,207" href="#" alt="" />
  206. <area shape="poly" coords="526,167,533,164,571,208,563,211" href="#" alt="" />
  207. <area shape="poly" coords="513,171,521,169,557,213,550,216" href="#" alt="" />
  208. <area shape="poly" coords="499,176,506,174,543,218,535,221" href="#" alt="" />
  209. <area shape="poly" coords="485,179,492,178,528,223,521,226" href="#" alt="" />
  210. <area shape="poly" coords="471,184,478,183,514,228,507,231" href="#" alt="" />
  211. <area shape="poly" coords="457,189,463,187,498,233,491,236" href="#" alt="" />
  212. <area shape="poly" coords="442,193,450,190,483,239,476,241" href="#" alt="" />
  213. <area shape="poly" coords="427,198,435,196,467,243,460,245" href="#" alt="" />
  214. <area shape="poly" coords="412,202,420,200,452,249,445,251" href="#" alt="" />
  215. <!--老牧2区结束-->
  216. <!--老牧3区开始-->
  217. <area shape="poly" coords="397,207,405,205,436,253,429,256" href="#" alt="" />
  218. <area shape="poly" coords="382,212,389,210,421,259,414,262" href="#" alt="" />
  219. <area shape="poly" coords="367,217,375,215,404,264,397,267" href="#" alt="" />
  220. <area shape="poly" coords="348,223,356,221,385,270,377,274" href="#" alt="" />
  221. <area shape="poly" coords="333,228,341,226,369,276,361,279" href="#" alt="" />
  222. <area shape="poly" coords="317,232,325,232,353,282,344,284" href="#" alt="" />
  223. <area shape="poly" coords="301,238,309,235,336,287,327,290" href="#" alt="" />
  224. <area shape="poly" coords="285,244,292,242,318,293,309,296" href="#" alt="" />
  225. <area shape="poly" coords="271,247,278,244,304,298,295,301" href="#" alt="" />
  226. <area shape="poly" coords="257,252,265,249,289,303,281,306" href="#" alt="" />
  227. <area shape="poly" coords="246,255,253,253,278,307,270,309" href="#" alt="" />
  228. <area shape="poly" coords="231,260,241,258,264,311,255,314" href="#" alt="" />
  229. <area shape="poly" coords="232,288,240,285,251,308,242,311" href="#" alt="" />
  230. <!--老牧3区结束-->
  231. <!--老牧4区开始-->
  232. <area shape="poly" coords="898,192,912,167,919,170,906,194" href="#" alt="" />
  233. <area shape="poly" coords="879,224,893,199,901,202,888,226" href="#" alt="" />
  234. <area shape="poly" coords="882,186,895,164,903,167,890,189" href="#" alt="" />
  235. <area shape="poly" coords="863,220,877,194,885,197,872,222" href="#" alt="" />
  236. <area shape="poly" coords="865,182,879,159,886,162,873,184" href="#" alt="" />
  237. <area shape="poly" coords="845,213,860,189,867,192,853,217" href="#" alt="" />
  238. <area shape="poly" coords="848,177,862,154,870,157,856,179" href="#" alt="" />
  239. <area shape="poly" coords="829,208,844,184,851,187,837,211" href="#" alt="" />
  240. <!--老牧4区结束-->
  241. <!--老牧5区开始-->
  242. <area shape="poly" coords="891,294,906,256,919,260,905,297" href="#" alt="" />
  243. <area shape="poly" coords="865,286,882,243,906,250,886,294" href="#" alt="" />
  244. <area shape="poly" coords="842,283,852,262,868,267,859,289" href="#" alt="" />
  245. <area shape="poly" coords="821,277,833,255,848,261,837,282" href="#" alt="" />
  246. <area shape="poly" coords="852,259,862,238,879,243,869,262" href="#" alt="" />
  247. <area shape="poly" coords="834,253,843,232,860,238,850,258" href="#" alt="" />
  248. <!--老牧5区结束-->
  249. <!--新区保育开始-->
  250. <area shape="poly" coords="897,136,916,130,934,146,919,152" href="#" />
  251. <area shape="poly" coords="918,129,935,124,955,141,939,146" href="#" alt="" />
  252. <!--新区保育结束-->
  253. <!--天地猪舍开始-->
  254. <area shape="poly" coords="298,309,380,282,385,290,301,318" href="#" alt="" />
  255. <!--天地猪舍结束-->
  256. </map>
  257. </div>
  258. </div>
  259. <div id="right2" class="right2">
  260. <div class="wrapper wrapper1">
  261. <div class="tab"><div class="tab-title">工作看板</div></div>
  262. <div class="wrapper-content">
  263. <div class="wide-border">
  264. </div>
  265. <svg version="1.1" width="37" height="25" class="wide-border-line1">
  266. <g transform="translate(0.5 0.5)">
  267. <polyline points="0,24.5 0,0 37,23.5 " style="fill:#0E1E51;stroke:#53BAFD;stroke-width:1"/>
  268. </g>
  269. </svg>
  270. <svg version="1.1" width="90" height="25" class="wide-border-line2">
  271. <g transform="translate(0.5 0.5)">
  272. <polyline points="90,25 65,0 25,0 -1,23.5" style="fill:#0E1E51;stroke:#53BAFD;stroke-width:1"/>
  273. </g>
  274. </svg>
  275. <svg version="1.1" width="25" height="26" class="wide-border-line3">
  276. <line x1="0" y1="0" x2="26" y2="24.5"style="stroke:#53BAFD;stroke-width:1"/>
  277. </svg>
  278. <svg version="1.1" width="25" height="26" class="wide-border-line4">
  279. <line x1="0" y1="24" x2="25" y2="0"style="stroke:#53BAFD;stroke-width:1"/>
  280. </svg>
  281. <div class="cont">
  282. <div class="item">
  283. <div class="title">待转保育</div>
  284. <div class="num">0</div>
  285. </div>
  286. <div class="item">
  287. <div class="title">待转育肥</div>
  288. <div class="num">0</div>
  289. </div>
  290. <div class="item">
  291. <div class="title">待配</div>
  292. <div class="num">0</div>
  293. </div>
  294. <div class="item">
  295. <div class="title">待妊娠</div>
  296. <div class="num">0</div>
  297. </div>
  298. <div class="item">
  299. <div class="title">待产</div>
  300. <div class="num">0</div>
  301. </div>
  302. <div class="item">
  303. <div class="title">待断奶</div>
  304. <div class="num">0</div>
  305. </div>
  306. <div class="item">
  307. <div class="title">免疫记录</div>
  308. <div class="num">0</div>
  309. </div>
  310. <div class="item">
  311. <div class="title">销售记录</div>
  312. <div class="num">0</div>
  313. </div>
  314. </div>
  315. </div>
  316. </div>
  317. <div class="wrapper wrapper2">
  318. <div class="tab"><div class="tab-title">报警信息</div></div>
  319. <div class="wrapper-content">
  320. <div class="wide-border">
  321. </div>
  322. <svg version="1.1" width="37" height="25" class="wide-border-line1">
  323. <g transform="translate(0.5 0.5)">
  324. <polyline points="0,24.5 0,0 37,23.5 " style="fill:#0E1E51;stroke:#53BAFD;stroke-width:1"/>
  325. </g>
  326. </svg>
  327. <svg version="1.1" width="90" height="25" class="wide-border-line2">
  328. <g transform="translate(0.5 0.5)">
  329. <polyline points="90,25 65,0 25,0 -1,23.5" style="fill:#0E1E51;stroke:#53BAFD;stroke-width:1"/>
  330. </g>
  331. </svg>
  332. <svg version="1.1" width="25" height="26" class="wide-border-line3">
  333. <line x1="0" y1="0" x2="26" y2="24.5"style="stroke:#53BAFD;stroke-width:1"/>
  334. </svg>
  335. <svg version="1.1" width="25" height="26" class="wide-border-line4">
  336. <line x1="0" y1="24" x2="25" y2="0"style="stroke:#53BAFD;stroke-width:1"/>
  337. </svg>
  338. <div class='warning-msg' id="alarmList">
  339. <div class="msg"><img src="images/warning.png" />配怀舍一栋停电报警!</div>
  340. <div class="msg"><img src="images/warning.png" />保育舍二栋超高温报警!</div>
  341. <div class="msg"><img src="images/warning.png" />育肥舍一栋料线报警!</div>
  342. <div class="msg"><img src="images/warning.png" />分娩舍四栋湿度异常报警!</div>
  343. <div class="msg"><img src="images/warning.png" />育肥舍一栋料线报警!</div>
  344. </div>
  345. </div>
  346. </div>
  347. </div>
  348. <div class="bottom1" id="bottom1" >
  349. <div class='single' style='width: 100%;height: 100%;position: relative;'>
  350. <div class="pre"></div>
  351. <div class="next"></div>
  352. <ul class="list">
  353. </ul>
  354. </div>
  355. </div>
  356. </div>
  357. <div class='open-box-container windows-dataset'>
  358. <div class='open-lauer-box'>
  359. <div class="open-box-head"><span class="window-title"></span>参数配置</div>
  360. <div class="open-box-body">
  361. <table cellpadding="0" cellspacing="0" class="wsclset-dataTable">
  362. <tbody>
  363. <tr>
  364. <td class="table-real-head">显示</td>
  365. <td class="table-real-head">参数</td>
  366. <td class="table-real-head">值</td>
  367. <td class="table-real-head">显示</td>
  368. <td class="table-real-head">参数</td>
  369. <td class="table-real-head">值</td>
  370. </tr>
  371. <tr>
  372. <td><input type="checkbox" checked/></td>
  373. <td>总存栏</td>
  374. <td><input type="text" class="param-dataset"></td>
  375. <td><input type="checkbox" checked/></td>
  376. <td>母猪存栏</td>
  377. <td><input type="text" class="param-dataset"></td>
  378. </tr>
  379. <tr>
  380. <td><input type="checkbox" checked/></td>
  381. <td>均产仔数</td>
  382. <td><input type="text" class="param-dataset"></td>
  383. <td><input type="checkbox" checked/></td>
  384. <td>PSY</td>
  385. <td><input type="text" class="param-dataset"></td>
  386. </tr>
  387. <tr>
  388. <td><input type="checkbox" checked/></td>
  389. <td>MSY</td>
  390. <td><input type="text" class="param-dataset"></td>
  391. <td><input type="checkbox" checked/></td>
  392. <td>料肉比</td>
  393. <td><input type="text" class="param-dataset"></td>
  394. </tr>
  395. <tr>
  396. <td><input type="checkbox" /></td>
  397. <td>年产胎次</td>
  398. <td><input type="text" class="param-dataset"></td>
  399. <td><input type="checkbox" /></td>
  400. <td>返情率</td>
  401. <td><input type="text" class="param-dataset"></td>
  402. </tr>
  403. <tr>
  404. <td><input type="checkbox" /></td>
  405. <td>配种数</td>
  406. <td><input type="text" class="param-dataset"></td>
  407. <td><input type="checkbox" /></td>
  408. <td>受胎率</td>
  409. <td><input type="text" class="param-dataset"></td>
  410. </tr>
  411. <tr>
  412. <td><input type="checkbox" /></td>
  413. <td>配娩率</td>
  414. <td><input type="text" class="param-dataset"></td>
  415. <td><input type="checkbox" /></td>
  416. <td>达100Kg日龄</td>
  417. <td><input type="text" class="param-dataset"></td>
  418. </tr>
  419. </tbody></table>
  420. </div>
  421. </div>
  422. </div>
  423. <div class="open-box-container window-ssqx">
  424. <div class='open-lauer-box'>
  425. <div class="open-box-head"><span class="window-title"></span>环境监测温度/湿度日曲线</div>
  426. <div class="open-box-body">
  427. <div id="chart-ssqx"></div>
  428. </div>
  429. </div>
  430. </div>
  431. <div class='open-box-container windows-spjk'>
  432. <div class='open-lauer-box'>
  433. <div class="open-box-head"><span class="window-title"></span>视频监控</div>
  434. <div class="open-box-body">
  435. <div id="play-box-0"></div>
  436. </div>
  437. </div>
  438. </div>
  439. <script type="text/javascript">
  440. var dom_snhjsj = document.getElementById("chart-snhjsj");
  441. var dom_ssqx = document.getElementById("chart-ssqx");
  442. var myChart_snhjsj = echarts.init(dom_snhjsj);
  443. var myChart_ssqx = echarts.init(dom_ssqx);
  444. var app = {};
  445. option_snhjsj=null,option_ssqx=null;
  446. //人员出入详情
  447. var moment = new Date();
  448. var nowHour = moment.getHours();
  449. var nowDate = getDate();
  450. var rycrUrl = "/analyse/uface/passCount";
  451. var data_rycr_in=[];
  452. var data_rycr_out=[];
  453. var data_rycr_legend = [];
  454. var times = 0;
  455. for(var i=0;i<=nowHour;++i){
  456. (function (i) {
  457. var j = i+1;
  458. var rycrParam = {
  459. beginTime:nowDate+" "+(i<10?"0"+i:i)+":00:00",
  460. endTime:nowDate+" "+(j<10?"0"+j:j)+":00:00",
  461. };
  462. data_rycr_legend[i] = (i<10?"0"+i:i)+":00"+"-"+(j<10?"0"+j:j)+":00";
  463. getData(rycrUrl,rycrParam).then(res => {
  464. data_rycr_in[i] = res.inCount;
  465. data_rycr_out[i] = res.outCount;
  466. //console.log(times,nowHour)
  467. if(times==nowHour){
  468. option_snhjsj.series[0].data = data_rycr_out;
  469. option_snhjsj.series[1].data = data_rycr_in;
  470. option_snhjsj.xAxis.data = data_rycr_legend;
  471. myChart_snhjsj.setOption(option_snhjsj, true);
  472. }
  473. ++times;
  474. })
  475. }(i))
  476. }
  477. //获取人员进出详情
  478. option_snhjsj = {
  479. color:['#207bc4','#b93b6a'],
  480. tooltip : {
  481. trigger: 'axis',
  482. axisPointer : { // 坐标轴指示器,坐标轴触发有效
  483. type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  484. },
  485. },
  486. grid: {
  487. x: '3%',
  488. y: '13%',
  489. x2: '5%',
  490. y2: '5%',
  491. containLabel: true
  492. },
  493. legend: {
  494. data: ['外出人数', '进入人数'],
  495. icon:'circle',
  496. itemGap: 5,
  497. itemWidth:10,
  498. top: '2%',
  499. x:'center',
  500. textStyle:{
  501. color:'#ccf5f9',
  502. },
  503. },
  504. xAxis :{
  505. type : 'category',
  506. data : data_rycr_legend,
  507. axisTick: {
  508. alignWithLabel: true
  509. },
  510. axisLine: {
  511. show: true,
  512. lineStyle: {
  513. type: 'solid',
  514. color: '#4865e3',//左边线的颜色
  515. width:'1'//坐标线的宽度
  516. }
  517. },
  518. axisLabel: {
  519. textStyle: {
  520. color: '#ccf5f9',
  521. },
  522. }
  523. },
  524. yAxis :{
  525. type : 'value',
  526. scale: true,
  527. axisLine: {
  528. show: true,
  529. lineStyle: {
  530. type: 'solid',
  531. color: '#4865e3',//左边线的颜色
  532. width:'1'//坐标线的宽度
  533. }
  534. },
  535. splitLine:{
  536. lineStyle: {
  537. type: 'solid',
  538. color: 'rgba(72,101,227,0.7)',
  539. width:'1'
  540. }
  541. },
  542. axisLabel: {
  543. textStyle: {
  544. color: '#ccf5f9',
  545. },
  546. }
  547. },
  548. dataZoom: [{
  549. type: 'inside',
  550. start: 80,
  551. end: 100
  552. }],
  553. series : [
  554. {
  555. name:"外出人数",
  556. type:'bar',
  557. barWidth: '30%',
  558. data:data_rycr_out,
  559. itemStyle: {
  560. normal: {
  561. label: {
  562. show: true, //开启显示
  563. position: 'top', //在上方显示
  564. textStyle: { //数值样式
  565. color: '#ccf5f9',
  566. fontSize: 12
  567. },
  568. formatter: '{c}'
  569. },
  570. }
  571. },
  572. },
  573. {
  574. name:"进入人数",
  575. type:'bar',
  576. barWidth: '30%',
  577. data:data_rycr_in,
  578. itemStyle: {
  579. normal: {
  580. label: {
  581. show: true, //开启显示
  582. position: 'top', //在上方显示
  583. textStyle: { //数值样式
  584. color: '#ccf5f9',
  585. fontSize: 12
  586. },
  587. formatter: '{c}'
  588. }
  589. }
  590. },
  591. }
  592. ]
  593. };
  594. //人员出入统计
  595. option_rycrtj = {
  596. color:['#207bc4','#b93b6a'],
  597. tooltip : {
  598. trigger: 'axis',
  599. axisPointer : { // 坐标轴指示器,坐标轴触发有效
  600. type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  601. },
  602. },
  603. grid: {
  604. x: '3%',
  605. y: '13%',
  606. x2: '5%',
  607. y2: '5%',
  608. containLabel: true
  609. },
  610. legend: {
  611. data: ['外出人数', '进入人数'],
  612. icon:'circle',
  613. itemGap: 5,
  614. itemWidth:10,
  615. top: '2%',
  616. x:'center',
  617. textStyle:{
  618. color:'#ccf5f9',
  619. },
  620. },
  621. xAxis :{
  622. type : 'category',
  623. data : ['08:00-09:00', '09:00-10:00', '10:00-11:00', '11:00-12:00', '12:00-13:00', '13:00-14:00', '14:00-15:00', '15:00-16:00', '16:00-17:00', '17:00-18:00', '18:00-19:00', '19:00-20:00', '20:00-21:00'],
  624. axisTick: {
  625. alignWithLabel: true
  626. },
  627. axisLine: {
  628. show: true,
  629. lineStyle: {
  630. type: 'solid',
  631. color: '#4865e3',//左边线的颜色
  632. width:'1'//坐标线的宽度
  633. }
  634. },
  635. axisLabel: {
  636. textStyle: {
  637. color: '#ccf5f9',
  638. },
  639. }
  640. },
  641. yAxis :{
  642. type : 'value',
  643. scale: true,
  644. axisLine: {
  645. show: true,
  646. lineStyle: {
  647. type: 'solid',
  648. color: '#4865e3',//左边线的颜色
  649. width:'1'//坐标线的宽度
  650. }
  651. },
  652. splitLine:{
  653. lineStyle: {
  654. type: 'solid',
  655. color: 'rgba(72,101,227,0.7)',
  656. width:'1'
  657. }
  658. },
  659. axisLabel: {
  660. textStyle: {
  661. color: '#ccf5f9',
  662. },
  663. }
  664. },
  665. dataZoom: [{
  666. type: 'inside',
  667. start: 0,
  668. end: 20
  669. }],
  670. series : [
  671. {
  672. name:"外出人数",
  673. type:'bar',
  674. barWidth: '30%',
  675. data:[45,56, 66,58,32,15,45,65,31,25,45,36,25],
  676. itemStyle: {
  677. normal: {
  678. label: {
  679. show: true, //开启显示
  680. position: 'top', //在上方显示
  681. textStyle: { //数值样式
  682. color: '#ccf5f9',
  683. fontSize: 12
  684. },
  685. formatter: '{c}'
  686. },
  687. }
  688. },
  689. },
  690. {
  691. name:"进入人数",
  692. type:'bar',
  693. barWidth: '30%',
  694. data:[56, 64,48,56,48,74,55,69,65,32,46,64,45],
  695. itemStyle: {
  696. normal: {
  697. label: {
  698. show: true, //开启显示
  699. position: 'top', //在上方显示
  700. textStyle: { //数值样式
  701. color: '#ccf5f9',
  702. fontSize: 12
  703. },
  704. formatter: '{c}'
  705. }
  706. }
  707. },
  708. }
  709. ]
  710. };
  711. //实时曲线
  712. var x_data = [['00:00','01:00','02:00','03:00','04:00','05:00'],['06:00','07:00','08:00','09:00','10:00','11:00'],['12:00','13:00','14:00','15:00','16:00','17:00'],['18:00','19:00','20:00','21:00','22:00','23:00']];
  713. option_ssqx = {
  714. tooltip: {
  715. trigger: 'axis',
  716. formatter: "{a} <br/>{c} {b}"
  717. },
  718. color:['#ef1a0f','#0fc6ef'],
  719. legend: {
  720. data:['温度','湿度'],
  721. selectedMode: 'single',
  722. textStyle:{
  723. color:"#fff",
  724. fontSize:14
  725. },
  726. top:10,
  727. selected:{
  728. '温度':true,
  729. '湿度':false
  730. }
  731. },
  732. grid:{
  733.             x:"10%",
  734.             y:"10%",
  735.             x2:"10%",
  736.             y2:"10%",
  737.                   
  738.     },
  739. xAxis: {
  740. type: 'category',
  741. data: x_data[0],
  742. axisLine: {
  743. show: true,
  744. lineStyle: {
  745. type: 'solid',
  746. color: '#69F8FE',//左边线的颜色
  747. width:'1'//坐标线的宽度
  748. }
  749. },
  750. axisTick:{
  751. alignWithLabel:true
  752. }
  753. },
  754. yAxis: {
  755. type: 'value',
  756. boundaryGap: ['20%', '20%'],
  757. max: function(value) {
  758. return value.max + 20;
  759. },
  760. axisLine: {
  761. show: true,
  762. lineStyle: {
  763. type: 'solid',
  764. color: '#69F8FE',//左边线的颜色
  765. width:'1'//坐标线的宽度
  766. }
  767. },
  768. splitLine:{
  769. lineStyle: {
  770. type: 'solid',
  771. color: '#69F8FE',//左边线的颜色
  772. width:'1'//坐标线的宽度
  773. }
  774. }
  775. },
  776. series: [
  777. {
  778. name:'温度',
  779. type:'line',
  780. smooth: true,
  781. data:[],
  782. lineStyle:{
  783. normal:{
  784. color:'#ef1a0f'
  785. }
  786. }
  787. },
  788. {
  789. name:'湿度',
  790. type:'line',
  791. smooth: true,
  792. data:[ ],
  793. lineStyle:{
  794. normal:{
  795. color:'#0fc6ef'
  796. }
  797. }
  798. }
  799. ]
  800. };
  801. if (option_snhjsj && typeof option_snhjsj === "object") {
  802. myChart_snhjsj.setOption(option_snhjsj, true);
  803. }
  804. if (option_ssqx && typeof option_ssqx === "object") {
  805. myChart_ssqx.setOption(option_ssqx, true);
  806. }
  807. //s实时曲线自动切换
  808. var j = 0;//当前显示曲线
  809. function changeSsqx(){
  810. var selectLine = {};
  811. var ssqx_option = option_ssqx;
  812. var nums = ssqx_option.legend.data.length;
  813. ++j;
  814. if(j == nums){
  815. j = 0;
  816. };
  817. for(var i=0;i<nums;i++){ //legend中data的值,上面是写死的值,做自动切换时不要写死
  818. if(j==i){
  819. selectLine[ssqx_option.legend.data[i]] = true;
  820. }else{
  821. selectLine[ssqx_option.legend.data[i]] = false;
  822. }
  823. }
  824. myChart_ssqx.clear();
  825. ssqx_option.legend.selected = selectLine;
  826. //ssqx_option.xAxis.data = x_data[j];
  827. myChart_ssqx.setOption(ssqx_option, true);
  828. }
  829. myChart_ssqx.on("legendselectchanged", obj => {
  830. var nums = option_ssqx.legend.data.length;
  831. for(var i=0;i<nums;i++){ // this.legendData是legend中data的值,上面是写死的值,做自动切换时不要写死
  832. if(obj.name==option_ssqx.legend.data[i]){
  833. j=i;
  834. }
  835. }
  836. });
  837. var t1 = window.setInterval("changeSsqx()",4000);
  838. $('#chart-ssqx').mouseover(function(){
  839. window.clearInterval(t1);//去掉定时器
  840. })
  841. $('#chart-ssqx').mouseout(function(){
  842. t1 = window.setInterval("changeSsqx()",4000);
  843. })
  844. //首页数据配置
  845. var indexDataSetParam = {
  846. id:3
  847. };
  848. var indexDataSetUrl = "/publics/sysconf/get";
  849. getData(indexDataSetUrl,indexDataSetParam).then(res => {
  850. var data = JSON.parse(res.conf.data);
  851. var len = data.length;
  852. for(var i=0;i<len;++i){
  853. $('.brief>.line2 .item').eq(i).find(".title").text(data[i].key+":");
  854. $('.brief>.line2 .item').eq(i).find(".number").text(data[i].val);
  855. }
  856. })
  857. //工作看板
  858. var warkDataSetParam = {
  859. id:30002
  860. };
  861. getData(indexDataSetUrl,warkDataSetParam).then(res => {
  862. var data = JSON.parse(res.conf.data);
  863. var len = data.length;
  864. for(var i=0;i<len;++i){
  865. $('.right2 .item').eq(i).find(".title").text(data[i].key);
  866. $('.right2 .item').eq(i).find(".num").text(data[i].val);
  867. }
  868. })
  869. //行业新闻
  870. var newsDataSetParam = {
  871. id:30003
  872. };
  873. getData(indexDataSetUrl,newsDataSetParam).then(res => {
  874. var data = JSON.parse(res.conf.data);
  875. var len = data.length;
  876. var html = "";
  877. for(var i=0;i<len;++i){
  878. html+='<div class="news-item"><div class="news-title">'+data[i].key+'</div><div class="news-content">'+data[i].val+'</div></div>'
  879. }
  880. $("#news-list").html(html);
  881. })
  882. //报警信息
  883. var alarmParam = {
  884. limit:20
  885. };
  886. var alarmUrl = "/analyse/hm/device/warning-list";
  887. getData(alarmUrl,alarmParam,"GET").then(res => {
  888. //console.log(res)
  889. var data =res;
  890. var len = data.length;
  891. var html = "";
  892. for(var i=0;i<len;++i){
  893. html+='<div class="msg"><img src="images/warning.png" />'+data[i].message+'</div>'
  894. }
  895. $("#alarmList").html(html);
  896. })
  897. //区域信息
  898. var areaParam = {
  899. code:"area-info",
  900. hasSub:true
  901. };
  902. var areaUrl = "/publics/treenode/getTreeByCode";
  903. var getTempUrl = "/device/device-mount-point/get-by-areaId";
  904. var hasTempArr = [2,5,6,8,13,21,24,26,33,39,42,59,60,63,64];
  905. var hasVideoArr = [1,2,4,5,10,11,13,14,21,24,26,33,34,42,45,46,47,48];
  906. //获取某个区域当前温湿度
  907. //areaId
  908. //n:地图上的索引
  909. //t:下方滚动的位置索引
  910. function getDevice(areaId,n,i=0){
  911. var getdeviceParam = {
  912. areaId:areaId,
  913. };
  914. var getdeviceUrl = "/device/device-mount-point/get-by-areaId";
  915. getData(getdeviceUrl,getdeviceParam,"GET").then(res => {
  916. //console.log(i,res)
  917. console.log(n,res)
  918. var r = res.length;
  919. //if(hasTempArr.indexOf(n)>=0){
  920. for(var j = 0;j<r;++j){
  921. if((res[j].categoryId=="738712669431533568" || res[j].categoryId=="738712714163785728" )&& res[j].data!=undefined){
  922. //监测设备
  923. $(".single .list li.buildEnv-"+i+" .temp").text(res[j].data.temperature)
  924. $(".single .list li.buildEnv-"+i+" .humi").text(res[j].data.humidity)
  925. $(".single .list li.buildEnv-"+i).attr("device-id",res[j].deviceId);
  926. return;
  927. }
  928. }
  929. //}
  930. })
  931. }
  932. function getVideoDevice(areaId,n){
  933. var getdeviceParam = {
  934. areaId:areaId,
  935. };
  936. var getdeviceUrl = "/device/device/listByAreaId";
  937. getData(getdeviceUrl,getdeviceParam,"GET").then(res => {
  938. //console.log(i,res)
  939. console.log(n,res)
  940. var r = res.length;
  941. //if(hasTempArr.indexOf(n)>=0){
  942. for(var j = 0;j<r;++j){
  943. if(res[j].categoryId=="738713612176855040"){
  944. //监控设备
  945. $("#buildmap area").eq(n).attr("channel-data",res[j].meta.channel);
  946. return;
  947. }
  948. }
  949. //}
  950. })
  951. }
  952. getData(areaUrl,areaParam).then(res => {
  953. //console.log(res)
  954. var buildinfo = res.childs;
  955. var areaLen = buildinfo.length;
  956. var h = "";
  957. var t = 0;
  958. for(var i=0;i<areaLen;++i){
  959. var k=0;//k表示area标签的索引
  960. if(buildinfo[i].nodeName=="1牧区"){
  961. k=0;
  962. }else if(buildinfo[i].nodeName=="2牧区"){
  963. k=10;
  964. }else if(buildinfo[i].nodeName=="3牧区"){
  965. k=20;
  966. }else if(buildinfo[i].nodeName=="4牧区"){
  967. k=33;
  968. }else if(buildinfo[i].nodeName=="5牧区"){
  969. k=41;
  970. }else if(buildinfo[i].nodeName=="新区保育"){
  971. k=47;
  972. }else if(buildinfo[i].nodeName=="天地猪舍"){
  973. /*$("#buildmap area").eq(49).attr("title",buildinfo[i].nodeName)
  974. $("#buildmap area").eq(49).attr("data-nodeId",buildinfo[i].id)
  975. h+='<li class="buildEnv-'+t+'" build-index="'+t+'">'
  976. h+='<div class="leftbar"><div class="room_num">'+buildinfo[i].nodeName+'</div></div>'
  977. h+='<div class="cont"><div class="line"><img src="images/temp-1.png" alt="">温度:<span class="temp">0</span>℃</div>'
  978. h+='<div class="line"><img src="images/humidity.png" alt="">湿度:<span class="humi">0</span>RH</div></div></li>'
  979. //获取当前温湿度
  980. //
  981. getDevice(buildinfo[i].id,49,t)
  982. ++t;*/
  983. continue;
  984. }else{
  985. continue;
  986. }
  987. var l = buildinfo[i].childs.length;
  988. for(var j=0;j<l;++j){
  989. var n = k+j;
  990. if(k==0 && n>=10) break;//特殊处理
  991. if(k==10 && n>=20) break;//特殊处理
  992. if(k==20 && n>=33) break;//特殊处理
  993. if(k==33 && n>=41) break;//特殊处理
  994. $("#buildmap area").eq(n).attr("title",buildinfo[i].childs[j].nodeName)
  995. $("#buildmap area").eq(n).attr("data-nodeId",buildinfo[i].childs[j].id)
  996. if(hasTempArr.indexOf(n)>=0){
  997. console.log(n)
  998. h+='<li class="buildEnv-'+t+'" build-index="'+t+'">'
  999. h+='<div class="leftbar"><div class="room_num">'+buildinfo[i].childs[j].nodeName+'</div></div>'
  1000. h+='<div class="cont"><div class="line"><img src="images/temp-1.png" alt="">温度:<span class="temp">0</span>℃</div>'
  1001. h+='<div class="line"><img src="images/humidity.png" alt="">湿度:<span class="humi">0</span>RH</div></div></li>';
  1002. console.log('我的',buildinfo[i].childs[j])
  1003. getDevice(buildinfo[i].childs[j].id,n,t)
  1004. //下方的轮播自增
  1005. ++t;
  1006. //console.log(buildinfo[i].childs[j].nodeName)
  1007. }
  1008. if(hasVideoArr.indexOf(n)>=0){
  1009. getVideoDevice(buildinfo[i].childs[j].id,n)
  1010. //下方的轮播自增
  1011. }
  1012. }
  1013. }
  1014. $(".single .list").html(h);
  1015. var single = $('.single').mySingleScroll({
  1016. speed: 2000
  1017. });
  1018. })
  1019. </script>
  1020. <script src="js/scrollBar.js" type="text/javascript"></script>
  1021. <script>
  1022. $('.warning-msg').scrollBar({
  1023. barWidth: 5, //滚动条的宽度(这里根据需要写数值即可,不设置是10,即默认10px)
  1024. position: "y", //写“x”代表只出水平滚动条,写“y”表示只出垂直滚动条,写“x,y”则出水平和垂直滚动条(只有在内容超出容器时才出现滚动条)
  1025. wheelDis: 24 //滚轮滚动一次向下或向上滚动的距离,默认是15,可根据需要修改数值
  1026. })
  1027. $('#news-list').scrollBar({
  1028. barWidth: 5, //滚动条的宽度(这里根据需要写数值即可,不设置是10,即默认10px)
  1029. position: "y", //写“x”代表只出水平滚动条,写“y”表示只出垂直滚动条,写“x,y”则出水平和垂直滚动条(只有在内容超出容器时才出现滚动条)
  1030. wheelDis: 24 //滚轮滚动一次向下或向上滚动的距离,默认是15,可根据需要修改数值
  1031. })
  1032. </script>
  1033. <script type="text/javascript" src="js/index.js"></script>
  1034. <body>
  1035. </html>