<%@page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%
String basePath = request.getContextPath();
%>
<title>支付渠道选择页面</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<link rel="stylesheet" href="<%=basePath%>/css/func.css"
type="text/css" charset="utf-8" />
<link rel="stylesheet" href="<%=basePath%>/css/func.cache.css"
type="text/css" charset="utf-8" />
<SCRIPT type="text/javascript" src="<%=basePath%>/js/jquery-1.6.4.min.js"></SCRIPT>
<script type="text/javascript" language="javascript">
var arr = new Array();//存储所选择的payCode
function payChannelOK(){
var theArrSize = arr.length;
var submitArr = new Array();
if(theArrSize > 0){
for(var j=0;j < theArrSize;j++){
var putObj = new Object();
if(checkIsNull(arr[j].payCode)){
return;
}
putObj.payCode = arr[j].payCode;//支付渠道Code
putObj.payChannelId = $('#payChannelId'+arr[j].payCode).val();
putObj.payChannelName = $('#payChannelName'+arr[j].payCode).val();
putObj.payChannelPartnerId = $('#payChannelPartnerId'+arr[j].payCode).val();
putObj.payChannelPartnerKey = $('#payChannelPartnerKey'+arr[j].payCode).val();
putObj.ext1 = $('#ext1'+arr[j].payCode).val();
putObj.payType = $('#payType'+arr[j].payCode).val();
putObj.ifLedger = $('#ifLedger'+arr[j].payCode).val();//是否支持分账
putObj.proxyServiceType = $('#proxyServiceType'+arr[j].payCode).val();//代收类型
putObj.isNeedLedger = $('#isNeedLedger'+arr[j].payCode).val();
if($('#isNeedLedger'+arr[j].payCode).val() == 'true'){//是否分账
if(!$('#ledgerList'+arr[j].payCode).val()){
alert("请设置分账规则");
return;
}else{
putObj.ledgerList= $('#ledgerList'+arr[j].payCode).val();//分账规则列表
}
}
submitArr.push(putObj);
}
window.returnValue = submitArr;//Object.toJSON(submitArr);
window.close();
}else{
alert("请选择一种支付方式");
}
}
function payChannelCancel(){
window.close();
}
function checkIsNull(payCode){
if($('#proxyServiceType'+payCode).val() == 'N'){
if(payCode == 'alipay_W'){
if(isNull($('#ext1'+payCode).val())){
alert($('#payChannelName'+payCode).val()+"的合作者身份ID(邮箱)不能为空");
return true;
}
var mailregx=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var new_email=$('#ext1'+payCode).val();
if (new_email !="" && !mailregx.test(new_email)) {
alert($('#payChannelName'+payCode).val()+"合作者身份ID(邮箱)格式不正确");
return true;
}
}else if(payCode == 'kuaiqian_W'){
if(isNull($('#payChannelPartnerId'+payCode).val())){
alert($('#payChannelName'+payCode).val()+"的神州行账号不能为空");
return true;
}
if(isNull($('#payChannelPartnerKey'+payCode).val())){
alert($('#payChannelName'+payCode).val()+"的商户(RSA)私钥不能为空");
return true;
}
}else if(payCode == 'alipay_T'){
if(isNull($('#payChannelPartnerId'+payCode).val())){
alert($('#payChannelName'+payCode).val()+"的合作者身份ID不能为空");
return true;
}
var payidlength = /^2088[0-9]{12}$/;
if($('#payChannelPartnerId'+payCode).val().length != 16 ||!payidlength.test($('#payChannelPartnerId'+payCode).val()) ){
alert($('#payChannelName'+payCode).val()+"的合作者身份ID不符合规范");
return true;
}
}else{
if(isNull($('#payChannelPartnerId'+payCode).val())){
alert($('#payChannelName'+payCode).val()+"的商户编号不能为空");
return true;
}
if(isNull($('#payChannelPartnerKey'+payCode).val())){
alert($('#payChannelName'+payCode).val()+"的商户密钥不能为空");
return true;
}
}
}
return false;
}
function payChannelIdClick(payCode,thisValue){
var obj = new Object();
var pushFlag = false;
var theArrLength = arr.length;
var tempObj = new Object();
obj.payCode = payCode;
//去除重复选择时,重复保存
for(var i = 0;i<theArrLength;i++){
tempObj = arr.pop();
if(tempObj.payCode == obj.payCode) {
if(thisValue == true){
arr.unshift(obj);//始终保存最新选中的
}
pushFlag = true;
}else{
arr.unshift(tempObj);
}
}
//如果没有插入则插入新数据
if(!pushFlag) {
arr.push(obj);
}
}
//是否分账
function isNeedLedgerClick(thisId,thisValue){
if(thisValue == false){
$('#ledgerSelectTD'+thisId).hide();
document.getElementById('isNeedLedger'+thisId).value = "false";
}else{
$('#ledgerSelectTD'+thisId).show();
document.getElementById('isNeedLedger'+thisId).value = "true";
}
}
//非空验证
function isNull(o) {
if (null == o || "" == o || o.replace(/^\s*$/, "") == "") {
return true ;
} else {
return false ;
}
}
//选择分账列表
function selectLedgerList(payCode){
var url = "<%=basePath%>/common/PayChannelAction!showLedgerMain.action?useType="+$('#proxyServiceType'+payCode).val();;
var ledgerResult = window.showModalDialog(url,window,"dialogWidth=650px;dialogHeight=500px;");
if(ledgerResult){
document.getElementById('ledgerList'+payCode).value = ledgerResult;
}
}
function displayProxy(payCode,thisValue){
if(thisValue != 'N'){
if(payCode == 'alipay_W' ||payCode =='alipay_T'){
$('#ext1TH'+payCode).hide();
$('#ext1TD'+payCode).hide();
}else{
$('#payChannelPartnerIdTH'+payCode).hide();
$('#payChannelPartnerKeyTH'+payCode).hide();
$('#payChannelPartnerIdTD'+payCode).hide();
$('#payChannelPartnerKeyTD'+payCode).hide();
}
}else{
if(payCode == 'alipay_W' || payCode =='alipay_T'){
$('#ext1TH'+payCode).show();
$('#ext1TD'+payCode).show();
}else{
$('#payChannelPartnerIdTH'+payCode).show();
$('#payChannelPartnerKeyTH'+payCode).show();
$('#payChannelPartnerIdTD'+payCode).show();
$('#payChannelPartnerKeyTD'+payCode).show();
}
}
}
</script>
</head>
<body>
<h2 align="center">
支付渠道选择页面
</h2>
<br />
<table class="condition">
<caption>网站支付渠道</caption>
<s:iterator value="payChannelWList">
<tr>
<th>
<s:checkbox id="payChannelIdc%{payCode}" value="false"
name="payChannelIdB"
οnclick="payChannelIdClick('%{payCode}',this.checked);"></s:checkbox>
<s:hidden id="payChannelId%{payCode}" value="%{payChannelId}"></s:hidden>
<s:hidden id="payChannelName%{payCode}" value="%{payChannelName}"></s:hidden>
<s:hidden id="payType%{payCode}" value="%{payType}"></s:hidden>
<s:hidden id="ifLedger%{payCode}" value="%{ifLedger}"></s:hidden>
</th>
<td>
<s:property value="payChannelName"></s:property>
</td>
<th>
<s:label>代收类型:</s:label>
</th>
<td>
<s:if test='useType == "B"'>
<s:select id="proxyServiceType%{payCode}"
list="#{'N':'不代收','R':'瑞德代收'}"
οnchange="displayProxy('%{payCode}',this.value);"></s:select>
</s:if>
<s:else>
<s:select id="proxyServiceType%{payCode}"
list="#{'N':'不代收','B':'业务平台代收','R':'瑞德代收'}"
οnchange="displayProxy('%{payCode}',this.value);"></s:select>
</s:else>
</td>
<!-- 支付宝网站充值 -->
<s:if test='payCode == "alipay_W"'>
<th id="ext1TH<s:property value='payCode'/>">
<s:label>合作者身份ID(邮箱):</s:label>
</th>
<td id="ext1TD<s:property value='payCode'/>">
<s:textfield id="ext1%{payCode}" name="ext1"></s:textfield>
</td>
</s:if>
<!-- 快钱网站 -->
<s:elseif test='payCode == "kuaiqian_W"'>
<th id="payChannelPartnerIdTH<s:property value='payCode'/>">
<s:label>神州行账号:</s:label>
</th>
<td id="payChannelPartnerIdTD<s:property value='payCode'/>">
<s:textfield id="payChannelPartnerId%{payCode}"
name="payChannelPartnerId"></s:textfield>
</td>
<th id="payChannelPartnerKeyTH<s:property value='payCode'/>">
<s:label>商户(RSA)私钥:</s:label>
</th>
<td id="payChannelPartnerKeyTD<s:property value='payCode'/>">
<s:textfield id="payChannelPartnerKey%{payCode}"
name="payChannelPartnerKey"></s:textfield>
</td>
</s:elseif>
<s:else>
<th id="payChannelPartnerIdTH<s:property value='payCode'/>">
<s:label>商户编号:</s:label>
</th>
<td id="payChannelPartnerIdTD<s:property value='payCode'/>">
<s:textfield id="payChannelPartnerId%{payCode}"
name="payChannelPartnerId"></s:textfield>
</td>
<th id="payChannelPartnerKeyTH<s:property value='payCode'/>">
<s:label>商户密钥:</s:label>
</th>
<td id="payChannelPartnerKeyTD<s:property value='payCode'/>">
<s:textfield id="payChannelPartnerKey%{payCode}"
name="payChannelPartnerKey"></s:textfield>
</td>
</s:else>
<s:if test='ifLedger == "Y"'>
<th>
<s:checkbox id="isNeedLedger%{payCode}" value="true"
name="isNeedLedger"
οnclick="isNeedLedgerClick('%{payCode}',this.checked);"></s:checkbox>
</th>
<td>
<s:label>是否分账</s:label>
</td>
<td id="ledgerSelectTD<s:property value='payCode'/>"
style="display:block;">
<input type="button"
οnclick="selectLedgerList('<s:property value='payCode'/>');"
value="选择分账规则" />
<s:hidden id="ledgerList%{payCode}" name="ledgerListDoc"></s:hidden>
</td>
</s:if>
</tr>
</s:iterator>
</table>
<br />
<table class="condition">
<caption>终端支付渠道</caption>
<s:iterator value="payChannelCList">
<tr>
<th>
<s:checkbox id="payChannelIdc%{payCode}" value="false"
name="payChannelIdc"
οnclick="payChannelIdClick('%{payCode}',this.checked);"></s:checkbox>
</th>
<td>
<s:property value="payChannelName"></s:property>
</td>
<th>
<s:label>代收类型:</s:label>
<s:hidden id="payChannelId%{payCode}" value="%{payChannelId}"></s:hidden>
<s:hidden id="payChannelName%{payCode}" value="%{payChannelName}"></s:hidden>
<s:hidden id="payType%{payCode}" value="%{payType}"></s:hidden>
<s:hidden id="ifLedger%{payCode}" value="%{ifLedger}"></s:hidden>
</th>
<td>
<s:if test='useType == "B"'>
<s:select id="proxyServiceType%{payCode}"
list="#{'N':'不代收','R':'瑞德代收'}"
οnchange="displayProxy('%{payCode}',this.value);"></s:select>
</s:if>
<s:else>
<s:select id="proxyServiceType%{payCode}"
list="#{'N':'不代收','B':'业务平台代收','R':'瑞德代收'}"
οnchange="displayProxy('%{payCode}',this.value);"></s:select>
</s:else>
</td>
<!-- 支付宝手机客户端充值 -->
<s:if test='payCode == "alipay_T"'>
<th id="ext1TH<s:property value='payCode'/>">
<s:label>合作者身份ID:</s:label>
</th>
<td id="ext1TD<s:property value='payCode'/>">
<s:textfield id="payChannelPartnerId%{payCode}"
name="payChannelPartnerId"></s:textfield>
<s:label>提示:以2088开头的16位纯数字</s:label>
</td>
</s:if>
<s:else>
<th id="payChannelPartnerIdTH<s:property value='payCode'/>">
<s:label>商户编号:</s:label>
</th>
<td id="payChannelPartnerIdTD<s:property value='payCode'/>">
<s:textfield id="payChannelPartnerId%{payCode}"
name="payChannelPartnerId"></s:textfield>
</td>
<th id="payChannelPartnerKeyTH<s:property value='payCode'/>">
<s:label>商户密钥:</s:label>
</th>
<td id="payChannelPartnerKeyTD<s:property value='payCode'/>">
<s:textfield id="payChannelPartnerKey%{payCode}"
name="payChannelPartnerKey"></s:textfield>
</td>
</s:else>
<s:if test='ifLedger == "Y"'>
<th>
<s:checkbox id="isNeedLedger%{payCode}" value="true"
name="isNeedLedger"
οnclick="isNeedLedgerClick('%{payCode}',this.checked);"></s:checkbox>
</th>
<td>
<s:label>是否分账</s:label>
</td>
<td id="ledgerSelectTD<s:property value='payCode'/>"
style="display:block;">
<input type="button"
οnclick="selectLedgerList('<s:property value='payCode'/>');"
value="选择分账规则" />
<s:hidden id="ledgerList%{payCode}" name="ledgerListDoc"></s:hidden>
</td>
</s:if>
</tr>
</s:iterator>
</table>
<div align="center">
<button οnclick="payChannelOK()" value="确定">
确定
</button>
<button οnclick="payChannelCancel()" value="取消">
取消
</button>
</div>
</body>
</html>