edit.blade.php 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. @extends('admin.layout')
  2. @section('header')
  3. <link href="/base/css/fileinput.css" media="all" rel="stylesheet" type="text/css" />
  4. <script src="/base/js/fileinput.js" type="text/javascript"></script>
  5. <script src="/base/js/fileinput_locale_zh.js" type="text/javascript"></script>
  6. @endsection
  7. @section('content')
  8. <?php
  9. if(!isset($data)) $data = array();
  10. if(!$data && session("data")){
  11. $data = session("data");
  12. }
  13. if(!$data && session('_old_input')){
  14. $data = session("_old_input");
  15. }
  16. ?>
  17. <div class="wrapper wrapper-content animated fadeInRight">
  18. <div class="row">
  19. <div class="col-sm-12">
  20. <div class="ibox float-e-margins">
  21. <div class="ibox-title">
  22. <h5>产品列表</h5>
  23. <div class="ibox-tools">
  24. <a class="collapse-link"> <i class="fa fa-chevron-up"></i>
  25. </a>
  26. </div>
  27. </div>
  28. <div class="ibox-content">
  29. @if(role('Album/Product/index'))
  30. <div class="row">
  31. <div class="col-sm-3 pull-right">
  32. <a href="{{ U('Album/Product/index')}}" class="btn btn-sm btn-primary pull-right">返回列表</a>
  33. </div>
  34. </div>
  35. @endif
  36. <div class="row">
  37. <div class="col-lg-10">
  38. <form name="form_product" id="form-validation" action="" class="form-horizontal form-validation" enctype="multipart/form-data" accept-charset="UTF-8" method="post" onsubmit="return checkLevel()">
  39. <div class="form-group">
  40. <label class="control-label col-sm-3">产品名称</label>
  41. <div class="col-sm-9">
  42. <input id="data_store_id" name="data[name]" class="form-control" value="{{ $data['name'] or ''}}" required="" aria-required="true" placeholder="">
  43. </div>
  44. </div>
  45. <div class="form-group">
  46. <label class="control-label col-sm-3">分类</label>
  47. <div class="col-sm-3">
  48. <select id="data_parent_id" class="form-control" name="data[cat_id]" >
  49. @if(isset($category))
  50. @foreach($category as $key=>$val)
  51. <option value="0" disabled="disabled">|--{{$val['name']}}</option>
  52. @foreach($val['son'] as $index=>$item)
  53. <option value="{{$item->id}}" @if($item['id'] == (isset($data['cat_id'])? $data['cat_id']:''))selected @endif>&nbsp&nbsp|-{{$item->name}}</option>
  54. @endforeach
  55. @endforeach
  56. @endif
  57. </select>
  58. </div>
  59. {{--<div class="col-sm-3" id="app">
  60. <select name="data[cat_id]" id="data_cat_id" class="form-control" required="" aria-required="true">
  61. <option v-for="item in list.data" :value="item.id">@{{ item.name }}</option>
  62. </select>
  63. </div>--}}
  64. </div>
  65. <div class="form-group">
  66. <label class="control-label col-sm-3">默认价格</label>
  67. <div class="col-sm-9">
  68. <input id="data_store_id" name="data[price_default]" type="number" class="form-control" value="{{ $data['price_default'] or ''}}" required="" aria-required="true" placeholder="">
  69. </div>
  70. </div>
  71. <div class="form-group">
  72. <label class="control-label col-sm-3">出厂价格</label>
  73. <div class="col-sm-9">
  74. <input id="data_ma_price" name="data[ma_price]" type="number" class="form-control" value="{{ $data['ma_price'] or ''}}" required="" aria-required="true" placeholder="">
  75. </div>
  76. </div>
  77. <div class="form-group">
  78. <label class="control-label col-sm-3">出厂价备注</label>
  79. <div class="col-sm-9">
  80. <input id="data_ma_price_comment" name="data[ma_price_comment]" class="form-control" value="{{ $data['ma_price_comment'] or ''}}" placeholder="">
  81. </div>
  82. </div>
  83. <div class="form-group">
  84. <label class="control-label col-sm-3">排序</label>
  85. <div class="col-sm-9">
  86. <input id="data_sort" name="data[sort]" class="form-control" value="{{ $data['sort'] or '0'}}" required="" aria-required="true" placeholder="数值越大越靠前">
  87. <span class="help-block m-b-none">数值越大越靠前</span>
  88. </div>
  89. </div>
  90. <div class="form-group">
  91. <label class="control-label col-sm-3">是否促销新品</label>
  92. <div class="col-sm-9">
  93. @if(dict()->get('album','new') != null)
  94. @foreach(dict()->get('album','new') as $key=>$val)
  95. <label class="radio-inline">
  96. <input type="radio" name="data[hot_cake]" value="{{$key}}" @if(isset($data['hot_cake']) && $data['hot_cake'] == $key)checked="checked" @endif/>{{$val}}
  97. </label>
  98. @endforeach
  99. @else
  100. <label class="radio-inline">
  101. <input type="radio" name="data[hot_cake]">
  102. </label>
  103. @endif
  104. </div>
  105. </div>
  106. <div class="form-group">
  107. <label class="control-label col-sm-3">尺寸图片
  108. <br/>
  109. <small class="text-navy">(1920像素 * 1080像素)</small>
  110. </label>
  111. <div class="col-sm-9">
  112. {{--{!! widget('Tools.ImgUpload')->single2('/upload/attr','attr',"attr", isset($data['attr'])? $data['attr'] : '',array("sizex"=>1920,"sizey"=>1080)) !!}--}}
  113. {!! widget('Tools.ImgUpload')->multi2('/upload/specifications_img','specifications_img',"data[specifications_img]", isset($data['specifications_img'])? $data['specifications_img'] : '',array("sizex"=>1920,"sizey"=>1080)) !!}
  114. </div>
  115. </div>
  116. <div class="form-group">
  117. <label class="control-label col-sm-3">安装图片<br/>
  118. <small class="text-navy">(1920像素 * 1080像素)</small></label>
  119. <div class="col-sm-9">
  120. {!! widget('Tools.ImgUpload')->multi2('/upload/install_img','install_img',"data[install_img]", isset($data['install_img'])? $data['install_img'] : '',array("sizex"=>1920,"sizey"=>1080)) !!}
  121. </div>
  122. </div>
  123. <div class="form-group">
  124. <label class="control-label col-sm-3">封面图片<br/>
  125. <small class="text-navy">(480像素 * 270像素)</small></label>
  126. <div class="col-sm-9">
  127. {{--{!! widget('Tools.ImgUpload')->single2('/upload/cover_pic','cover_pic',"cover_pic", isset($data['cover_pic'])? $data['cover_pic'] : '',array("sizex"=>662,"sizey"=>510)) !!}--}}
  128. {!! widget('Tools.ImgUpload')->single2('/upload/thumb','thumb',"thumb", isset($data['thumb'])? $data['thumb'] : '',array("sizex"=>480,"sizey"=>270)) !!}
  129. </div>
  130. </div>
  131. <div class="form-group">
  132. <label class="control-label col-sm-3">封面图片<br/>
  133. <small class="text-navy">高清:(1920像素 * 1080像素)</small></label>
  134. <div class="col-sm-9">
  135. {{--{!! widget('Tools.ImgUpload')->single2('/upload/cover_pic','cover_pic',"cover_pic", isset($data['cover_pic'])? $data['cover_pic'] : '',array("sizex"=>662,"sizey"=>510)) !!}--}}
  136. {!! widget('Tools.ImgUpload')->single2('/upload/cover_pic','cover_pic',"cover_pic", isset($data['cover_pic'])? $data['cover_pic'] : '',array("sizex"=>1920,"sizey"=>1080)) !!}
  137. </div>
  138. </div>
  139. <div class="form-group">
  140. <label class="control-label col-sm-3">搭配图片<br/>
  141. <small class="text-navy">(1920像素 * 1080像素)</small></label>
  142. <div class="col-sm-9">
  143. {!! widget('Tools.ImgUpload')->single2('/upload/detail_pic','detail_pic',"detail_pic", isset($data['detail_pic'])? $data['detail_pic'] : '',array("sizex"=>1920,"sizey"=>1080)) !!}
  144. </div>
  145. </div>
  146. <div class="form-group">
  147. <label class="control-label col-sm-3">产品详情</label>
  148. <div class="col-sm-9">
  149. {{-- //{!! ueditor('') !!}--}}
  150. {!! widget('Tools.ImgUpload')->multi2('/upload/detail','detail',"data[detail]", isset($data['detail'])? $data['detail'] : '') !!}
  151. </div>
  152. </div>
  153. <div class="form-group">
  154. <label class="control-label col-sm-3">安装视频</label>
  155. <div class="col-sm-9">
  156. <div style="height: auto;width: 200px;">
  157. <video controls width="100px" height="100px">
  158. <source src="{{$data['upload_video'] ?? ''}}" type="video/mp4">
  159. </video>
  160. </div>
  161. <input id="file-0b" class="file" type="file" name="upload_video" value="">
  162. </div>
  163. </div>
  164. <div class="form-group">
  165. <label class="control-label col-sm-3">&nbsp;</label>
  166. <div class="col-sm-9">
  167. <input type="hidden" name="_referer" value="<?php echo urlencode(request()->server('HTTP_REFERER'));?>"/>
  168. <input type="hidden" name="_token" value="<?php echo csrf_token(); ?>"/>
  169. <input type="submit" class="btn btn-success" style="margin-right:20px;">
  170. <input type="reset" class="btn btn-default" >
  171. </div>
  172. </div>
  173. </form>
  174. </div>
  175. <!-- /.col-lg-10 -->
  176. </div>
  177. <!-- /.row -->
  178. </div>
  179. </div>
  180. </div>
  181. </div>
  182. </div>
  183. <script src="/base/js/vue.js"></script>
  184. <link href="/base/css/plugins/toastr/toastr.min.css" rel="stylesheet">
  185. <script src="/base/js/plugins/toastr/toastr.min.js"></script>
  186. <script>
  187. toastr.options.positionClass = 'toast-bottom-center';
  188. toastr.options.timeOut = '4000';
  189. /* var level = new Vue({
  190. el:"#app",
  191. data:{
  192. list:{
  193. data:[
  194. {'id':0,'name':'请先选择一级类目'},
  195. ],
  196. },
  197. // num:0
  198. },
  199. methods:{
  200. changeData:function (e) {
  201. Vue.set(this.list,'data',e)
  202. }
  203. }
  204. });
  205. function getLevelSecondCategory(){
  206. var first = $('#data_parent_id').val();
  207. $.ajax({
  208. url: "{{--{{ U('Album/Product/getSecondCategory') }}--}}",
  209. method: 'POST',
  210. data: {
  211. 'cat_id':first,
  212. '_token':"{{ csrf_token() }}"
  213. },
  214. dataType:'json',
  215. success: function(data) {
  216. if (data.code == 0) {
  217. level.changeData(data.data);
  218. } else {
  219. toastr.error(data.message);
  220. }
  221. }
  222. });
  223. }
  224. getLevelSecondCategory();*/
  225. function checkLevel(){
  226. var second = $('#data_cat_id').val();
  227. if (second == 0) {
  228. toastr.error('请选择二级分类!');
  229. return false;
  230. }
  231. return true;
  232. }
  233. </script>
  234. @endsection