camera_list.blade.php 35 KB

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