|
|
|
@ -0,0 +1,799 @@
|
|
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html>
|
|
|
|
|
|
|
|
|
|
<head>
|
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
|
<title></title>
|
|
|
|
|
<link rel="stylesheet" type="text/css" href="__CSS__/base.css" media="all">
|
|
|
|
|
<link rel="stylesheet" type="text/css" href="__CSS__/common.css" media="all">
|
|
|
|
|
<link rel="stylesheet" type="text/css" href="__CSS__/style.css" media="all">
|
|
|
|
|
<link rel="stylesheet" type="text/css" href="__CSS__/default_color.css" media="all">
|
|
|
|
|
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
|
|
|
|
|
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
|
|
|
|
|
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="__STATIC__/jquery-2.0.3.min.js"></script>
|
|
|
|
|
<script type="text/javascript" src="__JS__/select2.min.js"></script>
|
|
|
|
|
<script type="text/javascript" src="__STATIC__/layer3/layer.js"></script>
|
|
|
|
|
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
|
|
|
|
|
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"
|
|
|
|
|
charset="UTF-8"></script>
|
|
|
|
|
<script src="__STATIC__/juicer-min.js" type="text/javascript"></script>
|
|
|
|
|
</head>
|
|
|
|
|
<style>
|
|
|
|
|
html {
|
|
|
|
|
min-width: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body {
|
|
|
|
|
padding: 0px;
|
|
|
|
|
width: 960px;
|
|
|
|
|
margin: auto;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tabcon1711 table {
|
|
|
|
|
width: 480px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
table {
|
|
|
|
|
|
|
|
|
|
margin: auto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.hidebox {
|
|
|
|
|
display: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.r {
|
|
|
|
|
width: 300px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.l {
|
|
|
|
|
width: 180px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.select2-container--default .select2-selection--single {
|
|
|
|
|
color: #000;
|
|
|
|
|
resize: none;
|
|
|
|
|
border-width: 1px;
|
|
|
|
|
border-style: solid;
|
|
|
|
|
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
|
|
|
|
|
box-shadow: 0px 3px 3px #F7F8F9 inset;
|
|
|
|
|
height: 35px;
|
|
|
|
|
height: 28px;
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
|
|
|
|
line-height: 35px;
|
|
|
|
|
line-height: 28px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
|
|
|
|
height: 26px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.select2-container--default .select2-search--dropdown .select2-search__field {
|
|
|
|
|
height: 26px;
|
|
|
|
|
line-height: 26px;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.select2-results__option[aria-selected] {
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.input-list,
|
|
|
|
|
.i_list {
|
|
|
|
|
float: left;
|
|
|
|
|
margin: 0;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
<body>
|
|
|
|
|
<!-- <div style="width: 100%;line-height: 100px;font-size: 25px;font-weight: 600;text-align: center;">
|
|
|
|
|
海南万盟天下科技有限公司
|
|
|
|
|
</div> -->
|
|
|
|
|
<div style="display: flex;margin: auto;">
|
|
|
|
|
<div class="tab-content tabcon1711" id="firstPartBaseInfo">
|
|
|
|
|
<table border="0" cellspacing="0" cellpadding="0">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">甲方:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<div class="input-list input-list-game search_label_rehab">
|
|
|
|
|
<select id="first_partner_id" name="partner_id" class="select_gallery">
|
|
|
|
|
<option value="0" selected>海南万盟天下科技有限公司</option>
|
|
|
|
|
</select>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tbody id="first_part_bser_info_show">
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">联系人:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt" name="link_man" value="" placeholder="请输入联系人">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">联系电话:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt" name="link_phone" value="" placeholder="请输入联系电话">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">邮寄地址:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt" name="address" value="" placeholder="请输入地址">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">公司税号:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt" name="company_tax_no" value="" placeholder="请输入公司税号">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="tab-content tabcon1711" id="secondPartBaseInfo">
|
|
|
|
|
<table border="0" cellspacing="0" cellpadding="0">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">乙方:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<div class="input-list input-list-game search_label_rehab">
|
|
|
|
|
<select id="second_partner_id" name="partner_id" class="select_gallery">
|
|
|
|
|
<option value="{$company_id}" selected>{$company_name}</option>
|
|
|
|
|
</select>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tbody id="second_part_bser_info_show">
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">联系人:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt" name="link_man" value="" disabled="disabled"
|
|
|
|
|
placeholder="请先选择合作公司">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">联系电话:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt" name="link_phone" value="" disabled="disabled"
|
|
|
|
|
placeholder="请先选择合作公司">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">邮寄地址:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt" name="address" value="" disabled="disabled"
|
|
|
|
|
placeholder="请先选择合作公司">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">公司税号:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt" name="company_tax_no" value="" disabled="disabled"
|
|
|
|
|
placeholder="请先选择合作公司">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div style="padding: 30px 0px 10px;display: block;height:30px;">
|
|
|
|
|
<div class="input-list input-list-server search_label_rehab">
|
|
|
|
|
<p style="font-size: 20px;font-weight: 600;">支付给:<spen style="margin-left: 15px;font-size: 16px;">{$company}
|
|
|
|
|
</spen>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
<div class="search_list" style="display: block;line-height: 30px;height: 10px;">
|
|
|
|
|
<div class="input-list input-list-server search_label_rehab">
|
|
|
|
|
<p>结算订单的月份:</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="input-list" style="margin-left: 20px;">
|
|
|
|
|
<input type="text" readonly class="" value="{$statement_begin_time}" placeholder="开始时间" />
|
|
|
|
|
-
|
|
|
|
|
<div class="input-append date" style="display:inline-block">
|
|
|
|
|
<input type="text" readonly value="{$statement_end_time}" placeholder="结束时间" />
|
|
|
|
|
<span class="add-on"><i class="icon-th"></i></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="data_list box_mt" style="margin-top: 40px;">
|
|
|
|
|
<div class="">
|
|
|
|
|
<table>
|
|
|
|
|
<!-- 表头 -->
|
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<th rowspan="2" style="border-right: solid 1px #b6cad2;">结算时间</th>
|
|
|
|
|
<th rowspan="2" style="border-right: solid 1px #b6cad2;">产品</th>
|
|
|
|
|
<th rowspan="2" style="border-right: solid 1px #b6cad2;">平台总额</th>
|
|
|
|
|
<th colspan=2 style="border-right: solid 1px #b6cad2;">分成比例</th>
|
|
|
|
|
|
|
|
|
|
<th rowspan="2" style="border-right: solid 1px #b6cad2;">渠道费率</th>
|
|
|
|
|
<th rowspan="2" style="border-right: solid 1px #b6cad2;">税费费率</th>
|
|
|
|
|
|
|
|
|
|
<th>结算金额</th>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<th style="border-right: solid 1px #b6cad2;min-width: 50px;">甲方</th>
|
|
|
|
|
<th style="min-width: 50px;">乙方</th>
|
|
|
|
|
<th style="font-size: 10px;font-weight: 400;max-width: 100px;line-height: 1.2;">
|
|
|
|
|
结算金额=平台总额*(1-渠道费)*分成比例*(1-税费费率)</th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
|
|
|
|
|
<!-- 列表 -->
|
|
|
|
|
<tbody id="statementInit" class="">
|
|
|
|
|
<tr style="height: 100px;">
|
|
|
|
|
<td colspan=8>
|
|
|
|
|
请先选择生成条件后点击生成对账数据
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
|
|
|
|
|
<tbody id="statementShow">
|
|
|
|
|
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="partpatinfo" style="display: flex;margin: auto;">
|
|
|
|
|
<div class="tab-content tabcon1711" id="skf_payinfo">
|
|
|
|
|
<table border="0" cellspacing="0" cellpadding="0">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">收款方名称:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt" name="" disabled="disabled" placeholder="请先选择支付给谁" value="">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">银行账号:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt" name="" value="" disabled="disabled" placeholder="请先选择支付给谁">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">开户行:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt" name="password" value="" disabled="disabled"
|
|
|
|
|
placeholder="请先选择支付给谁">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="tab-content tabcon1711" id="fkf_payinfo">
|
|
|
|
|
<table border="0" cellspacing="0" cellpadding="0">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">付款方名称:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt" name="" value="" disabled="disabled" placeholder="请先选择支付给谁">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">银行账号:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt" name="password" value="" disabled="disabled"
|
|
|
|
|
placeholder="请先选择支付给谁">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">开户行:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt" name="" value="" disabled="disabled" placeholder="请先选择支付给谁">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="search_list" style="position: fixed;justify-content:flex-end;width:960px;">
|
|
|
|
|
<div class="input-list" style="margin-left: 30px;float: right;">
|
|
|
|
|
<a class="sch-btn" href="javascript:;" id="createStatement" style="width: 150px;">确认修改</a>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<script type="text/html" id="partbasetpl">
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">联系人:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt normalchange" data-change="${type}.link_man" name="link_man" value="${link_man|nonull}" placeholder="请输入联系人">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">联系电话:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt normalchange" name="link_phone" data-change="${type}.link_phone" value="${link_phone|nonull}" placeholder="请输入联系电话">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">邮寄地址:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt normalchange" name="address" data-change="${type}.address" value="${address|nonull}" placeholder="请输入地址">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">公司税号:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt normalchange" name="company_tax_no" data-change="${type}.company_tax_no" value="${company_tax_no|nonull}" placeholder="请输入公司税号">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</script>
|
|
|
|
|
<script type="text/html" id="partpaytpl">
|
|
|
|
|
<div class="tab-content tabcon1711" id="skf_payinfo">
|
|
|
|
|
<table border="0" cellspacing="0" cellpadding="0">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">收款方名称:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt normalchange" placeholder="请输入收款方名称" data-change="${'skf'|setChange}.payee_name" name="payee_name" value="${skfdata.payee_name|nonull}">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">银行账号:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt normalchange" placeholder="请输入银行账号" name="bank_account" data-change="${'skf'|setChange}.bank_account" value="${skfdata.bank_account|nonull}">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">开户行:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt normalchange" placeholder="请输入开户行" data-change="${'skf'|setChange}.opening_bank" value="${skfdata.opening_bank|nonull}" name="opening_bank">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="tab-content tabcon1711" id="fkf_payinfo">
|
|
|
|
|
<table border="0" cellspacing="0" cellpadding="0">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">付款方名称:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt normalchange" placeholder="请输入付款方名称" data-change="${'fkf'|setChange}.payee_name" name="payee_name" value="${fkfdata.payee_name|nonull}">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">银行账号:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt normalchange" placeholder="请输入银行账号" data-change="${'fkf'|setChange}.bank_account" name="bank_account" value="${fkfdata.bank_account|nonull}" >
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="l">开户行:</td>
|
|
|
|
|
<td class="r">
|
|
|
|
|
<input type="text" class="txt normalchange" placeholder="请输入开户行" data-change="${'fkf'|setChange}.opening_bank" value="${fkfdata.opening_bank|nonull}" name="opening_bank">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</script>
|
|
|
|
|
<script type="text/html" id="statementTpl">
|
|
|
|
|
{@each list as it,index}
|
|
|
|
|
<tr>
|
|
|
|
|
<td>${it.statement_begin_time}-${it.statement_end_time}</td>
|
|
|
|
|
<td>${it.game_name}</td>
|
|
|
|
|
<td>${it.pay_amount}元</td>
|
|
|
|
|
<td><input type="text" class="txt statementchange" name="first_ratio" data-index ="${index}" data-change="statement_info[${index}]['first_ratio']" value="${it.first_ratio}" style="width: 30px;">%</td>
|
|
|
|
|
<td><input type="text" class="txt statementchange" name="second_ratio" data-index ="${index}" data-change="statement_info[${index}]['second_ratio']" value="${it.second_ratio}" style="width: 30px;">%</td>
|
|
|
|
|
<td><input type="text" class="txt statementchange" name="promote_ratio" data-index ="${index}" data-change="statement_info[${index}]['promote_ratio']" value="${it.promote_ratio}" style="width: 30px;">%</td>
|
|
|
|
|
<td><input type="text" class="txt statementchange" name="fax_ratio" data-index ="${index}" data-change="statement_info[${index}]['fax_ratio']" value="${it.fax_ratio}" style="width: 30px;">%</td>
|
|
|
|
|
<td>${it.sum_money}元</td>
|
|
|
|
|
</tr>
|
|
|
|
|
{@/each}
|
|
|
|
|
<tr>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td>罚款</td>
|
|
|
|
|
<td><input type="text" class="txt statementchange" name="fine" data-change="fine" value="${fine}" style="width: 50px;">元</td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td>${fine}元</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>合计</td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td>${count.pay_amount}元</td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td>${count.sum_money}元</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan=7>本月分成总金额(人民币大写):</td>
|
|
|
|
|
<td>${count.sum_money|number_chinese}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</script>
|
|
|
|
|
<script>
|
|
|
|
|
$(function () {
|
|
|
|
|
TPLSHOW.juicerInit();
|
|
|
|
|
$(".select_gallery").select2();
|
|
|
|
|
$('#time_start').datetimepicker({
|
|
|
|
|
format: 'yyyy-mm-dd',
|
|
|
|
|
language: "zh-CN",
|
|
|
|
|
minView: 2,
|
|
|
|
|
autoclose: true
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('#datetimepicker').datetimepicker({
|
|
|
|
|
format: 'yyyy-mm-dd',
|
|
|
|
|
language: "zh-CN",
|
|
|
|
|
minView: 2,
|
|
|
|
|
autoclose: true,
|
|
|
|
|
pickerPosition: 'bottom-left'
|
|
|
|
|
})
|
|
|
|
|
EVENT.changeCompany();
|
|
|
|
|
EVENT.createStatement();
|
|
|
|
|
$("#first_partner_id").change();
|
|
|
|
|
// $("#second_partner_id").change();
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
//基础类
|
|
|
|
|
var PUBLIC = {
|
|
|
|
|
postData(url, data, callback) {
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: url,
|
|
|
|
|
data: data,
|
|
|
|
|
type: "post",
|
|
|
|
|
dataType: "json",
|
|
|
|
|
success: function (data) {
|
|
|
|
|
callback(data)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
deepCompare(x, y) {
|
|
|
|
|
var i, l, leftChain, rightChain;
|
|
|
|
|
function compare2Objects(x, y) {
|
|
|
|
|
var p;
|
|
|
|
|
if (isNaN(x) && isNaN(y) && typeof x === 'number' && typeof y === 'number') {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
if (x === y) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
if ((typeof x === 'function' && typeof y === 'function') ||
|
|
|
|
|
(x instanceof Date && y instanceof Date) ||
|
|
|
|
|
(x instanceof RegExp && y instanceof RegExp) ||
|
|
|
|
|
(x instanceof String && y instanceof String) ||
|
|
|
|
|
(x instanceof Number && y instanceof Number)) {
|
|
|
|
|
return x.toString() === y.toString();
|
|
|
|
|
}
|
|
|
|
|
if (!(x instanceof Object && y instanceof Object)) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (x.isPrototypeOf(y) || y.isPrototypeOf(x)) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (x.constructor !== y.constructor) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (x.prototype !== y.prototype) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (leftChain.indexOf(x) > -1 || rightChain.indexOf(y) > -1) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
for (p in y) {
|
|
|
|
|
if (y.hasOwnProperty(p) !== x.hasOwnProperty(p)) {
|
|
|
|
|
return false;
|
|
|
|
|
} else if (typeof y[p] !== typeof x[p]) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
for (p in x) {
|
|
|
|
|
if (y.hasOwnProperty(p) !== x.hasOwnProperty(p)) {
|
|
|
|
|
return false;
|
|
|
|
|
} else if (typeof y[p] !== typeof x[p]) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
switch (typeof (x[p])) {
|
|
|
|
|
case 'object':
|
|
|
|
|
case 'function':
|
|
|
|
|
|
|
|
|
|
leftChain.push(x);
|
|
|
|
|
rightChain.push(y);
|
|
|
|
|
|
|
|
|
|
if (!compare2Objects(x[p], y[p])) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
leftChain.pop();
|
|
|
|
|
rightChain.pop();
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
if (x[p] !== y[p]) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (arguments.length < 1) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
for (i = 1, l = arguments.length; i < l; i++) {
|
|
|
|
|
|
|
|
|
|
leftChain = []; //Todo: this can be cached
|
|
|
|
|
rightChain = [];
|
|
|
|
|
|
|
|
|
|
if (!compare2Objects(arguments[0], arguments[i])) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//数据类
|
|
|
|
|
|
|
|
|
|
var DATAOBJ = {$data|json_encode=###,JSON_UNESCAPED_UNICODE};
|
|
|
|
|
//事件类
|
|
|
|
|
var EVENT = {
|
|
|
|
|
changeCompany() {
|
|
|
|
|
$("#first_partner_id").on("change", function () {
|
|
|
|
|
TPLSHOW.firstPartInfo(DATAOBJ.first_party_info);
|
|
|
|
|
TPLSHOW.secondPartInfo(DATAOBJ.second_party_info);
|
|
|
|
|
TPLSHOW.showPartPayInfo();
|
|
|
|
|
TPLSHOW.showStatementList(true);
|
|
|
|
|
})
|
|
|
|
|
$("#first_partner_id").on("change", function () {
|
|
|
|
|
TPLSHOW.secondPartInfo(DATAOBJ.second_party_info);
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
createStatement() {
|
|
|
|
|
$("#createStatement").on("click", function () {
|
|
|
|
|
//验证信息
|
|
|
|
|
|
|
|
|
|
for (const key in DATAOBJ) {
|
|
|
|
|
if (DATAOBJ[key] === false) {
|
|
|
|
|
layer.msg('页面中的参数均是必填项目,请先填满');
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//验证甲方信息
|
|
|
|
|
for (const key in DATAOBJ.first_party_info) {
|
|
|
|
|
var t = DATAOBJ.first_party_info;
|
|
|
|
|
if (t[key] === '') {
|
|
|
|
|
layer.msg('甲方信息不全,请先补全 code:' + key);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (key == "link_phone" && !CHECK.mobile.test(t[key])) {
|
|
|
|
|
layer.msg('甲方联系人手机号格式错误');
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (key == "bank_account" && !CHECK.BankNo.test(t[key])) {
|
|
|
|
|
layer.msg('甲方银行卡号格式错误');
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//乙方
|
|
|
|
|
for (const key in DATAOBJ.second_party_info) {
|
|
|
|
|
var t = DATAOBJ.second_party_info;
|
|
|
|
|
if (!t[key] || t[key] == '') {
|
|
|
|
|
layer.msg('乙方信息不全,请先补全 code:' + key);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (key == "link_phone" && !CHECK.mobile.test(t[key])) {
|
|
|
|
|
layer.msg('乙方联系人手机号格式错误');
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (key == "bank_account" && !CHECK.BankNo.test(t[key])) {
|
|
|
|
|
layer.msg('乙方银行卡号格式错误');
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
console.log(DATAOBJ);
|
|
|
|
|
// layer.load(2);
|
|
|
|
|
// $("#createStatement").off("click");//自我解绑
|
|
|
|
|
|
|
|
|
|
PUBLIC.postData("{:U('doAddCpStatement',['id'=>$id])}",DATAOBJ,function(data){
|
|
|
|
|
if(data.success){
|
|
|
|
|
layer.closeAll('loading');
|
|
|
|
|
layer.msg('修改成功');
|
|
|
|
|
setTimeout(function(){
|
|
|
|
|
window.parent.reload();
|
|
|
|
|
},350);
|
|
|
|
|
}else{
|
|
|
|
|
alert("修改失败,请联系管理员")
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//发送添加请求
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
normalchange() {
|
|
|
|
|
$(".normalchange").off("blur");
|
|
|
|
|
$(".normalchange").on("blur", function () {
|
|
|
|
|
var val = $(this).val();
|
|
|
|
|
var index = $(this).data("change");
|
|
|
|
|
var str = "DATAOBJ." + index + "='" + val + "';";
|
|
|
|
|
eval(str);
|
|
|
|
|
if (val !== eval("YDATAOBJ." + index)) {
|
|
|
|
|
isedit = true;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
statementchange() {
|
|
|
|
|
$(".statementchange").off("blur");
|
|
|
|
|
$(".statementchange").on("blur", function () {
|
|
|
|
|
|
|
|
|
|
var sort = $(this).data("change");
|
|
|
|
|
var val = $(this).val();
|
|
|
|
|
if (!CHECK.number.test(val)) {
|
|
|
|
|
layer.msg('结算单中的罚款和税率必须是数字');
|
|
|
|
|
$(this).val(0);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
var str = "DATAOBJ." + sort + "='" + val + "';";
|
|
|
|
|
|
|
|
|
|
if (sort != 'fine') {
|
|
|
|
|
eval(str);
|
|
|
|
|
var index = $(this).data("index");
|
|
|
|
|
var td = DATAOBJ.statement_info[index];
|
|
|
|
|
|
|
|
|
|
if ($(this).attr("name") == "first_ratio") {
|
|
|
|
|
td['second_ratio'] = 100 - val;
|
|
|
|
|
}
|
|
|
|
|
if ($(this).attr("name") == "second_ratio") {
|
|
|
|
|
td['first_ratio'] = 100 - val;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (DATAOBJ.statement_type == 0) {
|
|
|
|
|
var ratio = td['first_ratio'] / 100;
|
|
|
|
|
} else {
|
|
|
|
|
var ratio = td['second_ratio'] / 100;
|
|
|
|
|
}
|
|
|
|
|
DATAOBJ.statement_count['sum_money'] -= td['sum_money'];
|
|
|
|
|
|
|
|
|
|
td['sum_money'] = Math.floor((td['pay_amount'] * (100 - td['promote_ratio']) / 100 * ratio * (100 - td['fax_ratio']) / 100) * 100) / 100;
|
|
|
|
|
DATAOBJ.statement_count['sum_money'] += (td['sum_money'] - 0);
|
|
|
|
|
} else {
|
|
|
|
|
DATAOBJ.fine = Math.floor(DATAOBJ.fine * 100) / 100;
|
|
|
|
|
if (val > DATAOBJ.statement_count['sum_money']) {
|
|
|
|
|
layer.msg('罚款金额过大,总计不允许为负数');
|
|
|
|
|
$(this).val(DATAOBJ.fine);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
DATAOBJ.statement_count['sum_money'] = (DATAOBJ.statement_count['sum_money'] - 0 + DATAOBJ.fine);
|
|
|
|
|
DATAOBJ.statement_count['pay_amount'] = (DATAOBJ.statement_count['pay_amount'] - 0 + DATAOBJ.fine);
|
|
|
|
|
eval(str);
|
|
|
|
|
DATAOBJ.statement_count['sum_money'] = DATAOBJ.statement_count['sum_money'] - DATAOBJ.fine;
|
|
|
|
|
DATAOBJ.statement_count['pay_amount'] = DATAOBJ.statement_count['pay_amount'] - DATAOBJ.fine;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
DATAOBJ.statement_count['pay_amount'] = Math.floor(DATAOBJ.statement_count['pay_amount'] * 100) / 100;
|
|
|
|
|
DATAOBJ.statement_count['sum_money'] = Math.floor(DATAOBJ.statement_count['sum_money'] * 100) / 100;
|
|
|
|
|
|
|
|
|
|
TPLSHOW.showStatementList(true);
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
var CHECK = {
|
|
|
|
|
number: /^\d+(\.{1}\d+)?$/,
|
|
|
|
|
mobile: /^1[3456789]\d{9}$/,
|
|
|
|
|
BankNo: /^([1-9]{1})(\d{15}|\d{18})$/,
|
|
|
|
|
money: /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
var TPLSHOW = {
|
|
|
|
|
juicerInit() {
|
|
|
|
|
var nonull = function (data) {
|
|
|
|
|
if (!data) {
|
|
|
|
|
return '';
|
|
|
|
|
}
|
|
|
|
|
return data;
|
|
|
|
|
};
|
|
|
|
|
var setChange = function (typestr) {
|
|
|
|
|
if (DATAOBJ.statement_type == 0) {
|
|
|
|
|
if (typestr == "fkf") {
|
|
|
|
|
return 'second_party_info';
|
|
|
|
|
} else {
|
|
|
|
|
return 'first_party_info';
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (typestr == "fkf") {
|
|
|
|
|
return 'first_party_info';
|
|
|
|
|
} else {
|
|
|
|
|
return 'second_party_info';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
var number_chinese = function (str) {
|
|
|
|
|
var num = parseFloat(str);
|
|
|
|
|
var strOutput = "",
|
|
|
|
|
strUnit = '仟佰拾亿仟佰拾万仟佰拾元角分';
|
|
|
|
|
num += "00";
|
|
|
|
|
var intPos = num.indexOf('.');
|
|
|
|
|
if (intPos >= 0) {
|
|
|
|
|
num = num.substring(0, intPos) + num.substr(intPos + 1, 2);
|
|
|
|
|
}
|
|
|
|
|
strUnit = strUnit.substr(strUnit.length - num.length);
|
|
|
|
|
for (var i = 0; i < num.length; i++) {
|
|
|
|
|
strOutput += '零壹贰叁肆伍陆柒捌玖'.substr(num.substr(i, 1), 1) + strUnit.substr(i, 1);
|
|
|
|
|
}
|
|
|
|
|
return strOutput.replace(/零角零分$/, '整').replace(/零[仟佰拾]/g, '零').replace(/零{2,}/g, '零').replace(/零([亿|万])/g, '$1').replace(/零+元/, '元').replace(/亿零{0,3}万/, '亿').replace(/^元/, "零元")
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
juicer.register('nonull', nonull);
|
|
|
|
|
juicer.register('setChange', setChange);
|
|
|
|
|
juicer.register('number_chinese', number_chinese);
|
|
|
|
|
},
|
|
|
|
|
//
|
|
|
|
|
firstPartInfo(data) {
|
|
|
|
|
var tpl = $("#partbasetpl").html();
|
|
|
|
|
var html = juicer(tpl, data);
|
|
|
|
|
$("#first_part_bser_info_show").html(html);
|
|
|
|
|
TPLSHOW.pushStatementTypeOption();
|
|
|
|
|
},
|
|
|
|
|
secondPartInfo(data) {
|
|
|
|
|
var tpl = $("#partbasetpl").html();
|
|
|
|
|
var html = juicer(tpl, data);
|
|
|
|
|
$("#second_part_bser_info_show").html(html);
|
|
|
|
|
TPLSHOW.pushStatementTypeOption();
|
|
|
|
|
},
|
|
|
|
|
//支付给公司
|
|
|
|
|
pushStatementTypeOption() {
|
|
|
|
|
|
|
|
|
|
EVENT.normalchange();
|
|
|
|
|
},
|
|
|
|
|
//支付信息显示
|
|
|
|
|
showPartPayInfo() {
|
|
|
|
|
var data = {};
|
|
|
|
|
if (DATAOBJ.statement_type !== false) {
|
|
|
|
|
if (DATAOBJ.statement_type == 1) {
|
|
|
|
|
data.fkfdata = DATAOBJ.first_party_info;
|
|
|
|
|
data.skfdata = DATAOBJ.second_party_info;
|
|
|
|
|
} else {
|
|
|
|
|
data.skfdata = DATAOBJ.first_party_info;
|
|
|
|
|
data.fkfdata = DATAOBJ.second_party_info;
|
|
|
|
|
}
|
|
|
|
|
data.type = DATAOBJ.statement_type;
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
data.skfdata = {};
|
|
|
|
|
data.fkfdata = {};
|
|
|
|
|
}
|
|
|
|
|
var tpl = $("#partpaytpl").html();
|
|
|
|
|
var html = juicer(tpl, data);
|
|
|
|
|
$("#partpatinfo").html(html);
|
|
|
|
|
EVENT.normalchange();
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
//订单信息显示
|
|
|
|
|
showStatementList(flag) {
|
|
|
|
|
if (flag) {
|
|
|
|
|
var data = { list: DATAOBJ.statement_info, count: DATAOBJ.statement_count, fine: DATAOBJ.fine };
|
|
|
|
|
console.log(data);
|
|
|
|
|
$("#statementInit").addClass("hidebox");
|
|
|
|
|
var tpl = $("#statementTpl").html();
|
|
|
|
|
var html = juicer(tpl, data);
|
|
|
|
|
$("#statementShow").html(html);
|
|
|
|
|
EVENT.statementchange();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
|
|
|
|
|
|
</html>
|