level.php 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. <?php
  2. use backend\widgets\TabWidget;
  3. echo TabWidget::widget(['list' => $this->context->menuList, 'currentMenu' => $this->context->id]);
  4. ?>
  5. <div class="panel panel-default">
  6. <?php
  7. use backend\widgets\SubTabWidget;
  8. echo SubTabWidget::widget(['list' => $this->context->subMenuList, 'currentMenu' => $this->context->action->id]);
  9. ?>
  10. <style>
  11. .col-sm-2 {
  12. width: auto;
  13. }
  14. </style>
  15. <div class="panel-body">
  16. <form role="form" class="form-horizontal">
  17. <div style="padding-left:20px;">
  18. <?php if (empty($extend['integral'])) { ?>
  19. <div class="form-group">
  20. <div class="col-sm-10">
  21. <span style="color:red;">注意:以下会员的积分折扣关系只能修改一次哦,请认真填写!</span>
  22. </div>
  23. </div>
  24. <?php } ?>
  25. <div name="gradeList">
  26. <?php if (!empty($gradeList)) { ?>
  27. <?php foreach ($gradeList as $gradeKey => $gradeVal) { ?>
  28. <div class="form-group" style="color:#555">
  29. <label class="col-sm-2 control-label" for="field-4"><?= $gradeVal['level'] ?>级会员</label>
  30. <div class="col-sm-10">
  31. 需要积分:<input type="text" <?php if ($extend['integral'] == 1) {
  32. echo 'readonly';
  33. } ?> name="integralVal" value="<?= $gradeVal['integral'] ?>" class="form-control" style="width:100px;display:inline-block;" placeholder="">&nbsp;&nbsp;享受
  34. <input type="text" <?php if ($extend['integral'] == 1) {
  35. echo 'readonly';
  36. } ?> name="discountVal" value="<?= $gradeVal['discount'] ?>" class="form-control" style="width:100px;display:inline-block;" placeholder=""> 折优惠
  37. <?php if ($gradeKey > 4) { ?>
  38. <li onclick="delGrade(this,<?= $gradeKey ?>)" style="cursor:pointer;font-size:130%" class="fa-trash"></li>
  39. <?php } ?>
  40. </div>
  41. </div>
  42. <?php }
  43. } else { ?>
  44. <div class="form-group" style="color:#555">
  45. <label class="col-sm-2 control-label" for="field-4">1级会员</label>
  46. <div class="col-sm-10">
  47. 需要积分:<input type="text" name="integralVal" class="form-control" style="width:100px;display:inline-block;" placeholder="">&nbsp;&nbsp;享受
  48. <input type="text" name="discountVal" class="form-control" style="width:100px;display:inline-block;" placeholder=""> 折优惠
  49. </div>
  50. </div>
  51. <div class="form-group" style="color:#555">
  52. <label class="col-sm-2 control-label" for="field-4">2级会员</label>
  53. <div class="col-sm-10">
  54. 需要积分:<input type="text" name="integralVal" class="form-control" style="width:100px;display:inline-block;" placeholder="">&nbsp;&nbsp;享受
  55. <input type="text" name="discountVal" class="form-control" style="width:100px;display:inline-block;" placeholder=""> 折优惠
  56. </div>
  57. </div>
  58. <div class="form-group" style="color:#555">
  59. <label class="col-sm-2 control-label" for="field-4">3级会员</label>
  60. <div class="col-sm-10">
  61. 需要积分:<input type="text" name="integralVal" class="form-control" style="width:100px;display:inline-block;" placeholder="">&nbsp;&nbsp;享受
  62. <input type="text" name="discountVal" class="form-control" style="width:100px;display:inline-block;" placeholder=""> 折优惠
  63. </div>
  64. </div>
  65. <div class="form-group" style="color:#555">
  66. <label class="col-sm-2 control-label" for="field-4">4级会员</label>
  67. <div class="col-sm-10">
  68. 需要积分:<input type="text" name="integralVal" class="form-control" style="width:100px;display:inline-block;" placeholder="">&nbsp;&nbsp;享受
  69. <input type="text" name="discountVal" class="form-control" style="width:100px;display:inline-block;" placeholder=""> 折优惠
  70. </div>
  71. </div>
  72. <?php } ?>
  73. </div>
  74. <?php if (empty($extend['integral'])) { ?>
  75. <div class="form-group">
  76. <div class="col-sm-10">
  77. <button name="addGrade" class="btn btn-secondary btn-single" type="button">增加等级</button>
  78. </div>
  79. </div>
  80. <?php } ?>
  81. </div>
  82. <?php if (empty($extend['integral'])) { ?>
  83. <div class="form-group" style="text-align:center;">
  84. <button type="button" name="modifySubmit" class="btn btn-info btn-single">确认</button>
  85. </div>
  86. <?php } ?>
  87. </form>
  88. </div>
  89. </div>
  90. <!-- footer -->
  91. <?php
  92. use backend\widgets\FooterWidget;
  93. ?>
  94. <?= FooterWidget::widget() ?>
  95. <!-- footer -->
  96. <script>
  97. //增加等级
  98. $("button[name=addGrade]").click(function () {
  99. var gradeList = $("div[name=gradeList]");
  100. var num = $("div[name=gradeList] > div").length;
  101. num++;
  102. if (num > 9) {
  103. xhPopMsg('最多只能添加9个等级', 1300);
  104. return;
  105. }
  106. var gradeHtml = '<div class="form-group" style="color:#555">\
  107. <label class="col-sm-2 control-label" for="field-4">' + num + '级会员</label>\
  108. <div class="col-sm-10">\
  109. 需要积分:<input type="text" class="form-control" name="integralVal" style="width:100px;display:inline-block;" placeholder="">\
  110. &nbsp;&nbsp;享受 <input type="text" class="form-control" name="discountVal" style="width:100px;display:inline-block;" placeholder=""> 折优惠\
  111. <li onclick="delGrade(this,' + num + ')" style="cursor:pointer;font-size:130%" class="fa-trash"></li>\
  112. </div>\
  113. </div>\
  114. ';
  115. gradeList.append(gradeHtml);
  116. });
  117. //删除等级
  118. function delGrade() {
  119. var o = arguments[0];
  120. var no = arguments[1];
  121. var num = $("div[name=gradeList] > div").length;
  122. if (no < num) {
  123. xhPopMsg('请从最后面开始删除', 1300);
  124. return;
  125. }
  126. $(o).parent().parent().remove();
  127. }
  128. $("button[name='modifySubmit']").click(function () {
  129. var verifyStatus = true;//允许提交
  130. var gradeList = '';
  131. var integralList = [];
  132. var discountList = [];
  133. $("div[name=gradeList] > div").each(function (index) {
  134. var integralVal = $(this).find("input[name='integralVal']");
  135. var discountVal = $(this).find("input[name='discountVal']");
  136. var iVal = integralVal.val();
  137. var dVal = discountVal.val();
  138. if (iVal.length <= 0 || dVal <= 0) {
  139. xhPopMsg('积分和折扣不能留空哦', 2000);
  140. verifyStatus = false;
  141. return false;
  142. }
  143. if (isNaN(iVal) || isNaN(dVal)) {
  144. xhPopMsg('积分和折扣必须是数值', 2000);
  145. verifyStatus = false;
  146. return false;
  147. }
  148. if (Math.floor(iVal) != iVal || Math.floor(dVal) != dVal || iVal.indexOf('.') >= 0 || dVal.indexOf('.') >= 0) {
  149. xhPopMsg('积分和折扣必须是整数', 2000);
  150. verifyStatus = false;
  151. return false;
  152. }
  153. if (dVal.length > 2) {
  154. xhPopMsg('折扣填写有误', 2000);
  155. verifyStatus = false;
  156. return false;
  157. }
  158. if (index > 0) {
  159. var preIntegral = integralList[index - 1];
  160. var preDiscount = discountList[index - 1];
  161. if (parseInt(iVal) <= parseInt(preIntegral)) {
  162. xhPopMsg('等级越高积分要越高哦', 5000);
  163. verifyStatus = false;
  164. return false;
  165. }
  166. var comDiscount = dVal.length == 1 ? parseInt(dVal) * 10 : parseInt(dVal);//如果只有一位,则补0
  167. var comPreDis = preDiscount.length == 1 ? parseInt(preDiscount) * 10 : parseInt(preDiscount);//如果只有一位,则补0
  168. if (comDiscount >= comPreDis) {
  169. xhPopMsg('等级越高折扣要越多哦', 5000);
  170. verifyStatus = false;
  171. return false;
  172. }
  173. }
  174. integralList[index] = iVal;
  175. discountList[index] = dVal;
  176. var order = index + 1;
  177. gradeList += order + "_" + iVal + "_" + dVal + "I";//组合方式:等级_积分数_折扣值I等级_积分数_折扣值 1_2000_9I2_5000_88
  178. });
  179. if (verifyStatus == false) {
  180. return;
  181. }
  182. xhPopMsg('请稍候…', 2000);
  183. if ($("button[name='modifySubmit']").attr('submitStatus') == 'yes') {
  184. xhPopMsg('请稍候…', 2000);
  185. return;
  186. }
  187. $("button[name='modifySubmit']").attr('submitStatus', 'yes');
  188. setTimeout(function () {
  189. $("button[name='modifySubmit']").attr('submitStatus', 'no');
  190. }, 2000);
  191. gradeList = gradeList.replace(/(^I)|(I$)/g, "");
  192. var data = "_csrf=<?= Yii::$app->request->csrfToken ?>&gradeList=" + gradeList;
  193. $.ajax({
  194. type: "POST", url: '/set/modify', data: data, dataType: 'json', async: false, success: function (data) {
  195. xhPopMsg(data.msg, 2000);
  196. setTimeout(function () {
  197. window.location.reload();
  198. }, 2000);
  199. }
  200. });
  201. });
  202. </script>