prize_setting.html 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358
  1. {extend name="public/layout" /} {block name="title"}积分兑换设置{/block} {block name="body"}
  2. <style type="text/css">
  3. html {}
  4. body {
  5. min-width: 320px;
  6. }
  7. .layui-fluid {
  8. display: block;
  9. box-shadow: 0 0 4px 0 #B6CADE;
  10. border-radius: 5px;
  11. margin: 15px;
  12. background-color: #ffffff;
  13. }
  14. @media screen and (max-width: 450px) {
  15. .layui-form-item {
  16. width: 100%;
  17. }
  18. }
  19. #layuiadmin-app-form-list {
  20. padding: 1% 2%;
  21. }
  22. .layui-form-label {
  23. width: 6%;
  24. }
  25. .layui-input {
  26. border: none;
  27. outline: none;
  28. }
  29. .layui-input-inline {
  30. border: 1px solid #D4E4ED !important;
  31. }
  32. .flex-center {
  33. display: flex;
  34. align-items: center;
  35. }
  36. .border {
  37. border: 1px solid #D4E4ED;
  38. padding-right: 10px;
  39. border-radius: 5px;
  40. }
  41. .layui-form-radio>i:hover,
  42. .layui-form-radioed>i {
  43. color: #249EFB;
  44. }
  45. .layui-form-radioed {
  46. color: #249EFB;
  47. }
  48. .layui-tab-card>.layui-tab-title {
  49. background-color: #fff;
  50. }
  51. .layui-tab-card {
  52. border-radius: 10px;
  53. box-shadow: none;
  54. border: none;
  55. }
  56. .layui-form-label {
  57. color: #8A9AAA;
  58. }
  59. .fontstyle {
  60. font-size: 15px;
  61. }
  62. .layui-input::placeholder {
  63. color: #9DB6CF;
  64. }
  65. .layui-anim.layui-icon {
  66. font-size: 18px;
  67. }
  68. .layui-tab-title .layui-this {
  69. color: #249EFB;
  70. }
  71. .layui-tab-title .layui-this:after {
  72. width: 50px;
  73. height: 4px;
  74. background-color: #249EFB;
  75. top: 36px !important;
  76. left: 50%;
  77. transform: translateX(-50%);
  78. border: none;
  79. }
  80. .layui-tab-title li {
  81. margin: 0px 5px;
  82. }
  83. .layui-tab-title {
  84. border-bottom: 1px solid #f5f5f5;
  85. }
  86. .labelName {
  87. width: 100%;
  88. height: 18px;
  89. border-left: 4px solid #249EFB;
  90. color: #333333;
  91. line-height: 18px;
  92. padding-left: 5px;
  93. margin-top: 15px;
  94. }
  95. .layui-tab-card {
  96. padding: 10px 40px;
  97. }
  98. .layui-card {
  99. box-shadow: none;
  100. }
  101. .color999 {
  102. color: #999;
  103. }
  104. .font12 {
  105. font-size: 12px;
  106. }
  107. .color222 {
  108. color: #222222;
  109. }
  110. .list_prize_ul{margin-left:-1.25%;}
  111. .list_prize_ul li{width:15.66%;margin:20px 0 0 1%;border:1px solid #ccc;border-radius: 4px;overflow: hidden;float: left;box-sizing: border-box;}
  112. .prize_imgs{padding: 10px;background: #ccc;position: relative;}
  113. .prize_imgs img{width:100%;height: 100%;}
  114. .prize_text{text-align: center;color:#333333;padding:10px 0;height: 40px;overflow: hidden;}
  115. .prize_text_bt2{margin-top:3px;}
  116. .integral{position: absolute;right: 0;top: 0;padding: 3px 15px;color:#fff;font-size: 14px;background:#d9001b;border-radius:0 0 0 6px;}
  117. .prize_edit{overflow: hidden;width:70%;margin:0 auto;}
  118. .prize_edit p{float: left;width:50%;text-align: center;line-height: 40px;cursor: pointer;}
  119. .prize_edit p:hover{color:#d9001b;}
  120. .prize_text02{display: none;}
  121. .list_prize_ul li:hover .prize_text01{display: none;}
  122. .list_prize_ul li:hover .prize_text02{display: block;}
  123. </style>
  124. <body>
  125. <div class="layui-fluid">
  126. <div class="layui-card">
  127. <ul class="layui-tab-title">
  128. <li id="details"><a class="ablock" href="{:url('agents/set')}">基础信息设置</a></li>
  129. <li class="layui-this">积分兑换设置</li>
  130. <li id="details"><a class="ablock" href="{:url('agents/integral_setting')}?type=1">装修推荐官积分规则设置</a></li>
  131. <!-- <li id="details"><a class="ablock" href="{:url('agents/integral_setting')}?type=2">核销设置</a></li> -->
  132. <!-- <li id="details"><a class="ablock" href="{:url('agents/set_name')}">主题名称设置</a></li> -->
  133. </ul>
  134. <form class="layui-form" enctype="multipart/form-data">
  135. <div class="layui-form">
  136. <div class="layui-form-item">
  137. <div class="layui-tab-item" style="display: flex;margin:20px 0 10px;">
  138. <div class="layui-form-item">
  139. <label class="layui-form-label color222" style="width: 70px;"><i
  140. style="color:red;">*&nbsp;</i>积分比例</label>
  141. <div class="layui-input-inline flex-center" style="width: 160px;">
  142. <input type="number" id="activiteTitle" name="jifen" lay-verify="required"
  143. value="{$data.reduce_integral.jifen}"
  144. oninput="value=value.replace(/[^0-9]/g,'')" placeholder="请输入积分"
  145. autocomplete="off" min="0" max="999999999" class="layui-input"
  146. style="max-width: 500px;">
  147. <span style="white-space: nowrap;padding: 0px 5px;">积分</span>
  148. </div>
  149. </div>
  150. <div class="layui-form-item">
  151. <label class="layui-form-label" style="width: 10px;margin-right: 15px;">==</label>
  152. <div class="layui-input-inline flex-center" style="width: 160px;">
  153. <input type="number" id="activiteTitle" name="money" lay-verify="required"
  154. value="{$data.reduce_integral.money}"
  155. oninput="value=value.replace(/[^0-9]/g,'')" placeholder="请输入金额(元)"
  156. autocomplete="off" min="0" max="999999999" class="layui-input"
  157. style="max-width: 500px;">
  158. <span style="padding: 0px 5px;">元</span>
  159. </div>
  160. </div>
  161. <div class="layui-form-item">
  162. <button style="display: block;margin-left:20px;" type="button" id="add_subbtn" class="layui-btn layui-btn-normals">提交</button>
  163. </div>
  164. </div>
  165. <button style="display: block;margin-left:20px;" type="button" id="add_prize" class="layui-btn layui-btn-normals">添加奖品</button>
  166. <div class="mdt20" style="width: 98%;margin: 0 auto;">
  167. <ul class="list_prize_ul">
  168. {volist name="list" id="vo"}
  169. <li>
  170. <div class="prize_imgs">
  171. {if $vo.img eq ''}
  172. <img src="__STATIC__/img/pano_b.jpg" alt="">
  173. {else/}
  174. <img src="{$vo.img}" alt="">
  175. {/if}
  176. <p class="integral">{$vo.integral}积分</p>
  177. </div>
  178. <div class="prize_text">
  179. <div class="prize_text01">
  180. <p class="prize_text_bt1">{$vo.good_name}</p>
  181. <p class="prize_text_bt2">{$vo.addtime}</p>
  182. </div>
  183. <div class="prize_text02">
  184. <div class="prize_edit">
  185. <p class="edit_prize" data-id="{$vo.id}">编辑</p>
  186. <p class="del_prize" data-id="{$vo.id}">删除</p>
  187. </div>
  188. </div>
  189. </div>
  190. </li>
  191. {/volist}
  192. </ul>
  193. </div>
  194. </div>
  195. </div>
  196. </form>
  197. </div>
  198. </div>
  199. </body>
  200. {/block} {block name="js"}
  201. <script>
  202. layui.config({
  203. base: '__LAYUI__/',
  204. urlbase: '/sys'
  205. }).extend({
  206. index: 'lib/index' //主入口模块
  207. }).use(['index', 'table', 'upload', 'form'], function () {
  208. var $ = layui.$,
  209. upload = layui.upload,
  210. form = layui.form;
  211. $(window).resize(function(){
  212. resize();
  213. })
  214. resize();
  215. function resize(){
  216. var liwidth = $('.list_prize_ul li').eq(0).find('img').width();
  217. $('.list_prize_ul li .prize_imgs').css({'height':liwidth})
  218. }
  219. $('#add_prize').on('click',function(){
  220. layer.open({
  221. type: 2,
  222. title: ['添加奖品', 'color:#333333;background-color:#D8E6F1;'],
  223. content: '{:url("agents/add_prize")}',
  224. resize: false,
  225. area: ['80%', '80%']
  226. });
  227. })
  228. $('.edit_prize').on('click', (e) => {
  229. let id = e.target.dataset.id;
  230. layer.open({
  231. type: 2,
  232. title: ['添加奖品', 'color:#333333;background-color:#D8E6F1;'],
  233. content: '{:url("agents/edit_prize")}?id='+id,
  234. resize: false,
  235. area: ['80%', '80%']
  236. });
  237. })
  238. $('.del_prize').on('click', (e) => {
  239. let id = e.target.dataset.id;
  240. $.ajax({
  241. url: '{:url("agents/del_prize")}',
  242. type: 'post',
  243. data: {id:id},
  244. success: function (res) {
  245. if (res.code === 0) {
  246. layer.msg(res.msg, {
  247. anim: 0
  248. , time: 2000
  249. }, function () {
  250. });
  251. location.reload();
  252. } else {
  253. layer.msg(res.msg, {
  254. anim: 6
  255. , time: 2000
  256. });
  257. }
  258. }
  259. });
  260. })
  261. $("#add_subbtn").on('click', (e) => {
  262. let jifen = $("[name=jifen]").val();
  263. let money = $("[name=money]").val();
  264. if(jifen == 0 || jifen == '' || jifen == null){
  265. layer.msg('积分最少为1', {
  266. anim: 0
  267. ,time: 2000
  268. })
  269. return false;
  270. }
  271. $.ajax({
  272. url: '{:url("agents/reward_integral_save")}',
  273. type: 'post',
  274. data: {jifen:jifen,money:money},
  275. success: function (res) {
  276. if (res.code === 0) {
  277. layer.msg(res.msg, {
  278. anim: 0
  279. , time: 2000
  280. }, function () {
  281. location.reload();
  282. });
  283. } else {
  284. layer.msg(res.msg, {
  285. anim: 6
  286. , time: 2000
  287. });
  288. }
  289. }
  290. });
  291. })
  292. /* 监听提交 */
  293. form.on('submit(activity-submit)', function (obj) {
  294. var formData = new FormData(obj.form);
  295. $.ajax({
  296. url: '{:url("agents/reward_integral_save")}',
  297. type: 'post',
  298. data: formData,
  299. dataType: 'json',
  300. processData: false,
  301. contentType: false,
  302. success: function (res) {
  303. if (res.code === 0) {
  304. layer.msg(res.msg, {
  305. anim: 0
  306. , time: 2000
  307. }, function () {
  308. location.reload();
  309. });
  310. } else {
  311. layer.msg(res.msg, {
  312. anim: 6
  313. , time: 2000
  314. });
  315. }
  316. }
  317. });
  318. });
  319. });
  320. </script>
  321. {/block}