kandian.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="Generator" content="EditPlus®">
  6. <meta name="Author" content="">
  7. <meta name="Keywords" content="">
  8. <meta name="Description" content="">
  9. <title>修改书币</title>
  10. <script src="/assets/libs/jquery/dist/jquery.min.js"></script>
  11. <style>
  12. .doType{
  13. text-align: center;
  14. font: 25px "Helvetica Neue", Helvetica, Arial, sans-serif;
  15. padding: 0px 0px 10px 0px;
  16. display: block;
  17. border-bottom: 1px solid #DADADA;
  18. margin: -10px -30px 30px -30px;
  19. color: #888;
  20. }
  21. .bootstrap-frm {
  22. margin-left:auto;
  23. margin-right:auto;
  24. max-width: 500px;
  25. background: #FFF;
  26. padding: 20px 30px 20px 30px;
  27. font: 12px "Helvetica Neue", Helvetica, Arial, sans-serif;
  28. color: #888;
  29. text-shadow: 1px 1px 1px #FFF;
  30. border:1px solid #DDD;
  31. border-radius: 5px;
  32. -webkit-border-radius: 5px;
  33. -moz-border-radius: 5px;
  34. }
  35. .bootstrap-frm h1 {
  36. font: 25px "Helvetica Neue", Helvetica, Arial, sans-serif;
  37. padding: 0px 0px 10px 40px;
  38. display: block;
  39. border-bottom: 1px solid #DADADA;
  40. margin: -10px -30px 30px -30px;
  41. color: #888;
  42. }
  43. .bootstrap-frm h1>span {
  44. display: block;
  45. font-size: 11px;
  46. }
  47. .bootstrap-frm label {
  48. display: block;
  49. margin: 0px 0px 5px;
  50. }
  51. .bootstrap-frm label>span {
  52. float: left;
  53. width: 20%;
  54. text-align: right;
  55. padding-right: 10px;
  56. margin-top: 10px;
  57. color: #333;
  58. font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  59. font-weight: bold;
  60. }
  61. .bootstrap-frm input[type="text"], .bootstrap-frm input[type="email"], .bootstrap-frm textarea, .bootstrap-frm select{
  62. border: 1px solid #CCC;
  63. color: #888;
  64. line-height:15px;
  65. margin-bottom: 16px;
  66. margin-right: 6px;
  67. margin-top: 2px;
  68. outline: 0 none;
  69. padding: 5px 0px 5px 5px;
  70. width: 70%;
  71. border-radius: 4px;
  72. -webkit-border-radius: 4px;
  73. -moz-border-radius: 4px;
  74. -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  75. box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  76. -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  77. }
  78. .bootstrap-frm select {
  79. height: 32px;
  80. line-height:6px;
  81. }
  82. .bootstrap-frm textarea{
  83. height:100px;
  84. padding: 5px 0px 0px 5px;
  85. width: 70%;
  86. }
  87. .bootstrap-frm .vip{
  88. width: 100%;
  89. display: none;
  90. }
  91. .bootstrap-frm .kandian{
  92. width:100%;
  93. }
  94. .bootstrap-frm .button {
  95. background: #FFF;
  96. border: 1px solid #CCC;
  97. padding: 10px 25px 10px 25px;
  98. color: #333;
  99. border-radius: 4px;
  100. }
  101. .bootstrap-frm .button:hover {
  102. color: #333;
  103. background-color: #EBEBEB;
  104. border-color: #ADADAD;
  105. }
  106. .bootstrap-frm .alert-danger{
  107. display: none;
  108. }
  109. </style>
  110. </head>
  111. <body>
  112. <div class="bootstrap-frm" >
  113. <div class="alert alert-danger"></div>
  114. <form action="" method="post" class="STYLE-NAME">
  115. <div class="doType">
  116. <div class="btn-group">
  117. <button id="kandian_btn" type="button" class="btn btn-default active">修改书币</button>
  118. <button id="vip_btn" type="button" class="btn btn-default">修改VIP</button>
  119. <input type="hidden" id="changeType" value="1">
  120. </div>
  121. </div>
  122. {notempty name="id"}
  123. <label>
  124. <span>用户ID:</span>
  125. <input type="text" name="userIds" value="{$id}" readonly />
  126. </label>
  127. {/notempty}
  128. <label class="kandian">
  129. <span></span>
  130. <input type="radio" name="addKandian" checked value="1" />增加书币&nbsp;&nbsp;<input type="radio" name="addKandian" value="2" />减少书币
  131. </label>
  132. <label class="vip">
  133. <span></span>
  134. <input type="radio" name="addvip" checked value="1" />增加VIP时长&nbsp;&nbsp;<input type="radio" name="addvip" value="2" />减少VIP时长
  135. </label>
  136. <label class="kandian">
  137. <span>* 书币 :</span>
  138. <input id="kandian" type="text" name="kandian" placeholder="" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" />
  139. </label>
  140. <label class="kandian">
  141. <span>* 赠送书币 :</span>
  142. <input id="free_kandian" type="text" name="free_kandian" placeholder="" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" />
  143. </label>
  144. <label class="vip">
  145. <span>* VIP时长 :</span>
  146. <input id="day" type="text" name="day" placeholder="" style="width: 10%;" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" />&nbsp;天&nbsp;
  147. <input id="hour" type="text" name="hour" placeholder="" style="width: 10%;" onkeyup="if(this.value>23){this.value=''}; if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" />&nbsp;小时
  148. </label>
  149. <label>
  150. <span>* 操作类型 :</span>
  151. <select id="czlx" name="czlx">
  152. <option value="1">活动奖励</option>
  153. <option value="2">系统操作</option>
  154. </select>
  155. </label>
  156. {empty name="id"}
  157. <label>
  158. <span>* 用户ID :</span>
  159. <textarea id="userIds" name="userIds" placeholder="多个id之间用换行隔开"></textarea>
  160. </label>
  161. {/empty}
  162. <label>
  163. <span>备注 :</span>
  164. <input type="text" maxlength="100" id="bz" />
  165. </label>
  166. <div style="margin-left: 20%"><input id="piliangtj" type="button" class="button" value="提交" /></div>
  167. </form>
  168. </div>
  169. <script>
  170. tag = 0;
  171. $(function(){
  172. $('#kandian').focus();
  173. })
  174. //去除数组中的空值
  175. function trimSpace(array){
  176. for(var i = 0 ;i<array.length;i++)
  177. {
  178. if(array[i] == "" || typeof(array[i]) == "undefined")
  179. {
  180. array.splice(i,1);
  181. i= i-1;
  182. }
  183. }
  184. return array;
  185. }
  186. $('#kandian_btn').click(function(){ //修改书币
  187. $(this).addClass('active').siblings().removeClass('active');
  188. $('.kandian').show();
  189. $('.vip').hide();
  190. $('#changeType').val(1);
  191. $('[name=addvip]').get(0).checked=true;
  192. $('#day').val('');
  193. $('#hour').val('');
  194. $('#kandian').focus();
  195. });
  196. $('#vip_btn').click(function(){ //修改vip时长
  197. $(this).addClass('active').siblings().removeClass('active');
  198. $('.vip').show();
  199. $('.kandian').hide();
  200. $('#changeType').val(2);
  201. $('[name=addKandian]').get(0).checked=true;
  202. $('#kandian').val('');
  203. $('#free_kandian').val('');
  204. $('#day').focus();
  205. });
  206. $('#piliangtj').click(function(){ //批量提交
  207. if (tag!=0){
  208. layer.alert('请不要重复提交');
  209. return false;
  210. }
  211. var ids = $('[name=userIds]').val().split('\n');
  212. ids = trimSpace(ids);
  213. console.log(ids);
  214. if ($('#changeType').val()==1){
  215. if($.trim($('#kandian').val())=='' && $.trim($('#free_kandian').val())==''){
  216. layer.alert('请填写书币值');
  217. $('#kandian').focus();
  218. return false;
  219. }
  220. }else if($('#changeType').val()==2){
  221. if($.trim($('#day').val())=='' && $.trim($('#hour').val())==''){
  222. layer.alert('请填写VIP时长');
  223. $('#day').focus();
  224. return false;
  225. }
  226. }
  227. //验证数据有效性
  228. if (ids.length>100){
  229. layer.alert('一次最多只能添加100个用户id');
  230. return false;
  231. }else if(ids.length<1){
  232. layer.alert('请填写用户id');
  233. $('[name=userIds]').focus();
  234. return false;
  235. }
  236. tag = 1;
  237. var data = {
  238. ids:"{$id}",
  239. changeType:$('#changeType').val(),
  240. kandianType:$("input[name='addKandian']:checked").val(),//增加,减少书币
  241. vipType:$("input[name='addvip']:checked").val(), //增加,减少vip时长
  242. kandian:$('#kandian').val(),
  243. free_kandian:$('#free_kandian').val(), //免费书币
  244. czlx:$('#czlx').val(), //操作类型 1.活动奖励 2.系统操作
  245. userids:$('[name=userIds]').val(),
  246. bz:$('#bz').val(),
  247. day:$('#day').val(),
  248. hour:$('#hour').val()
  249. };
  250. console.log(data);
  251. $.post('/admin/auth/user/kandian/ids/'+'{$id}',data,function(result){
  252. resultJson = $.parseJSON(result);
  253. if(resultJson.error_code == 0){
  254. //修改成功
  255. layer.alert(resultJson.msg);
  256. setTimeout(function(){
  257. window.location.reload();
  258. },1000);
  259. }else if (resultJson.error_code == 1){
  260. //修改失败
  261. $('.alert-danger').html(resultJson.msg).show();
  262. tag = 0;
  263. }
  264. console.log(resultJson);
  265. })
  266. });
  267. </script>
  268. </body>
  269. </html>