pay.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>系统设置</title>
  6. </head>
  7. <body class="laytp-container">
  8. <div class="layui-card">
  9. <div class="layui-card-body">
  10. <form class="layui-form" lay-filter="layui-form">
  11. <div class="table-container">
  12. </div>
  13. <div class="bottom">
  14. <div class="button-container">
  15. <button type="submit" class="laytp-btn laytp-btn-primary laytp-btn-sm" lay-submit="" lay-filter="add">
  16. <i class="layui-icon layui-icon-ok"></i>
  17. 保存配置
  18. </button>
  19. <button type="reset" class="laytp-btn laytp-btn-sm">
  20. <i class="layui-icon layui-icon-refresh"></i>
  21. 重置
  22. </button>
  23. </div>
  24. </div>
  25. </form>
  26. </div>
  27. </div>
  28. <script id="confTableHtml" type="text/html">
  29. <input type="hidden" name="group" id="group" value="{{=d.group}}" />
  30. <div class="layui-card">
  31. <div class="layui-card-header">支付配置</div>
  32. <div class="layui-card-body">
  33. <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
  34. <ul class="layui-tab-title">
  35. <li lay-id="1" class="layui-this">微信支付配置</li>
  36. <!-- <li lay-id="2">微信支付配置</li> -->
  37. </ul>
  38. <div class="layui-tab-content" style="height: 30px;">
  39. <!-- 基础配置 -->
  40. <div class="layui-tab-item layui-show">
  41. <table class="layui-table" style="margin: 0;" lay-skin="nob">
  42. <colgroup>
  43. <col width="15%">
  44. <col width="70%">
  45. <col width="15%">
  46. </colgroup>
  47. <tbody>
  48. <!-- <tr>
  49. <td style="text-align:right;">
  50. 微信支付开启
  51. </td>
  52. <td>
  53. <input type="hidden" name="wechat_pay_status" value="2" />
  54. <input type="checkbox" name="wechat_pay_status" lay-skin="switch" lay-text="打开|关闭" value="1" {{# if(d.wechat_pay_status == 1){ }}checked="checked" {{# } }} />
  55. <input type="hidden" name="form_type[wechat_pay_status]" value="switch" />
  56. </td>
  57. <td>
  58. <div class="conf-des layui-form-mid layui-word-aux">
  59. <label title="站点开启开关">微信支付开启</label>
  60. <br />
  61. <code title="{{=d.group}}.sitestatus">{{=d.group}}.wechat_pay_status</code>
  62. </div>
  63. </td>
  64. </tr> -->
  65. <tr>
  66. <td style="text-align:right;">
  67. 商户号
  68. </td>
  69. <td>
  70. <input autocomplete="off" type="text" name="wechat_pay_mchid" id="input" value="{{=d.wechat_pay_mchid}}" placeholder="请输入单行文本输入框" class="layui-input" lay-verify="required">
  71. <input type="hidden" name="form_type[wechat_pay_mchid]" value="input" />
  72. </td>
  73. <td>
  74. <div class="conf-des layui-form-mid layui-word-aux">
  75. <label title="配置说明">商户号</label>
  76. <br />
  77. <code title="{{=d.group}}.input">{{=d.group}}.wechat_pay_mchid</code>
  78. </div>
  79. </td>
  80. </tr>
  81. <tr>
  82. <td style="text-align:right;">
  83. API秘钥V2
  84. </td>
  85. <td>
  86. <input autocomplete="off" type="text" name="wechat_pay_apikey" id="input" value="{{=d.wechat_pay_apikey}}" placeholder="请输入单行文本输入框" class="layui-input" lay-verify="required">
  87. <input type="hidden" name="form_type[wechat_pay_apikey]" value="input" />
  88. </td>
  89. <td>
  90. <div class="conf-des layui-form-mid layui-word-aux">
  91. <label title="配置说明">APIV2秘钥</label>
  92. <br />
  93. <code title="{{=d.group}}.input">{{=d.group}}.wechat_pay_apikey</code>
  94. </div>
  95. </td>
  96. </tr>
  97. <!-- <tr>
  98. <td style="text-align:right;">
  99. API秘钥V3(选填)
  100. </td>
  101. <td>
  102. <input autocomplete="off" type="text" name="wechat_pay_apikeyv3" id="input" value="{{=d.wechat_pay_apikeyv3}}" placeholder="请输入单行文本输入框" class="layui-input" lay-verify="required">
  103. <input type="hidden" name="form_type[wechat_pay_apikeyv3]" value="input" />
  104. </td>
  105. <td>
  106. <div class="conf-des layui-form-mid layui-word-aux">
  107. <label title="配置说明">APIV3秘钥</label>
  108. <br />
  109. <code title="{{=d.group}}.input">{{=d.group}}.wechat_pay_apikeyv3</code>
  110. </div>
  111. </td>
  112. </tr> -->
  113. <tr>
  114. <td style="text-align:right;">
  115. API证书apiclient_cert.pem(选填)
  116. </td>
  117. <td>
  118. <div class="laytpUpload" data-name="cert" data-accept="client" data-uploadedId="{{d.cert}}" data-uploaded="{{d.cert_path}}" data-uploadedFilename="{{d.cert_filename}}"></div>
  119. <input type="hidden" name="form_type[cert]" value="upload" />
  120. </td>
  121. <td>
  122. <div class="conf-des layui-form-mid layui-word-aux">
  123. <label title="API证书">API证书</label>
  124. <br />
  125. <code title="{{=d.group}}.img">{{=d.group}}.cert</code>
  126. </div>
  127. </td>
  128. </tr>
  129. <tr>
  130. <td style="text-align:right;">
  131. API证书apiclient_key.pem(选填)
  132. </td>
  133. <td>
  134. <div class="laytpUpload" data-name="key" data-accept="client" data-uploadedId="{{d.key}}" data-uploaded="{{d.key_path}}" data-uploadedFilename="{{d.key_filename}}"></div>
  135. <input type="hidden" name="form_type[key]" value="upload" />
  136. </td>
  137. <td>
  138. <div class="conf-des layui-form-mid layui-word-aux">
  139. <label title="API证书">API证书</label>
  140. <br />
  141. <code title="{{=d.group}}.img">{{=d.group}}.key</code>
  142. </div>
  143. </td>
  144. </tr>
  145. </tbody>
  146. </table>
  147. </div>
  148. <!-- 程序配置 -->
  149. <!-- <div class="layui-tab-item">
  150. <table class="layui-table" style="margin: 0;" lay-skin="nob">
  151. <colgroup>
  152. <col width="15%">
  153. <col width="70%">
  154. <col width="15%">
  155. </colgroup>
  156. <tbody>
  157. <tr>
  158. <td style="text-align:right;">
  159. 微信支付开启
  160. </td>
  161. <td>
  162. //隐藏域设置开关未选中时需要传递的参数值
  163. <input type="hidden" name="miniapp_pay_tatus" value="2" />
  164. <input type="checkbox" name="miniapp_pay_tatus" lay-skin="switch" lay-text="打开|关闭" value="1" {{# if(d.miniapp_pay_tatus == 1){ }}checked="checked" {{# } }} />
  165. <input type="hidden" name="form_type[miniapp_pay_tatus]" value="switch" />
  166. </td>
  167. <td>
  168. <div class="conf-des layui-form-mid layui-word-aux">
  169. <label title="站点开启开关">微信支付开启</label>
  170. <br />
  171. <code title="{{=d.group}}.sitestatus">{{=d.group}}.sitestatus</code>
  172. </div>
  173. </td>
  174. </tr>
  175. <tr>
  176. <td style="text-align:right;">
  177. 商户号
  178. </td>
  179. <td>
  180. <input autocomplete="off" type="text" name="miniapp_pay_mchid" id="input" value="{{=d.miniapp_pay_mchid}}" placeholder="请输入单行文本输入框" class="layui-input" lay-verify="required">
  181. <input type="hidden" name="form_type[miniapp_pay_mchid]" value="input" />
  182. </td>
  183. <td>
  184. <div class="conf-des layui-form-mid layui-word-aux">
  185. <label title="配置说明">商户号</label>
  186. <br />
  187. <code title="{{=d.group}}.input">{{=d.group}}.miniapp_pay_mchid</code>
  188. </div>
  189. </td>
  190. </tr>
  191. <tr>
  192. <td style="text-align:right;">
  193. API秘钥
  194. </td>
  195. <td>
  196. <input autocomplete="off" type="text" name="miniapp_pay_apikey" id="input" value="{{=d.miniapp_pay_apikey}}" placeholder="请输入单行文本输入框" class="layui-input" lay-verify="required">
  197. <input type="hidden" name="form_type[miniapp_pay_apikey]" value="input" />
  198. </td>
  199. <td>
  200. <div class="conf-des layui-form-mid layui-word-aux">
  201. <label title="配置说明">APIV2秘钥</label>
  202. <br />
  203. <code title="{{=d.group}}.input">{{=d.group}}.miniapp_pay_apikey</code>
  204. </div>
  205. </td>
  206. </tr>
  207. </tbody>
  208. </table>
  209. </div> -->
  210. </div>
  211. </div>
  212. </div>
  213. </div>
  214. </script>
  215. <script type="application/javascript">
  216. document.write("<link rel='stylesheet' href='" + localStorage.getItem("staticDomain") + "/component/layui/css/layui.css?v=" + localStorage.getItem("version") + "'>");
  217. document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/layui/layui.js?v=" + localStorage.getItem("version") + "'><\/script>");
  218. document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/laytp/layuiConfig.js?v=" + localStorage.getItem("version") + "'><\/script>");
  219. document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/jquery_3.3.1.js?v=" + localStorage.getItem("version") + "'><\/script>");
  220. document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/jquery.tablednd.js?v=" + localStorage.getItem("version") + "'><\/script>");
  221. </script>
  222. <script>
  223. layui.use(['laytp', 'element'], function() {
  224. var group = "system.pay";
  225. var element = layui.element;
  226. // 先获取数据,渲染表单
  227. // 渲染完表单之后,设置滚动条
  228. facade.ajax({
  229. route: "/admin.conf/getGroupConf",
  230. data: {
  231. "group": group
  232. },
  233. successAlert: false,
  234. showLoading: true
  235. }).done(function(res) {
  236. if (res.code === 0) {
  237. res.data.group = group;
  238. layui.laytpl($("#confTableHtml").html()).render(res.data, function(string) {
  239. $(".table-container").html(string);
  240. layui.laytpForm.render();
  241. layui.form.render();
  242. var windowHeight = $(window).height();
  243. var maxHeight = parseInt(windowHeight) - 86;
  244. var minHeight = parseInt(windowHeight) - 86;
  245. // 设置table-container的最大高度和超过高度后展示滚动条
  246. $(".table-container").css("margin-bottom", '40px');
  247. $(".table-container").css("max-height", maxHeight + 'px');
  248. $(".table-container").css("min-height", minHeight + 'px');
  249. $(".table-container").css("overflow-y", "auto");
  250. $('.bottom').css("background-color", "#f6f6f6");
  251. });
  252. }
  253. });
  254. // 选项卡
  255. var layid = location.hash.replace(/^#docDemoTabBrief=/, '');
  256. element.tabChange('test1', layid);
  257. element.on('tab(docDemoTabBrief)', function(data) {
  258. location.hash = 'test1=' + this.getAttribute('lay-id');
  259. });
  260. layui.form.on('submit(add)', function(data) {
  261. var btnAnim = layui.button.load({
  262. elem: $(this)
  263. });
  264. try {
  265. data = facade.setEditorField(data);
  266. } catch (e) {
  267. facade.error(e);
  268. return false;
  269. }
  270. data.field.group = group;
  271. facade.ajax({
  272. route: '/admin.conf/saveGroupConf',
  273. data: data.field
  274. }).done(function(res) {
  275. btnAnim.stop();
  276. }).fail(function() {
  277. btnAnim.stop();
  278. });
  279. return false;
  280. });
  281. })
  282. </script>
  283. </body>
  284. </html>