manghe/app/admin/view/Config/alipay.html
2025-05-03 01:07:10 +08:00

231 lines
15 KiB
HTML

{include file="Public:header2"/}
<body style="min-height: 100%;background-color: #fff">
<style type="text/css">
.ggg{
width:600px !important
}
</style>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-body">
<form onsubmit="return false;">
<div class="layui-form" wid100 lay-filter="">
<div class="layui-form-item">
<div class="layui-alert layui-bg-gray">
<i class="layui-icon layui-icon-tips"></i> 支付宝商户号配置。权重越高,支付几率越多。
</div>
</div>
<input type="hidden" name="key" value="alipay_setting" lay-verify="required" class="layui-input">
<div id="merchants-container">
{if isset($data.merchants) && is_array($data.merchants)}
{foreach $data.merchants as $index => $merchant}
<div class="merchant-item" style="border: 1px solid #e6e6e6; padding: 20px; margin-bottom: 20px; position: relative;">
<div class="layui-form-item">
<label class="layui-form-label">商户名称</label>
<div class="layui-input-inline ggg">
<input type="text" name="merchants[{$index}][name]" value="{$merchant.name|default=''}" lay-verify="required" class="layui-input" placeholder="请输入商户名称">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">支付宝AppId</label>
<div class="layui-input-inline ggg">
<input type="text" name="merchants[{$index}][appId]" value="{$merchant.appId|default=''}" lay-verify="required" class="layui-input" placeholder="请输入支付宝AppId">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">应用私钥</label>
<div class="layui-input-inline ggg">
<textarea name="merchants[{$index}][merchantPrivateKey]" lay-verify="required" class="layui-textarea" placeholder="请输入应用私钥" rows="4">{$merchant.merchantPrivateKey|default=''}</textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">支付宝公钥</label>
<div class="layui-input-inline ggg">
<textarea name="merchants[{$index}][alipayPublicKey]" lay-verify="required" class="layui-textarea" placeholder="请输入支付宝公钥" rows="4">{$merchant.alipayPublicKey|default=''}</textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">权重</label>
<div class="layui-input-inline ggg">
<input type="number" name="merchants[{$index}][weight]" value="{$merchant.weight|default='1'}" min="1" lay-verify="required" class="layui-input" placeholder="请输入权重,数值越大被选中的概率越高">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">是否启用</label>
<div class="layui-input-inline ggg">
<input type="checkbox" name="merchants[{$index}][is_enabled]" value="1" lay-skin="switch" lay-text="启用|禁用" {if isset($merchant.is_enabled) && $merchant.is_enabled == 1}checked{/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注</label>
<div class="layui-input-inline ggg">
<textarea name="merchants[{$index}][remark]" class="layui-textarea" placeholder="请输入备注信息">{$merchant.remark|default=''}</textarea>
</div>
</div>
<button type="button" class="layui-btn layui-btn-danger layui-btn-sm remove-merchant" style="position: absolute; top: 10px; right: 10px;">删除商户</button>
</div>
{/foreach}
{else}
<!-- 默认商户项 -->
<div class="merchant-item" style="border: 1px solid #e6e6e6; padding: 20px; margin-bottom: 20px; position: relative;">
<div class="layui-form-item">
<label class="layui-form-label">商户名称</label>
<div class="layui-input-inline ggg">
<input type="text" name="merchants[0][name]" value="{$data.name|default='默认商户'}" lay-verify="required" class="layui-input" placeholder="请输入商户名称">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">支付宝AppId</label>
<div class="layui-input-inline ggg">
<input type="text" name="merchants[0][appId]" value="{$data.appId|default=''}" lay-verify="required" class="layui-input" placeholder="请输入支付宝AppId">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">应用私钥</label>
<div class="layui-input-inline ggg">
<textarea name="merchants[0][merchantPrivateKey]" lay-verify="required" class="layui-textarea" placeholder="请输入应用私钥" rows="4">{$data.merchantPrivateKey|default=''}</textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">支付宝公钥</label>
<div class="layui-input-inline ggg">
<textarea name="merchants[0][alipayPublicKey]" lay-verify="required" class="layui-textarea" placeholder="请输入支付宝公钥" rows="4">{$data.alipayPublicKey|default=''}</textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">权重</label>
<div class="layui-input-inline ggg">
<input type="number" name="merchants[0][weight]" value="1" min="1" lay-verify="required" class="layui-input" placeholder="请输入权重,数值越大被选中的概率越高">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">是否启用</label>
<div class="layui-input-inline ggg">
<input type="checkbox" name="merchants[0][is_enabled]" value="1" lay-skin="switch" lay-text="启用|禁用" checked>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注</label>
<div class="layui-input-inline ggg">
<textarea name="merchants[0][remark]" class="layui-textarea" placeholder="请输入备注信息">{$data.remark|default=''}</textarea>
</div>
</div>
<button type="button" class="layui-btn layui-btn-danger layui-btn-sm remove-merchant" style="position: absolute; top: 10px; right: 10px;">删除商户</button>
</div>
{/if}
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn layui-btn-normal" id="add-merchant">添加商户</button>
<button class="layui-btn" onclick="return check()">确认保存</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
{include file="Public:footer"/}
</body>
</html>
<script type="text/javascript">
layui.use(['layer','form','upload','element'], function(){
var $ = layui.$;
var form = layui.form;
// 添加商户按钮点击事件
$('#add-merchant').on('click', function() {
var index = $('.merchant-item').length;
var newItemHtml = `
<div class="merchant-item" style="border: 1px solid #e6e6e6; padding: 20px; margin-bottom: 20px; position: relative;">
<div class="layui-form-item">
<label class="layui-form-label">商户名称</label>
<div class="layui-input-inline ggg">
<input type="text" name="merchants[\${index}][name]" value="" lay-verify="required" class="layui-input" placeholder="请输入商户名称">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">支付宝AppId</label>
<div class="layui-input-inline ggg">
<input type="text" name="merchants[\${index}][appId]" value="" lay-verify="required" class="layui-input" placeholder="请输入支付宝AppId">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">应用私钥</label>
<div class="layui-input-inline ggg">
<textarea name="merchants[\${index}][merchantPrivateKey]" lay-verify="required" class="layui-textarea" placeholder="请输入应用私钥" rows="4"></textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">支付宝公钥</label>
<div class="layui-input-inline ggg">
<textarea name="merchants[\${index}][alipayPublicKey]" lay-verify="required" class="layui-textarea" placeholder="请输入支付宝公钥" rows="4"></textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">权重</label>
<div class="layui-input-inline ggg">
<input type="number" name="merchants[\${index}][weight]" value="1" min="1" lay-verify="required" class="layui-input" placeholder="请输入权重,数值越大被选中的概率越高">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">是否启用</label>
<div class="layui-input-inline ggg">
<input type="checkbox" name="merchants[\${index}][is_enabled]" value="1" lay-skin="switch" lay-text="启用|禁用" checked>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注</label>
<div class="layui-input-inline ggg">
<textarea name="merchants[\${index}][remark]" class="layui-textarea" placeholder="请输入备注信息"></textarea>
</div>
</div>
<button type="button" class="layui-btn layui-btn-danger layui-btn-sm remove-merchant" style="position: absolute; top: 10px; right: 10px;">删除商户</button>
</div>
`;
$('#merchants-container').append(newItemHtml);
form.render();
});
// 删除商户按钮点击事件(使用事件委托)
$(document).on('click', '.remove-merchant', function() {
if ($('.merchant-item').length <= 1) {
layer.msg('至少保留一个商户信息', {icon: 2});
} else {
$(this).closest('.merchant-item').remove();
// 重新排序索引
$('.merchant-item').each(function(idx) {
$(this).find('input, textarea').each(function() {
var name = $(this).attr('name');
if (name) {
$(this).attr('name', name.replace(/merchants\[\d+\]/, 'merchants[' + idx + ']'));
}
});
});
}
});
});
function check(){
var $ = layui.$;
var load=layer.load(2);
var url="{:url('/admin/update')}";
$.post(url,$("form").serialize(),function(data){
if(data.status==1){
layer.msg(data.msg,{icon:1,time:1000},function(){
location.reload();
});
}else{
layer.msg(data.msg,{icon:2,anim:6,time:1500},function(){
layer.close(load);
});
}
});
}
</script>