camera_add.blade.php 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594
  1. <style>
  2. .layui-upload-list {
  3. width: auto;
  4. height: auto;
  5. margin-bottom: 0;
  6. }
  7. .layui-elem-quote {
  8. padding-bottom: 5px;
  9. }
  10. .layui-upload-img {
  11. /*width: 92px;*/
  12. height: 92px;
  13. }
  14. hr {
  15. margin: 15px 0;
  16. }
  17. .uk-alert-danger {
  18. background: #fff1f0;
  19. color: #d85030;
  20. margin-bottom: 15px;
  21. padding: 10px;
  22. border: 1px solid rgba(216, 80, 48, .3);
  23. border-radius: 4px;
  24. text-shadow: 0 1px 0 #fff;
  25. }
  26. .imgItem {
  27. display: inline-block;
  28. position: relative;
  29. margin: 0 10px 10px 0;
  30. }
  31. .imgItem .layui-close {
  32. position: absolute;
  33. top: 0;
  34. right: 0;
  35. height: 16px;
  36. line-height: 16px;
  37. text-align: center;
  38. color: #000;
  39. width: 16px;
  40. border: 1px solid #000;
  41. background-color: #fff;
  42. }
  43. iframe.fr-iframe {
  44. padding: 0 20px;
  45. }
  46. .fr-wrapper.show-placeholder .fr-placeholder {
  47. padding-left: 30px !important;
  48. }
  49. .layui-form-label {
  50. width: {{ $colWidth }}px;
  51. }
  52. .layui-input-block {
  53. margin-left: {{ $colWidth + 30 }}px;
  54. }
  55. .weadmin-body {
  56. overflow: initial;
  57. }
  58. </style>
  59. <script src="/js/admin/xm-select.js"></script>
  60. <script src="/laydate/laydate.js"></script>
  61. <form class="layui-form" id="form-unify" method="post" action="{{ $path ?? '' }}" style="padding:20px;">
  62. @csrf
  63. <h2 class="uk-modal-title">{{ $fromTitle }}</h2>
  64. @if(isset($item[$primaryKey]))
  65. <input type="hidden" name="{{ $primaryKey }}" value="{{ $item[$primaryKey] }}">
  66. @endif
  67. <br>
  68. @foreach($columns as $key => $column)
  69. @switch($column['type'])
  70. @case('tree_select')
  71. <div class="layui-form-item">
  72. <label class="layui-form-label">{{ $column['label'] }}</label>
  73. <div class="layui-input-block">
  74. {{-- {!! json_encode($column) !!} --}}
  75. <select name="{{ $key }}">
  76. @if($column['isShowNull'] == true)
  77. <option value="0" @if(!isset($item)) selected @endif>无</option>
  78. @endif
  79. @if(count($column['options']) > 0)
  80. @include('admin::component.multi_select_option', ['selects' => $column['options'], 'selectPid' => $item[$key] ?? ($column['default'] ?? '')])
  81. @endif
  82. </select>
  83. </div>
  84. </div>
  85. @break
  86. @endswitch
  87. @endforeach
  88. @if(isset($item['id']))
  89. <div class="layui-form-item">
  90. <label class="layui-form-label">摄像头ID</label>
  91. <div class="layui-input-block">
  92. <input class="layui-input" type="text" value="{{ $item['id'] ?? (old('id')) }}" readonly/>
  93. </div>
  94. </div>
  95. @endif
  96. <div class="layui-form-item">
  97. <label class="layui-form-label">摄像头名称</label>
  98. <div class="layui-input-block">
  99. <input class="layui-input" type="text" placeholder="请输入摄像头名称" name="camera_name" value="{{ $item['camera_name'] ?? (old('camera_name')) }}"/>
  100. </div>
  101. </div>
  102. <div class="layui-form-item">
  103. <label class="layui-form-label">摄像头类型</label>
  104. <div class="layui-input-block">
  105. <select name="camera_type">
  106. <option value="0" @if(!isset($item)) selected @endif>无</option>
  107. @if(count($columns['camera_type']['options']) > 0)
  108. @foreach($columns['camera_type']['options'] as $k => $col)
  109. <option value="{{ $k }}"
  110. @if($columns['camera_type']['default'] == $k || (isset($item['camera_type']) && $item['camera_type'] == $k)) selected @endif>
  111. {{ $col }}
  112. </option>
  113. @endforeach
  114. @endif
  115. </select>
  116. </div>
  117. </div>
  118. <div class="layui-form-item">
  119. <label class="layui-form-label">摄像头来源</label>
  120. <div class="layui-input-block">
  121. <select name="camera_source" id="camera_source" lay-filter="camera_source">
  122. <option value="0" @if(!isset($item)) selected @endif>无</option>
  123. @if(count($columns['camera_source']['options']) > 0)
  124. @foreach($columns['camera_source']['options'] as $k => $col)
  125. <option value="{{ $k }}"
  126. @if($columns['camera_source']['default'] == $k || (isset($item['camera_source']) && $item['camera_source'] == $k)) selected @endif>
  127. {{ $col }}
  128. </option>
  129. @endforeach
  130. @endif
  131. </select>
  132. </div>
  133. </div>
  134. <input class="layui-input" type="hidden" id="source_default" value="{{ $item['camera_source'] ?? (old('camera_source')) }}"/>
  135. <div class="layui-form-item" id="video_recorder">
  136. <div class="layui-form-label">录像机品牌</div>
  137. <div class="layui-input-block">
  138. @foreach($columns['video_recorder']['options'] as $k => $col)
  139. <label><input type="radio" name="video_recorder" lay-filter="radio" value="{{ $k }}"
  140. @if((isset($item['video_recorder']) && $item['video_recorder'] == $k) ||
  141. old('video_recorder') === $k ||
  142. (isset($columns['video_recorder']['default']) && $columns['video_recorder']['default'] === $k)) checked
  143. @endif title="{{ $col }}"/>
  144. </label>
  145. @endforeach
  146. </div>
  147. </div>
  148. <div class="layui-form-item" id="rtsp">
  149. <label class="layui-form-label">rtsp规则</label>
  150. <div class="layui-input-block">
  151. <input class="layui-input" type="text" readonly id="rtsp_input" value="rtsp://用户名:密码@IP地址:端口/h264/ch通道号/码流类型/av_stream(sub:子码流,main:主码流)"/>
  152. </div>
  153. </div>
  154. <div class="layui-form-item" id="camera_url">
  155. <label class="layui-form-label">摄像头链接</label>
  156. <div class="layui-input-block">
  157. <input class="layui-input" type="text" placeholder="请输入摄像头链接" name="camera_url" value="{{ $item['camera_url'] ?? (old('camera_url')) }}"/>
  158. </div>
  159. </div>
  160. <div class="layui-form-item" id="user_name">
  161. <label class="layui-form-label">用户名</label>
  162. <div class="layui-input-block">
  163. <input class="layui-input" type="text" placeholder="请输入用户名" name="user_name" value="{{ $item['user_name'] ?? (old('user_name')) }}"/>
  164. </div>
  165. </div>
  166. <div class="layui-form-item" id="password">
  167. <label class="layui-form-label">密码</label>
  168. <div class="layui-input-block">
  169. <input class="layui-input" type="text" placeholder="请输入密码" name="pass" value="{{ $item['password'] ?? (old('password')) }}"/>
  170. </div>
  171. </div>
  172. <div class="layui-form-item" id="ip">
  173. <label class="layui-form-label">ip地址</label>
  174. <div class="layui-input-block">
  175. <input class="layui-input" type="text" placeholder="请输入ip地址" name="ip" value="{{ $item['ip'] ?? (old('ip')) }}"/>
  176. </div>
  177. </div>
  178. <div class="layui-form-item" id="port">
  179. <label class="layui-form-label">端口</label>
  180. <div class="layui-input-block">
  181. <input class="layui-input" type="text" placeholder="请输入端口" name="port" value="{{ $item['port'] ?? (old('port')) }}"/>
  182. </div>
  183. </div>
  184. <div class="layui-form-item" id="com_number">
  185. <label class="layui-form-label">通道号</label>
  186. <div class="layui-input-block">
  187. <input class="layui-input" type="text" placeholder="请输入通道号" name="com_number" value="{{ $item['com_number'] ?? (old('com_number')) }}"/>
  188. </div>
  189. </div>
  190. <div class="layui-form-item" id="code_stream">
  191. <label class="layui-form-label">视频码流</label>
  192. <div class="layui-input-block">
  193. <?php //dd($columns['code_stream']['value'] == 1);exit;?>
  194. <select name="code_stream">
  195. <option value="0">无</option>
  196. {{-- @foreach($columns['code_stream']['options'] as $k=>$v)--}}
  197. {{-- @if($k == 1 && count($columns['code_stream']['options']) > 0)--}}
  198. {{-- <option value="{{ $k }}" selected>{{ $v }}</option>--}}
  199. {{-- @else--}}
  200. {{-- <option value="{{ $k }}">{{ $v }}</option>--}}
  201. {{-- @endif--}}
  202. {{-- @endforeach--}}
  203. @if($columns['code_stream']['value'] == 2)
  204. <option value="1">子码流</option>
  205. <option value="2" selected>主码流</option>
  206. @else
  207. <option value="1" selected>子码流</option>
  208. <option value="2">主码流</option>
  209. @endif
  210. </select>
  211. </div>
  212. </div>
  213. <div class="layui-form-item">
  214. <label class="layui-form-label">排序</label>
  215. <div class="layui-input-block">
  216. <input class="layui-input" type="text" placeholder="请输入排序" name="sort" value="{{ $item['sort'] ?? (old('sort')) }}"/>
  217. </div>
  218. </div>
  219. @if(isset($columns['surface_id']))
  220. <div class="layui-form-item">
  221. <label class="layui-form-label">所属矿区区域</label>
  222. <div class="layui-input-block">
  223. <?php /*dd($columns);exit;*/?>
  224. <select name="surface_id">
  225. <option value="0">无</option>
  226. @foreach($columns['surface_id']['options'] as $k=>$v)
  227. @if($k == 1 && count($columns['surface_id']['options']) > 0)
  228. <option value="{{ $k }}" selected>{{ $v }}</option>
  229. @else
  230. <option value="{{ $k }}">{{ $v }}</option>
  231. @endif
  232. @endforeach
  233. </select>
  234. </div>
  235. </div>
  236. @endif
  237. @foreach($columns as $key => $column)
  238. @switch($column['type'])
  239. @case('uploadImg')
  240. <label class="layui-form-label">{{ $column['label'] }}</label>
  241. <div class="layui-upload">
  242. <img id="pre" class="layui-upload-img none">
  243. @if (strlen($column['default']) > 0)
  244. <script>
  245. $('#pre').attr('src', '{{ $column['default'] }}');
  246. </script>
  247. @endif
  248. <span style="display: inline-table;">
  249. <button type="button" class="layui-btn" id="selectImgBtn">上传图片</button>
  250. <p id="uploadTips">
  251. <input type="hidden" name="{{ $key }}" value="{{ $column['default'] ?? '' }}"/>
  252. </p>
  253. </span>
  254. </div>
  255. <style>
  256. .layui-upload-img {
  257. /*width: 92px;*/
  258. height: 92px;
  259. margin: 10px 10px 10px 10px;
  260. }
  261. #uploadTips {
  262. line-height: 30px;
  263. }
  264. </style>
  265. <script>
  266. layui.use('upload', function () {
  267. var $ = layui.jquery
  268. , upload = layui.upload;
  269. var uploadInst = upload.render({
  270. elem: '#selectImgBtn'
  271. , url: "{{ $column['uploadURLPath'] }}"
  272. , acceptMime: 'image/jpg, image/png, image/jpeg'
  273. , number: 1
  274. , before: function (obj) {
  275. //预读本地文件示例,不支持ie8
  276. obj.preview(function (index, file, result) {
  277. $('#pre').attr('src', result); //图片链接(base64)
  278. });
  279. //开始加载效果
  280. var loading = layer.load(0, {
  281. shade: 0.2,
  282. time: 2*1000
  283. });
  284. }
  285. , done: function (res) {
  286. //如果上传失败
  287. if (res.code > 0) {
  288. return layer.msg('上传失败');
  289. }
  290. //上传成功
  291. $("input[name='{{ $key }}']").val(res.data.image_path);
  292. //结束加载效果
  293. }
  294. , error: function () {
  295. //演示失败状态,并实现重传
  296. var uploadTips = $('#uploadTips');
  297. uploadTips.html('<span style="color: #FF5722; text-align:center">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
  298. uploadTips.find('.demo-reload').on('click', function () {
  299. uploadInst.upload();
  300. });
  301. }
  302. });
  303. });
  304. </script>
  305. @break
  306. @default
  307. @endswitch
  308. @if($hasHr)
  309. <hr>
  310. @endif
  311. @endforeach
  312. @if(!is_null($footBtns))
  313. <hr>
  314. <div style="text-align: right">
  315. @if(in_array('goback',$footBtns))
  316. @if($isAjax)
  317. <button class="layui-btn layui-btn-primary layui-layer-close" style="position:relative;"
  318. type="button">
  319. 取消
  320. </button>
  321. @else
  322. <button class="layui-btn layui-btn-primary layui-layer-close" style="position:relative;"
  323. type="button"
  324. onclick="javascript:history.go(-1);">返回
  325. </button>
  326. @endif
  327. @endif
  328. @if(in_array('save',$footBtns))
  329. <button class="layui-btn" type="submit" lay-submit lay-filter="formBox">保存</button>
  330. @endif
  331. </div>
  332. @endif
  333. </form>
  334. <script>
  335. layui.use(['form', 'laydate', 'table'], function () {
  336. var form = layui.form, table = layui.table;
  337. form.render();
  338. form.on('checkbox', function (data) {
  339. $(data.othis).toggleClass('layui-form-checked');
  340. });
  341. form.on('select(camera_source)', function(data){
  342. var val=data.value;
  343. if(val == 1){
  344. document.getElementById("camera_url").style.display = 'none';
  345. document.getElementById("user_name").style.display = 'block';
  346. document.getElementById("password").style.display = 'block';
  347. document.getElementById("ip").style.display = 'block';
  348. document.getElementById("port").style.display = 'block';
  349. document.getElementById("com_number").style.display = 'block';
  350. document.getElementById("code_stream").style.display = 'block';
  351. document.getElementById("video_recorder").style.display = 'block';
  352. document.getElementById("rtsp").style.display = 'block';
  353. }else if(val == 2){
  354. document.getElementById("camera_url").style.display = 'none';
  355. document.getElementById("user_name").style.display = 'none';
  356. document.getElementById("password").style.display = 'none';
  357. document.getElementById("ip").style.display = 'none';
  358. document.getElementById("port").style.display = 'none';
  359. document.getElementById("com_number").style.display = 'none';
  360. document.getElementById("code_stream").style.display = 'block';
  361. document.getElementById("video_recorder").style.display = 'none';
  362. document.getElementById("rtsp").style.display = 'none';
  363. }else if(val == 3){
  364. document.getElementById("camera_url").style.display = 'block';
  365. document.getElementById("user_name").style.display = 'none';
  366. document.getElementById("password").style.display = 'none';
  367. document.getElementById("ip").style.display = 'none';
  368. document.getElementById("port").style.display = 'none';
  369. document.getElementById("com_number").style.display = 'none';
  370. document.getElementById("code_stream").style.display = 'none';
  371. document.getElementById("video_recorder").style.display = 'none';
  372. document.getElementById("rtsp").style.display = 'none';
  373. }
  374. });
  375. form.on('radio(radio)', function(data){
  376. var val=data.value;
  377. if(val == 1){
  378. document.getElementById('rtsp_input').value = 'rtsp://用户名:密码@IP地址:端口/h264/ch通道号/码流类型/av_stream(sub:子码流,main:主码流)';
  379. }
  380. if(val == 2){
  381. document.getElementById('rtsp_input').value = 'rtsp://用户名:密码@IP地址:端口/cam/realmonitor?channel=通道号&subtype=码流类型(0:主码流,1:子码流)';
  382. }
  383. if(val == 3){
  384. document.getElementById('rtsp_input').value = 'rtsp://用户名:密码@IP地址:端口/unicast/c通道号/s码流类型/live(0:主码流,1:子码流)';
  385. }
  386. });
  387. @if($isAjax)
  388. form.on('submit(formBox)', function (data) {
  389. var urlPost = $('#form-unify').attr('action');
  390. var submitBtn = $(data.elem);
  391. submitBtn.addClass('layui-btn-disabled').prop('disabled', true).text('提交中……');
  392. $.ajax({
  393. url: urlPost,
  394. type: 'POST',
  395. dataType: 'json',
  396. data: data.field
  397. })
  398. .done(function (res) {
  399. if (res.code === 0) {
  400. submitBtn.text('完成');
  401. layer.msg('完成!', {anim: 0}, function () {
  402. if (res.data.table === '') {
  403. // location.reload();
  404. var mine_id = document.getElementById('mine_id').value;
  405. var camera_name = document.getElementById('camera_name').value;
  406. var camera_source = document.getElementById('camera_source').value;
  407. var camera_type = document.getElementById('camera_type').value;
  408. document.getElementById('camera_list').innerHTML = '';
  409. $.get('/admin/camera/update',{'mine_id':mine_id,'camera_source':camera_source,'camera_type':camera_type,'camera_name':camera_name},function(str){
  410. if(str.data.length > 0){
  411. for(var i=0;i<str.data.length;i++){
  412. if(str.data[i].is_show == 1){
  413. if(str.data[i].playback == 0){
  414. $('#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><button class="layui-btn layui-btn-xs layui-btn-warm backItem" onclick="play_back('+str.data[i].id+');">回放</button></td></tr>');
  415. }else{
  416. $('#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>');
  417. }
  418. }else{
  419. if(str.data[i].playback == 0){
  420. $('#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><button class="layui-btn layui-btn-xs layui-btn-warm backItem" onclick="play_back('+str.data[i].id+');">回放</button></td></tr>');
  421. }else{
  422. $('#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>');
  423. }
  424. }
  425. }
  426. layui.form.render();
  427. }else{
  428. $('#camera_list').append('<tr><td colspan="8">暂无数据</td></tr>');
  429. }
  430. //分页
  431. $("#page").paging({
  432. nowPage: 1, // 当前页码
  433. pageNum: str.last_page, // 总页码
  434. buttonNum: 7, //要展示的页码数量
  435. callback: function (num) { //回调函数
  436. $.get('/admin/camera/camerapage',{'page':num,'mine_id':mine_id,'camera_name':camera_name,'camera_source':camera_source,'camera_type':camera_type},function(str){
  437. document.getElementById('camera_list').innerHTML = '';
  438. if(str.data.length > 0){
  439. for(var i=0;i<str.data.length;i++){
  440. if(str.data[i].is_show == 1){
  441. if(str.data[i].playback == 0){
  442. $('#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><button class="layui-btn layui-btn-xs layui-btn-warm backItem" onclick="play_back('+str.data[i].id+');">回放</button></td></tr>');
  443. }else{
  444. $('#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>');
  445. }
  446. }else{
  447. if(str.data[i].playback == 0){
  448. $('#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><button class="layui-btn layui-btn-xs layui-btn-warm backItem" onclick="play_back('+str.data[i].id+');">回放</button></td></tr>');
  449. }else{
  450. $('#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>');
  451. }
  452. }
  453. }
  454. layui.form.render();
  455. }else{
  456. $('#camera_list').append('<tr><td colspan="8">暂无数据</td></tr>');
  457. }
  458. });
  459. }
  460. });
  461. });
  462. layer.closeAll();
  463. } else {
  464. layer.closeAll();
  465. if (res.data.table !== undefined) {
  466. // table.reload(res.data.table);
  467. }
  468. if (res.url !== undefined) {
  469. location.href = res.url;
  470. }
  471. }
  472. });
  473. } else {
  474. layer.msg(res.message, {anim: 0}, function () {
  475. submitBtn.removeClass('layui-btn-disabled').prop('disabled', false).text('重新保存');
  476. });
  477. }
  478. })
  479. .fail(function (res) {
  480. layer.msg(res.message, {anim: 0}, function () {
  481. submitBtn.removeClass('layui-btn-disabled').prop('disabled', false).text('重新保存');
  482. });
  483. });
  484. return false;
  485. });
  486. @endif
  487. });
  488. $('.layui-form').on('click', '.layui-close', function () {
  489. var self = $(this);
  490. self.closest('.imgItem').remove();
  491. });
  492. $('.layui-form').on('click', '.file-delete', function () {
  493. var self = $(this);
  494. self.closest('tr').remove();
  495. });
  496. // alert(document.getElementById("source_default").value == '');
  497. // alert(document.getElementById("camera_source").value);
  498. //根据摄像头来源显示内容
  499. if(document.getElementById("source_default").value == ''){//硬盘录像机
  500. document.getElementById("camera_url").style.display = 'none';
  501. document.getElementById("user_name").style.display = 'block';
  502. document.getElementById("password").style.display = 'block';
  503. document.getElementById("ip").style.display = 'block';
  504. document.getElementById("port").style.display = 'block';
  505. document.getElementById("com_number").style.display = 'block';
  506. document.getElementById("code_stream").style.display = 'block';
  507. document.getElementById("rtsp").style.display = 'block';
  508. document.getElementById("video_recorder").style.display = 'block';
  509. }
  510. if(document.getElementById("source_default").value == 1){//硬盘录像机
  511. document.getElementById("camera_url").style.display = 'none';
  512. document.getElementById("user_name").style.display = 'block';
  513. document.getElementById("password").style.display = 'block';
  514. document.getElementById("ip").style.display = 'block';
  515. document.getElementById("port").style.display = 'block';
  516. document.getElementById("com_number").style.display = 'block';
  517. document.getElementById("code_stream").style.display = 'block';
  518. document.getElementById("rtsp").style.display = 'block';
  519. document.getElementById("video_recorder").style.display = 'block';
  520. }
  521. if(document.getElementById("source_default").value == 2){//视频服务器
  522. document.getElementById("camera_url").style.display = 'none';
  523. document.getElementById("user_name").style.display = 'none';
  524. document.getElementById("password").style.display = 'none';
  525. document.getElementById("ip").style.display = 'none';
  526. document.getElementById("port").style.display = 'none';
  527. document.getElementById("com_number").style.display = 'none';
  528. document.getElementById("code_stream").style.display = 'block';
  529. document.getElementById("rtsp").style.display = 'none';
  530. document.getElementById("video_recorder").style.display = 'none';
  531. }
  532. if(document.getElementById("source_default").value == 3){//内网摄像头
  533. document.getElementById("camera_url").style.display = 'block';
  534. document.getElementById("user_name").style.display = 'none';
  535. document.getElementById("password").style.display = 'none';
  536. document.getElementById("ip").style.display = 'none';
  537. document.getElementById("port").style.display = 'none';
  538. document.getElementById("com_number").style.display = 'none';
  539. document.getElementById("code_stream").style.display = 'none';
  540. document.getElementById("rtsp").style.display = 'none';
  541. document.getElementById("video_recorder").style.display = 'none';
  542. }
  543. </script>