init.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  1. <div class="page-title">
  2. <div class="title-env">
  3. <h1 class="title">初始化设置</h1>
  4. </div>
  5. <div class="breadcrumb-env">
  6. <ol class="breadcrumb bc-1">
  7. <li>
  8. <a href="/"><i class="fa-home"></i>Home</a>
  9. </li>
  10. <li>
  11. <a href="/set/index">商城管理</a>
  12. </li>
  13. <li class="active">
  14. <strong>初始化设置</strong>
  15. </li>
  16. </ol>
  17. </div>
  18. </div>
  19. <div class="row">
  20. <div class="col-sm-12">
  21. <div class="panel panel-default">
  22. <div class="panel-body">
  23. <form role="form" class="form-horizontal">
  24. <div class="form-group">
  25. <label class="col-sm-2 control-label" for="field-4">关注公众号</label>
  26. <div class="col-sm-10">
  27. <p style="color:#555;">
  28. <label class="radio-inline">
  29. <input type="radio" name="giveCoupon" value="1" <?php if($extend['giveCoupon'] == 1){ ?> checked="checked" <?php } ?> >
  30. 赠送代金劵(重复关注不赠送)
  31. </label>
  32. <label class="radio-inline">
  33. <input type="radio" name="giveCoupon" value="0" <?php if($extend['giveCoupon'] == 0){ ?> checked="checked" <?php } ?> >
  34. 不赠送
  35. </label>
  36. </p>
  37. </div>
  38. </div>
  39. <div class="form-group" name="couponArea" style="display:<?php if($extend['giveCoupon'] == 1){ ?>block<?php }else{ ?>none<?php } ?>">
  40. <label class="col-sm-2 control-label" for="field-4"></label>
  41. <div class="col-sm-10">
  42. 代金劵 <input type="text" name="giveCouponPrice" value="<?= intval($extend['giveCouponPrice']) ?>" class="form-control" style="width:80px;display:inline-block;margin-right:2px;" placeholder="">元,
  43. 消费金额满 <input type="text" name="couponMeetPrice" value="<?= intval($extend['couponMeetPrice']) ?>" class="form-control" style="width:80px;display:inline-block;margin-right:2px;" placeholder="">元可用,
  44. 有效期 <input type="text" name="couponValidity" value="<?= intval($extend['couponValidity']) ?>" class="form-control" style="width:80px;display:inline-block;margin-right:2px;" placeholder="">天
  45. </div>
  46. </div>
  47. <div style="border:1px solid #ccc;border-radius:5px;margin:0 0 10px 0;padding:10px 0 0 0;">
  48. <div name="gradeList">
  49. <?php if(!empty($gradeList)){ ?>
  50. <?php foreach($gradeList as $gradeKey => $gradeVal){?>
  51. <div class="form-group" style="color:#555">
  52. <label class="col-sm-2 control-label" for="field-4"><?= $gradeVal['level'] ?>级会员</label>
  53. <div class="col-sm-10">
  54. 需积分:<input type="text" <?php if($extend['integral'] == 1){ echo 'readonly'; } ?> name="integralVal" value="<?= $gradeVal['point'] ?>" class="form-control" style="width:100px;display:inline-block;" placeholder="">
  55. 享 <input type="text" <?php if($extend['integral'] == 1){ echo 'readonly'; } ?> name="discountVal" value="<?= $gradeVal['discount'] ?>" class="form-control" style="width:100px;display:inline-block;" placeholder=""> 折优惠
  56. <?php if($gradeKey > 4){ ?>
  57. <li onclick="delGrade(this,<?= $gradeKey ?>)" style="cursor:pointer;font-size:130%" class="fa-trash"></li>
  58. <?php } ?>
  59. </div>
  60. </div>
  61. <?php } }else{ ?>
  62. <div class="form-group" style="color:#555">
  63. <label class="col-sm-2 control-label" for="field-4">1级会员</label>
  64. <div class="col-sm-10">
  65. 需积分:<input type="text" name="integralVal" class="form-control" style="width:100px;display:inline-block;" placeholder="">
  66. 享 <input type="text" name="discountVal" class="form-control" style="width:100px;display:inline-block;" placeholder=""> 折优惠
  67. </div>
  68. </div>
  69. <div class="form-group" style="color:#555">
  70. <label class="col-sm-2 control-label" for="field-4">2级会员</label>
  71. <div class="col-sm-10">
  72. 需积分:<input type="text" name="integralVal" class="form-control" style="width:100px;display:inline-block;" placeholder="">
  73. 享 <input type="text" name="discountVal" class="form-control" style="width:100px;display:inline-block;" placeholder=""> 折优惠
  74. </div>
  75. </div>
  76. <div class="form-group" style="color:#555">
  77. <label class="col-sm-2 control-label" for="field-4">3级会员</label>
  78. <div class="col-sm-10">
  79. 需积分:<input type="text" name="integralVal" class="form-control" style="width:100px;display:inline-block;" placeholder="">
  80. 享 <input type="text" name="discountVal" class="form-control" style="width:100px;display:inline-block;" placeholder=""> 折优惠
  81. </div>
  82. </div>
  83. <div class="form-group" style="color:#555">
  84. <label class="col-sm-2 control-label" for="field-4">4级会员</label>
  85. <div class="col-sm-10">
  86. 需积分:<input type="text" name="integralVal" class="form-control" style="width:100px;display:inline-block;" placeholder="">
  87. 享 <input type="text" name="discountVal" class="form-control" style="width:100px;display:inline-block;" placeholder=""> 折优惠
  88. </div>
  89. </div>
  90. <?php } ?>
  91. </div>
  92. <?php if(empty($extend['integral'])){ ?>
  93. <div class="form-group">
  94. <label class="col-sm-2 control-label"></label>
  95. <div class="col-sm-10" name="addGrade" style="cursor:pointer;">
  96. <li class="fa-plus"></li>增加等级
  97. </div>
  98. </div>
  99. <?php }else{ ?>
  100. <div class="form-group">
  101. <label class="col-sm-2 control-label"></label>
  102. <div class="col-sm-10" style="cursor:pointer;">
  103. 不能修改了哦!<li class="fa-smile-o"></li>
  104. </div>
  105. </div>
  106. <?php } ?>
  107. </div>
  108. <div class="form-group">
  109. <div class="col-sm-10">
  110. <div class="radio-inline">
  111. <label>
  112. <span style="color:red;">注意:以上积分会员关系只能修改一次哦</span>
  113. </label>
  114. </div>
  115. </div>
  116. </div>
  117. <div class="form-group" style="text-align:center;">
  118. <button type="button" name="modifySubmit" class="btn btn-info btn-single">确认</button>
  119. <button type="button" onclick="history.go(-1)" class="btn btn-info btn-single">返回</button>
  120. </div>
  121. </form>
  122. </div>
  123. </div>
  124. </div>
  125. </div>
  126. <!-- footer -->
  127. <?php
  128. use backend\widgets\FooterWidget;
  129. ?>
  130. <?= FooterWidget::widget()?>
  131. <!-- footer -->
  132. <script>
  133. //增加等级
  134. $("div[name=addGrade]").click(function(){
  135. var gradeList = $("div[name=gradeList]");
  136. var num = $("div[name=gradeList] > div").length;
  137. num++;
  138. if(num > 9){
  139. xhPopMsg('最多只能添加9个等级',1300);
  140. return;
  141. }
  142. var gradeHtml = '<div class="form-group" style="color:#555">\
  143. <label class="col-sm-2 control-label" for="field-4">'+num+'级会员</label>\
  144. <div class="col-sm-10">\
  145. 需积分:<input type="text" class="form-control" name="integralVal" style="width:100px;display:inline-block;" placeholder="">\
  146. 享 <input type="text" class="form-control" name="discountVal" style="width:100px;display:inline-block;" placeholder=""> 折优惠\
  147. <li onclick="delGrade(this,'+num+')" style="cursor:pointer;font-size:130%" class="fa-trash"></li>\
  148. </div>\
  149. </div>\
  150. ';
  151. gradeList.append(gradeHtml);
  152. });
  153. //删除等级
  154. function delGrade()
  155. {
  156. var o = arguments[0];
  157. var no = arguments[1];
  158. var num = $("div[name=gradeList] > div").length;
  159. if(no < num){
  160. xhPopMsg('请从最后面开始删除',1300);
  161. return;
  162. }
  163. $(o).parent().parent().remove();
  164. }
  165. var giveCouponPrice = $(":input[name=giveCouponPrice]");
  166. var couponMeetPrice = $(":input[name=couponMeetPrice]");
  167. var couponValidity = $(":input[name=couponValidity]");
  168. var validate = [];
  169. var needValidate = [];
  170. <?php if($extend['giveCoupon'] == 1){ ?>
  171. needValidate.push(giveCouponPrice,couponMeetPrice,couponValidity);
  172. <?php } ?>
  173. //是否赠送代金劵
  174. $(":radio[name=giveCoupon]").click(function(){
  175. var option = $(this).val();
  176. if(option == 1){
  177. $("div[name=couponArea]").css('display','block');
  178. needValidate = validate;
  179. needValidate.push(giveCouponPrice,couponMeetPrice,couponValidity);
  180. }else{
  181. $("div[name=couponArea]").css('display','none');
  182. needValidate = validate;
  183. }
  184. });
  185. setStats(giveCouponPrice, '请填写代金劵金额', function(val, mess){
  186. var info=[false, mess];
  187. if(val.length <= 0){
  188. info[1] = '请填写代金劵金额';
  189. }else if(isNaN(val) == false){
  190. if(Math.floor(val) == val){
  191. info[0] = true;
  192. info[1] = '填写正确';
  193. }else{
  194. info[1] = '代金劵金额必须是整数';
  195. }
  196. }else{
  197. info[1] = '代金劵金额填写错误';
  198. }
  199. return info;
  200. });
  201. setStats(couponMeetPrice, '请填写代金劵满足金额', function(val, mess){
  202. var info=[false, mess];
  203. if(val.length <= 0){
  204. info[1] = '请填写金额';
  205. }else if(isNaN(val) == false){
  206. if(Math.floor(val) == val){
  207. info[0] = true;
  208. info[1] = '填写正确';
  209. }else{
  210. info[1] = '消费金额必须是整数';
  211. }
  212. }else{
  213. info[1] = '金额填写错误';
  214. }
  215. return info;
  216. });
  217. setStats(couponValidity, '请填写有效期', function(val, mess){
  218. var info=[false, mess];
  219. if(val.length <= 0){
  220. info[1] = '请填写有效期';
  221. }else if(isNaN(val) == false){
  222. if(Math.floor(val) == val){
  223. info[0] = true;
  224. info[1] = '填写正确';
  225. }else{
  226. info[1] = '有效期必须是整数';
  227. }
  228. }else{
  229. info[1] = '有效期填写错误';
  230. }
  231. return info;
  232. });
  233. $("button[name='modifySubmit']").click(function(){
  234. var verifyStatus = true;//允许提交
  235. for(var m=0;m<needValidate.length;m++){
  236. var single = needValidate[m];
  237. if(single.attr('modifyStatus') == undefined){
  238. single.blur();
  239. }
  240. if(single.attr('modifyStatus') == 'no'){
  241. verifyStatus = false;
  242. continue;
  243. }
  244. }
  245. var gradeList = '';
  246. var integralList = [];
  247. var discountList = [];
  248. $("div[name=gradeList] > div").each(function(index){
  249. var integralVal = $(this).find("input[name='integralVal']");
  250. var discountVal = $(this).find("input[name='discountVal']");
  251. var iVal = integralVal.val();
  252. var dVal = discountVal.val();
  253. if(iVal.length <= 0 || dVal <= 0){
  254. xhPopMsg('积分和折扣不能留空哦',2000);
  255. verifyStatus = false;
  256. return false;
  257. }
  258. if(isNaN(iVal) || isNaN(dVal)){
  259. xhPopMsg('积分和折扣必须是数值',2000);
  260. verifyStatus = false;
  261. return false;
  262. }
  263. if(Math.floor(iVal) != iVal || Math.floor(dVal) != dVal || iVal.indexOf('.') >= 0 || dVal.indexOf('.') >= 0){
  264. xhPopMsg('积分和折扣必须是整数',2000);
  265. verifyStatus = false;
  266. return false;
  267. }
  268. if(dVal.length > 2){
  269. xhPopMsg('折扣填写有误',2000);
  270. verifyStatus = false;
  271. return false;
  272. }
  273. if(index > 0){
  274. var preIntegral = integralList[index-1];
  275. var preDiscount = discountList[index-1];
  276. if(parseInt(iVal) <= parseInt(preIntegral)){
  277. xhPopMsg('等级越高积分要越高哦',5000);
  278. verifyStatus = false;
  279. return false;
  280. }
  281. var comDiscount = dVal.length == 1 ? parseInt(dVal)*10 : parseInt(dVal);//如果只有一位,则补0
  282. var comPreDis = preDiscount.length == 1 ? parseInt(preDiscount)*10 : parseInt(preDiscount);//如果只有一位,则补0
  283. if(comDiscount >= comPreDis){
  284. xhPopMsg('等级越高折扣要越多哦',5000);
  285. verifyStatus = false;
  286. return false;
  287. }
  288. }
  289. integralList[index] = iVal;
  290. discountList[index] = dVal;
  291. var order = index + 1;
  292. gradeList += order+"_"+iVal+"_"+dVal+"I";//组合方式:等级_积分数_折扣值I等级_积分数_折扣值 1_2000_9I2_5000_88
  293. });
  294. if(verifyStatus == false){
  295. return;
  296. }
  297. xhPopMsg('请稍候…',2000);
  298. if($("button[name='modifySubmit']").attr('submitStatus') == 'yes'){
  299. xhPopMsg('请稍候…',2000);
  300. return;
  301. }
  302. $("button[name='modifySubmit']").attr('submitStatus','yes');
  303. setTimeout(function(){
  304. $("button[name='modifySubmit']").attr('submitStatus','no');
  305. },2000);
  306. var giveCouponVal = $(":radio[name=giveCoupon]:checked").val();
  307. gradeList = gradeList.replace(/(^I)|(I$)/g,"");
  308. data = "_csrf=<?= Yii::$app->request->csrfToken ?>&gradeList="+gradeList+"&giveCoupon="+giveCouponVal;
  309. if(giveCouponVal == 1){
  310. data += "&giveCouponPrice="+giveCouponPrice.val()+"&couponMeetPrice="+couponMeetPrice.val()+"&couponValidity="+couponValidity.val();
  311. }
  312. $.ajax({type:"POST",url:'/set/modify',data:data,dataType:'json',async:false,success:function(data){
  313. xhPopMsg(data.msg,2000);
  314. setTimeout(function(){
  315. window.location.reload();
  316. },2000);
  317. }});
  318. });
  319. function setStats(obj,mess,check)
  320. {
  321. obj.focus(function(){
  322. $(this).removeAttr('modifyStatus');
  323. $(this).siblings('p').removeClass('help-error-mention').html('');
  324. });
  325. obj.blur(function(){
  326. var objVal = obj.val();
  327. var info = check(objVal,mess);
  328. var p = $(this).siblings('p');
  329. if(info[0]){
  330. $(this).attr('modifyStatus','yes');
  331. p.css('color','red').removeClass('help-error-mention').html('');
  332. }else{
  333. $(this).attr('modifyStatus','no');
  334. if(p.length > 0){
  335. p.css('color','red').addClass('help-error-mention').html(info[1]);
  336. }else{
  337. xhPopMsg(info[1]);
  338. }
  339. }
  340. });
  341. }
  342. </script>