edit.html 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363
  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. <input name="id" value="{$channel.id}" hidden>
  13. <div class="layui-form-item">
  14. <label class="layui-form-label">{:lang("Name")}</label>
  15. <div class="layui-input-block">
  16. <input type="text" name="name" value="{$channel.name}" lay-verify="required" lay-reqtext="{:lang('Please fill in')}" autocomplete="off" class="layui-input">
  17. </div>
  18. </div>
  19. <div class="layui-form-item">
  20. <label class="layui-form-label">{:lang("Icon")}</label>
  21. <div class="layui-input-block">
  22. <button type="button" class="layui-btn" id="upload_img">
  23. <i class="layui-icon">&#xe67c;</i>{:lang("Upload")}
  24. </button>
  25. <input class="image_input" name="icon" value="{$channel.icon}" lay-verify="required" lay-reqtext="{:lang('Please upload pictures.')}" autocomplete="off" class="layui-input" hidden>
  26. </div>
  27. <div class="layui-input-block" style="top: 3px">
  28. <img class="img_view" src="{$channel.icon}" style="height: 200px;width: 250px">
  29. </div>
  30. </div>
  31. <div class="layui-form-item">
  32. <label class="layui-form-label">{:lang('Is upload code')}</label>
  33. <div class="layui-input-block">
  34. <select name="is_upload_code" lay-filter="required">
  35. <option value="0" {if $channel.is_upload_code == 0} selected {/if}>{:lang("No")}</option>
  36. <option value="1" {if $channel.is_upload_code == 1} selected {/if}>{:lang("Yes")}</option>
  37. </select>
  38. </div>
  39. </div>
  40. <div class="layui-form-item">
  41. <label class="layui-form-label">{:lang('Type')}</label>
  42. <div class="layui-input-block">
  43. <select name="type" lay-filter="type">
  44. <option value="1" {if $channel.type == 1} selected {/if}>{:lang("Default")}</option>
  45. <option value="2" {if $channel.type == 2} selected {/if}>{:lang("Zue Coin Setting")}</option>
  46. <option value="3" {if $channel.type == 3} selected {/if}>{:lang("Credit Card Setting")}</option>
  47. </select>
  48. </div>
  49. </div>
  50. <div class="layui-form-item zue-coin" {if $channel.type == 1 || $channel.type == 3} hidden {/if}>
  51. <label class="layui-form-label">{:lang("Zue Coin Exchange Rate")}</label>
  52. <div class="layui-input-block">
  53. <input type="number" value="{$channel.zue_coin_exchange_rate}" name="zue_coin_exchange_rate" class="layui-input">
  54. </div>
  55. </div>
  56. <div class="layui-form-item zue-coin" {if $channel.type == 1 || $channel.type == 3} hidden {/if}>
  57. <label class="layui-form-label">{:lang("Zue Coin Consume Rate")}</label>
  58. <div class="layui-input-block">
  59. <input type="number" value="{$channel.zue_coin_consume_rate}" name="zue_coin_consume_rate" class="layui-input">
  60. </div>
  61. </div>
  62. <div class="layui-form-item credit_card" {if $channel.type == 1 || $channel.type == 2} hidden {/if}>
  63. <label class="layui-form-label">{:lang('Setting')}</label>
  64. <div class="layui-input-block">
  65. <a class="btn btn-primary m-r-5" href="#!" onclick="add_setting()"><i class="mdi mdi-plus"></i> {:lang('add')} {:lang("Setting")}</a>
  66. </div>
  67. </div>
  68. <div class="layui-form-item credit_card" {if $channel.type == 1 || $channel.type == 2} hidden {/if}>
  69. <label class="layui-form-label"></label>
  70. <div class="layui-input-block">
  71. <div class="table-responsive">
  72. <table class="table table-bordered">
  73. <thead>
  74. <tr>
  75. <th>{:lang("ID")}</th>
  76. <th>{:lang("Is stage")}</th>
  77. <th>{:lang("Bank")}</th>
  78. <th>{:lang('stage_6')}</th>
  79. <th>{:lang('stage_9')}</th>
  80. <th>{:lang('stage_12')}</th>
  81. <th>{:lang('stage_24')}</th>
  82. <th>{:lang('stage_36')}</th>
  83. <th>{:lang('operation')}</th>
  84. </tr>
  85. </thead>
  86. <tbody id="setting_table">
  87. {volist name="$channel.relation" id="item"}
  88. <tr id="{$item.id}">
  89. <td>
  90. <input type="text" name="config_id[]" value="{$item.id}" disabled class="layui-input">
  91. </td>
  92. <td>
  93. <input type="checkbox" name="is_stage[]" lay-skin="switch" lay-text="ON|OFF" {if $item.is_stage == 1} checked {/if}>
  94. </td>
  95. <td>
  96. <input type="text" value="{$item.bank}" name="bank[]" placeholder="{:lang('Please fill in')}" class="layui-input" style="width: 100px">
  97. </td>
  98. <td>
  99. <div class="layui-form-item" style="margin-bottom: 0px">
  100. <label class="layui-form-label">{:lang("Switch")}</label>
  101. <div class="layui-input-block">
  102. <input type="checkbox" name="stage_6_switch[]" lay-skin="switch" lay-text="ON|OFF" {if $item.stage_6[0] == 1} checked {/if}>
  103. </div>
  104. </div>
  105. <div class="layui-form-item" style="margin-bottom: 0px">
  106. <label class="layui-form-label">{:lang("Fee")}(%)</label>
  107. <div class="layui-input-block">
  108. <input type="number" value="{$item.stage_6[1]}" name="stage_6_fee_rate[]" class="layui-input">
  109. </div>
  110. </div>
  111. </td>
  112. <td>
  113. <div class="layui-form-item" style="margin-bottom: 0px">
  114. <label class="layui-form-label">{:lang("Switch")}</label>
  115. <div class="layui-input-block">
  116. <input type="checkbox" name="stage_9_switch[]" lay-skin="switch" lay-text="ON|OFF" {if $item.stage_9[0]} checked {/if}>
  117. </div>
  118. </div>
  119. <div class="layui-form-item" style="margin-bottom: 0px">
  120. <label class="layui-form-label">{:lang("Fee")}(%)</label>
  121. <div class="layui-input-block">
  122. <input type="number" value="{$item.stage_9[1]}" name="stage_9_fee_rate[]" class="layui-input">
  123. </div>
  124. </div>
  125. </td>
  126. <td>
  127. <div class="layui-form-item" style="margin-bottom: 0px">
  128. <label class="layui-form-label">{:lang("Switch")}</label>
  129. <div class="layui-input-block">
  130. <input type="checkbox" name="stage_12_switch[]" lay-skin="switch" lay-text="ON|OFF" {if $item.stage_12[0]} checked {/if}>
  131. </div>
  132. </div>
  133. <div class="layui-form-item" style="margin-bottom: 0px">
  134. <label class="layui-form-label">{:lang("Fee")}(%)</label>
  135. <div class="layui-input-block">
  136. <input type="number" value="{$item.stage_12[1]}" name="stage_12_fee_rate[]" class="layui-input">
  137. </div>
  138. </div>
  139. </td>
  140. <td>
  141. <div class="layui-form-item" style="margin-bottom: 0px">
  142. <label class="layui-form-label">{:lang("Switch")}</label>
  143. <div class="layui-input-block">
  144. <input type="checkbox" name="stage_24_switch[]" lay-skin="switch" lay-text="ON|OFF" {if $item.stage_24[0]} checked {/if}>
  145. </div>
  146. </div>
  147. <div class="layui-form-item" style="margin-bottom: 0px">
  148. <label class="layui-form-label">{:lang("Fee")}(%)</label>
  149. <div class="layui-input-block">
  150. <input type="number" value="{$item.stage_24[1]}" name="stage_24_fee_rate[]" class="layui-input">
  151. </div>
  152. </div>
  153. </td>
  154. <td>
  155. <div class="layui-form-item" style="margin-bottom: 0px">
  156. <label class="layui-form-label">{:lang("Switch")}</label>
  157. <div class="layui-input-block">
  158. <input type="checkbox" name="stage_36_switch[]" lay-skin="switch" lay-text="ON|OFF" {if $item.stage_36[0]} checked {/if}>
  159. </div>
  160. </div>
  161. <div class="layui-form-item" style="margin-bottom: 0px">
  162. <label class="layui-form-label">{:lang("Fee")}(%)</label>
  163. <div class="layui-input-block">
  164. <input type="number" value="{$item.stage_36[1]}" name="stage_36_fee_rate[]" class="layui-input">
  165. </div>
  166. </div>
  167. </td>
  168. <td>
  169. <a class="btn btn-xs btn-default" href="#!" title="{:lang('delete')}" data-toggle="tooltip" onclick="del('{$item.id}')"><i class="mdi mdi-window-close"></i></a>
  170. </td>
  171. {/volist}
  172. </tr>
  173. </tbody>
  174. </table>
  175. </div>
  176. </div>
  177. </div>
  178. <div class="layui-form-item">
  179. <div class="layui-input-block">
  180. <button type="submit" class="layui-btn" lay-submit="" lay-filter="caviar_submit_btn">{:lang('Submit')}</button>
  181. <button type="reset" class="layui-btn layui-btn-primary">{:lang("Reset")}</button>
  182. </div>
  183. </div>
  184. </form>
  185. </div>
  186. </div>
  187. </div>
  188. </div>
  189. </div>
  190. </main>
  191. <!--End 页面主要内容-->
  192. </div>
  193. </div>
  194. <script>
  195. let _index = 10000000;
  196. function del(id) {
  197. request('{:url("admin/payment_channel/delete_config")}', {ids:id.toString()}).then((res) => {
  198. if(res.code === 200) {
  199. $(`#${id}`).remove();
  200. } else {
  201. layer.msg(res.message,{icon: 5});
  202. }
  203. })
  204. }
  205. function add_setting() {
  206. $("#setting_table").append(`<tr id="${_index}">
  207. <td>
  208. </td>
  209. <td>
  210. <input type="checkbox" name="is_stage[]" lay-skin="switch" lay-text="ON|OFF">
  211. </td>
  212. <td>
  213. <input type="text" value="Bank" name="bank[]" placeholder="{:lang('Please fill in')}" class="layui-input" style="width: 100px">
  214. </td>
  215. <td>
  216. <div class="layui-form-item" style="margin-bottom: 0px">
  217. <label class="layui-form-label">{:lang("Switch")}</label>
  218. <div class="layui-input-block">
  219. <input type="checkbox" name="stage_6_switch[]" lay-skin="switch" lay-text="ON|OFF">
  220. </div>
  221. </div>
  222. <div class="layui-form-item" style="margin-bottom: 0px">
  223. <label class="layui-form-label">{:lang("Fee")}(%)</label>
  224. <div class="layui-input-block">
  225. <input type="number" value="0" name="stage_6_fee_rate[]" class="layui-input">
  226. </div>
  227. </div>
  228. </td>
  229. <td>
  230. <div class="layui-form-item" style="margin-bottom: 0px">
  231. <label class="layui-form-label">{:lang("Switch")}</label>
  232. <div class="layui-input-block">
  233. <input type="checkbox" name="stage_9_switch[]" lay-skin="switch" lay-text="ON|OFF">
  234. </div>
  235. </div>
  236. <div class="layui-form-item" style="margin-bottom: 0px">
  237. <label class="layui-form-label">{:lang("Fee")}(%)</label>
  238. <div class="layui-input-block">
  239. <input type="number" value="0" name="stage_9_fee_rate[]" class="layui-input">
  240. </div>
  241. </div>
  242. </td>
  243. <td>
  244. <div class="layui-form-item" style="margin-bottom: 0px">
  245. <label class="layui-form-label">{:lang("Switch")}</label>
  246. <div class="layui-input-block">
  247. <input type="checkbox" name="stage_12_switch[]" lay-skin="switch" lay-text="ON|OFF">
  248. </div>
  249. </div>
  250. <div class="layui-form-item" style="margin-bottom: 0px">
  251. <label class="layui-form-label">{:lang("Fee")}(%)</label>
  252. <div class="layui-input-block">
  253. <input type="number" value="0" name="stage_12_fee_rate[]" class="layui-input">
  254. </div>
  255. </div>
  256. </td>
  257. <td>
  258. <div class="layui-form-item" style="margin-bottom: 0px">
  259. <label class="layui-form-label">{:lang("Switch")}</label>
  260. <div class="layui-input-block">
  261. <input type="checkbox" name="stage_24_switch[]" lay-skin="switch" lay-text="ON|OFF">
  262. </div>
  263. </div>
  264. <div class="layui-form-item" style="margin-bottom: 0px">
  265. <label class="layui-form-label">{:lang("Fee")}(%)</label>
  266. <div class="layui-input-block">
  267. <input type="number" value="0" name="stage_24_fee_rate[]" class="layui-input">
  268. </div>
  269. </div>
  270. </td>
  271. <td>
  272. <div class="layui-form-item" style="margin-bottom: 0px">
  273. <label class="layui-form-label">{:lang("Switch")}</label>
  274. <div class="layui-input-block">
  275. <input type="checkbox" name="stage_36_switch[]" lay-skin="switch" lay-text="ON|OFF">
  276. </div>
  277. </div>
  278. <div class="layui-form-item" style="margin-bottom: 0px">
  279. <label class="layui-form-label">{:lang("Fee")}(%)</label>
  280. <div class="layui-input-block">
  281. <input type="number" value="0" name="stage_36_fee_rate[]" class="layui-input">
  282. </div>
  283. </div>
  284. </td>
  285. <td>
  286. <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>
  287. </td>
  288. </tr>`);
  289. _index += 1;
  290. layui.form.render()
  291. }
  292. layui.use(['form','upload'], () => {
  293. const form = layui.form;
  294. const upload = layui.upload;
  295. form.on('select(type)',function (data) {
  296. const value = data.value;
  297. console.log(value)
  298. switch (value) {
  299. case "1":
  300. $('.zue-coin').css('display','none');
  301. $('.credit_card').css('display','none');
  302. break;
  303. case "2":
  304. $(".zue-coin").css('display','block');
  305. $('.credit_card').css('display','none');
  306. break;
  307. case "3":
  308. $('.credit_card').css('display','block');
  309. $('.zue-coin').css('display','none');
  310. break;
  311. }
  312. });
  313. //执行实例
  314. upload.render({
  315. elem: '#upload_img' //绑定元素
  316. ,url: '/admin/payment_channel/upload'
  317. ,done: function(res){
  318. console.log(res);
  319. if(res.code === 200) {
  320. $(".image_input").attr("value", res.data);
  321. $(".img_view").attr('src', res.data)
  322. $('.img_view').css('display','block');
  323. } else {
  324. layer.message(res.message, {icon: 5});
  325. }
  326. return false;
  327. }
  328. ,error: function(){
  329. //请求异常回调
  330. }
  331. });
  332. form.on('submit(caviar_submit_btn)', (data) =>{
  333. const response = request('/admin/payment_channel/edit',data.field)
  334. response.then((res) => {
  335. console.log(res);
  336. res.code === 200 ? layer.msg("{:lang('Succeed')}", {icon: 1,time:500},() => {
  337. parent.location.reload();
  338. }) : layer.msg(res.message,{icon: 5})
  339. })
  340. return false;
  341. });
  342. });
  343. </script>