equipmanage_bzy_detail.html 37 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328
  1. {% load staticfiles %}
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8" />
  6. <link href="{% static '/lib/bootstrap-3.3.7/css/bootstrap.css' %}" rel="stylesheet">
  7. <link rel="stylesheet" href="{% static '/lib/font-awesome/4.5.0/css/font-awesome.css' %}">
  8. <link rel="stylesheet" href="{% static '/lib/css/ace.min.css' %}"/>
  9. <link rel="stylesheet" href="{% static '/lib/css/ace-skins.min.css' %}">
  10. <link rel="stylesheet" href="{% static '/lib/css/ace-rtl.min.css' %}">
  11. <link rel="stylesheet" href="{% static '/lib/css/jquery-ui.css' %}" />
  12. <link rel="stylesheet" href="{% static '/lib/layui/css/layui.css' %}">
  13. <style type="text/css">
  14. body {
  15. overflow: hidden;
  16. background: #fff;
  17. }
  18. /* 返回 */
  19. .headerPlace {
  20. font-size: 22px;
  21. color: #418fbb;
  22. cursor: pointer;
  23. }
  24. .headerPlace img {
  25. vertical-align: middle;
  26. margin-right: 10px;
  27. margin-top: -4px;
  28. }
  29. /* 设备用户信息 */
  30. .row {
  31. margin: 0;
  32. }
  33. .userinfo .fa {
  34. font-size: 18px;
  35. color: #26b3ff;
  36. margin: 0px 5px;
  37. }
  38. .userinfoTitle {
  39. margin-right: 30px;
  40. font-size: 16px;
  41. }
  42. .refresh {
  43. text-align: right;
  44. }
  45. .refresh button {
  46. padding: 2px 5px;
  47. border-radius: 5px;
  48. }
  49. .coerce {
  50. display: inline-block;
  51. width: 0;
  52. transition: all .3s;
  53. opacity: 0;
  54. height: 29px;
  55. overflow: hidden;
  56. vertical-align: middle;
  57. }
  58. .coerceBlock {
  59. width: 263px;
  60. opacity: 1;
  61. }
  62. .backStyle {
  63. background: #fff;
  64. box-shadow: 0 0 40px #eee;
  65. padding: 32px 20px;
  66. }
  67. /* 模型 */
  68. #animatCover img {
  69. display: block;
  70. margin: 0 auto;
  71. }
  72. /* 参数 */
  73. .equipInfo {
  74. margin: 20px 0;
  75. }
  76. .equipInfo .row {
  77. margin: 0 13px;
  78. box-shadow: 0 0 40px #eee;
  79. padding: 30px;
  80. }
  81. .equipInfo .row>div {
  82. height: 52px;
  83. text-align: center;
  84. border-right: 1px solid #eee;
  85. }
  86. .equipInfo .row .txt {
  87. position: absolute;
  88. left: 105px;
  89. }
  90. .equipInfo .row>div:last-child {
  91. border-left: none;
  92. }
  93. .txt .typeResult {
  94. font-size: 16px;
  95. }
  96. .typeResult {
  97. font-size: 18px;
  98. line-height: 30px;
  99. }
  100. .typeTitle {
  101. color: #666;
  102. }
  103. @media (max-width: 1200px) {
  104. .col-xs-4.secondLine {
  105. border-left: none !important;
  106. }
  107. .col-xs-4 {
  108. margin-bottom: 10px;
  109. }
  110. }
  111. /* 光晕圆 */
  112. .haloParent {
  113. position: absolute;
  114. width: 100px;
  115. height: 100px;
  116. float: left;
  117. margin-top: -23px;
  118. }
  119. .halo {
  120. position: absolute;
  121. width: 100px;
  122. height: 100px;
  123. border-radius: 50%;
  124. }
  125. .solidCircle {
  126. position: absolute;
  127. width: 50px;
  128. height: 50px;
  129. border-radius: 50%;
  130. left: 50%;
  131. top: 50%;
  132. margin-left: -25px;
  133. margin-top: -25%;
  134. }
  135. .solidCircle4 {
  136. background: #f297f8;
  137. }
  138. .solidCircle5 {
  139. background: #4ca1ff;
  140. }
  141. .solidCircle6 {
  142. background: #a597f8;
  143. }
  144. .halo4 {
  145. animation: haloFour 2s 3s infinite;
  146. }
  147. .halo5 {
  148. animation: haloFive 2s 3s infinite;
  149. }
  150. .halo6 {
  151. animation: haloSix 2s 3s infinite;
  152. }
  153. @keyframes haloFour {
  154. 0% {
  155. background: #f297f8;
  156. transform: scale(.3);
  157. opacity: 0
  158. }
  159. 20% {
  160. background: #f056fa;
  161. transform: scale(.5);
  162. opacity: .5
  163. }
  164. 100% {
  165. background: #f056fa;
  166. transform: scale(.8);
  167. opacity: 0
  168. }
  169. }
  170. @keyframes haloFive {
  171. 0% {
  172. background: #4ca1ff;
  173. transform: scale(.3);
  174. opacity: 0
  175. }
  176. 20% {
  177. background: #1258a5;
  178. transform: scale(.5);
  179. opacity: .5
  180. }
  181. 100% {
  182. background: #1258a5;
  183. transform: scale(.8);
  184. opacity: 0
  185. }
  186. }
  187. @keyframes haloSix {
  188. 0% {
  189. background: #a597f8;
  190. transform: scale(.3);
  191. opacity: 0
  192. }
  193. 20% {
  194. background: #3d2aaf;
  195. transform: scale(.5);
  196. opacity: .5
  197. }
  198. 100% {
  199. background: #3d2aaf;
  200. transform: scale(.8);
  201. opacity: 0
  202. }
  203. }
  204. .haloIcon {
  205. margin-top: 14px;
  206. }
  207. .widget-body {
  208. min-height: 464px;
  209. }
  210. @media screen and (min-width: 980px) and (max-width: 1500px) {
  211. .equipInfo .col-xs-4 {
  212. width: 50% !important;
  213. }
  214. .equipInfo .col-xs-4.site {
  215. width: 100% !important;
  216. padding: 40px 18px;
  217. }
  218. .tempTypeValue {
  219. font-size: 16px;
  220. text-align: center;
  221. margin: 0;
  222. width:75%;
  223. }
  224. }
  225. /*温控开关 */
  226. .tempTitel,
  227. .switchbox {
  228. display: inline-block;
  229. vertical-align: middle;
  230. }
  231. .switchBj {
  232. width: 74px;
  233. height: 30px;
  234. background: #c8c8c8;
  235. border-radius: 20px;
  236. position: relative;
  237. cursor: pointer;
  238. }
  239. .switchBj:after {
  240. position: absolute;
  241. content: '关';
  242. left: 9px;
  243. line-height: 30px;
  244. color: #fff;
  245. }
  246. .switchBj:before {
  247. position: absolute;
  248. content: '开';
  249. left: 45px;
  250. line-height: 30px;
  251. color: #fff;
  252. }
  253. .switchBj span {
  254. display: inline-block;
  255. width: 26px;
  256. height: 26px;
  257. background: #fff;
  258. border-radius: 50%;
  259. box-shadow: 1px 1px 4px #515151;
  260. position: absolute;
  261. left: 45px;
  262. top: 2px;
  263. }
  264. .switchInp {
  265. display: none;
  266. }
  267. .switchInp:checked+.switchBj {
  268. background: #468FCC;
  269. border-color: #468FCC;
  270. }
  271. .switchInp:checked+.switchBj span {
  272. left: 2px;
  273. }
  274. /* 温度提示 */
  275. .weatherType {
  276. margin: 36px 0;
  277. }
  278. .font18 {
  279. font-size: 18px;
  280. }
  281. .tempTypeValue .font18{
  282. padding-left: 18%;
  283. }
  284. .tempTypeValue i{
  285. font-size: 32px;
  286. color: #00c9e4;
  287. margin-right: 10%;
  288. }
  289. .tempTypeValue {
  290. margin-left: 5%;
  291. margin-top: 10px;
  292. }
  293. /* 配置 */
  294. .configTitlt {
  295. border-left: 5px solid #468fcc;
  296. padding-left: 10px;
  297. color: #000;
  298. letter-spacing: 2px;
  299. font-size: 16px;
  300. }
  301. .configItem {
  302. margin: 7px 0;
  303. }
  304. .configItem>span {
  305. color: #919191;
  306. padding-left: 10%;
  307. display: inline-block;
  308. width: 200px;
  309. text-align: right;
  310. margin-right: 10px;
  311. }
  312. .timeSegment {
  313. margin-left: 210px;
  314. }
  315. .timeSegment>div {
  316. /* margin-bottom: 28px; */
  317. }
  318. /* --ie清除--*/
  319. select::-ms-expand {
  320. display: none;
  321. }
  322. /* --火狐、谷歌清除--*/
  323. .collTime select {
  324. appearance: none;
  325. -moz-appearance: none;
  326. -webkit-appearance: none;
  327. /* background: url("arrow.png") no-repeat scroll right center transparent; */
  328. padding-right: 14px;
  329. width: 40%;
  330. margin-bottom: 28px;
  331. }
  332. option:disabled {
  333. appearance: none;
  334. background: #dfdfdf;
  335. }
  336. /* 进度条 */
  337. .setTemperature {
  338. display: inline-block;
  339. width: 100%;
  340. position: relative;
  341. height: 30px;
  342. }
  343. .initVal {
  344. position: absolute;
  345. left: 0;
  346. top: 7px;
  347. }
  348. .sliderVal {
  349. position: absolute;
  350. right: 0;
  351. top: -3px;
  352. }
  353. .slider {
  354. width: 80%;
  355. margin-left: 28px;
  356. }
  357. .ui-slider .ui-slider-handle {
  358. border-radius: 50%;
  359. }
  360. .imgHvga{
  361. width: 180px;
  362. }
  363. /* 载玻片剩余提示 */
  364. .surplusHint{
  365. display: inline-block;
  366. position: relative;
  367. border: 1px solid #ff0000;
  368. padding: 2px 5px 2px 10px;
  369. border-radius: 0 3px 3px 0;
  370. box-shadow: 1px 1px 2px #a6a6a6;
  371. }
  372. .surplusHint:before{
  373. position: absolute;
  374. left: -6px;
  375. top: 5px;
  376. content: '';
  377. border: 1px solid #fa0000;
  378. background: #fff;
  379. border-right: none;
  380. border-bottom: none;
  381. transform: rotate(-48deg);
  382. width: 13px;
  383. height: 13px;
  384. overflow: hidden;
  385. }
  386. .surplusHint i{
  387. font-style: normal;
  388. color: #ff0000;
  389. font-weight: 700;
  390. }
  391. .redBorder{
  392. border:1px solid #ff0000 !important;
  393. }
  394. /* 配置项 */
  395. .form-group>label {
  396. margin: 4px 0 0 0;
  397. text-align: right;
  398. }
  399. .initVal {
  400. position: absolute;
  401. left: 14px;
  402. top: 5px;
  403. }
  404. .ui-slider {
  405. top: 8px;
  406. left: 18px;
  407. }
  408. .sliderVal {
  409. position: absolute;
  410. right: 30px;
  411. top: 5px;
  412. }
  413. .collocateBtn {
  414. text-align: center;
  415. }
  416. .collocateBtn button {
  417. margin: 10px 10px 20px 10px;
  418. }
  419. .form-group select {
  420. width: 200px;
  421. }
  422. .widget-body {
  423. margin-top: 20px;
  424. }
  425. .timePattern {
  426. display: none;
  427. }
  428. .hintTitle {
  429. text-align: center;
  430. display: inline-block;
  431. width: 100px;
  432. margin-right: 15px;
  433. color: #777;
  434. }
  435. .form-group select[name='begin'],
  436. .form-group select[name='end'] {
  437. padding: 0 26px 0 37px;
  438. width: initial;
  439. }
  440. #desc {
  441. width: 100px;
  442. }
  443. .col-sm-9>div {
  444. margin: 4px 0;
  445. width: 80%;
  446. }
  447. .progressParent {
  448. display: inline-block;
  449. width: 80%;
  450. }
  451. .progressVal {
  452. display: inline-block;
  453. text-align: right;
  454. width: 17%;
  455. }
  456. #changeIccid {
  457. width: 70%;
  458. }
  459. /* 配置form */
  460. #coerceConfig {
  461. display: none;
  462. /* background: white;
  463. position: fixed;
  464. left: 25%;
  465. right: 25%;
  466. top: 20%;
  467. padding-bottom: 30px;
  468. z-index: 999999; */
  469. }
  470. .configTitle {
  471. font-size: 22px;
  472. padding: 15px;
  473. text-indent: 8%;
  474. color: #10659d;
  475. }
  476. #showall,
  477. #swfDiv {
  478. /* display: none; */
  479. }
  480. .form-horizontal{
  481. margin-bottom: 50px;
  482. }
  483. .form-horizontal .form-group{
  484. margin: 15px;
  485. }
  486. .form-horizontal .control-label{
  487. padding-top: 0;
  488. }
  489. </style>
  490. </head>
  491. <body>
  492. <div class="content">
  493. <div class="page-header">
  494. <span class="headerPlace" onclick="goback('equipmanage_bzy')">
  495. <img src="{% static '/img/gobackIcon.png' %}" alt="">返回
  496. </span>
  497. </div>
  498. <!-- <div class="page-header">
  499. <h1>
  500. <font style="vertical-align: inherit;">
  501. <font style="vertical-align: inherit;">
  502. 孢子仪设备详情
  503. </font>
  504. </font>
  505. </h1>
  506. </div> -->
  507. <div class="userInfoCover">
  508. <div class="row userinfo">
  509. <div class="col-xs-12 col-md-8">
  510. <i class="fa fa-user-o" aria-hidden="true"></i>
  511. 设备ID:
  512. <span class="userinfoTitle">{{equip_id}}</span>
  513. 设备名称:
  514. <span class="userinfoTitle" id="equip_name"></span>
  515. 上报时间:
  516. <span class="userinfoTitle" id="upl_time"></span>
  517. 位置:
  518. <span class="userinfoTitle" id="curr_area"></span>
  519. <!-- 天气: -->
  520. <span class="userinfoTitle" id="weather"></span>
  521. </div>
  522. <div class="col-xs-12 col-md-4 refresh">
  523. <button class="btn btn-sm btn-primary configurationBtn" onclick="setSimIccid($(this),'{{equip_id}}','{{iccid|default_if_none:"" }}')" {% if iccid %} {% else %} style="display:none" {% endif %}>SIM卡更换</button>
  524. <button class="btn btn-sm btn-danger configurationBtn" onclick="setSimIccid($(this),'{{equip_id}}','{{iccid|default_if_none:"" }}')" {% if iccid %} style="display:none" {% else %}{% endif %}>SIM卡绑定</button>
  525. <button type="button" class="btn btn-sm btn-primary" onclick="lookSIM()">查看剩余流量</button>
  526. <button type="button" class="btn btn-sm btn-success" onclick="reload()">刷新</button>
  527. <button type="button" class="btn btn-sm btn-primary" id="operationBtn" onclick="coerceshow(this)">操作</button>
  528. <div class="coerce">
  529. <button type="button" class="btn btn-sm btn-danger" onclick="popupFrame('关机','poweroff','')">关机</button>
  530. <button type="button" class="btn btn-sm btn-danger" onclick="popupFrame('开机','poweron','')">开机</button>
  531. <button type="button" class="btn btn-sm btn-danger" onclick="popupFrame('升级','update','')">升级</button>
  532. <button type="button" class="btn btn-sm btn-danger" onclick="popupFrame('重启','reboot','')">重启</button>
  533. <button type="button" class="btn btn-sm btn-danger" onclick="popupFrame('拍照','ctrl','takephoto','')">拍照</button>
  534. <button type="button" class="btn btn-sm btn-danger" onclick="popupFrame('拍照','ctrl','takephoto','')">MQTT配置</button>
  535. <!-- <button type="button" class="btn btn-sm btn-danger" id='coerceOn' onclick="coerceOnOff('制冷','coldon',this,'next')">打开制冷</button> -->
  536. <!-- <button type="button" class="btn btn-sm btn-danger" id='coerceOff' onclick="coerceOnOff('制冷','coldoff',this,'prev')">关闭制冷</button> -->
  537. </div>
  538. </div>
  539. </div>
  540. <div id="handleBtns" style="display:none">
  541. <div style="padding: 20px; background-color: #F2F2F2;" id="">
  542. <div class="layui-row layui-col-space15">
  543. <div class="layui-col-md12">
  544. <!-- <div class="layui-card"> -->
  545. <button type="button" class="btn btn-sm btn-danger" onclick="popupFrame('关机','poweroff','')">关机</button>
  546. <button type="button" class="btn btn-sm btn-danger" onclick="popupFrame('开机','poweron','')">开机</button>
  547. <button type="button" class="btn btn-sm btn-danger" onclick="popupFrame('升级','update','')">升级</button>
  548. <button type="button" class="btn btn-sm btn-danger" onclick="popupFrame('重启','reboot','')">重启</button>
  549. <button type="button" class="btn btn-sm btn-danger" onclick="popupFrame('拍照','ctrl','takephoto','')">拍照</button>
  550. <button type="button" class="btn btn-sm btn-danger" onclick="popupFrame('设置MQTT配置','set','','')">MQTT配置</button>
  551. <!-- </div> -->
  552. </div>
  553. </div>
  554. </div>
  555. </div>
  556. <!-- 强制配置弹框 -->
  557. <div id="coerceConfig">
  558. <h1 class="configTitle">MQTT配置</h1>
  559. <form class="form-horizontal" role="form">
  560. <div class="form-group">
  561. <label class="col-sm-3 control-label no-padding-right">MQTT地址</label>
  562. <div class="col-sm-9">
  563. <input type="text" id="plankUrl" class="col-sm-6" placeholder="xxxx.com">
  564. </div>
  565. </div>
  566. <div class="form-group">
  567. <label class="col-sm-3 control-label no-padding-right">端口</label>
  568. <div class="col-sm-9">
  569. <input type="text" id="port" value="1883" class="col-sm-6" placeholder="1883">
  570. </div>
  571. </div>
  572. <div class="form-group">
  573. <label class="col-sm-3 control-label no-padding-right">用户名</label>
  574. <div class="col-sm-9">
  575. <input type="text" id="mqttUserName" value="" class="col-sm-6" placeholder="">
  576. </div>
  577. </div>
  578. <div class="form-group">
  579. <label class="col-sm-3 control-label no-padding-right">密码</label>
  580. <div class="col-sm-9">
  581. <input type="text" id="mqttPassWord" value="" class="col-sm-6" placeholder="">
  582. </div>
  583. </div>
  584. <div class="clearfix">
  585. <div class="col-md-offset-3 col-md-9">
  586. &nbsp; &nbsp; &nbsp;
  587. <button class="btn btn-sm btn-info" type="button" onclick="saveConfig()">
  588. <i class="ace-icon fa fa-check bigger-110"></i>
  589. 确定
  590. </button>
  591. <button class="btn btn-sm" type="reset" onclick="closeConfig()">
  592. <i class="ace-icon fa fa-undo bigger-110"></i>
  593. 重置
  594. </button>
  595. </div>
  596. </div>
  597. </form>
  598. </div>
  599. <div class="searchCover row">
  600. <div class="col-xs-12 userinfo">
  601. <i class="fa fa-calendar" aria-hidden="true"></i>
  602. 载玻片更换时间:<input type="text" class="glassSlideBox" id="glassSlideBox" autocomplete="off" placeholder="请选择时间段 ">
  603. <span class="surplusHint">剩余<i></i>天,请更换</span>
  604. <!-- <i class="fa fa-eyedropper" aria-hidden="true"></i> -->
  605. <i class="fa fa-tint" aria-hidden="true"></i>
  606. 培养液更换时间:<input type="text" class="solutionChangeBox" id="solutionChangeBox" autocomplete="off" placeholder="请选择时间段 ">
  607. <span class="surplusHint">剩余<i></i>天,请更换</span>
  608. </div>
  609. </div>
  610. <div class="row">
  611. <!-- 设备模型 -->
  612. <div class="col-xs-12 col-md-5">
  613. <div class="backStyle equipInfo equiptInfo" id="showall">
  614. <div id="animatCover">
  615. <img src="{% static '/img/bzyImg2.png'%}" alt="" height="700px">
  616. </div>
  617. </div>
  618. </div>
  619. <!-- 右边 -->
  620. <div class="col-xs-12 col-md-7" style="padding-left: 0px;padding-right:0px">
  621. <!-- 信息条 -->
  622. <div class="equipInfo">
  623. <div class="row" style="margin-left: 0;">
  624. <div class="col-xs-4">
  625. <div class="haloParent">
  626. <div class="halo halo4"></div>
  627. <div class="solidCircle solidCircle4">
  628. <img class="haloIcon" src="{% static '/img/haloIcon7.png' %}" alt="">
  629. </div>
  630. </div>
  631. <div class="txt">
  632. <span class="typeResult" id="v_bat">3</span>
  633. <p class="typeResult">当前电压(V)</p>
  634. </div>
  635. </div>
  636. <div class="col-xs-4">
  637. <div class="haloParent">
  638. <div class="halo halo6"></div>
  639. <div class="solidCircle solidCircle6">
  640. <img class="haloIcon" src="{% static '/img/haloIcon4.png' %}" alt="">
  641. </div>
  642. </div>
  643. <div class="txt">
  644. <span class="typeResult" id="dver">1.20.1</span>
  645. <p class="typeResult">设备版本</p>
  646. </div>
  647. </div>
  648. <div class="col-xs-4 site">
  649. <div class="haloParent">
  650. <div class="halo halo5"></div>
  651. <div class="solidCircle solidCircle5">
  652. <img class="haloIcon" src="{% static '/img/haloIcon1.png' %}" alt="">
  653. </div>
  654. </div>
  655. <div class="txt">
  656. <span class="typeResult" id="lng">经度:113.46655</span>
  657. <p class="typeResult" id="lat">纬度:48.121211</p>
  658. </div>
  659. </div>
  660. </div>
  661. </div>
  662. <div class="row">
  663. <!-- 温控状态 -->
  664. <div class="col-xs-4" style="padding-left: 0;">
  665. <div class="backStyle" style="margin-bottom:20px">
  666. <span class="typeResult tempTitel">设备开关:</span>
  667. <div class="switchbox">
  668. <input class="switchInp" id="onOff" type="checkbox">
  669. <div class="switchBj" onclick="sendOrder(this,'设备')" >
  670. <span></span>
  671. </div>
  672. </div>
  673. </div>
  674. <div class="backStyle" style="margin-bottom:20px">
  675. <span class="typeResult tempTitel">制冷开关:</span>
  676. <div class="switchbox">
  677. <input class="switchInp" id="coldSw" checked type="checkbox">
  678. <div class="switchBj" onclick="sendOrder(this,'制冷','')">
  679. <span></span>
  680. </div>
  681. </div>
  682. </div>
  683. <div class="backStyle" style="margin-bottom:20px">
  684. <span class="typeResult tempTitel">散热开关:</span>
  685. <div class="switchbox">
  686. <input class="switchInp" id="windSw" checked type="checkbox">
  687. <div class="switchBj" onclick="sendOrder(this,'风机','all')">
  688. <span></span>
  689. </div>
  690. </div>
  691. </div>
  692. <div class="backStyle">
  693. <div class="temperatureKind">
  694. <div class="clearfix weatherType">
  695. <div class="tempTypeValue">
  696. <p class="font18" id="preTemp"></p>
  697. <p><i class="fa yellow fa-thermometer-three-quarters" aria-hidden="true"></i>保温仓当前温度(°C)</p>
  698. </div>
  699. </div>
  700. <div class="clearfix weatherType">
  701. <div class="tempTypeValue" style="margin-left:4%">
  702. <p class="font18" id="staytime"></p>
  703. <p><i class="fa fa-clock-o" aria-hidden="true"></i>已培养时间(hour)</p>
  704. </div>
  705. </div>
  706. </div>
  707. </div>
  708. </div>
  709. <!-- 配置 -->
  710. <div class="col-xs-8" style="padding-left: 0;">
  711. <div class="backStyle">
  712. <div class="configTitlt">载玻片滴液时间</div>
  713. <div class="configItem">
  714. <span>载玻片滴液时间:</span>
  715. <select name="" class="imgHvga" id="dropTimSelectBox">
  716. <option value="1">1</option>
  717. <option value="2">2</option>
  718. <option value="3">3</option>
  719. <option value="4">4</option>
  720. <option value="5">5</option>
  721. </select>
  722. </div>
  723. <div class="configTitlt">孢子培养时间(h)</div>
  724. <div class="configItem">
  725. <div class="setTemperature">
  726. <span class="initVal">1</span>
  727. <div class="slider" id="culTime-slider"></div>
  728. <span class="sliderVal" id="culTime">24</span>
  729. </div>
  730. </div>
  731. <!-- <div class="configTitlt">图片上传分辨率</div>
  732. <div class="configItem">
  733. <span>图片上传分辨率:</span>
  734. <select name="" class="imgHvga" id="imgHvga">
  735. <option value="0">高</option>
  736. <option value="1">中</option>
  737. <option value="2">低</option>
  738. </select>
  739. </div> -->
  740. <div class="configTitlt">保温仓设定温度(°C)</div>
  741. <div class="configItem">
  742. <!-- <span>保温仓设定温度:</span> -->
  743. <div class="setTemperature">
  744. <span class="initVal">10</span>
  745. <div class="slider" id="temp-slider"></div>
  746. <span class="sliderVal" id="tempTime">40</span>
  747. </div>
  748. </div>
  749. <div class="configTitlt">数据上传时间间隔</div>
  750. <div class="configItem">
  751. <!-- <span>数据上传时间间隔:</span> -->
  752. <div class="setTemperature">
  753. <span class="initVal">10</span>
  754. <div class="slider" id="dataUp-slider"></div>
  755. <span class="sliderVal" id="dataUpTime">60</span>
  756. </div>
  757. </div>
  758. <div class="configTitlt">采集开启和关闭时间</div>
  759. <div class="configItem">
  760. <span style="float: left;">采集开始和关闭时间:</span>
  761. <div class="timeSegment">
  762. <!-- 时间段一 -->
  763. <div class="collTime">
  764. <select name="" id="">
  765. <option value="1">1:00</option>
  766. <option value="2">2:00</option>
  767. <option value="3">3:00</option>
  768. <option value="4">4:00</option>
  769. <option value="5">5:00</option>
  770. <option value="6">6:00</option>
  771. <option value="7">7:00</option>
  772. <option value="8">8:00</option>
  773. <option value="9">9:00</option>
  774. <option value="10">10:00</option>
  775. <option value="11">11:00</option>
  776. <option value="12">12:00</option>
  777. <option value="13">13:00</option>
  778. <option value="14">14:00</option>
  779. <option value="15">15:00</option>
  780. <option value="16">16:00</option>
  781. <option value="17">17:00</option>
  782. <option value="18">18:00</option>
  783. <option value="19">19:00</option>
  784. <option value="20">20:00</option>
  785. <option value="21">21:00</option>
  786. <option value="22">22:00</option>
  787. <option value="23">23:00</option>
  788. <option value="24">24:00</option>
  789. </select>
  790. <select name="" id="">
  791. <option value="1">1:00</option>
  792. <option value="2">2:00</option>
  793. <option value="3">3:00</option>
  794. <option value="4">4:00</option>
  795. <option value="5">5:00</option>
  796. <option value="6">6:00</option>
  797. <option value="7">7:00</option>
  798. <option value="8">8:00</option>
  799. <option value="9">9:00</option>
  800. <option value="10">10:00</option>
  801. <option value="11">11:00</option>
  802. <option value="12">12:00</option>
  803. <option value="13">13:00</option>
  804. <option value="14">14:00</option>
  805. <option value="15">15:00</option>
  806. <option value="16">16:00</option>
  807. <option value="17">17:00</option>
  808. <option value="18">18:00</option>
  809. <option value="19">19:00</option>
  810. <option value="20">20:00</option>
  811. <option value="21">21:00</option>
  812. <option value="22">22:00</option>
  813. <option value="23">23:00</option>
  814. <option value="24">24:00</option>
  815. </select>
  816. <!-- </div> -->
  817. <!-- 时间段二 -->
  818. <!-- <div class="collTime"> -->
  819. <select name="" id="">
  820. <option value="1">1:00</option>
  821. <option value="2">2:00</option>
  822. <option value="3">3:00</option>
  823. <option value="4">4:00</option>
  824. <option value="5">5:00</option>
  825. <option value="6">6:00</option>
  826. <option value="7">7:00</option>
  827. <option value="8">8:00</option>
  828. <option value="9">9:00</option>
  829. <option value="10">10:00</option>
  830. <option value="11">11:00</option>
  831. <option value="12">12:00</option>
  832. <option value="13">13:00</option>
  833. <option value="14">14:00</option>
  834. <option value="15">15:00</option>
  835. <option value="16">16:00</option>
  836. <option value="17">17:00</option>
  837. <option value="18">18:00</option>
  838. <option value="19">19:00</option>
  839. <option value="20">20:00</option>
  840. <option value="21">21:00</option>
  841. <option value="22">22:00</option>
  842. <option value="23">23:00</option>
  843. <option value="24">24:00</option>
  844. </select>
  845. <select name="" id="">
  846. <option value="1">1:00</option>
  847. <option value="2">2:00</option>
  848. <option value="3">3:00</option>
  849. <option value="4">4:00</option>
  850. <option value="5">5:00</option>
  851. <option value="6">6:00</option>
  852. <option value="7">7:00</option>
  853. <option value="8">8:00</option>
  854. <option value="9">9:00</option>
  855. <option value="10">10:00</option>
  856. <option value="11">11:00</option>
  857. <option value="12">12:00</option>
  858. <option value="13">13:00</option>
  859. <option value="14">14:00</option>
  860. <option value="15">15:00</option>
  861. <option value="16">16:00</option>
  862. <option value="17">17:00</option>
  863. <option value="18">18:00</option>
  864. <option value="19">19:00</option>
  865. <option value="20">20:00</option>
  866. <option value="21">21:00</option>
  867. <option value="22">22:00</option>
  868. <option value="23">23:00</option>
  869. <option value="24">24:00</option>
  870. </select>
  871. <!-- </div> -->
  872. <!-- 时间段三 -->
  873. <!-- <div class="collTime"> -->
  874. <select name="" id="">
  875. <option value="1">1:00</option>
  876. <option value="2">2:00</option>
  877. <option value="3">3:00</option>
  878. <option value="4">4:00</option>
  879. <option value="5">5:00</option>
  880. <option value="6">6:00</option>
  881. <option value="7">7:00</option>
  882. <option value="8">8:00</option>
  883. <option value="9">9:00</option>
  884. <option value="10">10:00</option>
  885. <option value="11">11:00</option>
  886. <option value="12">12:00</option>
  887. <option value="13">13:00</option>
  888. <option value="14">14:00</option>
  889. <option value="15">15:00</option>
  890. <option value="16">16:00</option>
  891. <option value="17">17:00</option>
  892. <option value="18">18:00</option>
  893. <option value="19">19:00</option>
  894. <option value="20">20:00</option>
  895. <option value="21">21:00</option>
  896. <option value="22">22:00</option>
  897. <option value="23">23:00</option>
  898. <option value="24">24:00</option>
  899. </select>
  900. <select name="" id="">
  901. <option value="1">1:00</option>
  902. <option value="2">2:00</option>
  903. <option value="3">3:00</option>
  904. <option value="4">4:00</option>
  905. <option value="5">5:00</option>
  906. <option value="6">6:00</option>
  907. <option value="7">7:00</option>
  908. <option value="8">8:00</option>
  909. <option value="9">9:00</option>
  910. <option value="10">10:00</option>
  911. <option value="11">11:00</option>
  912. <option value="12">12:00</option>
  913. <option value="13">13:00</option>
  914. <option value="14">14:00</option>
  915. <option value="15">15:00</option>
  916. <option value="16">16:00</option>
  917. <option value="17">17:00</option>
  918. <option value="18">18:00</option>
  919. <option value="19">19:00</option>
  920. <option value="20">20:00</option>
  921. <option value="21">21:00</option>
  922. <option value="22">22:00</option>
  923. <option value="23">23:00</option>
  924. <option value="24">24:00</option>
  925. </select>
  926. </div>
  927. </div>
  928. </div>
  929. <div class="clearfix">
  930. <div class="" style="text-align:right">
  931. <button class="btn btn-sm" type="reset" onclick="cancelConfig()">
  932. 取消
  933. </button>
  934. &nbsp; &nbsp; &nbsp;
  935. <button class="btn btn-sm btn-info" type="button" onclick="paramconf()">
  936. 确定
  937. </button>
  938. </div>
  939. </div>
  940. </div>
  941. </div>
  942. </div>
  943. </div>
  944. </div>
  945. </div>
  946. <!-- 配置项 -->
  947. <div class="modal" id="myModal" tabindex="-1" data-backdrop="static" data-keyboard="false" role="dialog" aria-labelledby="myModalLabel"
  948. style="display: none;">
  949. <div class="modal-dialog" role="document">
  950. <div class="modal-content">
  951. <div class="widget-header">
  952. <h4 class="widget-title">
  953. SIM卡详情:
  954. <span id="sppbId"></span>
  955. <!-- <input type="hidden" value="" id="hideId" name="id"> -->
  956. </h4>
  957. <div class="widget-toolbar">
  958. <a href="#" data-dismiss="modal" aria-hidden="true">
  959. <i class="ace-icon fa fa-times"></i>
  960. </a>
  961. </div>
  962. </div>
  963. <div class="widget-body">
  964. <div class="row">
  965. <div class="form-group">
  966. <label class="col-sm-3 control-label no-padding-right" for="form-field-1">
  967. <font style="vertical-align: inherit;">
  968. <font style="vertical-align: inherit;"> ICCID: </font>
  969. </font>
  970. </label>
  971. <div class="col-sm-9">
  972. <div class="currIccid"></div>
  973. </div>
  974. <div style="clear:both"></div>
  975. </div>
  976. <div class="form-group">
  977. <label class="col-sm-3 control-label no-padding-right" for="form-field-1">
  978. <font style="vertical-align: inherit;">
  979. <font style="vertical-align: inherit;"> 状态: </font>
  980. </font>
  981. </label>
  982. <div class="col-sm-9">
  983. <div id="account_status"></div>
  984. </div>
  985. <div style="clear:both"></div>
  986. </div>
  987. <div class="form-group">
  988. <label class="col-sm-3 control-label no-padding-right" for="form-field-1">
  989. <font style="vertical-align: inherit;">
  990. <font style="vertical-align: inherit;"> 套餐: </font>
  991. </font>
  992. </label>
  993. <div class="col-sm-9">
  994. <div id="data_plan">
  995. <div class="progressParent">
  996. <div class="layui-progress">
  997. <div class="layui-progress-bar layui-bg-blue" lay-percent="100%"></div>
  998. </div>
  999. </div>
  1000. <div class="progressVal"></div>
  1001. </div>
  1002. </div>
  1003. <div style="clear:both"></div>
  1004. </div>
  1005. <div class="form-group">
  1006. <label class="col-sm-3 control-label no-padding-right" for="form-field-1">
  1007. <font style="vertical-align: inherit;">
  1008. <font style="vertical-align: inherit;"> 已用流量: </font>
  1009. </font>
  1010. </label>
  1011. <div class="col-sm-9">
  1012. <div id="data_usage">
  1013. <div class="progressParent">
  1014. <div class="layui-progress">
  1015. <div class="layui-progress-bar layui-bg-red" lay-percent="0%"></div>
  1016. </div>
  1017. </div>
  1018. <div class="progressVal"></div>
  1019. </div>
  1020. </div>
  1021. <div style="clear:both"></div>
  1022. </div>
  1023. <div class="form-group">
  1024. <label class="col-sm-3 control-label no-padding-right" for="form-field-1">
  1025. <font style="vertical-align: inherit;">
  1026. <font style="vertical-align: inherit;"> 剩余流量: </font>
  1027. </font>
  1028. </label>
  1029. <div class="col-sm-9">
  1030. <div id="data_balance">
  1031. <div class="progressParent">
  1032. <div class="layui-progress" lay-filter="demo">
  1033. <div class="layui-progress-bar layui-bg-green" lay-percent="0%"></div>
  1034. </div>
  1035. </div>
  1036. <div class="progressVal"></div>
  1037. </div>
  1038. </div>
  1039. <div style="clear:both"></div>
  1040. </div>
  1041. <div class="form-group">
  1042. <label class="col-sm-3 control-label no-padding-right" for="form-field-1">
  1043. <font style="vertical-align: inherit;">
  1044. <font style="vertical-align: inherit;"> 到期时间: </font>
  1045. </font>
  1046. </label>
  1047. <div class="col-sm-9">
  1048. <div class="expiry_date">2019-11-01 13:59:35</div>
  1049. </div>
  1050. <div style="clear:both"></div>
  1051. </div>
  1052. <div class="form-group">
  1053. <label class="col-sm-3 control-label no-padding-right" for="form-field-1">
  1054. <font style="vertical-align: inherit;">
  1055. <font style="vertical-align: inherit;"> 更换ICCID: </font>
  1056. </font>
  1057. </label>
  1058. <div class="col-sm-9">
  1059. <input type="text" id="changeIccid" autocomplete="off">
  1060. </div>
  1061. <div style="clear:both"></div>
  1062. </div>
  1063. <!-- 结束 -->
  1064. </div>
  1065. <div class="collocateBtn">
  1066. <button class="btn btn-sm btn-info" onclick="saveChangeIccid()">
  1067. <font style="vertical-align: inherit;">
  1068. <font style="vertical-align: inherit;">确定</font>
  1069. </font>
  1070. </button>
  1071. <button class="btn btn-sm" data-dismiss="modal" aria-hidden="true">
  1072. <font style="vertical-align: inherit;">
  1073. <font style="vertical-align: inherit;">取消</font>
  1074. </font>
  1075. </button>
  1076. </div>
  1077. </div>
  1078. <div>
  1079. </div>
  1080. </div>
  1081. </div>
  1082. </div>
  1083. <!-- loading -->
  1084. <input type="hidden" value="{{equip_id}}" id="imei">
  1085. <input type="hidden" value="" id="iccid">
  1086. </div>
  1087. <script src="{% static '/lib/js/jquery-2.1.4.min.js' %}"></script>
  1088. <script src="{% static '/lib/bootstrap-3.3.7/js/bootstrap.js' %}"></script>
  1089. <script src="{% static '/lib/layui/layui.all.js' %}"></script>
  1090. <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=TcRPmrsiZUqdUBWoELrUArRkCRC36KMx"></script>
  1091. <script src="{% static '/lib/js/jquery-ui.min.js' %}"></script>
  1092. <script src="{% static '/lib/js/jquery.ui.touch-punch.min.js' %}"></script>
  1093. <script src="{% static '/lib/js/coordOffset.js' %}"></script><!-- 纠偏 -->
  1094. <script src="{% static '/js/common.js' %}?versions=0.5.0"></script>
  1095. <script type="text/javascript">
  1096. $.ajaxSetup({
  1097. data: { csrfmiddlewaretoken: '{{ csrf_token }}' },
  1098. });
  1099. </script>
  1100. <script src="{% static '/js/equipmanage/equipmanage_bzy_detail.js' %}?versions=0.5.0"></script>
  1101. <script>
  1102. //模态框 关闭前事件
  1103. $('#myModal').on('hide.bs.modal', function () {
  1104. window.location.href = 'equipmanage_bzy_detail?id='+$('#imei').val()
  1105. })
  1106. // 配置按钮
  1107. function setSimIccid(ele, id, iccid) {
  1108. if (!iccid) {
  1109. layui.use('layer', function () {
  1110. var layer = layui.layer;
  1111. layer.prompt({ title: 'SIM卡绑定', formType: 0 }, function (text, index) {
  1112. if (text.length == 20) {
  1113. // changeIccidFun(id, text, function () { })
  1114. readSim(id, text)
  1115. // layer.close(index);
  1116. } else {
  1117. layer.msg('请输入正确SIM卡号');
  1118. }
  1119. // layer.msg('演示完毕!您的口令: <br>您最后写下了:'+text);
  1120. });
  1121. })
  1122. } else {
  1123. readSim(id, iccid)
  1124. }
  1125. $(window).resize(function () {
  1126. // moveBar()
  1127. });
  1128. }
  1129. function readSim(id, iccid) {
  1130. $.ajax({
  1131. type: "post",
  1132. url: 'siminfo',
  1133. data: {
  1134. "simid": iccid,
  1135. },
  1136. dataType: "json",
  1137. beforeSend: function () {
  1138. $('#loadingParent').show();
  1139. },
  1140. complete: function () {
  1141. $('#loadingParent').hide();
  1142. },
  1143. success: function (data) {
  1144. if (data.code == 0) {
  1145. layer.closeAll();
  1146. saveIccid(id, iccid, data);
  1147. } else {
  1148. layer.msg('物联网卡不存在', { icon: 5 });
  1149. $('#changeIccid').val('');
  1150. }
  1151. }
  1152. })
  1153. }
  1154. function saveIccid(id, iccid, data1) {
  1155. $.ajax({
  1156. type: "post",
  1157. url: 'equip_simiccid',
  1158. data: {
  1159. "e_id": id,
  1160. "iccid": iccid,
  1161. },
  1162. dataType: "json",
  1163. beforeSend: function () {
  1164. $('#loadingParent').show();
  1165. },
  1166. complete: function () {
  1167. $('#loadingParent').hide();
  1168. },
  1169. success: function (data) {
  1170. if (data == 0) {
  1171. $('#sppbId').html(id);
  1172. $('.currIccid').html(iccid);
  1173. if (data1.data.account_status == 0) {
  1174. var status = '未知';
  1175. } else if (data1.data.account_status == 1) {
  1176. var status = '测试期';
  1177. } else if (data1.data.account_status == 2) {
  1178. var status = '沉默期';
  1179. } else if (data1.data.account_status == 3) {
  1180. var status = '使用中';
  1181. } else if (data1.data.account_status == 4) {
  1182. var status = '停机';
  1183. } else if (data1.data.account_status == 5) {
  1184. var status = '停机保号';
  1185. } else if (data1.data.account_status == 6) {
  1186. var status = '预销号';
  1187. } else if (data1.data.account_status == 7) {
  1188. var status = '销号';
  1189. }
  1190. $('#account_status').html(status);
  1191. $('#data_plan').find('.progressVal').html((data1.data.data_plan).toFixed(2) + 'MB');
  1192. $('#data_plan').find('.layui-progress-bar').attr('lay-percent', '10%');
  1193. $('#data_usage').find('.progressVal').html((data1.data.data_usage).toFixed(2) + 'MB');
  1194. var data_usage = data1.data.data_usage / data1.data.data_plan * 100;
  1195. $('#data_usage').find('.layui-progress-bar').css('width', data_usage + '%');
  1196. $('#data_balance').find('.progressVal').html((data1.data.data_balance).toFixed(2) + 'MB');
  1197. var data_usage = data1.data.data_balance / data1.data.data_plan * 100;
  1198. $('#data_balance').find('.layui-progress-bar').css('width', data_usage + '%');
  1199. var date = new Date(data1.data.expiry_date * 1000);
  1200. $('.expiry_date').html(date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds());
  1201. $('#myModal').modal('show')
  1202. }
  1203. }
  1204. })
  1205. }
  1206. function saveChangeIccid() {
  1207. if ($('#changeIccid').val()) {
  1208. readSim($('#sppbId').html(), $('#changeIccid').val())
  1209. $('#changeIccid').val('')
  1210. } else {
  1211. layer.msg('请先填写ICCID', { icon: 2 });
  1212. }
  1213. }
  1214. scrollBar();
  1215. </script>
  1216. </body>
  1217. </html>