camera_list2.blade.php 43 KB

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