add.html 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. {include file='common/_js_css'}
  2. <div class="lyear-layout-web">
  3. <div class="lyear-layout-container">
  4. <!--页面主要内容-->
  5. <main>
  6. <div class="container-fluid">
  7. <div class="row">
  8. <div class="col-lg-12">
  9. <div class="card">
  10. <div class="card-body">
  11. <form class="layui-form">
  12. <div class="layui-form-item">
  13. <label class="layui-form-label">{:lang("Name")}</label>
  14. <div class="layui-input-block">
  15. <input type="text" name="name" lay-verify="required" lay-reqtext="{:lang('Please fill in')}" autocomplete="off" class="layui-input">
  16. </div>
  17. </div>
  18. <div class="layui-form-item">
  19. <label class="layui-form-label">{:lang("Icon")}</label>
  20. <div class="layui-input-block">
  21. <button type="button" class="layui-btn" id="upload_img">
  22. <i class="layui-icon">&#xe67c;</i>{:lang("Upload")}
  23. </button>
  24. <input class="image_input" name="icon" lay-verify="required" lay-reqtext="{:lang('Please upload pictures.')}" autocomplete="off" class="layui-input" hidden>
  25. <img class="img_view" style="height: 200px;width: 250px; top: 3px;" hidden>
  26. </div>
  27. </div>
  28. <div class="layui-form-item">
  29. <label class="layui-form-label">{:lang('Is upload code')}</label>
  30. <div class="layui-input-block">
  31. <select name="is_upload_code" lay-filter="required">
  32. <option value="0" >{:lang("No")}</option>
  33. <option value="1" selected>{:lang("Yes")}</option>
  34. </select>
  35. </div>
  36. </div>
  37. <div class="layui-form-item">
  38. <label class="layui-form-label">{:lang('Type')}</label>
  39. <div class="layui-input-block">
  40. <select name="type" lay-filter="type">
  41. <option value="1" >{:lang("Default")}</option>
  42. <option value="2" >{:lang("Zue Coin Setting")}</option>
  43. <option value="3" >{:lang("Credit Card Setting")}</option>
  44. </select>
  45. </div>
  46. </div>
  47. <div class="layui-form-item zue-coin" hidden>
  48. <label class="layui-form-label">{:lang("Zue Coin Exchange Rate")}</label>
  49. <div class="layui-input-block">
  50. <input type="number" value="0" name="zue_coin_exchange_rate" class="layui-input">
  51. </div>
  52. </div>
  53. <div class="layui-form-item zue-coin" hidden>
  54. <label class="layui-form-label">{:lang("Zue Coin Consume Rate")}</label>
  55. <div class="layui-input-block">
  56. <input type="number" value="0" name="zue_coin_consume_rate" class="layui-input">
  57. </div>
  58. </div>
  59. <div class="layui-form-item credit_card" hidden>
  60. <label class="layui-form-label">{:lang('Setting')}</label>
  61. <div class="layui-input-block">
  62. <a class="btn btn-primary m-r-5" href="#!" onclick="add_setting()"><i class="mdi mdi-plus"></i> {:lang('add')} {:lang("Setting")}</a>
  63. </div>
  64. </div>
  65. <div class="layui-form-item credit_card" hidden>
  66. <label class="layui-form-label"></label>
  67. <div class="layui-input-block">
  68. <div class="table-responsive">
  69. <table class="table table-bordered">
  70. <thead>
  71. <tr>
  72. <th>{:lang("Is stage")}</th>
  73. <th>{:lang("Bank")}</th>
  74. <th>{:lang('stage_6')}</th>
  75. <th>{:lang('stage_9')}</th>
  76. <th>{:lang('stage_12')}</th>
  77. <th>{:lang('stage_24')}</th>
  78. <th>{:lang('stage_36')}</th>
  79. <th>{:lang('operation')}</th>
  80. </tr>
  81. </thead>
  82. <tbody id="setting_table">
  83. </tbody>
  84. </table>
  85. </div>
  86. </div>
  87. </div>
  88. <div class="layui-form-item">
  89. <div class="layui-input-block">
  90. <button type="submit" class="layui-btn" lay-submit="" lay-filter="caviar_submit_btn">{:lang('Submit')}</button>
  91. <button type="reset" class="layui-btn layui-btn-primary">{:lang("Reset")}</button>
  92. </div>
  93. </div>
  94. </form>
  95. </div>
  96. </div>
  97. </div>
  98. </div>
  99. </div>
  100. </main>
  101. </div>
  102. </div>
  103. <script>
  104. let _index = 10000000;
  105. function del(id) {
  106. $(`#${id}`).remove();
  107. }
  108. function add_setting() {
  109. $("#setting_table").append(`<tr id="${_index}">
  110. <td>
  111. <input type="checkbox" name="is_stage[]" lay-skin="switch" lay-text="ON|OFF">
  112. </td>
  113. <td>
  114. <input type="text" value="Bank..." name="bank[]" placeholder="{:lang('Please fill in')}" class="layui-input" style="width: 100px">
  115. </td>
  116. <td>
  117. <div class="layui-form-item" style="margin-bottom: 0px">
  118. <label class="layui-form-label">{:lang("Switch")}</label>
  119. <div class="layui-input-block">
  120. <input type="checkbox" name="stage_6_switch[]" lay-skin="switch" lay-text="ON|OFF">
  121. </div>
  122. </div>
  123. <div class="layui-form-item" style="margin-bottom: 0px">
  124. <label class="layui-form-label">{:lang("Fee")}(%)</label>
  125. <div class="layui-input-block">
  126. <input type="number" value="0" name="stage_6_fee_rate[]" class="layui-input">
  127. </div>
  128. </div>
  129. </td>
  130. <td>
  131. <div class="layui-form-item" style="margin-bottom: 0px">
  132. <label class="layui-form-label">{:lang("Switch")}</label>
  133. <div class="layui-input-block">
  134. <input type="checkbox" name="stage_9_switch[]" lay-skin="switch" lay-text="ON|OFF">
  135. </div>
  136. </div>
  137. <div class="layui-form-item" style="margin-bottom: 0px">
  138. <label class="layui-form-label">{:lang("Fee")}(%)</label>
  139. <div class="layui-input-block">
  140. <input type="number" value="0" name="stage_9_fee_rate[]" class="layui-input">
  141. </div>
  142. </div>
  143. </td>
  144. <td>
  145. <div class="layui-form-item" style="margin-bottom: 0px">
  146. <label class="layui-form-label">{:lang("Switch")}</label>
  147. <div class="layui-input-block">
  148. <input type="checkbox" name="stage_12_switch[]" lay-skin="switch" lay-text="ON|OFF">
  149. </div>
  150. </div>
  151. <div class="layui-form-item" style="margin-bottom: 0px">
  152. <label class="layui-form-label">{:lang("Fee")}(%)</label>
  153. <div class="layui-input-block">
  154. <input type="number" value="0" name="stage_12_fee_rate[]" class="layui-input">
  155. </div>
  156. </div>
  157. </td>
  158. <td>
  159. <div class="layui-form-item" style="margin-bottom: 0px">
  160. <label class="layui-form-label">{:lang("Switch")}</label>
  161. <div class="layui-input-block">
  162. <input type="checkbox" name="stage_24_switch[]" lay-skin="switch" lay-text="ON|OFF">
  163. </div>
  164. </div>
  165. <div class="layui-form-item" style="margin-bottom: 0px">
  166. <label class="layui-form-label">{:lang("Fee")}(%)</label>
  167. <div class="layui-input-block">
  168. <input type="number" value="0" name="stage_24_fee_rate[]" class="layui-input">
  169. </div>
  170. </div>
  171. </td>
  172. <td>
  173. <div class="layui-form-item" style="margin-bottom: 0px">
  174. <label class="layui-form-label">{:lang("Switch")}</label>
  175. <div class="layui-input-block">
  176. <input type="checkbox" name="stage_36_switch[]" lay-skin="switch" lay-text="ON|OFF">
  177. </div>
  178. </div>
  179. <div class="layui-form-item" style="margin-bottom: 0px">
  180. <label class="layui-form-label">{:lang("Fee")}(%)</label>
  181. <div class="layui-input-block">
  182. <input type="number" value="0" name="stage_36_fee_rate[]" class="layui-input">
  183. </div>
  184. </div>
  185. </td>
  186. <td>
  187. <a class="btn btn-xs btn-default" href="#!" title="{:lang('delete')}" data-toggle="tooltip" onclick="del(${_index})"><i class="mdi mdi-window-close"></i></a>
  188. </td>
  189. </tr>`);
  190. _index += 1;
  191. layui.form.render()
  192. }
  193. //当你在iframe页面关闭自身时
  194. // var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  195. // parent.layer.close(index); //再执行关闭
  196. layui.use(['laydate','form','upload'], () => {
  197. const form = layui.form;
  198. const upload = layui.upload;
  199. const laydate = layui.laydate;
  200. form.on('select(type)',function (data) {
  201. const value = data.value;
  202. console.log(value)
  203. switch (value) {
  204. case "1":
  205. $('.zue-coin').css('display','none');
  206. $('.credit_card').css('display','none');
  207. break;
  208. case "2":
  209. $(".zue-coin").css('display','block');
  210. $('.credit_card').css('display','none');
  211. break;
  212. case "3":
  213. $('.credit_card').css('display','block');
  214. $('.zue-coin').css('display','none');
  215. break;
  216. }
  217. });
  218. //执行实例
  219. upload.render({
  220. elem: '#upload_img' //绑定元素
  221. ,url: '/admin/payment_channel/upload'
  222. ,done: function(res){
  223. console.log(res);
  224. if(res.code === 200) {
  225. $(".image_input").attr("value", res.data);
  226. $(".img_view").attr('src', res.data)
  227. $('.img_view').css('display','block');
  228. } else {
  229. layer.message(res.message, {icon: 5});
  230. }
  231. return false;
  232. }
  233. ,error: function(){
  234. //请求异常回调
  235. }
  236. });
  237. form.on('submit(caviar_submit_btn)', (data) =>{
  238. const response = request('/admin/payment_channel/add',data.field)
  239. response.then((res) => {
  240. console.log(res);
  241. res.code === 200 ? layer.msg("{:lang('Succeed')}", {icon: 1,time:500},() => {
  242. parent.location.reload();
  243. }) : layer.msg(res.message,{icon: 5})
  244. })
  245. return false;
  246. });
  247. laydate.render({
  248. elem: '#sun_calendar',
  249. type: 'datetime'
  250. });
  251. laydate.render({
  252. elem: '#lunar_calendar',
  253. type: 'datetime'
  254. });
  255. });
  256. </script>