直接支付:保存的时候传入的参数是一个大的xml

<%@ 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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值