detail.blade.php 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. @extends('layouts.base')
  2. @section('content')
  3. @section('title', trans('Yunshop\Appointment::pack.project_info'))
  4. <style>
  5. .store-name-sty {
  6. display: -webkit-box;
  7. -webkit-box-orient: vertical;
  8. -webkit-line-clamp: 1;
  9. overflow: hidden;
  10. }
  11. .multi-item {
  12. height: 150px;
  13. width: 150px !important;
  14. margin-bottom: 20px;
  15. }
  16. </style>
  17. <div class="w1200 m0a">
  18. <div class="right-titpos">
  19. <ul class="add-snav">
  20. <li class="active"><a href="#">{!! trans('Yunshop\Appointment::pack.project_info') !!}</a></li>
  21. </ul>
  22. </div>
  23. <form action="" method="post" class="form-horizontal form" enctype="multipart/form-data">
  24. <div class="panel panel-default">
  25. <div class="panel-body">
  26. <div class="form-group">
  27. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span
  28. style="color:red">*</span>{!! trans('Yunshop\Appointment::pack.project_name') !!}</label>
  29. <div class="col-sm-9 col-xs-12">
  30. <input type="text" name="project[title]" id="title" class="form-control" value="{{$project->title}}"/>
  31. </div>
  32. </div>
  33. <div class="form-group">
  34. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span
  35. style="color:red">*</span>{!! trans('Yunshop\Appointment::pack.project_category') !!}</label>
  36. <div class="col-sm-9 col-xs-12">
  37. <select name='project[category_id]' class='form-control'>
  38. @foreach($category_list as $category)
  39. <option value='{{$category->id}}'
  40. @if($project->category_id == $category->id)
  41. selected
  42. @endif
  43. >{{$category->name}}</option>
  44. @endforeach
  45. </select>
  46. </div>
  47. </div>
  48. <div class="form-group">
  49. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span
  50. style="color:red">*</span>门店支持</label>
  51. <div class="col-sm-9 col-xs-12">
  52. <label class='radio-inline'>
  53. <input type="radio" class="store_support" name="project[store_support]" id="store1" value="0" checked="checked"/>门店
  54. </label>
  55. <label class='radio-inline'>
  56. <input type="radio" class="store_support" name="project[store_support]" id="store_sort" value="1"/>门店分类
  57. </label>
  58. </div>
  59. </div>
  60. <div class="form-group" id="store">
  61. <label class="col-xs-12 col-sm-3 col-md-2 control-label"></label>
  62. <div class="col-sm-9 col-xs-12">
  63. <div class='input-group'>
  64. <input type="hidden" id='store_ids' name="project[store_ids]" maxlength="30"
  65. value="{{$project->store_ids}}" />
  66. <div class='input-group-btn'>
  67. <button class="btn btn-default" type="button"
  68. onclick="popwin = $('#modal-module-menus').modal();">选择门店
  69. </button>
  70. </div>
  71. </div>
  72. <div class="input-group multi-img-details" id='store_container'>
  73. @foreach ($stores as $store)
  74. <div class="multi-item" storeid="{{$store['id']}}">
  75. <img class="img-responsive img-thumbnail" src="{{$store['thumb']}}"
  76. onerror="this.src=\'{{static_url('resource/images/nopic.jpg')}}\'; this.title=\'图片未找到.\'">
  77. <div class="store_name">{{$store['store_name']}}</div>
  78. <em onclick="remove_store(this)" class="close">×</em>
  79. </div>
  80. @endforeach
  81. </div>
  82. <div id="modal-module-menus" class="modal fade" tabindex="-1">
  83. <div class="modal-dialog" style='width: 920px;'>
  84. <div class="modal-content">
  85. <div class="modal-header">
  86. <button aria-hidden="true" data-dismiss="modal" class="close"
  87. type="button">×
  88. </button>
  89. <h3>选择门店</h3></div>
  90. <div class="modal-body">
  91. <div class="row">
  92. <div class="input-group">
  93. <input type="text" class="form-control" name="keyword" value="" onKeypress="javascript:if(event.keyCode == 13)event.returnValue = false;"
  94. id="search-kwd" placeholder="请输入门店名称"/>
  95. <span class='input-group-btn'><button type="button"
  96. class="btn btn-default"
  97. onclick="search_stores();">
  98. 搜索
  99. </button></span>
  100. </div>
  101. </div>
  102. <div id="module-menus" style="padding-top:5px;"></div>
  103. </div>
  104. <div class="modal-footer"><a href="#" class="btn btn-default"
  105. data-dismiss="modal" aria-hidden="true">关闭</a>
  106. </div>
  107. </div>
  108. </div>
  109. </div>
  110. </div>
  111. </div>
  112. <div class="form-group" id="store_support" hidden="hidden">
  113. <label class="col-xs-12 col-sm-3 col-md-2 control-label"></label>
  114. <div class="col-sm-9 col-xs-12">
  115. <div class='input-group'>
  116. <input type="hidden" id='sort_ids' name="project[sort_ids]" maxlength="30"
  117. value="{{$project->sort_ids}}" />
  118. <div class='input-group-btn'>
  119. <button class="btn btn-default" type="button"
  120. onclick="popwin = $('#modal-module-menus-sort').modal();">选择门店分类
  121. </button>
  122. </div>
  123. </div>
  124. <div class="input-group multi-img-details" id='store_container_sort'>
  125. @foreach ($stores_sort as $store)
  126. <div class="multi-item" sortid="{{$store['id']}}">
  127. <img class="img-responsive img-thumbnail" src="{{yz_tomedia($store['thumb'])}}"
  128. onerror="this.src=\'{{static_url('resource/images/nopic.jpg')}}\'; this.title=\'图片未找到.\'">
  129. <div class="store_name">{{$store['name']}}</div>
  130. <em onclick="remove_store_sort(this)" class="close">×</em>
  131. </div>
  132. @endforeach
  133. </div>
  134. <div id="modal-module-menus-sort" class="modal fade" tabindex="-1">
  135. <div class="modal-dialog" style='width: 920px;'>
  136. <div class="modal-content">
  137. <div class="modal-header">
  138. <button aria-hidden="true" data-dismiss="modal" class="close"
  139. type="button">×
  140. </button>
  141. <h3>选择门店分类</h3></div>
  142. <div class="modal-body">
  143. <div class="row">
  144. <div class="input-group">
  145. <input type="text" class="form-control" name="keyword" value="" onKeypress="javascript:if(event.keyCode == 13)event.returnValue = false;"
  146. id="search-kwd-sort" placeholder="请输入门店分类名称"/>
  147. <span class='input-group-btn'><button type="button"
  148. class="btn btn-default"
  149. onclick="search_stores_sort();">
  150. 搜索
  151. </button></span>
  152. </div>
  153. </div>
  154. <div id="module-menus-sort" style="padding-top:5px;"></div>
  155. </div>
  156. <div class="modal-footer"><a href="#" class="btn btn-default"
  157. data-dismiss="modal" aria-hidden="true">关闭</a>
  158. </div>
  159. </div>
  160. </div>
  161. </div>
  162. </div>
  163. </div>
  164. <div class="form-group">
  165. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span
  166. style="color:red">*</span>{!! trans('Yunshop\Appointment::pack.service_time') !!}</label>
  167. <div class="col-sm-9 col-xs-12">
  168. <input type="text" name="project[service_time]" class="form-control" onkeyup="this.value=this.value.replace(/\D/g,'')"
  169. value="@if($project->service_time){{$project->service_time}}@else{{30}}@endif"/>
  170. </div>
  171. </div>
  172. <div class="form-group">
  173. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span
  174. style="color:red">*</span>{!! trans('Yunshop\Appointment::pack.service_time_inteval') !!}</label>
  175. <div class="col-sm-9 col-xs-12">
  176. <input type="text" name="project[service_time_inteval]" class="form-control" onkeyup="this.value=this.value.replace(/\D/g,'')"
  177. value="@if($project->service_time_inteval){{$project->service_time_inteval}}@else{{0}}@endif"/>
  178. </div>
  179. </div>
  180. <div class="form-group">
  181. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span
  182. style="color:red">*</span>{!! trans('Yunshop\Appointment::pack.ahead_time') !!}</label>
  183. <div class="col-sm-9 col-xs-12">
  184. <input type="text" name="project[ahead_time]" class="form-control" onkeyup="this.value=this.value.replace(/\D/g,'')"
  185. value="@if($project->ahead_time){{$project->ahead_time}}@else{{15}}@endif"/>
  186. </div>
  187. </div>
  188. <div class="form-group">
  189. <label class="col-xs-12 col-sm-3 col-md-2 control-label">推荐</label>
  190. <div class="col-sm-9 col-xs-12">
  191. <label class='radio-inline'>
  192. <input type="radio" name="project[is_recommand]" value="0" @if($project['is_recommand']!=='' && $project['is_recommand']==0) checked @endif/>否
  193. </label>
  194. <label class='radio-inline'>
  195. <input type="radio" name="project[is_recommand]" value="1" @if($project['is_recommand']==1) checked @endif/>是
  196. </label>
  197. </div>
  198. </div>
  199. <div class="form-group">
  200. <label class="col-xs-12 col-sm-3 col-md-2 control-label">使用期限</label>
  201. <div class="col-sm-9 col-xs-12">
  202. <input type="text" name="project[period]" class="form-control" onkeyup="this.value=this.value.replace(/\D/g,'')"
  203. value="{{$project->period}}"/>
  204. <span class="help-block">不填写或填0不限制使用期限</span>
  205. </div>
  206. </div>
  207. <div class="form-group">
  208. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span
  209. style="color:red">*</span>{{$lang_set['project']}}缩略图</label>
  210. <div class="col-sm-9 col-xs-12">
  211. {!! app\common\helpers\ImageHelper::tplFormFieldImage('project[thumb]',
  212. yz_tomedia($project->thumb))!!}
  213. <span class="help-block">建议尺寸: 100*100,或正方型图片 </span>
  214. </div>
  215. </div>
  216. <div class="form-group">
  217. <label class="col-xs-12 col-sm-3 col-md-2 control-label">{{$lang_set['project']}}banner图</label>
  218. <div class="col-sm-9 col-xs-12">
  219. {!! app\common\helpers\ImageHelper::tplFormFieldMultiImage('project[banner_imgs]',yz_tomedia($project->banner_imgs)) !!}
  220. <span class="help-block"></span>
  221. <div class="input-group multi-img-details" id='store_container'>
  222. @foreach ($project->banner_imgs as $banner_img)
  223. <div class="multi-item">
  224. <input type="hidden" name="project[banner_imgs][]" maxlength="30" value="{{$banner_img}}" />
  225. <img class="img-responsive img-thumbnail" src="{!! yz_tomedia($banner_img) !!}"
  226. onerror="this.src=\'{{static_url('resource/images/nopic.jpg')}}\'; this.title=\'图片未找到.\'">
  227. <em onclick="remove_store(this)" class="close">×</em>
  228. </div>
  229. @endforeach
  230. <span class="help-block">建议尺寸: 750*750</span>
  231. </div>
  232. </div>
  233. </div>
  234. <div class="form-group">
  235. <label class="col-xs-12 col-sm-3 col-md-2 control-label">{{$lang_set['project']}}简介</label>
  236. <div class="col-sm-9 col-xs-12">
  237. <textarea class="form-control" rows="5" name="project[description]">{{$project->description}}</textarea>
  238. </div>
  239. </div>
  240. <div class="form-group">
  241. <label class="col-xs-12 col-sm-3 col-md-2 control-label">{{$lang_set['project']}}描述</label>
  242. <div class="col-sm-9 col-xs-12">
  243. {!! yz_tpl_ueditor('project[content]', $project->content) !!}
  244. </div>
  245. </div>
  246. <div class="form-group"></div>
  247. <div class="form-group">
  248. <label class="col-xs-12 col-sm-3 col-md-2 control-label"></label>
  249. <div class="col-sm-9 col-xs-12">
  250. <input type="submit" name="submit" value="提交" class="btn btn-success"
  251. onclick="return formcheck()"/>
  252. <input type="button" name="back" onclick='history.back()' style=''
  253. value="返回列表"
  254. class="btn btn-default back"/>
  255. </div>
  256. </div>
  257. </div>
  258. </div>
  259. </form>
  260. </div>
  261. <script>
  262. let store_support = {{$project->store_support? :0}}
  263. if (store_support == 1) {
  264. $('#store').hide()
  265. $('#store_support').show()
  266. $('#store1').attr("checked",false)
  267. $('#store_sort').attr("checked",true)
  268. } else if (store_support == 0){
  269. $('#store').show()
  270. $('#store_support').hide()
  271. $('#store1').attr("checked",true)
  272. $('#store_sort').attr("checked",false)
  273. }
  274. $('document').ready(function () {
  275. $('input[type=radio][class=store_support]').change(function () {
  276. console.log(8888)
  277. if (this.value == 0) {
  278. $('#store').show()
  279. $('#store_support').hide()
  280. } else if (this.value == 1){
  281. $('#store').hide()
  282. $('#store_support').show()
  283. }
  284. })
  285. })
  286. function search_stores() {
  287. if ($.trim($('#search-kwd').val()) == '') {
  288. Tip.focus('#search-kwd', '请输入关键词');
  289. return;
  290. }
  291. $("#module-menus").html("正在搜索....");
  292. $.get("{!! yzWebUrl('plugin.appointment.admin.store.query') !!}", {
  293. keyword: $.trim($('#search-kwd').val())
  294. }, function (dat) {
  295. $('#module-menus').html(dat);
  296. });
  297. }
  298. function search_stores_sort() {
  299. if ($.trim($('#search-kwd-sort').val()) == '') {
  300. Tip.focus('#search-kwd-sort', '请输入关键词');
  301. return;
  302. }
  303. $("#module-menus--sort").html("正在搜索....");
  304. $.get("{!! yzWebUrl('plugin.appointment.admin.store.query-sort') !!}", {
  305. keyword: $.trim($('#search-kwd-sort').val())
  306. }, function (dat) {
  307. $('#module-menus-sort').html(dat);
  308. });
  309. }
  310. function select_store(o) {
  311. console.log(o);
  312. var html = '<div class="multi-item" storeid="' + o.id + '">';
  313. html += '<img class="img-responsive img-thumbnail" src="' + o.thumb + '" onerror="this.src=\'{{static_url('resource/images/nopic.jpg')}}\'; this.title=\'图片未找到.\'">';
  314. html += '<div class="store_name store-name-sty" title="'+ o.store_name +'">' + o.store_name + '</div>';
  315. html += '<em onclick="remove_store(this)" class="close">×</em>';
  316. html += '</div>';
  317. $("#store_container").append(html);
  318. refresh_members();
  319. }
  320. //选择门店分类
  321. function select_store_sort(o) {
  322. console.log(o);
  323. var html = '<div class="multi-item" sortid="' + o.id + '">';
  324. html += '<img class="img-responsive img-thumbnail" src="' + o.thumb + '" onerror="this.src=\'{{static_url('resource/images/nopic.jpg')}}\'; this.title=\'图片未找到.\'">';
  325. html += '<div class="store_name store-name-sty" title="'+ o.name +'" >' + o.name + '</div>';
  326. html += '<em onclick="remove_store_sort(this)" class="close">×</em>';
  327. html += '</div>';
  328. $("#store_container_sort").append(html);
  329. refresh_members_sort();
  330. }
  331. function remove_store(obj) {
  332. $(obj).parent().remove();
  333. refresh_members();
  334. }
  335. //门店分类
  336. function remove_store_sort(obj) {
  337. $(obj).parent().remove();
  338. refresh_members_sort();
  339. }
  340. function refresh_members() {
  341. var storeIds = "";
  342. $('.multi-item').each(function () {
  343. var storeId = $(this).attr('storeid')
  344. var ret = $(this).find('.img-nickname-store').html();
  345. if (storeId) {
  346. storeIds += storeId + ','
  347. }
  348. });
  349. if (storeIds) {
  350. storeIds = storeIds.substring(0,storeIds.length-1);
  351. }
  352. $('#store_ids').val(storeIds);
  353. }
  354. function refresh_members_sort() {
  355. var sortIds = "";
  356. $('.multi-item').each(function () {
  357. var sortId = $(this).attr('sortid')
  358. var ret = $(this).find('.img-nickname-store').html();
  359. if (sortId) {
  360. sortIds += sortId + ','
  361. }
  362. });
  363. if (sortIds) {
  364. sortIds = sortIds.substring(0,sortIds.length-1);
  365. }
  366. $('#sort_ids').val(sortIds);
  367. }
  368. function formcheck(){
  369. if ($.trim($('#title').val()) == '') {
  370. alert('请填写标题!');
  371. $('#title').focus();
  372. return false;
  373. }
  374. if ($.trim($('#store_ids').val()) == '' && $.trim($('#sort_ids').val()) == '') {
  375. alert('请选择门店或门店分类!');
  376. return false;
  377. }
  378. if ($.trim($(':input[name="project[thumb]"]').val()) == '') {
  379. alert('请上传缩略图!');
  380. return false;
  381. }
  382. }
  383. </script>
  384. @endsection