resume.blade.php 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354
  1. @extends('mobile.module.layouts.content')
  2. @push('meta')
  3. @endpush
  4. @push('css')
  5. <link rel="stylesheet" href="{{ theme_asset('mobile/css/company.css') }}">
  6. @endpush
  7. @push('js')
  8. @endpush
  9. @section('content')
  10. <div class="order-top">
  11. <div class="txt">
  12. 增值包有效期与您的套餐到期时间一致,购买后请尽快使用。当前套餐到期时间:<span class="font_yellow">@if(!$mysetmeal->endtime) 无期限 @else {{ date('Y-m-d',strtotime($mysetmeal->endtime)) }} @endif</span>
  13. </div>
  14. </div>
  15. <div class="split-block"></div>
  16. <div class="ptitle border">
  17. <div class="th1">选择简历增值包</div>
  18. </div>
  19. @foreach($cat_arr as $key => $vo)
  20. <div class="list_height plist-txt order-service-item @if($key == '0') active @endif @if($key == count($cat_arr)-1)last @endif " service_id="{{ $vo->id }}" service_type="{{ $vo->cat }}" service_price="{{ $vo->service_price }}" service_points="{{ $vo->service_points }}" service_name="{{ $vo->name }}">
  21. <div class="pic"></div>
  22. <div class="tit font14">{{ $vo->name }},<span class="font_yellow">{{ $vo->service_price }}元</span><span class="font_gray9">(VIP价:{{ $vo->vip_price}}元)</span></div>
  23. <div class="clear"></div>
  24. </div>
  25. @endforeach
  26. <div class="clear"></div>
  27. <div class="split-block"></div>
  28. <div class="list_height plist-txt notarrow">
  29. <div class="pic"></div>
  30. <div class="tit font14">订单金额</div>
  31. <div class="describe font13">@if(config('aix.mobile.mobile_set.mobile_set.mobile_setmeal_increment_discount_value') > 0) <span class="discount_notice font12">触屏版专享优惠价</span> @endif<span class="font_yellow" id="total_amount">{{ $cat_arr[0]->service_price }}</span>元</div>
  32. <div class="arrow"></div>
  33. <div class="clear"></div>
  34. </div>
  35. <div class="list_height plist-txt notarrow pay-type">
  36. <div class="pic"></div>
  37. <div class="tit font14">支付方式</div>
  38. <div class="describe font12">
  39. <div class="radio-list pay-type-list">
  40. <div class="radio points active">
  41. <div class="pic"></div>
  42. <div class="txt">积分支付</div>
  43. </div>
  44. <div class="radio cash">
  45. <div class="pic"></div>
  46. <div class="txt">线上支付</div>
  47. </div>
  48. <div class="clear"></div>
  49. </div>
  50. </div>
  51. <div class="arrow"></div>
  52. <div class="clear"></div>
  53. </div>
  54. <div class="list_height plist-txt notarrow points-pay-relation">
  55. <div class="pic"></div>
  56. <div class="tit font14">所需积分</div>
  57. <div class="describe font13"><span class="font_yellow" id="total_points">{{ $cat_arr[0]->service_points }}</span></div>
  58. <div class="arrow"></div>
  59. <div class="clear"></div>
  60. </div>
  61. <div class="list_height plist-txt notarrow cash-pay-relation">
  62. <div class="pic"></div>
  63. <div class="tit font14">积分抵扣</div>
  64. <div class="describe font13"><input type="number" value="" placeholder="当前共有{{ $mypoint->points }}积分" id="deductible_val"></div>
  65. <div class="arrow"></div>
  66. <div class="clear"></div>
  67. </div>
  68. <div class="list_height plist-txt notarrow cash-pay-relation last">
  69. <div class="pic"></div>
  70. <div class="tit font14">应付金额</div>
  71. <div class="describe font13"><span class="font_yellow" id="need_amount">{{ $cat_arr[0]->service_price }}</span></div>
  72. <div class="arrow"></div>
  73. <div class="clear"></div>
  74. </div>
  75. <div class="split-block"></div>
  76. <div class="payment-list cash-pay-relation" style="display:none;">
  77. @if(is_weixin())
  78. <div class="payment wechat active">
  79. <div class="pic wechat"></div>
  80. <div class="txt">
  81. <div class="payment-name font14">微信支付</div>
  82. <div class="payment-intro font12 font_gray9">推荐已在微信中绑定银行卡的用户使用</div>
  83. </div>
  84. <div class="radio active"></div>
  85. </div>
  86. @else
  87. <div class="payment alipay active">
  88. <div class="pic alipay"></div>
  89. <div class="txt">
  90. <div class="payment-name font14">支付宝支付</div>
  91. <div class="payment-intro font12 font_gray9">推荐已下载支付宝客户端的用户使用</div>
  92. </div>
  93. <div class="radio active"></div>
  94. </div>
  95. <div class="payment wechat last">
  96. <div class="pic wechat"></div>
  97. <div class="txt">
  98. <div class="payment-name font14">微信支付</div>
  99. <div class="payment-intro font12 font_gray9">推荐已在微信中绑定银行卡的用户使用</div>
  100. </div>
  101. <div class="radio "></div>
  102. </div>
  103. @endif
  104. <div class="clear"></div>
  105. </div>
  106. <div class="btn-spacing"><div class="qs-btn qs-btn-blue font18" id="submit_pay">提交订单</div></div>
  107. <div class="split-block"></div>
  108. <!--当前用户的积分数-->
  109. <input type="hidden" name="my_points" id="my_points" value=" {{ $mypoint->points }}">
  110. <!--当前服务类型id-->
  111. <input type="hidden" name="service_id" id="service_id" value="{{ $cat_arr[0]->id }}">
  112. <input type="hidden" name="service_type" id="service_type" value="{{ $cat}}">
  113. <!--当前服务类型所需积分数-->
  114. <input type="hidden" name="service_points" id="service_points" value="{{ $cat_arr[0]->service_points }}">
  115. <!--当前服务类型所需人民币-->
  116. <input type="hidden" name="service_price" id="service_price" value="{{ $cat_arr[0]->service_price }}">
  117. <!--当前选择的支付方式-->
  118. <input type="hidden" name="payment" id="payment" value="@if(is_weixin()) wechat @else alipay @endif">
  119. <!--当前需要支付的金额-->
  120. <input type="hidden" name="pay_amount" id="pay_amount" value="{{ $cat_arr[0]->service_price }}">
  121. <div id="info"></div>
  122. @endsection
  123. @section('script')
  124. <script type="text/javascript">
  125. //定义当前用户的积分数
  126. var my_points = parseInt($('#my_points').val());
  127. //设置支付方式
  128. function set_payment(){
  129. if($('.pay-type-list .radio.points').hasClass('active')){
  130. $('#payment').val('points');
  131. }else{
  132. $('#payment').val($('.payment-list .payment.active').hasClass('wechat')?'wechat':'alipay');
  133. }
  134. }
  135. //初始化界面显示
  136. function init_shows(choose_pay_type){
  137. $('#submit_pay').addClass('enable');
  138. $('#submit_pay').addClass('qs-btn-blue');
  139. $('#submit_pay').removeClass('qs-btn-border-gray');
  140. $('#submit_pay').html("提交订单");
  141. //定义当前服务类型所需积分数
  142. var service_points = parseFloat($('#service_points').val());
  143. if(choose_pay_type){
  144. //定义当前所选支付类型
  145. var pay_type = $('.pay-type-list .radio.points').hasClass('active')?'points':'cash';
  146. if(pay_type=='points'){
  147. $('.cash-pay-relation').hide();
  148. $('.points-pay-relation').show();
  149. if(my_points<service_points){
  150. $('#submit_pay').removeClass('enable');
  151. $('#submit_pay').addClass('qs-btn-border-gray');
  152. $('#submit_pay').removeClass('qs-btn-blue');
  153. $('#submit_pay').html("积分不足,无法完成支付");
  154. }
  155. }else{
  156. $('.cash-pay-relation').show();
  157. $('.points-pay-relation').hide();
  158. }
  159. }else{
  160. if(my_points>=service_points){
  161. $('.cash-pay-relation').hide();
  162. $('.points-pay-relation').show();
  163. $('.pay-type-list .radio').removeClass('active');
  164. $('.pay-type-list .radio.points').addClass('active');
  165. }else{
  166. $('.cash-pay-relation').show();
  167. $('.points-pay-relation').hide();
  168. $('.pay-type-list .radio').removeClass('active');
  169. $('.pay-type-list .radio.cash').addClass('active');
  170. }
  171. }
  172. }
  173. init_shows(false);
  174. set_payment();
  175. //选择服务类型
  176. $('.order-service-item').on('click',function(){
  177. $('.order-service-item').removeClass('active');
  178. $(this).addClass('active');
  179. $('#service_id').val($(this).attr('service_id'));
  180. $('#service_points').val($(this).attr('service_points'));
  181. $('#service_price').val($(this).attr('service_price'));
  182. //订单金额显示
  183. $('#total_amount').html($(this).attr('service_price'));
  184. //应付金额显示
  185. $('#need_amount').html($(this).attr('service_price'));
  186. //所需积分显示
  187. $('#total_points').html($(this).attr('service_points'));
  188. init_shows(false);
  189. after_deductible();
  190. set_payment();
  191. });
  192. //选择支付类型(积分?现金?)
  193. $('.pay-type-list .radio').on('click',function(){
  194. $('.pay-type-list .radio').removeClass('active');
  195. $(this).addClass('active');
  196. init_shows(true);
  197. set_payment();
  198. });
  199. //选择支付方式(支付宝?微信?)
  200. $('.payment-list .payment').on('click',function(){
  201. $('.payment-list .payment').removeClass('active');
  202. $('.payment-list .payment .radio').removeClass('active');
  203. $(this).addClass('active');
  204. $(this).children('.radio').addClass('active');
  205. $('#payment').val($(this).hasClass('wechat')?'wechat':'alipay');
  206. });
  207. //填写抵扣积分数
  208. $('#deductible_val').on('keyup',function(){
  209. var input_val = parseInt($(this).val());
  210. var service_points = parseInt($('#service_points').val());
  211. var max_val = my_points<service_points?my_points:service_points;
  212. if(input_val>max_val){
  213. $(this).val(max_val);
  214. }
  215. after_deductible();
  216. });
  217. //计算抵扣后的金额
  218. function after_deductible(){
  219. var return_val = 0.0;
  220. var service_points = parseInt($('#service_points').val());
  221. var deductible = $('#deductible_val').val()==''?0:parseInt($('#deductible_val').val());
  222. var rate = parseInt("{{ $payment_rate}}");
  223. var minus_val = service_points-deductible;
  224. if(minus_val>0){
  225. return_val = parseFloat(minus_val/rate);
  226. }
  227. $('#need_amount').html(return_val);
  228. $('#pay_amount').val(return_val);
  229. }
  230. function isWeiXin() {
  231. var ua = window.navigator.userAgent.toLowerCase();
  232. console.log(ua);//mozilla/5.0 (iphone; cpu iphone os 9_1 like mac os x) applewebkit/601.1.46 (khtml, like gecko)version/9.0 mobile/13b143 safari/601.1
  233. if (ua.match(/MicroMessenger/i) == 'micromessenger') {
  234. return true;
  235. } else {
  236. return false;
  237. }
  238. }
  239. function onBridgeReady(result){
  240. WeixinJSBridge.invoke(
  241. 'getBrandWCPayRequest', {
  242. "appId":result.appId, //公众号名称,由商户传入
  243. "timeStamp":result.timeStamp, //时间戳,自1970年以来的秒数
  244. "nonceStr":result.nonceStr, //随机串
  245. "package":result.package,
  246. "signType":result.signType, //微信签名方式:
  247. "paySign":result.paySign //微信签名
  248. },
  249. function(res){
  250. if(res.err_msg == "get_brand_wcpay_request:ok" ){
  251. // 使用以上方式判断前端返回,微信团队郑重提示:
  252. //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
  253. alert("支付成功!")
  254. window.location.href ="{{route($sub_site.'mobile.firm.service.order.index')}}";
  255. }
  256. });
  257. }
  258. //提交订单
  259. var lock = 0;
  260. $('#submit_pay').on('click',function(){
  261. if($(this).hasClass('enable') && !lock){
  262. lock = 1;
  263. $.getJSON("{{ route($sub_site.'increment.confirm') }}",function(data){
  264. if(data.status==1){
  265. var dialog = new QSpopout();
  266. dialog.setContent(data.data.html);
  267. dialog.show();
  268. lock = 0;
  269. dialog.getPrimaryBtn().on('click', function () {
  270. var payment = $('#payment').val();
  271. var service_id = $('#service_id').val();
  272. var service_type = $('#service_type').val();
  273. var deductible_val = $('#deductible_val').val();
  274. var is_deductible = 0;
  275. var need_amount = $("#pay_amount").val();
  276. var url = "{{ route($sub_site.'mobile.firm.service.increment.pay') }}";
  277. if(deductible_val) {
  278. is_deductible = 1;
  279. }
  280. if(need_amount == 0) {
  281. payment ='points';
  282. }
  283. if(payment != "points") {
  284. var data = "?service_type=" + service_type + "&amount=" + need_amount + "&cat={{ $cat }}&is_deductible=" + is_deductible + "&payment_name=" + payment + "&pay_type=" + payment + "&project_id=" + service_id + "&deductible=" + deductible_val+"";
  285. if(!isWeiXin()){ //H5 支付
  286. url = url + data;
  287. console.log(url);return false;
  288. window.location.href = url;
  289. }else{ //微信内支付
  290. url = url + data;
  291. $.get(url,function (result) {
  292. if(result.status==0){
  293. alert(result.msg);
  294. }else{
  295. onBridgeReady(result.msg)
  296. }
  297. }, 'json');
  298. }
  299. } else {
  300. $.post(url, {
  301. _token: "{{ csrf_token() }}",
  302. service_type: service_type,
  303. amount: need_amount,
  304. cat: "{{ $cat }}",
  305. is_deductible: is_deductible,
  306. payment_name: payment,
  307. pay_type: payment,
  308. project_id: service_id,
  309. deductible_val: deductible_val
  310. }, function (result) {
  311. if (result.status == 1) {
  312. qsToast({type: 1, context: "您已成功购买简历包,订单号为:【" + result.data + "】"});
  313. setTimeout(function () {
  314. location.href = "{{ route($sub_site.'mobile.firm.service.order.index') }}";
  315. })
  316. } else {
  317. qsToast({type: 2, context: result.msg});
  318. return false;
  319. }
  320. }, 'json');
  321. }
  322. });
  323. }
  324. });
  325. }
  326. });
  327. </script>
  328. @endsection