camera_list.blade.php 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698
  1. <link rel="stylesheet" href="/static/css/font-awesome.min.css">
  2. <link rel="stylesheet" href="/static/css/css.css">
  3. <link rel="stylesheet" href="/static/css/ace.min.css">
  4. <style>
  5. body,html{
  6. background:white;
  7. overflow-y:hidden;
  8. }
  9. .pagination{
  10. margin-left:190px;
  11. padding-top:10px;
  12. }
  13. #mine_list{
  14. overflow: auto;
  15. overflow-y:scroll;
  16. overflow-x:scroll;
  17. text-overflow:ellipsis;
  18. white-space:nowrap;
  19. overflow-x: auto;
  20. display: -webkit-box;
  21. -webkit-overflow-scrolling: touch;
  22. }
  23. /*#mine_list::-webkit-scrollbar{*/
  24. /* display:none;*/
  25. /*}*/
  26. #camera_table{
  27. /*overflow:hidden;*/
  28. /*overflow-y:scroll;*/
  29. }
  30. #camera_table::-webkit-scrollbar{
  31. display:none;
  32. }
  33. #page {
  34. margin: 20px auto;
  35. color: #666;
  36. display: block;
  37. margin-left:184px;
  38. }
  39. #page li {
  40. display: inline-block;
  41. min-width: 30px;
  42. height: 28px;
  43. cursor: pointer;
  44. color: #666;
  45. font-size: 13px;
  46. line-height: 28px;
  47. background-color: #f9f9f9;
  48. border: 1px solid #dce0e0;
  49. text-align: center;
  50. margin: 0 4px;
  51. -webkit-appearance: none;
  52. -moz-appearance: none;
  53. appearance: none;
  54. }
  55. .xl-nextPage,
  56. .xl-prevPage {
  57. width: 60px;
  58. color: #009688;
  59. height: 28px;
  60. }
  61. #page li.xl-disabled {
  62. opacity: .5;
  63. cursor: no-drop;
  64. }
  65. #page li.xl-active {
  66. background-color: #009688;
  67. border-color: #009688;
  68. color: #FFF
  69. }
  70. .layui-layer-page .layui-layer-content {
  71. overflow: auto !important;
  72. }
  73. .table>caption+thead>tr:first-child>td, .table>caption+thead>tr:first-child>th, .table>colgroup+thead>tr:first-child>td, .table>colgroup+thead>tr:first-child>th, .table>thead:first-child>tr:first-child>td, .table>thead:first-child>tr:first-child>th {
  74. border-top: 0;
  75. border-bottom: #DDDDDD solid 1px;
  76. }
  77. .ui-jqgrid .ui-jqgrid-btable tbody tr.jqgrow td {
  78. overflow: hidden;
  79. white-space: pre;
  80. padding-right: 2px;
  81. height: 40px;
  82. line-height: 40px;
  83. }
  84. #camera_list td{
  85. max-width:150px;overflow:hidden;text-overflow:ellipsis; white-space:nowrap;
  86. }
  87. </style>
  88. <div @if(request()->ajax()) style="max-height: 600px;overflow-y: auto;" @endif>
  89. @if(count($searchs) > 0)
  90. <div style="width:200px;height:615px;position:absolute;" id="mine_list">
  91. <div class="row">
  92. <div class="col-sm-6">
  93. <div class="widget-box" style="margin-top:0;width:130%;">
  94. <div class="widget-header header-color-blue2" style="background:#009688;width:120%;cursor:pointer;" onclick="form_resert()">
  95. <h4 class="lighter smaller">区域列表</h4>
  96. </div>
  97. <div class="widget-body" style="border:0px solid #009688;">
  98. <div class="widget-main padding-8">
  99. <div id="tree1" class="tree tree-selectable">
  100. <div class="tree-folder" style="display:none;">
  101. <div class="tree-folder-header">
  102. <i class="icon-plus"></i>
  103. <div class="tree-folder-name"></div>
  104. </div>
  105. <div class="tree-folder-content"></div>
  106. <div class="tree-loader" style="display: none;"></div>
  107. </div>
  108. <div class="tree-item" style="display:none;">
  109. <i class="icon-remove"></i>
  110. <div class="tree-item-name"></div>
  111. </div>
  112. </div>
  113. </div>
  114. </div>
  115. </div>
  116. </div>
  117. </div>
  118. </div>
  119. <div class="layui-row" style="margin-left:210px;">
  120. <form class="layui-form" method="get" action="/admin/{{ $path }}" style="margin-bottom: 10px;" id="search_form">
  121. @csrf
  122. @if(request()->has('id'))
  123. <input type="hidden" name="id" value="{{ request()->input('id') }}">
  124. @endif
  125. <input type="hidden" name="mine_id" id="mine_id" value="">
  126. <input type="hidden" name="pagesize" id="pagesize" value="{{$pagesize}}">
  127. @foreach($searchs as $var => $search)
  128. @if($search['type'] == 'input')
  129. <div class="layui-input-inline">
  130. <input class="layui-input" type="text"
  131. placeholder="{{ $search['label'] }}"
  132. name="{{ $var }}" id="{{ $var }}"
  133. value="{{ ${$var} ?? '' }}">
  134. </div>
  135. @endif
  136. @if($search['type'] == 'select')
  137. <div class="layui-input-inline">
  138. <select name="{{ $var }}" id="{{ $var }}">
  139. <option value="0"
  140. @if(!isset($search['assist'])) selected @endif>{{ $search['label'] }}
  141. </option>
  142. @if(count($search['assist']) > 0)
  143. @foreach($search['assist'] as $k => $col)
  144. <option value="{{ $k }}"
  145. @if(isset(${$var}) && ${$var} == $k) selected @endif>{{ $col }}
  146. </option>
  147. @endforeach
  148. @endif
  149. </select>
  150. </div>
  151. @endif
  152. @if($search['type'] == 'tree_select')
  153. <div class="layui-input-inline">
  154. <select name="{{ $var }}">
  155. <option value="0"
  156. @if(!isset($search['assist'])) selected @endif>{{ $search['label'] }}
  157. </option>
  158. @if(count($search['assist']) > 0)
  159. @include('admin::component.multi_select_option', ['selects' => $search['assist'], 'selectPid' => request($var) ?? ''])
  160. @endif
  161. </select>
  162. </div>
  163. @endif
  164. @if($search['type'] == 'date')
  165. <div class="layui-input-inline">
  166. <input class="layui-input date-{{ $var }}" type="text"
  167. placeholder="{{ $search['label'] ?? '日期' }}"
  168. name="{{ $var }}" autocomplete="off" readonly
  169. disableautocomplete value="{{ $search['assist'][0] ?? '' }}"
  170. >
  171. </div>
  172. <script>
  173. $('.date-{{ $var }}').datepicker({
  174. language: 'zh-CN',
  175. format: 'yyyy-mm-dd',
  176. date: '{{ $search['assist'][0] ?? null }}',
  177. });
  178. </script>
  179. @endif
  180. @if($search['type'] == 'date_time')
  181. <div class="layui-input-inline">
  182. <input class="layui-input star-{{ $var }}" type="text"
  183. placeholder="{{ $search['label'][0] ?? '起始日期' }}"
  184. name="star_{{ $var }}" autocomplete="off" readonly
  185. disableautocomplete value="{{ $search['assist'][0] ?? '' }}">
  186. </div> -
  187. <div class="layui-input-inline">
  188. <input class="layui-input end-{{ $var }}" type="text"
  189. placeholder="{{ $search['label'][1] ?? '结束日期' }}"
  190. name="end_{{ $var }}" autocomplete="off" readonly
  191. disableautocomplete value="{{ $search['assist'][1] ?? '' }}">
  192. </div>
  193. <script>
  194. $('.star-{{ $var }}').datepicker({
  195. language: 'zh-CN',
  196. format: 'yyyy-mm-dd',
  197. date: '{{ $search['assist'][0] ?? null }}',
  198. pick: function (rtime) {
  199. $('.end-{{ $var }}').datepicker('setStartDate', rtime.date);
  200. }
  201. });
  202. $('.end-{{ $var }}').datepicker({
  203. language: 'zh-CN',
  204. format: 'yyyy-mm-dd',
  205. date: '{{ $search['assist'][0] ?? null }}'
  206. });
  207. </script>
  208. @endif
  209. @endforeach
  210. <button class="layui-btn" type="button" onclick="form_submit();"><i class="layui-icon">&#xe615;</i></button>
  211. </form>
  212. </div>
  213. @endif
  214. @if(count($topActions) > 0 || (isset($topActionOthers) && count($topActionOthers)) > 0)
  215. <div class="weadmin-block layui-clear" style="margin-left:210px;">
  216. @if(in_array('goback', $topActions))
  217. @if(isset($topActions['href']))
  218. <a class="layui-btn layui-btn-primary layui-layer-close" style="position:relative;"
  219. href="{{ $topActions['href'] }}">返回
  220. </a>
  221. @else
  222. <button class="layui-btn layui-btn-primary layui-layer-close" style="position:relative;" type="button"
  223. onclick="javascript:history.go(-1);">返回
  224. </button>
  225. @endif
  226. @endif
  227. @if(checkBtn('/admin/'.$path.'/add', $permissionsList))
  228. @if(in_array('add', $topActions))
  229. <button class="layui-btn" onclick="addItem()"><i class="layui-icon"></i>添加</button>
  230. @endif
  231. @endif
  232. @if(checkBtn('/admin/'.$path.'/export', $permissionsList))
  233. @if(in_array('export', $topActions))
  234. <a href="/admin/{{ $path }}/export?{{ http_build_query(request()->except('_token')) }}"
  235. class="layui-btn">Excel导出当前页</a>
  236. <a href="/admin/{{ $path }}/export?type=all&{{ http_build_query(request()->except('_token')) }}"
  237. class="layui-btn">Excel导出全部</a>
  238. @endif
  239. @endif
  240. @if(checkBtn('/admin/'.$path.'/importTemplate', $permissionsList))
  241. @if(in_array('importTemplate', $topActions))
  242. <a href="/admin/{{ $path }}/importTemplate" class="layui-btn">下载导入模板</a>
  243. @endif
  244. @endif
  245. @if(checkBtn('/admin/'.$path.'/import', $permissionsList))
  246. @if(in_array('import', $topActions))
  247. <button type="button" class="layui-btn" id="import">
  248. <i class="layui-icon">&#xe67c;</i>Excel导入
  249. </button>
  250. @endif
  251. @endif
  252. <div style="float: right;">
  253. @if(isset($topActionOthers) && count($topActionOthers) > 0)
  254. @foreach($topActionOthers as $topActionOther)
  255. @if(checkBtn('/admin/'.$topActionOther['path'], $permissionsList))
  256. @if(isset($topActionOther['isShow']))
  257. @if(isset($topActionOther['isJump']))
  258. <button class="layui-btn {{ $topActionOther['class'] }}"
  259. onclick="jumpBtn(this)"
  260. data-jumptype="{{ $topActionOther['isJump'] }}"
  261. data-href="{{ $topActionOther['path'] }}">{{ $topActionOther['name'] }}
  262. </button>
  263. @else
  264. <a href="/admin/{{ $topActionOther['path'] }}"
  265. class="layui-btn {{ $topActionOther['class'] }}">{{ $topActionOther['name'] }}</a>
  266. @endif
  267. @endif
  268. @endif
  269. @endforeach
  270. @endif
  271. </div>
  272. </div>
  273. @endif
  274. <div style="margin-left:210px;max-height:454px;" id="camera_table">
  275. <table class="layui-table" style="">
  276. <thead>
  277. <tr>
  278. @foreach($columns as $column)
  279. <th>{{ $column['name'] }}</th>
  280. @endforeach
  281. @if((isset($displayActionOthers) && count($displayActionOthers) > 0) || count($actionBtns) > 0)
  282. <th style="width:15%;">操作</th>
  283. @endif
  284. </tr>
  285. </thead>
  286. <tbody id="camera_list">
  287. @if(count($items) > 0)
  288. @foreach($items as $item)
  289. <tr>
  290. @foreach($columns as $varName => $column)
  291. <td>{!! isset($column['value']) ? $column['value']($item->$varName, $item) : $item->$varName !!}</td>
  292. @endforeach
  293. @if((isset($displayActionOthers) && count($displayActionOthers) > 0) || count($actionBtns) > 0)
  294. <td>
  295. @if(isset($displayActionOthers) && count($displayActionOthers) > 0)
  296. @foreach($displayActionOthers as $displayActionOther)
  297. @if(checkBtn('/admin/'.$displayActionOther['path'], $permissionsList))
  298. @if(isset($displayActionOther['isShow']) ? $displayActionOther['isShow']($item) : 1)
  299. @if(isset($displayActionOther['isJump']))
  300. <button
  301. class="layui-btn layui-btn-xs {{ $displayActionOther['class'] }} @if($displayActionOther['isJump'] == 'uploadimg') uploadimg @endif"
  302. onclick="jumpBtn(this)"
  303. data-title="{{ $displayActionOther['title'] ?? '' }}"
  304. data-jumptype="{{ $displayActionOther['isJump'] }}"
  305. data-href="{{ substr($displayActionOther['path'],-1) == '&' ? $displayActionOther['path']:$displayActionOther['path'].'?' }}{{ $primaryKey }}={{ $item->$primaryKey }}">{{ $displayActionOther['name'] }}
  306. </button>
  307. @else
  308. <a href="/admin/{{ substr($displayActionOther['path'],-1) == '&' ? $displayActionOther['path']:$displayActionOther['path'].'?' }}{{ $primaryKey }}={{ $item->$primaryKey }}"
  309. class="layui-btn layui-btn-xs {{ $displayActionOther['class'] }}"
  310. @if(isset($displayActionOther['fullWin'])) target="_blank" @endif>{{ $displayActionOther['name'] }}</a>
  311. @endif
  312. @endif
  313. @endif
  314. @endforeach
  315. @endif
  316. @if(!is_array($item) || !in_array($item[$displayActions['name']], $displayActions['value']))
  317. @if(checkBtn('/admin/'.$path.'/view', $permissionsList))
  318. @if(in_array('view', $actionBtns))
  319. {{-- <a href="/admin/{{ $path }}/view?{{ $primaryKey }}={{ $item->$primaryKey }}"--}}
  320. {{-- class="layui-btn layui-btn-normal layui-btn-xs" {{ $actionBtnsAttribute['view'] ?? '' }} >查看</a>--}}
  321. <button class="layui-btn layui-btn-xs layui-btn-normal viewItem"
  322. data-itemid="{{ $item->$primaryKey }}" {{ $actionBtnsAttribute['view'] ?? '' }}>
  323. 查看
  324. </button>
  325. @endif
  326. @endif
  327. @if(checkBtn('/admin/'.$path.'/edit', $permissionsList))
  328. @if(in_array('edit', $actionBtns))
  329. {{-- <a href="/admin/{{ $path }}/edit?{{ $primaryKey }}={{ $item->$primaryKey }}"--}}
  330. {{-- class="layui-btn layui-btn-xs" {{ $actionBtnsAttribute['edit'] ?? '' }}>编辑</a>--}}
  331. <button class="layui-btn layui-btn-xs editItem"
  332. data-itemid="{{ $item->$primaryKey }}" {{ $actionBtnsAttribute['view'] ?? '' }}>
  333. 编辑
  334. </button>
  335. @endif
  336. @endif
  337. @if(checkBtn('/admin/'.$path.'/del', $permissionsList))
  338. @if(in_array('del', $actionBtns))
  339. <button class="layui-btn layui-btn-xs layui-btn-danger delItem"
  340. data-itemid="{{ $item->$primaryKey }}" {{ $actionBtnsAttribute['del'] ?? '' }}>
  341. 删除
  342. </button>
  343. @endif
  344. @endif
  345. @endif
  346. </td>
  347. @endif
  348. </tr>
  349. @endforeach
  350. @else
  351. <tr>
  352. <td colspan="{{ count($columns) + 1 }}">暂无数据</td>
  353. </tr>
  354. @endif
  355. </tbody>
  356. </table>
  357. </div>
  358. </div>
  359. {{--@if(method_exists($items, 'links'))--}}
  360. {{-- {{ $items->appends(request()->except('_token'))->links() }}--}}
  361. {{--@endif--}}
  362. <div id="page"></div>
  363. <script>
  364. $(function () {
  365. $('.delItem').on('click', function () {
  366. var self = $(this);
  367. layer.confirm('你确定删除?', function () {
  368. layer.closeAll();
  369. $.post('/admin/{{ $path }}/del', {"{{ $primaryKey }}": self.data('itemid')}, function (res) {
  370. if (res.code === 0) {
  371. layer.msg('成功!', {anim: 0}, function () {
  372. form_submit();
  373. // location.reload();
  374. });
  375. } else {
  376. layer.msg(res.message);
  377. }
  378. });
  379. });
  380. })
  381. });
  382. function jumpBtn(el) {
  383. var self = $(el);
  384. var path = self.data('href');
  385. var type = self.data('jumptype');
  386. var jvalue = self.data('value') || '';
  387. var title = self.data('title') || '';
  388. var text = self.text();
  389. if (type === 'confirm') {
  390. layer.confirm('确定' + text + '?', function (index) {
  391. layer.close(index);
  392. $.get('/admin/' + path, function (res) {
  393. if (res.code === 0) {
  394. layer.msg('成功!', {anim: 0}, function () {
  395. location.reload();
  396. });
  397. } else {
  398. layer.msg('失败:' + res.message);
  399. }
  400. });
  401. });
  402. } else if (type === 'uploadimg') {
  403. } else if (type === 'prompt') {
  404. layer.prompt({
  405. value: jvalue,
  406. title: title,
  407. }, function (value, index, elem) {
  408. layer.close(index);
  409. $.get('/admin/' + path, {newValue: value}, function (res) {
  410. if (res.code === 0) {
  411. layer.msg('成功!', {anim: 0, time: 1000}, function () {
  412. self.text(value).data('value', value);
  413. location.reload();
  414. });
  415. } else {
  416. layer.msg('失败:' + res.message);
  417. }
  418. });
  419. });
  420. } else {
  421. $.get('/admin/' + path, function (res) {
  422. layer.open({
  423. type: 1,
  424. area: '700px',
  425. offset: '150px',
  426. title: false,
  427. content: res
  428. });
  429. });
  430. }
  431. }
  432. layui.use(['upload', 'form'], function () {
  433. var upload = layui.upload, form = layui.form;
  434. form.on('switch', function (data) {
  435. var self = $(data.elem);
  436. var path = self.data('href');
  437. $.get('/admin/' + path, function (res) {
  438. console.log(res);
  439. if (res.code === 0) {
  440. } else {
  441. layer.msg('失败:' + res.message);
  442. }
  443. });
  444. });
  445. //执行实例
  446. var uploadInst = upload.render({
  447. elem: '#import' //绑定元素
  448. , field: 'excel'
  449. , exts: 'xls|xlsx|csv'
  450. , url: '/admin/{{ $path }}/import' //上传接口
  451. , done: function (res) {
  452. if (res.code === 0) {
  453. layer.msg('导入成功,加载请稍等待!', {anim: 0}, function () {
  454. location.reload();
  455. });
  456. } else {
  457. layer.msg('导入失败,即将跳转到错误信息页。', {anim: 0}, function () {
  458. location.href = '/admin/errorPage';
  459. });
  460. }
  461. }
  462. , error: function (res) {
  463. layer.msg(res.message);
  464. }
  465. });
  466. //执行实例
  467. $('.uploadimg').each(function (index, elem) {
  468. upload.render({
  469. elem: elem //绑定元素
  470. , field: 'img'
  471. , url: '/admin/' + $(elem).data('href') //上传接口
  472. , done: function (res) {
  473. if (res.code === 0) {
  474. layer.msg('上传成功', {anim: 0}, function () {
  475. location.reload();
  476. });
  477. } else {
  478. layer.msg(res.message);
  479. }
  480. }
  481. , error: function (res) {
  482. layer.msg(res.message);
  483. }
  484. });
  485. });
  486. });
  487. </script>
  488. <script src="/static/js/jquery.min.js"></script>
  489. <script src="/static/js/bootstrap.min.js"></script>
  490. <script src="/static/js/fuelux.tree-sampledata.js"></script>
  491. <script src="/static/js/fuelux.tree.min.js"></script>
  492. <script src="/static/js/ace-elements.min.js"></script>
  493. <script src="/static/js/ace.min.js"></script>
  494. {{--<script src="https://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>--}}
  495. <script type="text/javascript" src="/static/js/xlPaging.js"></script>
  496. <script type="text/javascript">
  497. if(window.screen.height > 1000){
  498. document.getElementById('mine_list').style.maxHeight = '815px';
  499. document.getElementById('camera_table').style.maxHeight = '654px';
  500. }
  501. //区域列表
  502. var tree_data = <?php echo json_encode($tree_data);?>;
  503. var treeDataSource = new DataSourceTree({data: tree_data});
  504. jQuery(function($){
  505. $('#tree1').ace_tree({
  506. dataSource: treeDataSource ,
  507. multiSelect:true,
  508. loadingHTML:'<div class="tree-loading"><i class="icon-refresh icon-spin blue"></i></div>',
  509. 'open-icon' : 'icon-minus',
  510. 'close-icon' : 'icon-plus',
  511. 'selectable' : true,
  512. // 'selected-icon' : 'icon-ok',
  513. // 'unselected-icon' : 'icon-remove'
  514. });
  515. });
  516. var pagesize = parseInt(document.getElementById('pagesize').value);
  517. //分页
  518. $("#page").paging({
  519. nowPage: 1, // 当前页码
  520. pageNum: pagesize, // 总页码
  521. buttonNum: 7, //要展示的页码数量
  522. callback: function (num) { //回调函数
  523. var mine_id = '';
  524. var camera_name = '';
  525. var camera_source = 0;
  526. var camera_type = 0;
  527. $.get('/admin/camera/camerapage',{'page':num,'mine_id':mine_id,'camera_name':camera_name,'camera_source':camera_source,'camera_type':camera_type},function(str){
  528. document.getElementById('camera_list').innerHTML = '';
  529. if(str.data.length > 0){
  530. for(var i=0;i<str.data.length;i++){
  531. if(str.data[i].is_show == 1){
  532. $('#camera_list').append('<tr><td>'+str.data[i].parent_title+'</td><td>'+str.data[i].title+'</td><td>'+str.data[i].camera_name+'</td><td>'+str.data[i].camera_type+'</td><td>'+str.data[i].camera_source+'</td><td><span class="layui-form"><input type="checkbox" name="is_show" data-href="camera/list/edit?type=show&id='+str.data[i].id+'" lay-skin="switch" lay-text="是|否" checked></span></td><td>'+str.data[i].sort+'</td><td><button class="layui-btn layui-btn-xs layui-btn-normal viewItem" onclick="check_camera('+str.data[i].id+');">查看</button><button class="layui-btn layui-btn-xs editItem" onclick="edit_camera('+str.data[i].id+');">编辑</button><button class="layui-btn layui-btn-xs layui-btn-danger delItem" onclick="del_camera('+str.data[i].id+');">删除</button></td></tr>');
  533. }else{
  534. $('#camera_list').append('<tr><td>'+str.data[i].parent_title+'</td><td>'+str.data[i].title+'</td><td>'+str.data[i].camera_name+'</td><td>'+str.data[i].camera_type+'</td><td>'+str.data[i].camera_source+'</td><td><span class="layui-form"><input type="checkbox" name="is_show" data-href="camera/list/edit?type=show&id='+str.data[i].id+'" lay-skin="switch" lay-text="是|否"></span></td><td>'+str.data[i].sort+'</td><td><button class="layui-btn layui-btn-xs layui-btn-normal viewItem" onclick="check_camera('+str.data[i].id+');">查看</button><button class="layui-btn layui-btn-xs editItem" onclick="edit_camera('+str.data[i].id+');">编辑</button><button class="layui-btn layui-btn-xs layui-btn-danger delItem" onclick="del_camera('+str.data[i].id+');">删除</button></td></tr>');
  535. }
  536. }
  537. layui.form.render();
  538. }else{
  539. $('#camera_list').append('<tr><td colspan="8">暂无数据</td></tr>');
  540. }
  541. });
  542. }
  543. });
  544. //表单提交ajax
  545. function form_submit(){
  546. var mine_id = document.getElementById('mine_id').value;
  547. var camera_name = document.getElementById('camera_name').value;
  548. var camera_source = document.getElementById('camera_source').value;
  549. var camera_type = document.getElementById('camera_type').value;
  550. document.getElementById('camera_list').innerHTML = '';
  551. $.get('/admin/camera/update',{'mine_id':mine_id,'camera_source':camera_source,'camera_type':camera_type,'camera_name':camera_name},function(str){
  552. if(str.data.length > 0){
  553. for(var i=0;i<str.data.length;i++){
  554. if(str.data[i].is_show == 1){
  555. $('#camera_list').append('<tr><td>'+str.data[i].parent_title+'</td><td>'+str.data[i].title+'</td><td>'+str.data[i].camera_name+'</td><td>'+str.data[i].camera_type+'</td><td>'+str.data[i].camera_source+'</td><td><span class="layui-form"><input type="checkbox" name="is_show" data-href="camera/list/edit?type=show&id='+str.data[i].id+'" lay-skin="switch" lay-text="是|否" checked></span></td><td>'+str.data[i].sort+'</td><td><button class="layui-btn layui-btn-xs layui-btn-normal viewItem" onclick="check_camera('+str.data[i].id+');">查看</button><button class="layui-btn layui-btn-xs editItem" onclick="edit_camera('+str.data[i].id+');">编辑</button><button class="layui-btn layui-btn-xs layui-btn-danger delItem" onclick="del_camera('+str.data[i].id+');">删除</button></td></tr>');
  556. }else{
  557. $('#camera_list').append('<tr><td>'+str.data[i].parent_title+'</td><td>'+str.data[i].title+'</td><td>'+str.data[i].camera_name+'</td><td>'+str.data[i].camera_type+'</td><td>'+str.data[i].camera_source+'</td><td><span class="layui-form"><input type="checkbox" name="is_show" data-href="camera/list/edit?type=show&id='+str.data[i].id+'" lay-skin="switch" lay-text="是|否"></span></td><td>'+str.data[i].sort+'</td><td><button class="layui-btn layui-btn-xs layui-btn-normal viewItem" onclick="check_camera('+str.data[i].id+');">查看</button><button class="layui-btn layui-btn-xs editItem" onclick="edit_camera('+str.data[i].id+');">编辑</button><button class="layui-btn layui-btn-xs layui-btn-danger delItem" onclick="del_camera('+str.data[i].id+');">删除</button></td></tr>');
  558. }
  559. }
  560. layui.form.render();
  561. }else{
  562. $('#camera_list').append('<tr><td colspan="8">暂无数据</td></tr>');
  563. }
  564. //分页
  565. $("#page").paging({
  566. nowPage: 1, // 当前页码
  567. pageNum: str.last_page, // 总页码
  568. buttonNum: 7, //要展示的页码数量
  569. callback: function (num) { //回调函数
  570. $.get('/admin/camera/camerapage',{'page':num,'mine_id':mine_id,'camera_name':camera_name,'camera_source':camera_source,'camera_type':camera_type},function(str){
  571. document.getElementById('camera_list').innerHTML = '';
  572. if(str.data.length > 0){
  573. for(var i=0;i<str.data.length;i++){
  574. if(str.data[i].is_show == 1){
  575. $('#camera_list').append('<tr><td>'+str.data[i].parent_title+'</td><td>'+str.data[i].title+'</td><td>'+str.data[i].camera_name+'</td><td>'+str.data[i].camera_type+'</td><td>'+str.data[i].camera_source+'</td><td><span class="layui-form"><input type="checkbox" name="is_show" data-href="camera/list/edit?type=show&id='+str.data[i].id+'" lay-skin="switch" lay-text="是|否" checked></span></td><td>'+str.data[i].sort+'</td><td><button class="layui-btn layui-btn-xs layui-btn-normal viewItem" onclick="check_camera('+str.data[i].id+');">查看</button><button class="layui-btn layui-btn-xs editItem" onclick="edit_camera('+str.data[i].id+');">编辑</button><button class="layui-btn layui-btn-xs layui-btn-danger delItem" onclick="del_camera('+str.data[i].id+');">删除</button></td></tr>');
  576. }else{
  577. $('#camera_list').append('<tr><td>'+str.data[i].parent_title+'</td><td>'+str.data[i].title+'</td><td>'+str.data[i].camera_name+'</td><td>'+str.data[i].camera_type+'</td><td>'+str.data[i].camera_source+'</td><td><span class="layui-form"><input type="checkbox" name="is_show" data-href="camera/list/edit?type=show&id='+str.data[i].id+'" lay-skin="switch" lay-text="是|否"></span></td><td>'+str.data[i].sort+'</td><td><button class="layui-btn layui-btn-xs layui-btn-normal viewItem" onclick="check_camera('+str.data[i].id+');">查看</button><button class="layui-btn layui-btn-xs editItem" onclick="edit_camera('+str.data[i].id+');">编辑</button><button class="layui-btn layui-btn-xs layui-btn-danger delItem" onclick="del_camera('+str.data[i].id+');">删除</button></td></tr>');
  578. }
  579. }
  580. layui.form.render();
  581. }else{
  582. $('#camera_list').append('<tr><td colspan="8">暂无数据</td></tr>');
  583. }
  584. });
  585. }
  586. });
  587. });
  588. }
  589. //重置表单
  590. function form_resert(){
  591. document.getElementById('mine_id').value = null;
  592. document.getElementById('camera_name').value = null;
  593. document.getElementById('camera_source').value = 0;
  594. document.getElementById('camera_type').value = 0;
  595. search_form.submit();
  596. }
  597. //删除摄像头
  598. function del_camera(id){
  599. layer.confirm('你确定删除?', function () {
  600. layer.closeAll();
  601. $.post('/admin/camera/list/del', {"id": id}, function (res) {
  602. if (res.code === 0) {
  603. layer.msg('成功!', {anim: 0}, function () {
  604. form_submit();
  605. // location.reload();
  606. });
  607. } else {
  608. layer.msg(res.message);
  609. }
  610. });
  611. });
  612. }
  613. //编辑摄像头
  614. function edit_camera(id){
  615. $.get('/admin/{{ $path }}/edit', {id: id}, function (res) {
  616. layer.open({
  617. type: 1,
  618. area: ['1000px','600px'],
  619. title: false,
  620. content: res
  621. });
  622. });
  623. }
  624. //查看摄像头
  625. function check_camera(id){
  626. $.get('/admin/{{ $path }}/view', {id: id}, function (res) {
  627. layer.open({
  628. type: 1,
  629. area: ['1000px','600px'],
  630. title: false,
  631. content: res
  632. });
  633. });
  634. }
  635. //添加弹窗
  636. function addItem() {
  637. var mine_id = document.getElementById('mine_id').value;
  638. $.get('/admin/{{ $path }}/add?mine_id='+mine_id, function (res) {
  639. layer.open({
  640. type: 1,
  641. area: ['1000px','600px'],
  642. title: false,
  643. content: res
  644. })
  645. });
  646. }
  647. //查看弹窗
  648. $(function () {
  649. $('.viewItem').on('click', function () {
  650. var self = $(this);
  651. $.get('/admin/{{ $path }}/view', {id: self.data('itemid')}, function (res) {
  652. layer.open({
  653. type: 1,
  654. area: ['1000px','600px'],
  655. title: false,
  656. content: res
  657. });
  658. });
  659. })
  660. });
  661. //编辑弹窗
  662. $(function () {
  663. $('.editItem').on('click', function () {
  664. var self = $(this);
  665. $.get('/admin/{{ $path }}/edit', {id: self.data('itemid')}, function (res) {
  666. layer.open({
  667. type: 1,
  668. area: ['1000px','600px'],
  669. title: false,
  670. content: res
  671. });
  672. });
  673. })
  674. });
  675. </script>