No Description

ordercreate.blade.php 31KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716
  1. @extends('admin/master')
  2. @section('content')
  3. <body>
  4. @if(count($errors) > 0)
  5. <div class="Huialert Huialert-info" id="error">
  6. @foreach($errors->all() as $error)
  7. <li>{{$error}}</li>
  8. @endforeach
  9. </div>
  10. @endif
  11. <style type="text/css">
  12. #good_sku{
  13. position: absolute;
  14. z-index: 9;
  15. background: #ffffff;
  16. box-shadow: 1px 1px 1px 1px #ccc;
  17. width: calc(100% - 30px);
  18. }
  19. #good_sku li{
  20. font-size: 12px;
  21. line-height: 24px;
  22. cursor: pointer;
  23. padding: 5px 10px;
  24. }
  25. #good_sku li:hover{
  26. background: #eaeaea;
  27. }
  28. </style>
  29. <div class="page-container">
  30. <form id='order-form' action="/admin/order/store" method="post" class="form form-horizontal" enctype="multipart/form-data" onkeypress="return event.keyCode != 13;">
  31. <input type="hidden" name="_token" value="{{ csrf_token() }}" />
  32. <input type="hidden" name="status" value="0" />
  33. <input type='hidden' name='last_url' value="{{$last_url}}"/>
  34. <div class="row cl">
  35. <label class="form-label col-xs-4 col-sm-2">
  36. <font color='red'>* </font>买家姓名:</label>
  37. <div class="formControls col-xs-6 col-sm-6">
  38. <input type="text" class="input-text" value="{{old('customerName')}}" placeholder="请输入名称" name="customerName">
  39. </div>
  40. </div>
  41. <div class="row cl">
  42. <label class="form-label col-xs-4 col-sm-2">
  43. <font color='red'>* </font>收件人姓名:</label>
  44. <div class="formControls col-xs-6 col-sm-6">
  45. <input type="text" class="input-text" value="{{old('receiverName')}}" placeholder="" name="receiverName">
  46. </div>
  47. </div>
  48. <div class="row cl">
  49. <label class="form-label col-xs-4 col-sm-2">
  50. <font color='red'>* </font>收件人手机号:</label>
  51. <div class="formControls col-xs-6 col-sm-6">
  52. <input type="text" class="input-text" value="{{old('receiverMobile')}}" placeholder="" onkeyup="getAddress()" name="receiverMobile">
  53. </div>
  54. </div>
  55. <div id='fanTime_div' class="row cl">
  56. <label class="form-label col-xs-4 col-sm-2">
  57. <font color='red'>* </font>加粉时间:</label>
  58. <div class="formControls col-xs-6 col-sm-6">
  59. <input id="stime" type="text" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd' })" autocomplete="off" class="input-text Wdate" style="width:22%;text-align:center;" name="fanTime" value="{{old('fanTime')}}">
  60. </div>
  61. </div>
  62. <div class="row cl">
  63. <label class="form-label col-xs-4 col-sm-2">
  64. <font color='red'>* </font>省/直辖市:</label>
  65. <div class="formControls col-xs-6 col-sm-6">
  66. <input type="text" class="input-text" value="{{old('receiverState')}}" placeholder="" name="receiverState">
  67. </div>
  68. </div>
  69. <div class="row cl">
  70. <label class="form-label col-xs-4 col-sm-2">
  71. <font color='red'>* </font>市:</label>
  72. <div class="formControls col-xs-6 col-sm-6">
  73. <input type="text" class="input-text" value="{{old('receiverCity')}}" placeholder="" name="receiverCity">
  74. </div>
  75. </div>
  76. <!--div class="row cl">
  77. <label class="form-label col-xs-4 col-sm-2">
  78. 区:</label>
  79. <div class="formControls col-xs-6 col-sm-6">
  80. <input type="text" class="input-text" value="{{old('receiverDistrict')}}" placeholder="" name="receiverDistrict">
  81. </div>
  82. </div>
  83. <div class="row cl">
  84. <label class="form-label col-xs-4 col-sm-2">
  85. 街道:</label>
  86. <div class="formControls col-xs-6 col-sm-6">
  87. <input type="text" class="input-text" value="{{old('receiverStreet')}}" placeholder="" name="receiverStreet">
  88. </div>
  89. </div-->
  90. <div class="row cl">
  91. <label class="form-label col-xs-4 col-sm-2">
  92. <font color='red'>* </font>详细地址:</label>
  93. <div class="formControls col-xs-6 col-sm-6">
  94. <input type="text" class="input-text" value="{{old('receiverAddress')}}" placeholder="" name="receiverAddress">
  95. </div>
  96. </div>
  97. <div class="row cl">
  98. <label class="form-label col-xs-4 col-sm-2">
  99. <font color='red'>* </font>商品信息:</label>
  100. <div class="formControls col-xs-6 col-sm-6">
  101. <textarea class="textarea" placeholder="填写商品详细信息,A或B仓必填" name="goods_note">{{old('goods_note')}}</textarea>
  102. </div>
  103. </div>
  104. <div class="row cl">
  105. <label class="form-label col-xs-4 col-sm-2">
  106. <font color='red'>* </font>预发货时间:</label>
  107. <div class="formControls col-xs-6 col-sm-6">
  108. <input id="delivery" type="text" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd' })" autocomplete="off" class="input-text Wdate" style="width:22%;text-align:center;" name="delivery_date" value="{{old('delivery_date')}}"> <font color='red'> *默认今天 </font>
  109. </div>
  110. </div>
  111. <div class="row cl">
  112. <label class="form-label col-xs-4 col-sm-2">
  113. 物流单号:</label>
  114. <div class="formControls col-xs-6 col-sm-6">
  115. <input type="text" class="input-text" value="{{old('logistics_id')}}" placeholder="" name="logistics_id">
  116. </div>
  117. </div>
  118. <div class="row cl">
  119. <label class="form-label col-xs-4 col-sm-2">
  120. <font color='red'>* </font>发货仓库:</label>
  121. <div class="formControls col-xs-6 col-sm-6">
  122. <span class="select-box">
  123. <select size="1" name="warehouse" id='warehouse'>
  124. @if($self_role == '超级管理员' || $self_role == '售后管理员')
  125. <option value="0" @if(old('warehouse')=='0') selected @endif>- 请选择 -</option>
  126. <option value="1" @if(old('warehouse')=='1') selected @endif>A仓库</option>
  127. <option value="2" @if(old('warehouse')=='2') selected @endif>B仓库</option>
  128. <option value="3" @if(old('warehouse')=='3') selected @endif>C仓库</option>
  129. @else
  130. <option value="3" selected >C仓库</option>
  131. @endif
  132. </select>
  133. </span>
  134. </div>
  135. </div>
  136. @if($self_role !='销售' )
  137. <div class="row cl">
  138. <label class="form-label col-xs-4 col-sm-2">
  139. 成本:</label>
  140. <div class="formControls col-xs-6 col-sm-6">
  141. <input type="text" class="input-text" value="{{old('cost')}}" placeholder="" name="cost">
  142. </div>
  143. </div>
  144. @endif
  145. <div class="row cl">
  146. <label class="form-label col-xs-4 col-sm-2"><font color='red'>* </font>搜索选择商品:</label>
  147. <div class="formControls col-xs-6 col-sm-6">
  148. <input type='text' class="input-text" autocomplete="off" name='goods_name' placeholder="输入关键词搜索商品,C仓必须选择" value="{{old('goods_name')}}"/>
  149. <ul id="good_sku"></ul>
  150. </div>
  151. </div><br>
  152. <div class="row cl">
  153. <label class="form-label col-xs-4 col-sm-2">
  154. <font color='red'>* </font>已选择商品:</label>
  155. <div id='goods_o' name='goods_o_con' class="formControls col-xs-6 col-sm-6">
  156. </div>
  157. </div><br>
  158. <div class="row cl">
  159. <label class="form-label col-xs-4 col-sm-2">
  160. 应收金额:</label>
  161. <div class="formControls col-xs-6 col-sm-6">
  162. <span id='should_amount_show'>{{old('should_amount')}}</span>
  163. <input id='should_amount' type="hidden" class="input-text" value="{{old('should_amount')}}" placeholder="" name="should_amount">
  164. </div>
  165. </div>
  166. <div class="row cl">
  167. <label class="form-label col-xs-4 col-sm-2">
  168. <font color='red'>* </font>实收金额:</label>
  169. <div class="formControls col-xs-6 col-sm-6">
  170. <input id='receivedAmount' type="text" class="input-text" value="{{old('receivedAmount')}}" placeholder="" name="receivedAmount">
  171. </div>
  172. </div>
  173. <div class="row cl">
  174. <label class="form-label col-xs-4 col-sm-2">
  175. <font color='red'>* </font>支付方式:</label>
  176. <div class="formControls col-xs-6 col-sm-6">
  177. <input type="radio" name="payment_type" value="1" @if(old('payment_type')==='1') checked @else checked @endif>
  178. <label for="status-1" style="margin-right: 27px;">微信支付</label>
  179. <!--input type="radio" name="payment_type" value="2" @if(old('payment_type')==='2') checked @endif>
  180. <label for="status-0">付款码支付</label-->
  181. <input type="radio" name="payment_type" value="3" @if(old('payment_type')==='3') checked @endif>
  182. <label for="status-0">个体户支付</label>
  183. </div>
  184. </div>
  185. <div class="row cl">
  186. <label class="form-label col-xs-4 col-sm-2">
  187. <font color='red'>* </font>是否退补单:</label>
  188. <div class="formControls col-xs-6 col-sm-6">
  189. <input type="radio" name="is_refund" value="0" @if(old('is_refund')==='0') checked @else checked @endif>
  190. <label for="status-1" style="margin-right: 27px;">否</label>
  191. <input type="radio" name="is_refund" value="1" @if(old('is_refund')==='1') checked @endif>
  192. <label for="status-0">是</label>
  193. </div>
  194. </div>
  195. <div class="row cl">
  196. <label class="form-label col-xs-4 col-sm-2">
  197. 应该退补差价:</label>
  198. <div class="formControls col-xs-6 col-sm-6">
  199. <input type="text" class="input-text" value="{{old('refund_price')}}" placeholder="" name="refund_price">
  200. </div>
  201. </div>
  202. <div class="row cl">
  203. <label class="form-label col-xs-4 col-sm-2">
  204. <font color='red'>* </font>下单时间:</label>
  205. <div class="formControls col-xs-6 col-sm-6">
  206. <input id="createTime" type="text" autocomplete="off" class="input-text" style="width:22%;text-align:center;" name="createTime" value="{{$createTime}}" disabled> <font color='red'> *默认当前时间 </font>
  207. </div>
  208. </div>
  209. <div class="row cl">
  210. <label class="form-label col-xs-4 col-sm-2">
  211. 买家备注:</label>
  212. <div class="formControls col-xs-6 col-sm-6">
  213. <textarea class="textarea" placeholder="填写买家备注..." name="buyerMemo">{{old('buyerMemo')}}</textarea>
  214. </div>
  215. </div>
  216. <div class="row cl">
  217. <label class="form-label col-xs-4 col-sm-2">
  218. 卖家备注:</label>
  219. <div class="formControls col-xs-6 col-sm-6">
  220. <textarea class="textarea" placeholder="填写卖家备注..." name="sellerMemo">{{old('sellerMemo')}}</textarea>
  221. </div>
  222. </div>
  223. @if(0)
  224. @if($self_role !='销售' )
  225. <div class="row cl">
  226. <label class="form-label col-xs-4 col-sm-2">
  227. 选择销售员(不选默认当前用户):</label>
  228. <div class="formControls col-xs-6 col-sm-6">
  229. <span class="select-box">
  230. <select size="1" name="team" id='team'>
  231. <option value="0" @if(old('team')=='') selected @endif>选择团队</option>
  232. @foreach($teamlist as $v)
  233. <option value="{{$v['id']}}" @if(old('team')==$v['id']) selected @endif>{{$v['name']}}</option>
  234. @endforeach
  235. </select>
  236. <select id='admins' size="1" name="admin_id">
  237. <option value="0" @if(old('admin_id')=='') selected @endif>-- 选择销售 --</option>
  238. @foreach($adminlist as $v)
  239. <option value="{{$v['id']}}" @if(old('admin_id')==$v['id']) selected @endif>{{$v['realname']}}</option>
  240. @endforeach
  241. </select>
  242. &nbsp;&nbsp;
  243. </span>
  244. </div>
  245. </div>
  246. @endif
  247. @endif
  248. <div class="row cl">
  249. <div class="col-9 col-offset-2">
  250. <button class="btn btn-primary radius" type='button' onclick="to_submit()" value="&nbsp;&nbsp;保存&nbsp;&nbsp;">&nbsp;&nbsp;保存&nbsp;&nbsp;</button>&nbsp;
  251. <button class="btn btn-primary radius" type='button' onclick="to_verify()" value="&nbsp;&nbsp;保存并提审&nbsp;&nbsp;">&nbsp;&nbsp;保存并提审&nbsp;&nbsp;</button>&nbsp;
  252. <button class="btn btn-default" type="reset" onclick="return_index();">&nbsp;&nbsp;返回&nbsp;&nbsp;</button>&nbsp;
  253. </div>
  254. </div>
  255. </form>
  256. </div>
  257. <!--_footer 作为公共模版分离出去-->
  258. <script type="text/javascript" src="/admin/lib/jquery/1.9.1/jquery.min.js"></script>
  259. <script type="text/javascript" src="/admin/lib/layer/2.4/layer.js"></script>
  260. <script type="text/javascript" src="/admin/static/h-ui/js/H-ui.min.js"></script>
  261. <script type="text/javascript" src="/admin/static/h-ui.admin/js/H-ui.admin.js"></script>
  262. <!--/_footer 作为公共模版分离出去-->
  263. <!--请在下方写此页面业务相关的脚本-->
  264. <script type="text/javascript" src="/admin/lib/My97DatePicker/4.8/WdatePicker.js"></script>
  265. <script type="text/javascript">
  266. $(function(){
  267. setTimeout("$('#error').hide()",3000);
  268. var dtime = today();
  269. $('#createTime').val(dtime);
  270. var tdate = today_date();
  271. $('#delivery').val(tdate);
  272. $('#category').change(function(){
  273. category = $('#category').val();
  274. if(category==''){
  275. return false;
  276. }
  277. $.ajax({
  278. 'url':'/admin/order/categoods/'+category,
  279. 'type': 'get',
  280. 'dataType':'json',
  281. 'success' : function(data){
  282. str = '<option value=\'0\'>-- 选择商品 --<\/option>';
  283. $.each(data, function(i, va){
  284. var props = va.props_name;
  285. if(props != ''){
  286. props = '【' + props + '】';
  287. }
  288. var price = va.price;
  289. if(price > 0){
  290. price = '【¥' + price + '元】';
  291. }else{
  292. price = '';
  293. }
  294. str += '<option value="'+va.id+'">' + va.goods_name + props + price +'<\/option>';
  295. })
  296. $('#goods').html(str);
  297. }
  298. });
  299. })
  300. $('#team').change(function(){
  301. team = $('#team').val();
  302. if(team==''){
  303. return false;
  304. }
  305. $.ajax({
  306. 'url':'/admin/order/teamAdmins/'+team,
  307. 'type': 'get',
  308. 'dataType':'json',
  309. 'success' : function(data){
  310. str = '<option value=\'0\'>-- 选择销售 --<\/option>';
  311. $.each(data, function(i, va){
  312. str += '<option value="'+va.id+'">' + va.realname +'<\/option>';
  313. })
  314. $('#admins').html(str);
  315. }
  316. });
  317. })
  318. });
  319. /*返回*/
  320. function return_index(){
  321. location.href='/admin/order/index';
  322. }
  323. function add_goods(goods_id,sku_id,name,props_name,price,is_weigh){
  324. var gnum = $("#gnum"+sku_id).val();
  325. var weigh_unit = '数量';
  326. var weigh_note = '';
  327. var weigh_unit_name = '';
  328. if(is_weigh == 1){
  329. weigh_unit = '重量';
  330. weigh_unit_name = '(斤)';
  331. weigh_note = '<font color=\'red\'> (称重商品,至少0.5斤) <\/font>';
  332. }
  333. if(gnum){
  334. var n = gnum;
  335. n = parseFloat(n)+1
  336. $("#gnum"+sku_id).val(n);
  337. }
  338. else{
  339. var str = "<div>"+name+' 【 规格:'+props_name+' 价格:¥'+price+" 】&nbsp; <input type='hidden' name='skus[]' value="+sku_id+" \/><font style=\"font-weight: bold;\">"+weigh_unit+" <\/font><button style='width:14px;' type='button' onclick=\"cut_num("+sku_id+","+ price + ","+ is_weigh +")\">-<\/button><div style=\"display:inline-block\" id='gnum_con"+ sku_id +"' ><input style='width:40px;' id='gnum"+ sku_id +"' class='gnums' onkeyup='sync_money();' price="+price+" is_weigh="+is_weigh+" type=\'text\' name=\'gnum[]\' value=1 \/><\/div><button style='width:14px;' type='button' onclick=\"add_num("+sku_id+","+ price + ","+ is_weigh +")\">+<\/button>"+weigh_unit_name+" &nbsp;&nbsp;<button type='button' onclick='del_sku(this, "+sku_id+","+ price + ")'> 移除<\/button> &nbsp;&nbsp;"+weigh_note+"<\/div>";
  340. $("#goods_o").append(str);
  341. sessionStorage.setItem('goods_o_con',$("#goods_o").html());
  342. }
  343. sync_money()
  344. document.getElementById('good_sku').style.display='none'
  345. return false;
  346. }
  347. function add_num(sku_id, price, is_weigh){
  348. var gnum = $("#gnum"+sku_id).val();
  349. var n = gnum;
  350. n = parseFloat(n)+1
  351. $("#gnum"+sku_id).val(n);
  352. $("#gnum_con" + sku_id).html("<input style='width:40px;' id='gnum"+ sku_id +"' class='gnums' onkeyup='sync_money();' price="+price+" is_weigh="+is_weigh+" type=\'text\' name=\'gnum[]\' value=" + n + " \/>")
  353. sessionStorage.setItem('goods_o_con',$("#goods_o").html());
  354. sync_money()
  355. return false;
  356. }
  357. function cut_num(sku_id, price, is_weigh){
  358. var gnum = $("#gnum"+sku_id).val();
  359. var n = gnum;
  360. if(n == 1){
  361. return false;
  362. }
  363. n = parseFloat(n)-1;
  364. $("#gnum"+sku_id).val(n);
  365. $("#gnum_con" + sku_id).html("<input style='width:40px;' id='gnum"+ sku_id +"' class='gnums' onkeyup='sync_money();' price="+price+" is_weigh="+is_weigh+" type=\'text\' name=\'gnum[]\' value=" + n + " \/>")
  366. sessionStorage.setItem('goods_o_con',$("#goods_o").html());
  367. sync_money()
  368. return false;
  369. }
  370. function del_sku(obj, sku_id, price){
  371. //console.log(obj)
  372. var gnum = $("#gnum"+sku_id).val();
  373. $(obj).parent().remove();
  374. sessionStorage.setItem('goods_o_con',$("#goods_o").html());
  375. sync_money();
  376. }
  377. function sync_money(){
  378. var gnums = new Array();
  379. var total = 0;
  380. $('.gnums').each(function(key, value){
  381. var gnum = $(this).val();
  382. var price = $(this).attr('price');
  383. total = total + parseFloat(price) * parseFloat(gnum);
  384. });
  385. if(total>0){
  386. $("#should_amount").val(total);
  387. $("#should_amount_show").html(total);
  388. }else{
  389. $("#should_amount").val('');
  390. $("#should_amount_show").html('');
  391. }
  392. return false;
  393. }
  394. function today(){
  395. var today=new Date();
  396. var h=today.getFullYear();
  397. var m=today.getMonth()+1;
  398. var d=today.getDate();
  399. var hh=today.getHours();
  400. var mm=today.getMinutes();
  401. var ss=today.getSeconds();
  402. m= m<10?"0"+m:m;
  403. d= d<10?"0"+d:d;
  404. hh = hh < 10 ? "0" + hh:hh;
  405. mm = mm < 10 ? "0" + mm:mm;
  406. ss = ss < 10 ? "0" + ss:ss;
  407. return h+"-"+m+"-"+d+" "+hh+":"+mm+":"+ss;
  408. }
  409. function today_date(){
  410. var today=new Date();
  411. var h=today.getFullYear();
  412. var m=today.getMonth()+1;
  413. var d=today.getDate();
  414. var hh=today.getHours();
  415. var mm=today.getMinutes();
  416. var ss=today.getSeconds();
  417. m= m<10?"0"+m:m;
  418. d= d<10?"0"+d:d;
  419. hh = hh < 10 ? "0" + hh:hh;
  420. mm = mm < 10 ? "0" + mm:mm;
  421. ss = ss < 10 ? "0" + ss:ss;
  422. return h+"-"+m+"-"+d;
  423. }
  424. function getAddress(){
  425. var phone = $('input[name=receiverMobile]').val();
  426. var reg = /^1\d{10}$/
  427. if(reg.test(phone)){
  428. $.ajax({
  429. 'url': '/admin/order/getAddress?phone='+phone,
  430. 'type': 'get',
  431. 'dateType': 'json',
  432. success:function(data){
  433. if(data != '0'){
  434. data = eval("("+data+")");
  435. $("input[name=receiverState]").val(data.receiverState);
  436. $("input[name=receiverCity]").val(data.receiverCity);
  437. //$("input[name=receiverDistrict]").val(data.receiverDistrict);
  438. //$("input[name=receiverStreet]").val(data.receiverStreet);
  439. $("input[name=receiverAddress]").val(data.receiverAddress);
  440. $("input[name=fanTime]").val(data.fanTime);
  441. $("#fanTime_div").hide();
  442. }
  443. else{
  444. $("#fanTime_div").show();
  445. }
  446. }
  447. })
  448. }
  449. }
  450. function getGoods(){
  451. var name = $('input[name=goods_name]').val();
  452. if(!name){
  453. return false;
  454. }
  455. $.ajax({
  456. 'url': '/admin/goods/searchSkus?name='+name,
  457. 'type': 'get',
  458. 'dateType': 'json',
  459. success:function(data){
  460. if(data != '0'){
  461. data = eval("("+data+")");
  462. }
  463. }
  464. })
  465. }
  466. function to_verify(){
  467. if(!form_verify()){
  468. return false;
  469. }
  470. $("input[name=status]").val('1');
  471. var warehouse = $("#warehouse").val();
  472. if(warehouse == 3){
  473. var if_good = $('.gnums');
  474. if(!if_good.length){
  475. layer.msg('仓库C必须选择商品!',{icon:2,time:1500});
  476. return false;
  477. }
  478. }
  479. $(".btn").attr("disabled",true);
  480. //console.log('disabled')
  481. $("#order-form").submit();
  482. return true;
  483. }
  484. function to_submit(){
  485. if(!form_verify()){
  486. return false;
  487. }
  488. $("input[name=status]").val('0');
  489. //console.log('disabled1')
  490. var warehouse = $("#warehouse").val();
  491. if(warehouse == 3){
  492. var if_good = $('.gnums');
  493. if(!if_good.length){
  494. layer.msg('仓库C必须选择商品!',{icon:2,time:1500});
  495. return false;
  496. }
  497. }
  498. $(".btn").attr("disabled",true);
  499. $("#order-form").submit();
  500. return true;
  501. }
  502. $("#goods_o").append(sessionStorage.getItem('goods_o_con'));
  503. $('input[name=goods_name]').on('keyup focus', function(){
  504. var name = $('input[name=goods_name]').val();
  505. if(!name){
  506. return false;
  507. }
  508. $.ajax({
  509. 'url': '/admin/goods/searchSkus?name='+name,
  510. 'type': 'get',
  511. 'dateType': 'json',
  512. success:function(data){
  513. if(data != '0'){
  514. data = eval("("+data+")");
  515. var str = '';
  516. for (var i = 0, l = data.length; i < l; i++) {
  517. var item = data[i];
  518. var weigh_t = '';
  519. if(item.is_weigh==1){
  520. weigh_t = '【按半斤称重】';
  521. }
  522. if(item.is_white == 0 && item.quantity <= 0){
  523. weigh_t += '<font color="red">【库存不足】<\/font>';
  524. str += '<li>'+ item.name+'【 规格:'+item.propsName+'&nbsp;&nbsp; 价格:¥'+item.price +' 】'+weigh_t+'<\/li>'
  525. }
  526. else{
  527. str += '<li onclick=\'add_goods('+item.goods_id+','+item.sku_id+',"'+item.name+'","'+item.propsName+'",'+item.price+','+item.is_weigh+');\'>'+ item.name+'【 规格:'+item.propsName+'&nbsp;&nbsp; 价格:¥'+item.price +' 】'+weigh_t+'<\/li>'
  528. }
  529. // '<p onclick=\'add_goods('+item.goods_id+','+item.sku_id+',"'+item.name+'","'+item.propsName+'",'+item.price+');\'>'+ item.name+' '+item.propsName+' ¥'+item.price +'<\/p>';
  530. }
  531. document.getElementById('good_sku').innerHTML = str;
  532. document.getElementById('good_sku').style.display='block'
  533. }
  534. }
  535. })
  536. });
  537. $("body").on('click', function(){
  538. $('input[name=goods_name]').on('click',function(e){
  539. e.stopPropagation();
  540. });
  541. document.getElementById('good_sku').style.display='none'
  542. })
  543. function weigh_verify(){
  544. var if_no = 0;
  545. $('.gnums').each(function(key, value){
  546. var gnum = $(this).val();
  547. gnum = parseFloat(gnum);
  548. var is_weigh = $(this).attr('is_weigh');
  549. if(gnum<0.5){
  550. if_no = 1;
  551. return;
  552. }
  553. if(is_weigh == 0 && gnum%1 != 0){
  554. if_no = 2;
  555. return;
  556. }
  557. if(is_weigh == 1 && gnum%0.5 != 0){
  558. if_no = 3;
  559. return;
  560. }
  561. });
  562. return if_no;
  563. }
  564. function form_verify(){
  565. var customerName = $("input[name=customerName]").val();
  566. if(!customerName){
  567. layer.msg('买家姓名不能为空!',{icon:2,time:1500});
  568. return false;
  569. }
  570. var receiverName = $("input[name=receiverName]").val();
  571. if(!receiverName){
  572. layer.msg('收件人姓名不能为空!',{icon:2,time:1500});
  573. return false;
  574. }
  575. var receiverMobile = $("input[name=receiverMobile]").val();
  576. if(!receiverMobile){
  577. layer.msg('收件人手机号不能为空!',{icon:2,time:1500});
  578. return false;
  579. }
  580. var preg = /^1[3456789]\d{9}$/;
  581. if(!preg.test(receiverMobile)){
  582. layer.msg('收件人手机号格式有误!',{icon:2,time:1500});
  583. return false;
  584. }
  585. var fanTime = $("input[name=fanTime]").val();
  586. if(!fanTime){
  587. layer.msg('加粉时间不能为空!',{icon:2,time:1500});
  588. return false;
  589. }
  590. var tdate = today_date();
  591. if(fanTime>tdate){
  592. layer.msg('加粉时间不能超过今天!',{icon:2,time:1500});
  593. return false;
  594. }
  595. var receiverState = $("input[name=receiverState]").val();
  596. if(!receiverState){
  597. layer.msg('省份不能为空!',{icon:2,time:1500});
  598. return false;
  599. }
  600. var receiverCity = $("input[name=receiverCity]").val();
  601. if(!receiverCity){
  602. layer.msg('城市不能为空!',{icon:2,time:1500});
  603. return false;
  604. }
  605. var receiverAddress = $("input[name=receiverAddress]").val();
  606. if(!receiverAddress){
  607. layer.msg('详细地址不能为空!',{icon:2,time:1500});
  608. return false;
  609. }
  610. var delivery_date = $("input[name=delivery_date]").val();
  611. if(!delivery_date){
  612. layer.msg('预发货时间不能为空!',{icon:2,time:1500});
  613. return false;
  614. }
  615. var warehouse = $("#warehouse").val();
  616. if(warehouse<1){
  617. layer.msg('仓库必须选择!',{icon:2,time:1500});
  618. return false;
  619. }
  620. var receivedAmount = $("input[name=receivedAmount]").val();
  621. if(!receivedAmount){
  622. layer.msg('实付金额不能为空!',{icon:2,time:1500});
  623. return false;
  624. }
  625. if(isNaN(receivedAmount)){
  626. layer.msg('实付金额必须为数字!',{icon:2,time:1500});
  627. return false;
  628. }
  629. //验证称重>0.5
  630. var if_no = weigh_verify();
  631. if(if_no > 0){
  632. if(if_no == 1){
  633. layer.msg('商品数量填写有误!',{icon:2,time:1500});
  634. }
  635. if(if_no == 2){
  636. layer.msg('非称重商品数量必须为整数!',{icon:2,time:1500});
  637. }
  638. if(if_no == 3){
  639. layer.msg('称重商品重量必须为0.5的倍数!',{icon:2,time:1500});
  640. }
  641. return false;
  642. }
  643. return true;
  644. }
  645. </script>
  646. </body>
  647. @endsection