Aucune description

ordercreate.blade.php 41KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911
  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. <div class="row cl">
  34. <label class="form-label col-xs-4 col-sm-2">
  35. <font color='red'>* </font>买家姓名:</label>
  36. <div class="formControls col-xs-6 col-sm-6">
  37. <input type="text" class="input-text" value="{{old('customerName')}}" placeholder="请输入名称" name="customerName">
  38. </div>
  39. </div>
  40. <div class="row cl">
  41. <label class="form-label col-xs-4 col-sm-2">
  42. <font color='red'>* </font>买家手机号:</label>
  43. <div class="formControls col-xs-6 col-sm-6">
  44. <input type="text" class="input-text" value="{{old('buyer_phone')}}" placeholder="" onkeyup="getVip()" name="buyer_phone">
  45. </div>
  46. </div>
  47. <div id='use_coupon_div' class="row cl" style="display: none">
  48. <label class="form-label col-xs-4 col-sm-2">
  49. <font color='red'>* </font>是否使用优惠券:</label>
  50. <div class="formControls col-xs-6 col-sm-6">
  51. <input type="radio" name="use_coupon" value="0" checked disabled>
  52. <label for="status-0" style="margin-right: 27px;">否</label>
  53. <input id='use_coupon_1' type="radio" name="use_coupon" value="1" disabled>
  54. <label for="status-1">是</label>
  55. </div>
  56. </div>
  57. <div class="row cl">
  58. <label class="form-label col-xs-4 col-sm-2">
  59. <font color='red'>* </font>收件人姓名:</label>
  60. <div class="formControls col-xs-6 col-sm-6">
  61. <input type="text" class="input-text" value="{{old('receiverName')}}" placeholder="" name="receiverName">
  62. </div>
  63. </div>
  64. <div class="row cl">
  65. <label class="form-label col-xs-4 col-sm-2">
  66. <font color='red'>* </font>收件人手机号:</label>
  67. <div class="formControls col-xs-6 col-sm-6">
  68. <input type="text" class="input-text" value="{{old('receiverMobile')}}" placeholder="" onkeyup="getAddress()" name="receiverMobile">
  69. </div>
  70. </div>
  71. <div id='fanTime_div' class="row cl">
  72. <label class="form-label col-xs-4 col-sm-2">
  73. <font color='red'>* </font>加粉时间:</label>
  74. <div class="formControls col-xs-6 col-sm-6">
  75. <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')}}">
  76. </div>
  77. </div>
  78. <div class="row cl">
  79. <label class="form-label col-xs-4 col-sm-2">
  80. <font color='red'>* </font>省/直辖市:</label>
  81. <div class="formControls col-xs-6 col-sm-6">
  82. <input type="text" class="input-text" value="{{old('receiverState')}}" placeholder="" name="receiverState">
  83. </div>
  84. </div>
  85. <div class="row cl">
  86. <label class="form-label col-xs-4 col-sm-2">
  87. <font color='red'>* </font>市:</label>
  88. <div class="formControls col-xs-6 col-sm-6">
  89. <input type="text" class="input-text" value="{{old('receiverCity')}}" placeholder="" name="receiverCity">
  90. </div>
  91. </div>
  92. <!--div class="row cl">
  93. <label class="form-label col-xs-4 col-sm-2">
  94. 区:</label>
  95. <div class="formControls col-xs-6 col-sm-6">
  96. <input type="text" class="input-text" value="{{old('receiverDistrict')}}" placeholder="" name="receiverDistrict">
  97. </div>
  98. </div>
  99. <div class="row cl">
  100. <label class="form-label col-xs-4 col-sm-2">
  101. 街道:</label>
  102. <div class="formControls col-xs-6 col-sm-6">
  103. <input type="text" class="input-text" value="{{old('receiverStreet')}}" placeholder="" name="receiverStreet">
  104. </div>
  105. </div-->
  106. <div class="row cl">
  107. <label class="form-label col-xs-4 col-sm-2">
  108. <font color='red'>* </font>详细地址:</label>
  109. <div class="formControls col-xs-6 col-sm-6">
  110. <input type="text" class="input-text" value="{{old('receiverAddress')}}" placeholder="" name="receiverAddress">
  111. </div>
  112. </div>
  113. <div class="row cl">
  114. <label class="form-label col-xs-4 col-sm-2">
  115. <font color='red'>* </font>预发货时间:</label>
  116. <div class="formControls col-xs-6 col-sm-6">
  117. <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>
  118. </div>
  119. </div>
  120. <div class="row cl">
  121. <label class="form-label col-xs-4 col-sm-2">
  122. <font color='red'>* </font>发货仓库:</label>
  123. <div class="formControls col-xs-6 col-sm-6">
  124. <span class="select-box">
  125. <select size="1" name="warehouse" id='warehouse'>
  126. @if($self_role == '超级管理员' || $self_role == '售后管理员')
  127. <option value="0" @if(old('warehouse')=='0') selected @endif>- 请选择 -</option>
  128. <option value="1" @if(old('warehouse')=='1') selected @endif>A仓库</option>
  129. <option value="2" @if(old('warehouse')=='2') selected @endif>B仓库</option>
  130. <option value="3" @if(old('warehouse')=='3') selected @endif>C仓库</option>
  131. <option value="4" @if(old('warehouse')=='4') selected @endif>D仓库</option>
  132. @else
  133. <option value="3" selected >C仓库</option>
  134. @endif
  135. </select>
  136. </span>
  137. </div>
  138. </div>
  139. <div class="row cl">
  140. <label class="form-label col-xs-4 col-sm-2"><font color='red'>* </font>搜索选择商品:</label>
  141. <div class="formControls col-xs-6 col-sm-6">
  142. <input type='text' class="input-text" autocomplete="off" name='goods_name' placeholder="输入关键词搜索商品,C仓必须选择" value="{{old('goods_name')}}"/>
  143. <ul id="good_sku"></ul>
  144. </div>
  145. </div><br>
  146. <div class="row cl">
  147. <label class="form-label col-xs-4 col-sm-2">
  148. <font color='red'>* </font>已选择商品:</label>
  149. <div id='goods_o' name='goods_o_con' class="formControls col-xs-6 col-sm-6">
  150. </div>
  151. </div><br>
  152. <div id='m_gift_div' class="row cl" style="display: none">
  153. <label class="form-label col-xs-4 col-sm-2">
  154. <font color='red'> </font>选择会员当月赠品</label>
  155. <div class="formControls col-xs-6 col-sm-6">
  156. <span class="select-box">
  157. <select size="1" name="m_gift_id" id='m_gift'>
  158. <option value="0" @if(old('m_gift_id')=='0') selected @endif>- 请选择 -</option>
  159. @foreach($m_gift as $item)
  160. <option value="{{$item['id']}}" @if(old('m_gift_id')==$item['id']) selected @endif>{{$item['goods_name']}}【{{$item['propsName']}} ¥{{$item['price']}}】</option>
  161. @endforeach
  162. </select>
  163. </span>
  164. </div>
  165. </div>
  166. @if(!empty($b_gift))
  167. <div id='b_gift_div' class="row cl" style="display: none">
  168. <label class="form-label col-xs-4 col-sm-2">
  169. <font color='red'> </font>是否使用生日套餐</label>
  170. <div class="formControls col-xs-6 col-sm-6">
  171. <input type="radio" name="use_b_gift" value="0" checked disabled >
  172. <label for="status-0" style="margin-right: 27px;">否</label>
  173. <input id='use_b_gift_1' type="radio" name="use_b_gift" value="1" disabled>
  174. <label for="status-1">是</label>
  175. </div>
  176. </div>
  177. <div id='b_gift_list' class="row cl" style="display: none">
  178. <label class="form-label col-xs-4 col-sm-2">
  179. <font color='red'> </font>生日套餐包含:</label>
  180. <div class="formControls col-xs-6 col-sm-6">
  181. @foreach($b_gift as $item)
  182. {{$item['goods_name']}}【{{$item['propsName']}} ¥{{$item['price']}}】 x {{$item['num']}}<br>
  183. @endforeach
  184. </div>
  185. </div>
  186. @endif
  187. <div class="row cl" style='display: none'>
  188. <label class="form-label col-xs-4 col-sm-2">
  189. 应收金额:</label>
  190. <div class="formControls col-xs-6 col-sm-6">
  191. <span id='should_amount_show'>{{old('should_amount')}}</span>
  192. <input id='should_amount' type="hidden" class="input-text" value="{{old('should_amount')}}" placeholder="" name="should_amount">
  193. </div>
  194. </div>
  195. <div class="row cl">
  196. <label class="form-label col-xs-4 col-sm-2">
  197. <font color='red'>* </font>实收金额:</label>
  198. <div class="formControls col-xs-6 col-sm-6">
  199. <input id='receivedAmount' type="text" class="input-text" value="{{old('receivedAmount')}}" placeholder="" name="receivedAmount">
  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 type="radio" name="payment_type" value="1" @if(old('payment_type')==='1') checked @else checked @endif>
  207. <label for="status-1" style="margin-right: 27px;">微信支付</label>
  208. <!--input type="radio" name="payment_type" value="2" @if(old('payment_type')==='2') checked @endif>
  209. <label for="status-0">付款码支付</label-->
  210. <input type="radio" name="payment_type" value="3" @if(old('payment_type')==='3') checked @endif>
  211. <label for="status-0" style="margin-right: 27px;">个体户支付</label>
  212. @if($self_role != '分销销售' && $self_role != '分销管理员')
  213. <input type="radio" name="payment_type" value="4" @if(old('payment_type')==='4') checked @endif>
  214. <label for="status-0">充值卡支付</label>
  215. @endif
  216. </div>
  217. </div>
  218. <div class="row cl" style="display: none" id='deposit_div'>
  219. <label class="form-label col-xs-4 col-sm-2">
  220. <font color='red'> </font>充值卡号:</label>
  221. <div class="formControls col-xs-6 col-sm-6">
  222. <input id='deposit_phone' type="text" class="input-text" onkeyup="getBalance()" value="{{old('deposit_phone')}}" placeholder="" name="deposit_phone">
  223. <font color='red' id='vip_pay'></font>
  224. </div>
  225. </div>
  226. <!--div class="row cl" style="display: none" id='deposit_div'>
  227. <label class="form-label col-xs-4 col-sm-2">
  228. <font color='red'> </font>充值卡号:</label>
  229. <div class="formControls col-xs-6 col-sm-6">
  230. <input id='deposit_phone_i' type="text" class="input-text" value="{{old('deposit_phone')}}" placeholder="*默认收货人手机号" disabled name="deposit_phone_i">
  231. <input id='deposit_phone' type="hidden" class="input-text" value="{{old('deposit_phone')}}" placeholder="" name="deposit_phone">
  232. <font color='red' id='vip_pay'></font>
  233. </div>
  234. </div-->
  235. <div class="row cl">
  236. <label class="form-label col-xs-4 col-sm-2">
  237. <font color='red'>* </font>是否退补单:</label>
  238. <div class="formControls col-xs-6 col-sm-6">
  239. <input type="radio" name="is_refund" value="0" @if(old('is_refund')==='0') checked @else checked @endif>
  240. <label for="status-1" style="margin-right: 27px;">否</label>
  241. <input type="radio" name="is_refund" value="1" @if(old('is_refund')==='1') checked @endif>
  242. <label for="status-0">是</label>
  243. </div>
  244. </div>
  245. <div class="row cl">
  246. <label class="form-label col-xs-4 col-sm-2">
  247. 应该退补差价:</label>
  248. <div class="formControls col-xs-6 col-sm-6">
  249. <input type="text" class="input-text" value="{{old('refund_price')}}" placeholder="" name="refund_price">
  250. </div>
  251. </div>
  252. <div class="row cl">
  253. <label class="form-label col-xs-4 col-sm-2">
  254. <font color='red'>* </font>下单时间:</label>
  255. <div class="formControls col-xs-6 col-sm-6">
  256. <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>
  257. </div>
  258. </div>
  259. <div class="row cl">
  260. <label class="form-label col-xs-4 col-sm-2">
  261. 买家备注:</label>
  262. <div class="formControls col-xs-6 col-sm-6">
  263. <textarea class="textarea" placeholder="填写买家备注..." name="buyerMemo">{{old('buyerMemo')}}</textarea>
  264. </div>
  265. </div>
  266. <div class="row cl">
  267. <label class="form-label col-xs-4 col-sm-2">
  268. 卖家备注:</label>
  269. <div class="formControls col-xs-6 col-sm-6">
  270. <textarea class="textarea" placeholder="填写卖家备注..." name="sellerMemo">{{old('sellerMemo')}}</textarea>
  271. </div>
  272. </div>
  273. @if(0)
  274. @if($self_role !='销售' && $self_role != '分销销售' )
  275. <div class="row cl">
  276. <label class="form-label col-xs-4 col-sm-2">
  277. 选择销售员(不选默认当前用户):</label>
  278. <div class="formControls col-xs-6 col-sm-6">
  279. <span class="select-box">
  280. <select size="1" name="team" id='team'>
  281. <option value="0" @if(old('team')=='') selected @endif>选择团队</option>
  282. @foreach($teamlist as $v)
  283. <option value="{{$v['id']}}" @if(old('team')==$v['id']) selected @endif>{{$v['name']}}</option>
  284. @endforeach
  285. </select>
  286. <select id='admins' size="1" name="admin_id">
  287. <option value="0" @if(old('admin_id')=='') selected @endif>-- 选择销售 --</option>
  288. @foreach($adminlist as $v)
  289. <option value="{{$v['id']}}" @if(old('admin_id')==$v['id']) selected @endif>{{$v['realname']}}</option>
  290. @endforeach
  291. </select>
  292. &nbsp;&nbsp;
  293. </span>
  294. </div>
  295. </div>
  296. @endif
  297. @endif
  298. <div class="row cl">
  299. <div class="col-9 col-offset-2">
  300. <button class="btn btn-primary radius" type='button' onclick="to_submit()" value="&nbsp;&nbsp;保存&nbsp;&nbsp;">&nbsp;&nbsp;保存&nbsp;&nbsp;</button>&nbsp;
  301. <button class="btn btn-primary radius" type='button' onclick="to_verify()" value="&nbsp;&nbsp;保存并提审&nbsp;&nbsp;">&nbsp;&nbsp;保存并提审&nbsp;&nbsp;</button>&nbsp;
  302. <button class="btn btn-default" type="reset" onclick="return_index();">&nbsp;&nbsp;返回&nbsp;&nbsp;</button>&nbsp;
  303. </div>
  304. </div>
  305. </form>
  306. </div>
  307. <!--_footer 作为公共模版分离出去-->
  308. <script type="text/javascript" src="/admin/lib/jquery/1.9.1/jquery.min.js"></script>
  309. <script type="text/javascript" src="/admin/lib/layer/2.4/layer.js"></script>
  310. <script type="text/javascript" src="/admin/static/h-ui/js/H-ui.min.js"></script>
  311. <script type="text/javascript" src="/admin/static/h-ui.admin/js/H-ui.admin.js"></script>
  312. <!--/_footer 作为公共模版分离出去-->
  313. <!--请在下方写此页面业务相关的脚本-->
  314. <script type="text/javascript" src="/admin/lib/My97DatePicker/4.8/WdatePicker.js"></script>
  315. <script type="text/javascript">
  316. $(function(){
  317. setTimeout("$('#error').hide()",3000);
  318. var dtime = today();
  319. $('#createTime').val(dtime);
  320. var tdate = today_date();
  321. $('#delivery').val(tdate);
  322. $('#category').change(function(){
  323. category = $('#category').val();
  324. if(category==''){
  325. return false;
  326. }
  327. $.ajax({
  328. 'url':'/admin/order/categoods/'+category,
  329. 'type': 'get',
  330. 'dataType':'json',
  331. 'success' : function(data){
  332. str = '<option value=\'0\'>-- 选择商品 --<\/option>';
  333. $.each(data, function(i, va){
  334. var props = va.props_name;
  335. if(props != ''){
  336. props = '【' + props + '】';
  337. }
  338. var price = va.price;
  339. if(price > 0){
  340. price = '【¥' + price + '元】';
  341. }else{
  342. price = '';
  343. }
  344. str += '<option value="'+va.id+'">' + va.goods_name + props + price +'<\/option>';
  345. })
  346. $('#goods').html(str);
  347. }
  348. });
  349. })
  350. $('#team').change(function(){
  351. team = $('#team').val();
  352. if(team==''){
  353. return false;
  354. }
  355. $.ajax({
  356. 'url':'/admin/order/teamAdmins/'+team,
  357. 'type': 'get',
  358. 'dataType':'json',
  359. 'success' : function(data){
  360. str = '<option value=\'0\'>-- 选择销售 --<\/option>';
  361. $.each(data, function(i, va){
  362. str += '<option value="'+va.id+'">' + va.realname +'<\/option>';
  363. })
  364. $('#admins').html(str);
  365. }
  366. });
  367. })
  368. $('input[type=radio][name=payment_type]').change(function () {
  369. var payment_type = $("input[type='radio'][name='payment_type']:checked").val();
  370. if(payment_type==4){
  371. var phone = $("input[name=receiverMobile]").val();
  372. $("#deposit_phone").val(phone);
  373. $("#deposit_div").show();
  374. //获取充值卡余额
  375. var reg = /^1\d{10}$/
  376. if(!reg.test(phone)){
  377. return false;
  378. }
  379. $.ajax({
  380. 'url':'/admin/cust/getBalance/'+phone,
  381. 'type': 'get',
  382. 'success' : function(data){
  383. var str = '【充值卡余额为:'+data+'元】';
  384. $("#vip_pay").html(str);
  385. }
  386. });
  387. }else{
  388. $("#deposit_div").hide();
  389. }
  390. })
  391. });
  392. function getBalance(){
  393. var phone = $("input[name=deposit_phone]").val();
  394. var reg = /^1\d{10}$/
  395. if(!reg.test(phone)){
  396. $("#vip_pay").html('【充值卡余额为:0元】');
  397. return false;
  398. }
  399. //获取充值卡余额
  400. $.ajax({
  401. 'url':'/admin/cust/getBalance/'+phone,
  402. 'type': 'get',
  403. 'success' : function(data){
  404. var str = '【充值卡余额为:'+data+'元】';
  405. $("#vip_pay").html(str);
  406. }
  407. });
  408. }
  409. /*返回*/
  410. function return_index(){
  411. location.href='/admin/order/index';
  412. }
  413. function add_goods(goods_id,sku_id,name,props_name,price,is_weigh,quantity,is_white){
  414. var gnum = $("#gnum"+sku_id).val();
  415. var weigh_unit = '数量';
  416. var weigh_note = '';
  417. var weigh_unit_name = '';
  418. if(is_weigh == 1){
  419. weigh_unit = '重量';
  420. weigh_unit_name = '(斤)';
  421. weigh_note = '<font color=\'red\'> (称重商品,至少0.5斤) <\/font>';
  422. }
  423. if(gnum){
  424. var n = gnum;
  425. n = parseFloat(n)+1
  426. $("#gnum"+sku_id).val(n);
  427. }
  428. else{
  429. var quantity_str = '库存:'+quantity;
  430. if(is_white==1){
  431. quantity_str = '虚拟库存';
  432. }
  433. var str = "<div>"+name+' 【 规格:'+props_name+' '+quantity_str+" 】&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 +","+ quantity + ","+ is_white +")\">-<\/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+" quantity="+quantity+" is_white="+is_white+" 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 + ","+ quantity + ","+ is_white +")\">+<\/button>"+weigh_unit_name+" &nbsp;&nbsp;<button type='button' onclick='del_sku(this, "+sku_id+","+ price + ")'> 移除<\/button> &nbsp;&nbsp;"+weigh_note+"<\/div>";
  434. $("#goods_o").append(str);
  435. sessionStorage.setItem('goods_o_con',$("#goods_o").html());
  436. }
  437. sync_money()
  438. document.getElementById('good_sku').style.display='none'
  439. return false;
  440. }
  441. function add_num(sku_id, price, is_weigh, quantity, is_white){
  442. var gnum = $("#gnum"+sku_id).val();
  443. var n = gnum;
  444. n = parseFloat(n)+1
  445. $("#gnum"+sku_id).val(n);
  446. $("#gnum_con" + sku_id).html("<input style='width:40px;' id='gnum"+ sku_id +"' class='gnums' onkeyup='sync_money();' price="+price+" is_weigh="+is_weigh+" quantity="+quantity+" is_white="+is_white+" type=\'text\' name=\'gnum[]\' value=" + n + " \/>")
  447. sessionStorage.setItem('goods_o_con',$("#goods_o").html());
  448. sync_money()
  449. return false;
  450. }
  451. function cut_num(sku_id, price, is_weigh, quantity, is_white){
  452. var gnum = $("#gnum"+sku_id).val();
  453. var n = gnum;
  454. if(n == 1){
  455. return false;
  456. }
  457. n = parseFloat(n)-1;
  458. $("#gnum"+sku_id).val(n);
  459. $("#gnum_con" + sku_id).html("<input style='width:40px;' id='gnum"+ sku_id +"' class='gnums' onkeyup='sync_money();' price="+price+" is_weigh="+is_weigh+" quantity="+quantity+" is_white="+is_white+" type=\'text\' name=\'gnum[]\' value=" + n + " \/>")
  460. sessionStorage.setItem('goods_o_con',$("#goods_o").html());
  461. sync_money()
  462. return false;
  463. }
  464. function del_sku(obj, sku_id, price){
  465. //console.log(obj)
  466. var gnum = $("#gnum"+sku_id).val();
  467. $(obj).parent().remove();
  468. sessionStorage.setItem('goods_o_con',$("#goods_o").html());
  469. sync_money();
  470. }
  471. function sync_money(){
  472. var gnums = new Array();
  473. var total = 0;
  474. $('.gnums').each(function(key, value){
  475. var gnum = $(this).val();
  476. var price = $(this).attr('price');
  477. total = total + parseFloat(price) * parseFloat(gnum);
  478. });
  479. if(total>0){
  480. $("#should_amount").val(total);
  481. $("#should_amount_show").html(total);
  482. }else{
  483. $("#should_amount").val('');
  484. $("#should_amount_show").html('');
  485. }
  486. return false;
  487. }
  488. function today(){
  489. var today=new Date();
  490. var h=today.getFullYear();
  491. var m=today.getMonth()+1;
  492. var d=today.getDate();
  493. var hh=today.getHours();
  494. var mm=today.getMinutes();
  495. var ss=today.getSeconds();
  496. m= m<10?"0"+m:m;
  497. d= d<10?"0"+d:d;
  498. hh = hh < 10 ? "0" + hh:hh;
  499. mm = mm < 10 ? "0" + mm:mm;
  500. ss = ss < 10 ? "0" + ss:ss;
  501. return h+"-"+m+"-"+d+" "+hh+":"+mm+":"+ss;
  502. }
  503. function today_date(){
  504. var today=new Date();
  505. var h=today.getFullYear();
  506. var m=today.getMonth()+1;
  507. var d=today.getDate();
  508. var hh=today.getHours();
  509. var mm=today.getMinutes();
  510. var ss=today.getSeconds();
  511. m= m<10?"0"+m:m;
  512. d= d<10?"0"+d:d;
  513. hh = hh < 10 ? "0" + hh:hh;
  514. mm = mm < 10 ? "0" + mm:mm;
  515. ss = ss < 10 ? "0" + ss:ss;
  516. return h+"-"+m+"-"+d;
  517. }
  518. function getAddress(){
  519. var phone = $('input[name=receiverMobile]').val();
  520. var reg = /^1\d{10}$/
  521. if(reg.test(phone)){
  522. $.ajax({
  523. 'url': '/admin/order/getAddress?phone='+phone,
  524. 'type': 'get',
  525. 'dateType': 'json',
  526. success:function(data){
  527. if(data != '0'){
  528. data = eval("("+data+")");
  529. $("input[name=receiverState]").val(data.receiverState);
  530. $("input[name=receiverCity]").val(data.receiverCity);
  531. //$("input[name=receiverDistrict]").val(data.receiverDistrict);
  532. //$("input[name=receiverStreet]").val(data.receiverStreet);
  533. $("input[name=receiverAddress]").val(data.receiverAddress);
  534. $("input[name=fanTime]").val(data.fanTime);
  535. $("#fanTime_div").hide();
  536. }
  537. else{
  538. $("#fanTime_div").show();
  539. }
  540. }
  541. })
  542. }
  543. }
  544. // function getGoods(){
  545. // var name = $('input[name=goods_name]').val();
  546. // if(!name){
  547. // return false;
  548. // }
  549. // $.ajax({
  550. // 'url': '/admin/goods/searchSkus',
  551. // 'type': 'get',
  552. // 'data':{name:name},
  553. // 'dateType': 'json',
  554. // success:function(data){
  555. // if(data != '0'){
  556. // data = eval("("+data+")");
  557. // }
  558. // }
  559. // })
  560. // }
  561. function to_verify(){
  562. if(!form_verify()){
  563. return false;
  564. }
  565. $("input[name=status]").val('1');
  566. var warehouse = $("#warehouse").val();
  567. if(warehouse == 3){
  568. var if_good = $('.gnums');
  569. if(!if_good.length){
  570. layer.msg('仓库C必须选择商品!',{icon:2,time:1500});
  571. return false;
  572. }
  573. }
  574. $(".btn").attr("disabled",true);
  575. //console.log('disabled')
  576. $("#order-form").submit();
  577. return true;
  578. }
  579. function to_submit(){
  580. if(!form_verify()){
  581. return false;
  582. }
  583. $("input[name=status]").val('0');
  584. //console.log('disabled1')
  585. var warehouse = $("#warehouse").val();
  586. if(warehouse == 3){
  587. var if_good = $('.gnums');
  588. if(!if_good.length){
  589. layer.msg('仓库C必须选择商品!',{icon:2,time:1500});
  590. return false;
  591. }
  592. }
  593. $(".btn").attr("disabled",true);
  594. $("#order-form").submit();
  595. return true;
  596. }
  597. $("#goods_o").append(sessionStorage.getItem('goods_o_con'));
  598. $('input[name=goods_name]').on('keyup focus', function(){
  599. var name = $('input[name=goods_name]').val();
  600. name = name.replace(/\s+/g,"");
  601. if(!name){
  602. return false;
  603. }
  604. $.ajax({
  605. 'url': '/admin/goods/searchSkus',
  606. 'type': 'get',
  607. 'data':{name:name},
  608. 'dateType': 'json',
  609. success:function(data){
  610. if(data != '0'){
  611. data = eval("("+data+")");
  612. var str = '';
  613. for (var i = 0, l = data.length; i < l; i++) {
  614. var item = data[i];
  615. var weigh_t = '';
  616. if(item.is_weigh==1){
  617. weigh_t = '【按半斤称重】';
  618. }
  619. if(item.is_white == 0 && item.quantity <= 0){
  620. weigh_t += '<font color="red">【库存不足】<\/font>';
  621. str += '<li>'+ item.name+'【 规格:'+item.propsName+'&nbsp;&nbsp; 】'+weigh_t+'<\/li>'
  622. }
  623. else{
  624. str += '<li onclick=\'add_goods('+item.goods_id+','+item.sku_id+',"'+item.name+'","'+item.propsName+'",'+item.price+','+item.is_weigh+','+item.quantity+','+item.is_white+');\'>'+ item.name+'【 规格:'+item.propsName+'&nbsp;&nbsp; 】'+weigh_t+'<\/li>'
  625. }
  626. // '<p onclick=\'add_goods('+item.goods_id+','+item.sku_id+',"'+item.name+'","'+item.propsName+'",'+item.price+');\'>'+ item.name+' '+item.propsName+' ¥'+item.price +'<\/p>';
  627. }
  628. document.getElementById('good_sku').innerHTML = str;
  629. document.getElementById('good_sku').style.display='block'
  630. }
  631. }
  632. })
  633. });
  634. $("body").on('click', function(){
  635. $('input[name=goods_name]').on('click',function(e){
  636. e.stopPropagation();
  637. });
  638. document.getElementById('good_sku').style.display='none'
  639. })
  640. function weigh_verify(){
  641. var if_no = 0;
  642. $('.gnums').each(function(key, value){
  643. var gnum = $(this).val();
  644. gnum = parseFloat(gnum);
  645. var is_weigh = $(this).attr('is_weigh');
  646. if(gnum<0.5){
  647. if_no = 1;
  648. return;
  649. }
  650. if(is_weigh == 0 && gnum%1 != 0){
  651. if_no = 2;
  652. return;
  653. }
  654. if(is_weigh == 1 && gnum%0.5 != 0){
  655. if_no = 3;
  656. return;
  657. }
  658. var quantity = $(this).attr('quantity');
  659. var is_white = $(this).attr('is_white');
  660. if(is_white==0 && gnum>quantity){
  661. if_no=4;
  662. return;
  663. }
  664. });
  665. return if_no;
  666. }
  667. function form_verify(){
  668. var customerName = $("input[name=customerName]").val();
  669. if(!customerName){
  670. layer.msg('买家姓名不能为空!',{icon:2,time:1500});
  671. return false;
  672. }
  673. var receiverName = $("input[name=receiverName]").val();
  674. if(!receiverName){
  675. layer.msg('收件人姓名不能为空!',{icon:2,time:1500});
  676. return false;
  677. }
  678. var receiverMobile = $("input[name=receiverMobile]").val();
  679. if(!receiverMobile){
  680. layer.msg('收件人手机号不能为空!',{icon:2,time:1500});
  681. return false;
  682. }
  683. var preg = /^1[3456789]\d{9}$/;
  684. if(!preg.test(receiverMobile)){
  685. layer.msg('收件人手机号格式有误!',{icon:2,time:1500});
  686. return false;
  687. }
  688. var fanTime = $("input[name=fanTime]").val();
  689. if(!fanTime){
  690. layer.msg('加粉时间不能为空!',{icon:2,time:1500});
  691. return false;
  692. }
  693. var tdate = today_date();
  694. if(fanTime>tdate){
  695. layer.msg('加粉时间不能超过今天!',{icon:2,time:1500});
  696. return false;
  697. }
  698. var receiverState = $("input[name=receiverState]").val();
  699. if(!receiverState){
  700. layer.msg('省份不能为空!',{icon:2,time:1500});
  701. return false;
  702. }
  703. var receiverCity = $("input[name=receiverCity]").val();
  704. if(!receiverCity){
  705. layer.msg('城市不能为空!',{icon:2,time:1500});
  706. return false;
  707. }
  708. var receiverAddress = $("input[name=receiverAddress]").val();
  709. if(!receiverAddress){
  710. layer.msg('详细地址不能为空!',{icon:2,time:1500});
  711. return false;
  712. }
  713. var delivery_date = $("input[name=delivery_date]").val();
  714. if(!delivery_date){
  715. layer.msg('预发货时间不能为空!',{icon:2,time:1500});
  716. return false;
  717. }
  718. var warehouse = $("#warehouse").val();
  719. if(warehouse<1){
  720. layer.msg('仓库必须选择!',{icon:2,time:1500});
  721. return false;
  722. }
  723. var receivedAmount = $("input[name=receivedAmount]").val();
  724. if(!receivedAmount){
  725. layer.msg('实付金额不能为空!',{icon:2,time:1500});
  726. return false;
  727. }
  728. if(isNaN(receivedAmount)){
  729. layer.msg('实付金额必须为数字!',{icon:2,time:1500});
  730. return false;
  731. }
  732. //验证称重>0.5
  733. var if_no = weigh_verify();
  734. if(if_no > 0){
  735. if(if_no == 1){
  736. layer.msg('商品数量填写有误!',{icon:2,time:1500});
  737. }
  738. if(if_no == 2){
  739. layer.msg('非称重商品数量必须为整数!',{icon:2,time:1500});
  740. }
  741. if(if_no == 3){
  742. layer.msg('称重商品重量必须为0.5的倍数!',{icon:2,time:1500});
  743. }
  744. if(if_no == 4){
  745. layer.msg('商品数量不得大于库存量!',{icon:2,time:1500});
  746. }
  747. return false;
  748. }
  749. //验证充值卡
  750. var is_ok = 1;
  751. var payment_type = $("input[type='radio'][name='payment_type']:checked").val();
  752. if(payment_type==4){
  753. //使用充值卡不能使用优惠券验证
  754. use_coupon = $("input[type='radio'][name='use_coupon']:checked").val();
  755. if(use_coupon == 1){
  756. layer.msg('充值卡不能和优惠券同时使用!',{icon:2,time:1500});
  757. return false;
  758. }
  759. var phone = $("input[name=deposit_phone]").val();
  760. if(!phone){
  761. is_ok = 0;
  762. }
  763. //获取充值卡余额
  764. $.ajax({
  765. url:'/admin/cust/getBalance/'+phone,
  766. type: 'get',
  767. async:false,
  768. success : function(data){
  769. data=parseFloat(data);
  770. receivedAmount=parseFloat(receivedAmount);
  771. if(data<receivedAmount){
  772. is_ok = 0;
  773. }else{
  774. is_ok = 1;
  775. }
  776. }
  777. });
  778. if(is_ok==0){
  779. layer.msg('充值卡余额不足,请充值或选择其他付款方式!',{icon:2,time:1500});
  780. return false;
  781. }
  782. }
  783. return true;
  784. }
  785. function getVip(){
  786. var phone = $('input[name=buyer_phone]').val();
  787. var reg = /^1\d{10}$/
  788. if(reg.test(phone)){
  789. $.ajax({
  790. 'url': '/admin/order/getVip?phone='+phone,
  791. 'type': 'get',
  792. 'dateType': 'json',
  793. success:function(data){
  794. data = eval("("+data+")");
  795. if(data.code==0){
  796. if(data.data.coupons == 1){
  797. $("input[name=use_coupon]").removeAttr('disabled');
  798. //$("#use_coupon_1").attr("checked","checked");
  799. $("#use_coupon_div").show();
  800. }
  801. if(data.data.if_m_gift == 1){
  802. $("#m_gift").removeAttr('disabled');
  803. $("#m_gift_div").show();
  804. }
  805. if(data.data.if_b_gift == 1){
  806. $("input[name=use_b_gift]").removeAttr('disabled');
  807. //$("#use_b_gift_1").attr("checked","checked");
  808. $("#b_gift_div").show();
  809. $("#b_gift_list").show();
  810. }
  811. }else{
  812. $("input[name=use_coupon]").attr('disabled','disabled');
  813. $("#m_gift").attr('disabled','disabled');
  814. $("input[name=use_b_gift]").attr('disabled','disabled');
  815. $("#use_coupon_div").hide();
  816. $("#m_gift_div").hide();
  817. $("#b_gift_div").hide();
  818. $("#b_gift_list").hide();
  819. }
  820. }
  821. })
  822. }
  823. else{
  824. $("input[name=use_coupon]").attr('disabled','disabled');
  825. $("#m_gift").attr('disabled','disabled');
  826. $("input[name=use_b_gift]").attr('disabled','disabled');
  827. $("#use_coupon_div").hide();
  828. $("#m_gift_div").hide();
  829. $("#b_gift_div").hide();
  830. $("#b_gift_list").hide();
  831. }
  832. }
  833. </script>
  834. </body>
  835. @endsection