pestDiagnosisList.html 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077
  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/layui/css/layui.css' %}">
  12. <link rel="stylesheet" href="{% static '/css/loading.css' %}?versions=0.5.0" />
  13. <style type="text/css">
  14. body {
  15. overflow: hidden;
  16. background: #fff;
  17. }
  18. .searchCover {
  19. margin: 20px 0;
  20. }
  21. .innerTable {
  22. padding: 0 1px 0 0;
  23. min-width: 750px;
  24. }
  25. .table,
  26. .table.table-striped>thead>tr>th {
  27. text-align: center;
  28. }
  29. table td {
  30. vertical-align: middle !important;
  31. }
  32. .nullData {
  33. width: 100%;
  34. height: 500px;
  35. background: #ddd;
  36. text-align: center;
  37. line-height: 500px;
  38. font-size: 20px;
  39. border: 1px solid #ddd;
  40. }
  41. .refresh {
  42. font-size: 16px;
  43. color: #4C8FBD;
  44. margin-right: 30px;
  45. }
  46. .content {
  47. overflow-x: scroll;
  48. }
  49. /* 病级 */
  50. ul#gradeUl>li {
  51. float: left;
  52. width: 50%;
  53. margin-bottom: 10px;
  54. }
  55. .rank>span {
  56. border: 1px solid #d5d5d5;
  57. display: inline-block;
  58. text-align: center;
  59. width: 100px;
  60. line-height: 30px;
  61. margin: 0 5px;
  62. }
  63. .authBtn {
  64. position: absolute;
  65. right: 165px;
  66. top: 16px;
  67. background: #F4A460;
  68. border: 0;
  69. color: #fff;
  70. width: 95px;
  71. height: 35px;
  72. border: 5px;
  73. }
  74. .authBtn:hover {
  75. background: rgb(55, 138, 247);
  76. }
  77. .authBtnA {
  78. position: absolute;
  79. right: 280px;
  80. top: 16px;
  81. background: rgb(55, 138, 247);
  82. border: 0;
  83. color: #fff;
  84. width: 95px;
  85. height: 35px;
  86. border: 5px;
  87. text-decoration: none;
  88. line-height: 2.5;
  89. text-align: center;
  90. }
  91. .authBtnA:hover {
  92. background: #F4A460;
  93. text-decoration: none;
  94. color: #fff;
  95. }
  96. .authInp {
  97. width: 100%;
  98. }
  99. .conceal {
  100. display: none;
  101. }
  102. #resetPwdBox {
  103. display: none;
  104. }
  105. .editRole {
  106. padding: 10px 0 0 30px;
  107. }
  108. .editRole input {
  109. width: 200px;
  110. margin-bottom: 10px;
  111. }
  112. .refresh {
  113. font-size: 16px;
  114. color: #4C8FBD;
  115. margin-right: 30px;
  116. }
  117. .content {
  118. overflow-x: scroll;
  119. }
  120. .btn-primary {
  121. margin: 0 0 0 5px;
  122. }
  123. .deriveBtn {
  124. background: #F4A460;
  125. border: 0;
  126. color: #fff;
  127. width: 95px;
  128. height: 33px;
  129. border: 5px;
  130. font-size: 18px;
  131. margin: 0 5px 0 5px;
  132. }
  133. .deriveBtn:hover {
  134. background: rgb(55, 138, 247);
  135. }
  136. .hide {
  137. display: none;
  138. }
  139. </style>
  140. </head>
  141. <body>
  142. <div class="content">
  143. <div class="searchCover">
  144. 已录信息:
  145. <select style="width:150px; margin: 0 0 0 -10px;" name="type" id="utype">
  146. <option value="">测报员</option>
  147. <option value="1">作物分类</option>
  148. <option value="2">昆虫种类</option>
  149. </select>
  150. <button class="deriveBtn" onclick="deriveAll()">导出</button>
  151. 识别记录:
  152. <select style="width:150px; margin: 0 10px 0 -10px;" name="type" id="utypeA">
  153. <option value="">请选择</option>
  154. <option value="1">作物分类</option>
  155. <option value="2">昆虫种类</option>
  156. </select>
  157. 时间筛选:
  158. <div class="layui-inline">
  159. <div class="layui-input-inline">
  160. <input onfocus='seekTime()' onblur="seekTimeA()" type="text" class="layui-input" id="test6"
  161. placeholder=" - ">
  162. </div>
  163. </div>
  164. 病虫害名称筛选:
  165. <div class="layui-inline">
  166. <input type="text" onfocus='insectname()' onblur='insectnameA()' class="layui-input" id="insectName">
  167. </div>
  168. <button onclick="filtrate()" id="deriveBtn" class="deriveBtn hide">筛选</button>
  169. <button class="authBtn conceal" onclick="verification()">生成验证码</button>
  170. <a class="authBtnA conceal" href="allocation">设备分配</a>
  171. <a class="refresh" href="cate_insect" style="float: right;">
  172. <i class="add">
  173. <img src="{% static '/img/addicon.png' %}" alt="" width="28">
  174. </i>分配子账号 </a>
  175. </div>
  176. <div class="innerTable">
  177. <table id="datatable" class="table table-striped table-hover">
  178. <thead>
  179. <tr>
  180. <th>采集地址</th>
  181. <th>调查时间</th>
  182. <th>采集人</th>
  183. <th>统计分类</th>
  184. <th>作物种类</th>
  185. <th>统计方法</th>
  186. <th>统计面积</th>
  187. <th>病害名称</th>
  188. <th>病级</th>
  189. <th>操作</th>
  190. </tr>
  191. </thead>
  192. <tbody>
  193. </tbody>
  194. </table>
  195. <div class="fenpei-bottom">
  196. <input type="hidden" id="totalPage" value={{ nums }}>
  197. <div id="page" style="text-align: center;"></div>
  198. </div>
  199. </div>
  200. <div class="user-manage-top" id="showGradeUl" style="display:none">
  201. <!-- 查看病级 -->
  202. <div style="padding:20px">
  203. <ul id="gradeUl" style="overflow: hidden;">
  204. <li>
  205. <div class="rank">
  206. (01)
  207. <span>病级1</span>
  208. 值:
  209. <span>12</span>
  210. </div>
  211. </li>
  212. </ul>
  213. </div>
  214. </div>
  215. <div class="user-manage-top">
  216. <!-- 重置密码 -->
  217. <div id="resetPwdBox">
  218. <form id="resetPwdBoxForm" action="" method="post"> {% csrf_token %}
  219. <div class="editRole">
  220. <input type="hidden" id="id" name="id">
  221. <input type="hidden" id="req" name="req" value="resetpwd">
  222. <div>用&nbsp;&nbsp;户&nbsp;名:
  223. <input type="text" readonly='readonly' class="fp-user" maxlength="20" name="userName"
  224. id="userName" />
  225. </div>
  226. <div>密&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;码:
  227. <input maxlength="200" type="password" class="fp-user" name="userpassWord" id="userpassWord"
  228. placeholder="请输入密码" />
  229. </div>
  230. <div>确认密码:
  231. <input maxlength="200" type="password" class="fp-user" name="userRePassWord"
  232. id="userRePassWord" placeholder="请再次输入密码" />
  233. </div>
  234. </div>
  235. </form>
  236. </div>
  237. </div>
  238. </div>
  239. <script src="{% static '/lib/js/jquery-2.1.4.min.js' %}"></script>
  240. <script src="{% static '/lib/layui/layui.all.js' %}"></script>
  241. <script src="{% static '/js/common.js' %}?versions=0.5.0"></script>
  242. <script type="text/javascript">
  243. $.ajaxSetup({
  244. data: { csrfmiddlewaretoken: '{{ csrf_token }}' },
  245. });
  246. </script>
  247. <script type="text/javascript">
  248. // 分页初始化
  249. var table, layer, laypage;
  250. var table = layui.table;
  251. function reandPage(totalPage, currPage) {
  252. //判断当前账号是管理员还是普通账号
  253. if (sessionStorage.getItem('purchase') == 'admin') {
  254. $('.authBtnA').removeClass('conceal')
  255. $('.authBtn').removeClass('conceal')
  256. }
  257. layui.use(['laypage', 'table', 'layer', 'laydate'], function () {
  258. var laypage = layui.laypage;
  259. var table = layui.table;
  260. var layer = layui.layer;
  261. var uname = $('#uname').val()
  262. laypage.render({
  263. elem: 'page' //注意,这里的 test1 是 ID,不用加 # 号
  264. , count: totalPage
  265. , curr: currPage
  266. , theme: '#428BCA'
  267. , layout: ['prev', 'page', 'next', 'skip']
  268. , jump: function (obj, first) {
  269. if (!first) {
  270. //判断是已录还是识别
  271. if ($('#utype').val() !== null) {
  272. $('#utype').val(sessionStorage.getItem('cordValue'))
  273. } else if ($('#utypeA').val() !== null) {
  274. getDataA(obj.curr, sessionStorage.getItem('discValue'), 'disc'); //识别记录
  275. $('#utypeA').val(sessionStorage.getItem('discValue'))
  276. } else if ($('#utype').val() == "") {
  277. getData(obj.curr, '')
  278. }
  279. }
  280. }
  281. });
  282. var laydate = layui.laydate;
  283. //执行一个laydate实例
  284. laydate.render({
  285. elem: '#test6'
  286. , range: true
  287. , done: function (value) {
  288. console.log(value)
  289. seekTimeA(value)
  290. }
  291. });
  292. });
  293. }
  294. //请求已录
  295. $('#utype').on('change', function () {
  296. //点击请选择再次测报员
  297. if ($('#utype').val() == '') {
  298. getData(1, '')
  299. } else if ($('#utype').val() !== '') {
  300. getDataB(1, $('#utype').val(), 'cord');
  301. sessionStorage.setItem('cordValue', $('#utype').val())
  302. sessionStorage.removeItem('discValue')
  303. }
  304. sessionStorage.removeItem('page')
  305. sessionStorage.setItem('page', 1)
  306. })
  307. //请求识别记录
  308. $('#utypeA').on('change', function () {
  309. getDataA(1, $('#utypeA').val(), 'disc');
  310. sessionStorage.setItem('discValue', $('#utypeA').val())
  311. sessionStorage.removeItem('cordValue')
  312. sessionStorage.removeItem('page')
  313. sessionStorage.setItem('page', 1)
  314. })
  315. if (sessionStorage.getItem('identification') == null) {
  316. sessionStorage.setItem('identification', 'staff')
  317. }
  318. if (sessionStorage.getItem('identification') == 'staff') {
  319. getData(1, '');
  320. } else if (sessionStorage.getItem('identification') == 'cord') {
  321. getDataB(sessionStorage.getItem('page'), sessionStorage.getItem('cordValue'), 'cord');
  322. } else if (sessionStorage.getItem('identification') == 'disc') {
  323. getDataA(sessionStorage.getItem('page'), sessionStorage.getItem('discValue'), 'disc');
  324. }
  325. function getData(page, ret) {
  326. sessionStorage.setItem('identification', 'staff') //测报员 标识
  327. $('#utype').val('');
  328. $('#utypeA').val('')
  329. $.ajax({
  330. url: 'look_user',
  331. type: 'post',
  332. dataType: 'json',
  333. data: {
  334. page: page,
  335. },
  336. success: function (data) {
  337. Fill_Table_title('datatable', ret);
  338. if (data.length == 0) {
  339. Fill_null_Table('datatable')
  340. } else {
  341. Fill_Table('datatable', data.dat, ret)
  342. }
  343. if (data.num > 1) {
  344. $('.fenpei-bottom').show();
  345. reandPage(data.num, page);
  346. } else {
  347. $('.fenpei-bottom').hide();
  348. }
  349. },
  350. error: function (type) {
  351. console.log(type);
  352. }
  353. })
  354. //判断当前用户是否为管理员
  355. $.ajax({
  356. url: 'judge_user',
  357. type: 'get',
  358. success: function (data) {
  359. if (data == 1) {
  360. console.log('管理员')
  361. $('.authBtnA').removeClass('conceal')
  362. $('.authBtn').removeClass('conceal')
  363. sessionStorage.setItem('purchase', 'admin')
  364. } else if (data == 2) {
  365. console.log('购买设备')
  366. // $('.authBtn').addClass('conceal')
  367. // $('.authBtnA').addClass('conceal')
  368. sessionStorage.setItem('purchase', 'yes')
  369. } else if (data == 3) {
  370. console.log('未购买设备')
  371. sessionStorage.setItem('purchase', 'no')
  372. // $('.authBtn').addClass('conceal')
  373. // $('.authBtnA').addClass('conceal')
  374. }
  375. },
  376. error: function (error) {
  377. console.log(error)
  378. }
  379. })
  380. }
  381. function getDataB(page, ret, req) {
  382. sessionStorage.setItem('identification', 'cord') //已录标识
  383. //请求已录信息数据
  384. $('#utypeA').val('<option value="">请选择</option>')
  385. $.ajax({
  386. url: 'check_account',
  387. tyep: 'get',
  388. data: {
  389. ret: ret,
  390. req: req,
  391. page: page
  392. },
  393. dataType: 'json',
  394. success: function (data) {
  395. Fill_Table_titleA('datatable', ret);
  396. if (data.dat.length == '0') {
  397. Fill_null_TableA('datatable')
  398. } else {
  399. Fill_TableA('datatable', data.dat, ret)
  400. }
  401. if (data.num > 1) {
  402. $('.fenpei-bottom').show();
  403. reandPage(data.num, page);
  404. } else {
  405. $('.fenpei-bottom').hide();
  406. }
  407. },
  408. error: function (error) {
  409. console.log(error)
  410. }
  411. })
  412. }
  413. //请求识别记录数据
  414. function getDataA(page, ret, req) {
  415. sessionStorage.setItem('identification', 'disc') //识别标识
  416. $('#utype').val('<option value="">请选择</option>')
  417. $.ajax({
  418. url: 'check_account',
  419. tyep: 'get',
  420. data: {
  421. ret: ret,
  422. req: req,
  423. page: page
  424. },
  425. dataType: 'json',
  426. success: function (data) {
  427. Fill_Table_titleB('datatable', ret);
  428. if (data.dat.length == '0') {
  429. Fill_null_TableB('datatable')
  430. } else {
  431. Fill_TableB('datatable', data.dat, ret)
  432. }
  433. if (data.num > 1) {
  434. $('.fenpei-bottom').show();
  435. reandPage(data.num, page);
  436. } else {
  437. $('.fenpei-bottom').hide();
  438. }
  439. },
  440. error: function (error) {
  441. console.log(error)
  442. }
  443. })
  444. }
  445. function Fill_Table_title(table_id, ret) {
  446. var table = document.getElementById(table_id).children[0];
  447. var html = '';
  448. html = '<tr><th>账号名称</th><th>联系电话</th><th>创建时间</th><th>地址</th><th>操作</th></tr>'
  449. $(table).html(html);
  450. }
  451. function Fill_null_Table(table_id) {
  452. $("#datatable tr:not(:first)").remove();
  453. var table = document.getElementById(table_id).children[1];
  454. var row = table.insertRow(table.rows.length);
  455. var c1 = row.insertCell(0);
  456. c1.setAttribute('colspan', '16');
  457. c1.setAttribute('class', 'nullData');
  458. c1.innerHTML = "暂无数据";
  459. }
  460. function Fill_Table(table_id, dat, ret) {
  461. $("#datatable tr:not(:first)").remove();
  462. var table = document.getElementById(table_id).children[1];
  463. for (var i = 0; i < dat.length; i++) {
  464. //判断地址
  465. if (dat[i].addr == "null") {
  466. var addr = '暂无地址'
  467. } else {
  468. var addr = dat[i].addr
  469. }
  470. var row = table.insertRow(table.rows.length);
  471. var c1 = row.insertCell(0);
  472. c1.innerHTML = dat[i].name
  473. // var c2 = row.insertCell(1);
  474. // c2.innerHTML = dat[i].id;
  475. var c2 = row.insertCell(1);
  476. if (dat[i].phone == "") {
  477. var data = "暂无号码"
  478. } else if (dat[i].phone != "") {
  479. var data = dat[i].phone
  480. }
  481. c2.innerHTML = data;
  482. var c3 = row.insertCell(2);
  483. c3.innerHTML = dat[i].time
  484. var c4 = row.insertCell(3);
  485. c4.innerHTML = addr
  486. var c5 = row.insertCell(4);
  487. // c5.innerHTML = ' <button class="btn btn-sm btn-danger" onclick="delFun(\'' + dat[i].id + '\')">删除</button> <input type="hidden" value=' + JSON.stringify(dat[i].pestname) + '><button class="btn btn-sm btn-primary btn-user-manage" onclick="lookDiseaseGrade(this)">查看</button> <button class="btn btn-sm btn-danger" onclick="reset(\'' + JSON.stringify(dat[i].pestname) + '\')">重置密码</button>'
  488. c5.innerHTML = ' <button class="btn btn-sm btn-danger" onclick="delFun(\'' + dat[i].id + ',' + dat[i].name + '\')">删除</button> <input type="hidden" value=' + JSON.stringify(dat[i].pestname) + '><a href="see_account" onclick="addID(\'' + dat[i].id + '\')" class="btn btn-sm btn-primary btn-user-manage">查看</a> <button class="btn btn-sm btn-danger" onclick="reset(\'' + dat[i].id + ',' + dat[i].name + '\')">重置密码</button><button class="btn btn-sm btn-primary btn-user-manage" onclick="derive(\'' + dat[i].id + '\')">导出</button>'
  489. scrollBar();
  490. }
  491. }
  492. function lookDiseaseGrade(id) {
  493. }
  494. function delFun(name) {
  495. var aa = new Array();
  496. aa = name.split(',')
  497. layui.use('layer', function () {
  498. var layer = layui.layer;
  499. layer.confirm('确定删除?', {
  500. btn: ['确定', '取消'] //按钮
  501. }, function (index) {
  502. $.ajax({
  503. url: 'del_account',
  504. type: 'post',
  505. data: {
  506. id: aa[0],
  507. },
  508. dataType: 'json',
  509. success: function (data) {
  510. if (data == '1') {
  511. layer.msg("删除成功!");
  512. setTimeout(function () {
  513. location.reload();
  514. }, 1000)
  515. } else if (data == '0') {
  516. layer.msg("删除失败!!!");
  517. }
  518. },
  519. error: function (type) {
  520. }
  521. })
  522. }, function () {
  523. });
  524. });
  525. }
  526. function verification() {
  527. layer.open({
  528. title: '生成验证码'
  529. , content: '<input class="authInp" type="text" readonly="readonly">'
  530. });
  531. $.ajax({
  532. url: 'activation_code',
  533. type: 'get',
  534. success: function (data) {
  535. if (data !== 0) {
  536. $('.authInp').val(data)
  537. } else if (data == 0) {
  538. }
  539. },
  540. error: function (type) {
  541. console.log(type)
  542. }
  543. })
  544. }
  545. function reset(id) {
  546. var aa = new Array();
  547. aa = id.split(',')
  548. layui.use('layer', function () {
  549. $('#userName').val(aa[1]);
  550. var layer = layui.layer;
  551. //执行一个layer实例
  552. layer.open({
  553. title: '重置密码',
  554. type: 1,
  555. area: ['400px', '250px'],
  556. btn: ['确定', '取消'],
  557. content: $('#resetPwdBox'), //指定元素
  558. closeBtn: 2,
  559. yes: function (index, layero) {
  560. sendResetPwd(aa[0]);
  561. },
  562. btn2: function (index, layero) {
  563. closeResetPwd();
  564. },
  565. cancel: function (index, layero) {
  566. closeResetPwd();
  567. }
  568. });
  569. });
  570. }
  571. function closeResetPwd() {
  572. $("#resetPwdBoxForm input").val('');
  573. $('#resetPwdBox').hide();
  574. }
  575. function sendResetPwd(id) {
  576. var userpassWord = $('#userpassWord').val();
  577. var userRePassWord = $('#userRePassWord').val();
  578. if (userpassWord == "") {
  579. layer.tips('请输入密码', '#userpassWord');
  580. return false;
  581. } else if (userRePassWord != userpassWord) {
  582. layer.tips('两次密码输入不一致', '#userRePassWord');
  583. return false;
  584. }
  585. $.ajax({
  586. url: 'user_account',
  587. type: 'post',
  588. data: {
  589. password: userpassWord,
  590. password1: userRePassWord,
  591. id: id,
  592. },
  593. success: function (data) {
  594. if (data == '1') {
  595. layer.msg("密码重置成功!");
  596. setTimeout(function () {
  597. layer.closeAll();
  598. closeResetPwd()
  599. }, 1000)
  600. }
  601. else { layer.msg("密码重置失败!!!"); }
  602. }
  603. })
  604. }
  605. //已录信息
  606. function Fill_TableA(table_id, dat, ret) {
  607. $("#datatable tr:not(:first)").remove();
  608. var table = document.getElementById(table_id).children[1];
  609. for (var i = 0; i < dat.length; i++) {
  610. if (dat[i].crop_sort == 1) {
  611. var aa = '病害'
  612. } else if (dat[i].crop_sort == 2) {
  613. var aa = '虫害'
  614. }
  615. if (dat[i].city == "null") {
  616. var aaa = '暂无地址'
  617. } else {
  618. var aaa = dat[i].city
  619. }
  620. var row = table.insertRow(table.rows.length);
  621. var c1 = row.insertCell(0);
  622. // c1.innerHTML = dat[i].username
  623. c1.innerHTML = dat[i].username
  624. var c2 = row.insertCell(1);
  625. c2.innerHTML = dat[i].user_name;
  626. var c3 = row.insertCell(2);
  627. c3.innerHTML = aa;
  628. var c4 = row.insertCell(3);
  629. c4.innerHTML = dat[i].growth_stages
  630. var c5 = row.insertCell(4);
  631. c5.innerHTML = dat[i].pest + ',' + dat[i].pest_name
  632. var c6 = row.insertCell(5);
  633. c6.innerHTML = dat[i].cens_method
  634. var c7 = row.insertCell(6);
  635. c7.innerHTML = dat[i].area
  636. var c8 = row.insertCell(7);
  637. c8.innerHTML = dat[i].month + '月'
  638. var c9 = row.insertCell(8);
  639. c9.innerHTML = dat[i].upl_time
  640. var c10 = row.insertCell(9);
  641. c10.innerHTML = aaa
  642. var c11 = row.insertCell(10);
  643. c11.innerHTML = ' <button class="btn btn-sm btn-danger" onclick="delMation(\'' + dat[i].id + '\')">删除</button> <input type="hidden" value=' + JSON.stringify(dat[i].pestname) + '><a href="see_mation" class="btn btn-sm btn-primary btn-user-manage" onclick="lookDiseaseGradeB(\'' + dat[i].id + ',' + dat[i].ret + ',' + dat[i].req + '\')">查看</a> <button class="btn btn-sm btn-danger" onclick="educe(\'' + dat[i].id + '\')">导出</button>'
  644. scrollBar();
  645. }
  646. }
  647. function Fill_null_TableA(table_id) {
  648. $("#datatable tr:not(:first)").remove();
  649. var table = document.getElementById(table_id).children[1];
  650. var row = table.insertRow(table.rows.length);
  651. var c1 = row.insertCell(0);
  652. c1.setAttribute('colspan', '16');
  653. c1.setAttribute('class', 'nullData');
  654. c1.innerHTML = "暂无数据";
  655. }
  656. function Fill_Table_titleA(table_id, ret) {
  657. var table = document.getElementById(table_id).children[0];
  658. var html = '';
  659. html = '<tr><th>所属用户</th><th>测报员</th><th>类别</th><th>生育期</th><th>病虫害名称</th><th>统计方法</th><th>数量</th><th>月份</th><th>创建时间</th><th>地址</th><th>操作</th></tr>'
  660. $(table).html(html);
  661. }
  662. //识别记录
  663. function Fill_TableB(table_id, dat, ret) {
  664. $("#datatable tr:not(:first)").remove();
  665. var table = document.getElementById(table_id).children[1];
  666. for (var i = 0; i < dat.length; i++) {
  667. var row = table.insertRow(table.rows.length);
  668. //判断ret
  669. if (dat[i].ret == 2) {
  670. var a = '虫害'
  671. } else if (dat[i].ret == 1) {
  672. var a = '病害'
  673. }
  674. //判断科目
  675. if (dat[i].course == '') {
  676. var b = '暂无'
  677. } else if (dat[i].course !== '') {
  678. var b = dat[i].course
  679. }
  680. //判断地址
  681. if (dat[i].addr == "null") {
  682. var addr = '暂无地址'
  683. } else {
  684. var addr = dat[i].addr
  685. }
  686. var c1 = row.insertCell(0);
  687. c1.innerHTML = dat[i].username
  688. var c2 = row.insertCell(1);
  689. c2.innerHTML = dat[i].reporter;
  690. var c3 = row.insertCell(2);
  691. c3.innerHTML = a;
  692. var c4 = row.insertCell(3);
  693. c4.innerHTML = b
  694. var c5 = row.insertCell(4);
  695. c5.innerHTML = dat[i].name
  696. var c6 = row.insertCell(5);
  697. c6.innerHTML = dat[i].time
  698. var c7 = row.insertCell(6);
  699. c7.innerHTML = addr
  700. var c8 = row.insertCell(7);
  701. c8.innerHTML = ' <button class="btn btn-sm btn-danger" onclick="delMation(\'' + dat[i].id + ',' + dat[i].ret + '\')">删除</button> <input type="hidden" value=' + JSON.stringify(dat[i].pestname) + '><a href="see_mation" class="btn btn-sm btn-primary btn-user-manage" onclick="lookDiseaseGradeA(\'' + dat[i].id + ',' + dat[i].ret + '\')">查看</a>'
  702. scrollBar();
  703. }
  704. }
  705. function Fill_null_TableB(table_id) {
  706. $("#datatable tr:not(:first)").remove();
  707. var table = document.getElementById(table_id).children[1];
  708. var row = table.insertRow(table.rows.length);
  709. var c1 = row.insertCell(0);
  710. c1.setAttribute('colspan', '16');
  711. c1.setAttribute('class', 'nullData');
  712. c1.innerHTML = "暂无数据";
  713. }
  714. function Fill_Table_titleB(table_id, ret) {
  715. var table = document.getElementById(table_id).children[0];
  716. var html = '';
  717. html = '<tr><th>所属用户</th><th>测报员</th><th>类别</th><th>科目</th><th>病虫害名称</th><th>创建时间</th><th>地址</th><th>操作</th></tr>'
  718. $(table).html(html);
  719. }
  720. function addID(id) {
  721. sessionStorage.setItem('addID', id)
  722. }
  723. //导出测报员下已录的所有数据
  724. function derive(id) {
  725. window.location.href = "export_excel?id=" + id + '&ret=whole'
  726. }
  727. //单条导出
  728. function educe(id) {
  729. window.location.href = "export_excel?id=" + id + '&ret=addr'
  730. }
  731. //已录信息查看功能
  732. function lookDiseaseGradeB(id, ret, req) {
  733. console.log(id)
  734. sessionStorage.setItem('cordID', id)
  735. sessionStorage.removeItem('discID')
  736. }
  737. //识别记录查看功能
  738. function lookDiseaseGradeA(id) {
  739. sessionStorage.setItem('discID', id)
  740. sessionStorage.removeItem('cordID')
  741. }
  742. //已录信息和识别记录删除功能
  743. function delMation(id) {
  744. var aa = new Array();
  745. aa = id.split(',')
  746. //判断是已录数据还是识别数据
  747. if (aa.length == 1) {
  748. var a = aa[0];
  749. var b = '';
  750. } else if (aa.length == 2) {
  751. var a = aa[0];
  752. var b = aa[1];
  753. }
  754. layui.use('layer', function () {
  755. var layer = layui.layer;
  756. layer.confirm('确定删除?', {
  757. btn: ['确定', '取消'] //按钮
  758. }, function (index) {
  759. $.ajax({
  760. url: 'del_mation',
  761. type: 'post',
  762. data: {
  763. id: a,
  764. ret: b,
  765. },
  766. dataType: 'json',
  767. success: function (data) {
  768. if (data == '1') {
  769. layer.msg("删除成功!");
  770. // setTimeout(function () {
  771. // location.reload();
  772. // }, 1000)
  773. if (aa.length == 1) {
  774. //已录
  775. getDataB(sessionStorage.getItem('page'), sessionStorage.getItem('cordValue'), 'cord');
  776. } else if (aa.length == 2) {
  777. //识别
  778. getDataA(sessionStorage.getItem('page'), sessionStorage.getItem('discValue'));
  779. }
  780. } else if (data == '0') {
  781. layer.msg("删除失败!!!");
  782. }
  783. },
  784. error: function (type) {
  785. }
  786. })
  787. }, function () {
  788. });
  789. });
  790. }
  791. //导出所属用户下所有测报员的已录数据
  792. function deriveAll() {
  793. if ($('#utype').val() !== '' && $('#utype').val() !== null) {
  794. var a = $('#utype').val()
  795. window.location.href = 'export_mation?ret=' + a
  796. // window.location.href = 'export_excel?ret=' + a
  797. } else if ($('#utypeA').val() !== '' && $('#utypeA').val() !== null) {
  798. layer.msg("识别记录暂不支持导出功能!!");
  799. } else if ($('#utype').val() == '') {
  800. var a = 'user'
  801. window.location.href = 'export_mation?ret=' + a
  802. }
  803. }
  804. //病虫害筛选功能
  805. function filtrate() {
  806. //判断是已录还是识别的筛选
  807. if ($('#utype').val() !== null) {
  808. var ret = $('#utype').val()
  809. var req = 'cord'
  810. } else if ($('#utypeA').val() !== null) {
  811. var ret = $('#utypeA').val()
  812. var req = 'disc'
  813. }
  814. //判断是进行时间筛选还是名称筛选
  815. if ($('#insectName').val() !== '') { //名称筛选
  816. $.ajax({
  817. url: 'screen_name',
  818. type: 'post',
  819. data: {
  820. ret: ret,
  821. req: req,
  822. name: $('#insectName').val(),
  823. page: 1,
  824. },
  825. dataType: 'json',
  826. success: function (data) {
  827. if (req == 'cord') {
  828. //已录
  829. Fill_Table_titleA('datatable', ret);
  830. if (data.dat.length == '0') {
  831. Fill_null_TableA('datatable')
  832. } else {
  833. Fill_TableA('datatable', data.dat, ret)
  834. }
  835. if (data.num > 1) {
  836. $('.fenpei-bottom').show();
  837. reandPage(data.num, page);
  838. } else {
  839. $('.fenpei-bottom').hide();
  840. }
  841. } else if (req == 'disc') {
  842. //识别
  843. Fill_Table_titleB('datatable', ret);
  844. if (data.dat.length == '0') {
  845. Fill_null_TableB('datatable')
  846. } else {
  847. Fill_TableB('datatable', data.dat, ret)
  848. }
  849. if (data.num > 1) {
  850. $('.fenpei-bottom').show();
  851. reandPage(data.num, page);
  852. } else {
  853. $('.fenpei-bottom').hide();
  854. }
  855. }
  856. },
  857. error: function (error) {
  858. console.log(error)
  859. }
  860. })
  861. } else if ($('#test6').val() !== '') {
  862. var aa = new Array();
  863. aa = $('#test6').val().split(" - ")
  864. $.ajax({
  865. url: 'screen_hour',
  866. type: 'post',
  867. data: {
  868. ret: ret,
  869. req: req,
  870. stat_time: aa[0],
  871. end_time: aa[1],
  872. page: 1,
  873. },
  874. dataType: 'json',
  875. success: function (data) {
  876. if (req == 'cord') {
  877. //已录
  878. Fill_Table_titleA('datatable', ret);
  879. if (data.dat.length == '0') {
  880. Fill_null_TableA('datatable')
  881. } else {
  882. Fill_TableA('datatable', data.dat, ret)
  883. }
  884. if (data.num > 1) {
  885. $('.fenpei-bottom').show();
  886. reandPage(data.num, page);
  887. } else {
  888. $('.fenpei-bottom').hide();
  889. }
  890. } else if (req == 'disc') {
  891. //识别
  892. Fill_Table_titleB('datatable', ret);
  893. if (data.dat.length == '0') {
  894. Fill_null_TableB('datatable')
  895. } else {
  896. Fill_TableB('datatable', data.dat, ret)
  897. }
  898. if (data.num > 1) {
  899. $('.fenpei-bottom').show();
  900. reandPage(data.num, page);
  901. } else {
  902. $('.fenpei-bottom').hide();
  903. }
  904. }
  905. },
  906. error: function (error) {
  907. console.log(error)
  908. }
  909. })
  910. }
  911. }
  912. //病虫害名称筛选时input框获取焦点
  913. function insectname() {
  914. $('#test6').val('')
  915. if ($('#utype').val() == '' || $('#utypeA').val() == '') {
  916. layer.msg('请先选择是已录信息还是识别记录');
  917. }
  918. }
  919. function insectnameA() {
  920. if (($('#utype').val() !== '' || $('#utypeA').val() !== '') && $('#insectName').val() !== '') {
  921. $('#deriveBtn').removeClass('hide')
  922. } else {
  923. layer.msg('必选项不能为空', { time: 5000, icon: 5 })
  924. }
  925. }
  926. //病虫害时间筛选时input框获取焦点
  927. function seekTime() {
  928. $('#insectName').val('')
  929. if ($('#utype').val() == '' || $('#utypeA').val() == '') {
  930. layer.msg('请先选择是已录信息还是识别记录');
  931. }
  932. }
  933. function seekTimeA(val) {
  934. if (($('#utype').val() !== '' || $('#utypeA').val() !== '') && $('#test6').val() !== '' || val !== '') {
  935. $('#deriveBtn').removeClass('hide')
  936. } else if ($('#test6').val() == '') {
  937. layer.msg('必选项不能为空', { time: 5000, icon: 5 })
  938. }
  939. }
  940. // window.onbeforeunload = function (e) {
  941. // sessionStorage.removeItem('identification')
  942. // }
  943. </script>
  944. </body>
  945. </html>