<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ include file ="../../../page/common/common.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>直接支付录入页面</title>
<script type="text/javascript" src="<%=basePath%>/js/util/validate.js"></script>
<script>
var new_file_ids = "";
var myobject = parent.parObj.eduInfo;
var BGT_FILE=myobject.BGT_FILE;
var PUBAGENCY_NAME=myobject.PUBAGENCY_NAME; //预算单位
var COLLECT_SUM=myobject.COLLECT_SUM; //总金额
var USEDMONEY=myobject.USEDMONEY; //已用金额
var AVAILMONEY=myobject.AVAILMONEY; //可用金额
var PUBMOFDEPT_NAME=myobject.PUBMOFDEPT_NAME; //业务科室
var PUBFUNDTYPE_NAME=myobject.PUBFUNDTYPE_NAME;//资金性质
var PUBEXPFUNC_NAME=myobject.PUBEXPFUNC_NAME; //功能分类
var ITEM_NAME=myobject.ITEM_NAME; //预算项目
var PUBBDGSOURCE_NAME=myobject.PUBBDGSOURCE_NAME; //预算来源
var PUBPAYTYPE_NAME=myobject.PUBPAYTYPE_NAME; //经济分类
var PUBFUNDCLASS_NAME=myobject.PUBFUNDCLASS_NAME; //经费类型
var PAY_MONTH=myobject.PAY_MONTH; //支出时限
//页面传来的各种ID值
var FUNDTYPEID=myobject.FUNDTYPEID; //资金性质id
var QUOTA_ID=myobject.QUOTA_ID; //额度编号id
var BGT_ID=myobject.BGT_ID; //指标文号id
var AGENCYITEMID=myobject.AGENCYITEMID; //预算单位item_id
var EXPFUNCID=myobject.EXPFUNCID; //功能分类id
var ITEMID=myobject.ITEMID; //预算项目id
var ZJBRANCHID=myobject.ZJBRANCHID; //资金科室id
var PUBEXPECONORMIC_CODE=myobject.PUBEXPECONORMIC_CODE; //经济分类code
var PAYKIND_ID=myobject.PAYKIND_ID; //支出类型(id)
var PAYTYPE_ID=myobject.PAYTYPE_ID; //支付方式(id)
var CONTRACT_ID = myobject.CONTRACT_ID; //合同(id)
var ZG_BRANCH_ID = myobject.ZG_BRANCH_ID;//主管科室ID
var AGENCY_ID = myobject.AGENCY_ID;//预算单位ID
var PUBPROTYPE_NAME = myobject.PUBPROTYPE_NAME; //项目类型
var PAYKIND_NAME = myobject.PAYKIND_NAME;//支出类型
/* 【页面初始化】 */
function OnReady(id){
if (id == 'AF') {
AF.func("Build", "<%=path%>/sz/xml/direct/directInsert/newdirectInsertAdd/new_add_direct_main.xml");//加载xml
AF.func("foots.SetObjectProp", "upfile \r\n enable \r\n true");
AF.func("foots.SetObjectProp", "prestep \r\n enable \r\n true");
/**
下面为从额度页面带到输入页面的值
*/
AF.func("zblist.SetValue", "yudw\r\n" + PUBAGENCY_NAME);//预算单位
AF.func("zblist.SetValue", "ywcs\r\n" + PUBMOFDEPT_NAME);//业务处室
AF.func("zblist.SetValue", "zjxz\r\n" + PUBFUNDTYPE_NAME);//资金性质
AF.func("zblist.SetValue", "xmlx\r\n" + PUBPROTYPE_NAME);//项目类型
AF.func("zblist.SetValue", "zclx\r\n" + PAYKIND_NAME);//支出类型
AF.func("zblist.SetValue", "zbly\r\n" + PUBBDGSOURCE_NAME);//指标来源
AF.func("zblist.SetValue", "zblx\r\n" + ITEM_NAME);//预算项目
//下面有隐藏的ID值
AF.func("zblist.SetValue", "bgt_no\r\n" + BGT_ID);//指标文号ID
AF.func("zblist.SetValue", "quota_no\r\n" + QUOTA_ID);//额度id
AF.func("zblist.SetValue", "expfunc_id\r\n" + EXPFUNCID);//功能分类ID
AF.func("zblist.SetValue", "item_id\r\n" + ITEMID);//预算项目ID
AF.func("zblist.SetValue", "zjbranch_id\r\n" + ZJBRANCHID);//资金科室ID
AF.func("zblist.SetValue", "fundtype_id\r\n" + FUNDTYPEID);//资金性质id
AF.func("zblist.SetValue", "agency_id\r\n" + AGENCY_ID);//预算单位id
AF.func("zblist.SetValue", "agency_item_id\r\n" + AGENCYITEMID);//预算单位item_id
AF.func("zblist.SetValue", "paykind_id\r\n" + PAYKIND_ID);//支出类型(id)
AF.func("zblist.SetValue", "paytype_id\r\n" + PAYTYPE_ID);//支付方式(id)
AF.func("zblist.SetValue", "ZG_BRANCH_ID\r\n" + ZG_BRANCH_ID);//主管科室(id)
AF.func("p_amount.SetValue", "summoney\r\n" + COLLECT_SUM);//总金额
AF.func("p_amount.SetValue", "alreadymoney\r\n" + USEDMONEY);//已用金额
AF.func("p_amount.SetValue", "availmoney\r\n" + AVAILMONEY);//可用金额
AF.func("other_info.SetValue", "zhichu_shixian\r\n" + PAY_MONTH);//支出时限
AF.func("other_info.SetValue", "gongn_fenlei\r\n"+ PUBEXPFUNC_NAME);//功能分类
//AF.func("zb.SetValue", "ITEM_NAME\r\n" + PUBBDGSOURCE_NAME);//预算来源
AF.func("s_pay_info.SetValue", "is_check\r\n" + 1);//
AF.func("other_info.SetObjectProp", "contract_num\r\nenable \r\n false");//合同号
AF.func("s_pay_info.SetObjectProp","querySupplier \r\n visible \r\n false");
//带过来合同的信息
if(""!= CONTRACT_ID){
//收款人的信息不可以修改
//AF.func("s_pay_info.SetObjectProp", "s_bank_code\r\nenable \r\n false");//银行账户
//AF.func("s_pay_info.SetObjectProp", "s_bank_full_name\r\nenable \r\n false");//全称
//AF.func("s_pay_info.SetObjectProp", "s_bank_type\r\nenable \r\n false");//开户银行
AF.func("other_info.SetObjectProp", "contract_num\r\nenable \r\n false");//合同号
AF.func("s_pay_info.SetObjectProp","querySupplier \r\n visible \r\n false");
var m = {};
m.busId = "query_contract_info";
m.contractId = CONTRACT_ID;
$.post(pubAct, m, function(data) {
debugger;
var length =data.items.length;
for(var i=0;i<length;i++){
AF.func("s_pay_info.SetValue", "s_bank_code\r\n" + data.items[i].BANK_ACCOUNT);// 银行账户
AF.func("s_pay_info.SetValue", "s_bank_full_name\r\n" + data.items[i].SUPPLY_LINK_MAN);//全称
AF.func("s_pay_info.SetValue", "s_bank_type\r\n" + data.items[i].DEPOSIT_BANK);//开户银行
AF.func("other_info.SetValue", "contract_num\r\n" + data.items[i].CONTRACT_NO);//合同号
}
}, "json");
}
}
}
/* 【各种事件处理方法】 */
function OnEvent(id, Event, p1, p2, p3, p4) {
if (id == 'AF') {
if (Event == 'zblist.SelChanged') {
bgtId = AF.func("zblist.getcelldata", p1 + "\r\nBGT_ID");
pro_src_id = AF.func("zblist.getcelldata", p1
+ "\r\nPRO_SRC_ID");
AF.func("zb.Load", pubAct + "&busId=zb_list_byid&bgtId="
+ bgtId + "&tempparam=" + Math.random());
setUseAmount(bgtId);
} else if (Event == 'foots.ButtonClicked') {
if (p1 == 'save') {
save(); //保存事件
} else if (p1 == 'close') {
window.close();
} else if (p1 == 'prestep') {
gobackjsp();//返回上一步
} else if (p1 == 'upfile') {//上传附件按钮
uploadFile();
} else if (p1 == 'songs') {//送审
bgtsubmit();
}
} else if (Event == 'other_info.ButtonClicked') {
if (p1 == 'btnQuery') { //进行经济分类的选择
economicTypeSelect();
}
if (p1 == 'btnQueryContract') { //合同的选择情况
showContractInfo();
}
}else if(Event == 's_pay_info.ButtonClicked'){
if(p1 == 'supplier'){ //进行供应商的选择
querySelectSupplier();
}
if(p1 == 'savepayeeinfo'){ //保存收款人
saveSupplierInfo();
}
}
}
}
//保存到收款人信息
function saveSupplierInfo() {
var bank_account = AF.func("s_pay_info.GetValue", "s_bank_code"); //银行账户
var full_bank_name = AF.func("s_pay_info.GetValue", "s_bank_full_name"); //全称
var open_bank = AF.func("s_pay_info.GetValue", "s_bank_type"); //开户银行
var flag = 1;
if (full_bank_name == "") {
AF.func("MsgFloat",
"请填写银行全称!\r\nicon=Info; hold=3.5;center=true");
return false;
}
if (open_bank == "") {
AF.func("MsgFloat",
"请填写开户银行!\r\nicon=Info; hold=3.5;center=true");
return false;
}
if (bank_account == "") {
AF.func("MsgFloat",
"请填写银行账户!\r\nicon=Info; hold=3.5;center=true");
return false;
}
//账号的校验
if(!checkAccount(bank_account)){
AF.func("MsgFloat","账号只能为数字、下划线、短线!\r\nicon=Info; hold=3.5;center=true");
return false;
};
var pdata = {};
pdata.busId = "business_bank_insert";
pdata.full_bank_name = full_bank_name; //全称
pdata.open_bank = open_bank; //开户银行
pdata.bank_account = bank_account; //银行账户账号
pdata.flag = flag; //进行修改的标志符
//pdata.supplier_no = supplier_no; //id值
var url = pubAct;
$.post(url,pdata,function(data){
if (data.msg == "保存成功") {
AF.func("MsgFloat","保存成功!\r\nicon=Info; hold=3.5;center=true");
}
if (data.msg == "该账号已经存在") {
AF.func("MsgFloat","该收款人银行账号已经存在!\r\nicon=Info; hold=3.5;center=true");
}
},"json");
}
//经济分类的弹出框
function economicTypeSelect() {
var code = PUBEXPECONORMIC_CODE;
var params = 'code=' + code + '&flag=' + 5;
//var sFeature='dialogWidth=300px;dialogHeight=400px;minimize=false;maximize=false;status=0';
var returnValue = showModule("../../../page/common/publicPopBox.jsp", 300,
500, params);
// showDialog("window", data, title, sd_width);
if (returnValue) {
onFinishedAdd(returnValue);
}
}
//供应商的选择
function querySelectSupplier() {
var code = "";
var tableName = "BUSINESSACCOUNT";
var params = 'code=' + code + '&tableName=' + tableName;
var returnValue = showModule("../../../page/common/publicPopBox.jsp", 300,
500, params);
AF.func("s_pay_info.SetValue", "s_bank_code\r\n" + returnValue[0][3]);// 银行账户
AF.func("s_pay_info.SetValue", "s_bank_full_name\r\n" + returnValue[0][4]);//全称
AF.func("s_pay_info.SetValue", "s_bank_type\r\n" + returnValue[0][5]);//开户银行
}
/**
* 合同的选择弹出框
**/
function showContractInfo() {
var contarct_id = CONTRACT_ID;
if(contarct_id=="" ||contarct_id==null){
showMsgDialog(basepath, AF, "合同号为空,无法查看!", 'info');
return;
}
var tableName = "BUSINESSACCOUNT";
var params = 'contarct_id=' + contarct_id;
var returnValue = showModule("../../../page/common/publicConConfirm.jsp", 850,
300, params);
AF.func("s_pay_info.SetValue", "s_bank_code\r\n" + returnValue[0][1]);// 银行账户
AF.func("s_pay_info.SetValue", "s_bank_full_name\r\n" + returnValue[0][0]);//全称
AF.func("s_pay_info.SetValue", "s_bank_type\r\n" + returnValue[0][2]);//开户银行
AF.func("other_info.SetValue", "contract_num\r\n" + returnValue[0][3]);//合同号
}
/**
*【经济分类回调方法】
**/
function onFinishedAdd(data) {
//AF.func("other_info.SetValue", "exp_eco_code\r\n" + data[0][3]);//经济分类code
//AF.func("other_info.SetValue", "jingji_fenlei\r\n" + data[0][4]);//经济分类名称
AF.func("other_info.SetValue", "exp_eco_code\r\n" + data[0][6]);//经济分类id
AF.func("other_info.SetValue", "jingji_fenlei\r\n" + data[0][4]);//经济分类名称
}
//【送审】
function bgtsubmit() {
var wfarr = new Array();
var taskId = "";
var agency_code = "";
var businessId = "";
var formId = "";
var procg_flag = "0";//0表示项目采购的分包金额,立项金额,指标金额三者相等
agency_code = userLogonObj.agencyCode;
businessId = reqId;
formId = "314";
var url = pubAct;
var pdata = {
busId : "wf_processconf",
formId : formId,
taskId : ''
};
$
.post(
url,
pdata,
function(data) {
if (data && data.isSuc && data.isSuc == "true") {
pid = data.pid;
org_wf_id = data.org_wf_id;
parent.org_wf_id = data.org_wf_id;
processDefinitionId = data.sid;
var url = pubAct;
var pdata = {};
pdata = {
busId : "wf_start",
serviceCode : "bgt_reqzf",
processDefinitionId : processDefinitionId,
org_wf_id : org_wf_id,
taskId : taskId,
applay_summary : "",
AGENCY_CODE : agency_code,
businessId : businessId
};
$
.post(
url,
pdata,
function(data) {
if (data && data.msg) {
AF
.func(
"MessageBoxFloat",
data.msg
+ "\r\n title=Prompt; icon=Information; hold=3");
AF
.func(
"foots.SetObjectProp",
"upfile \r\n enable \r\n false");
AF
.func(
"foots.SetObjectProp",
"songs \r\n enable \r\n false");
} else {
showMsgDialog(basepath,
AF, data.msg,
'info');
}
}, "json");
}
}, "json");
}
/* 【保存直接支付】 */
function save() {
//获取页面的勾选框的值 是否保存收款人
var is_check = AF.func("s_pay_info.GetValue", "is_check"); //银行账户
var other_info_check = AF.func("other_info.GetChangedXML", "level=0;"); //其它的信息
if(other_info_check==0){
return;//验证没有通过
}
//进行金额的校验
var pay_money = AF.func("other_info.GetValue", "pay_amount"); //支付金额
var availmoney = AF.func("p_amount.GetValue", "availmoney"); //可用金额
var pay_money1= pay_money*1;
var availmoney1= availmoney*1;
//js校验金额 ,支付金额小于可用金额
if(!checkAmountzMoneyKOkMoney(pay_money1,availmoney1)){
return;//金额校校验
}
var payee_bank = AF.func("s_pay_info.GetValue", "s_bank_type"); //收款人银行
var payee_account = AF.func("s_pay_info.GetValue", "s_bank_code"); //收款人账号
var payee_name = AF.func("s_pay_info.GetValue", "s_bank_full_name"); //收款人名称
//js 校验收款人
if(!checkAccountInfo(payee_bank, payee_account,payee_name)){
return false;
}
if(true){
var p = {};
//整体获得xml的值
p.zblist = AF.func("zblist.GetChangedXML", "level=0;"); //上面最主的录入框
p.p_amount = AF.func("p_amount.GetChangedXML", "level=0;"); //(元)
p.f_pay_info = AF.func("f_pay_info.GetChangedXML", "level=0;"); //付款人信息
p.s_pay_info = AF.func("s_pay_info.GetChangedXML", "level=0;"); //收款人信息
p.other_info = AF.func("other_info.GetChangedXML", "level=0;"); //其它的信息
p.payId = "";
p.file_ids = new_file_ids;
p.filetype ="26";
p.busId = "direct_insert";
p.method = "insertPayInfo";
p.contract_id = CONTRACT_ID;
p.paytype_id = "2"; //支付方式 直接支付
p.payee_name = payee_name; //全称
p.payee_bank = payee_bank; //开户银行
p.payee_account = payee_account; //银行账户账号
//ajax进行加载
if (p.xml != "") {
$.post(pubAct, p, function(data) {
if (data.rlt) {
if(is_check == "1"){
if(!saveSupplierInfoSave()){
AF.func("s_pay_info.SetValue", "is_check\r\n" + 1);// 银行账户
}
}
showMsgDialog(basepath, AF, data.msg, 'info');
AF.func("foots.SetObjectProp","upfile \r\n enable \r\n true");
AF.func("foots.SetObjectProp","prestep \r\n enable \r\n false");
window.close();
//reqId=data.reqId;
} else {
showMsgDialog(basepath, AF, data.msg, 'info');
AF.func("foots.SetObjectProp","save \r\n enable \r\n true");
AF.func("foots.SetObjectProp","close \r\n enable \r\n true");
AF.func("foots.SetObjectProp","prestep \r\n enable \r\n true");
}
}, "json");
}
}
}
//保存到收款人信息
function saveSupplierInfoSave() {
var bank_account = AF.func("s_pay_info.GetValue", "s_bank_code"); //银行账户
var full_bank_name = AF.func("s_pay_info.GetValue", "s_bank_full_name"); //全称
var open_bank = AF.func("s_pay_info.GetValue", "s_bank_type"); //开户银行
var flag = 1;
if (bank_account == "") {
AF.func("MsgFloat",
"请填写收款人银行账户!\r\nicon=Info; hold=3.5;center=true");
return false;
}
if (full_bank_name == "") {
AF.func("MsgFloat",
"请填写收款人银行全称!\r\nicon=Info; hold=3.5;center=true");
return false;
}
if (open_bank == "") {
AF.func("MsgFloat",
"请填写收款人开户银行!\r\nicon=Info; hold=3.5;center=true");
return false;
}
//账号的校验
if(!checkAccount(bank_account)){
AF.func("MsgFloat","账号只能为数字、下划线、短线!\r\nicon=Info; hold=3.5;center=true");
return false;
};
var pdata = {};
pdata.busId = "business_insert_save";
pdata.full_bank_name = full_bank_name; //全称
pdata.open_bank = open_bank; //开户银行
pdata.bank_account = bank_account; //银行账户账号
pdata.flag = flag; //进行修改的标志符
//pdata.supplier_no = supplier_no; //id值
pdata.flagT = "2";
var url = pubAct;
var strReturn = '';
$.post(url,pdata,function(data){
if (data.msg == "保存成功") {
strReturn = "success";
}
if (data.msg == "该账号已经存在") {
strReturn = "fail";
}
},"json");
if(strReturn == "success"){
return true;
}
if(strReturn == "fail"){
return false;
}
}
//银行校验
function checkAccount(str)
{
for(var i=0;i<str.length;i++)
{
var tmpChar = str.charAt(i);
if( (tmpChar >='0' && tmpChar<='9') || tmpChar == '-' || tmpChar=='_'){continue;}
else { return false;}
}
return true;
}
//金额校验
function checkAmount(str)
{
for(var i=0;i<str.length;i++)
{
var tmpChar = str.charAt(i);
if( (tmpChar >='0' && tmpChar<='9')){continue;}
else { return false;}
}
return true;
}
/* 【设置细化代码】 */
function setReqCode() {
var pdata = {
busId : 'req_4',
itemLsId : itemLsId
};
$.post(pubAct, pdata, function(data) {
if (data.isSuc && data.isSuc == "true") {
if (data.reqCode) {
AF.func('xycg.SetValue', 'REQ_CODE\r\n' + data.reqCode);
}
}
}, 'json');
}
/* 【返回上一页】 */
function gobackjsp() {
try {
parent.document.getElementById('af1').style.display = 'block';
parent.document.getElementById('af2').style.display = 'block';
parent.document.getElementById('iframe2').style.display = 'none';
} catch (e) {
}
}
//设置可用金额、已用金额
function setUseAmount(bgtId) {
//查询已用金额
var pdata = {
busId : 'query_usedmount',
bgtId : bgtId
};
$.post(pubAct, pdata, function(data) {
if (data.isSuc == "true") {
if (data.USED_AMOUNT) {
var sunAmount = AF.func("zb.GetValue", "ZBZAMOUNT");//指标总金额
if (sunAmount) {
var uamount = parseFloat(sunAmount)
- parseFloat(data.USED_AMOUNT);
AF.func("zb.SetValue", "USE_AMOUNT \r\n" + uamount);//可用金额
AF.func("zb.SetValue", "USED_AMOUNT \r\n"
+ data.USED_AMOUNT);//已用金额
}
}
}
}, "json");
}
//检查金额
function checkMoney() {
//var shoprow = parseInt(AF.func("shopList.getRows",""));
var good_amout = AF.func("clxi.GetValue", "total_amount");
var use_amount = AF.func("zb.GetValue", "USE_AMOUNT");
var amount_req = AF.func("xycg.GetValue", "amount_req");
var amount = AF.func("xycg.GetValue", "amount");
if (parseFloat(amount_req) <= parseFloat(amount)) {
if (parseFloat(amount_req) <= parseFloat(use_amount)) {
if (parseFloat(amount_req) == parseFloat(good_amout.replace(
/,/g, ''))) {
return true;
} else {
AF.func("MessageBoxFloat", "请确保申请金额等于商品总金额!");
return false;
}
} else {
AF.func("MessageBoxFloat", "请确保申请金额小于可用金额!");
return false;
}
} else {
AF.func("MessageBoxFloat", "请确保申请金额小于立项金额!");
return false;
}
}
/* 【上传附件】 */
function uploadFile() {
var payId= "";
var params ="payId="+payId+"&isuse=true&filetype=26&new_file_ids="+new_file_ids;
var winrtn = showModule("../../../page/common/fileUpload.jsp?bsessionid="+bsessionid+"&"+params,700,400,null);
if(winrtn){
new_file_ids = winrtn;
}
}
</script>
</head>
<body class="easyui-layout" style="overflow: hidden;">
<div data-options="region:'center',border:false" fit=true
style="overflow: hidden;">
<script>
insertFreeForm('AF')
</script>
</div>
</body>
</html>