Files
zszq-trs/YLErpWeb/Views/clientbalance/TradeMarketReport.cshtml
T
2024-05-09 14:06:26 +08:00

385 lines
23 KiB
Plaintext

@{
ViewBag.Title = "每日估值报告";
ViewBag.Menu = "结算财务-每日估值报告";
Layout = "~/Views/Shared/_MainLayout.cshtml";
var tradeMarketShowTotalNetSettlement = PS.Config.ClientElement.TradeMarketShowTotalNetSettlement;
var nv = YieldChain.Helpers.UrlHelper.ParseQueryString(PS.Config.ErpElement.TradeMarketReportCfg);
var jsClients = JsDataModel.GetAllClients();
}
@section CSS{
<link href="~/Style/Css/TradeMarketReport.css?v=@(HtmlUtil.JsVersion)" rel="stylesheet" />
<style>
.no-skin { position: static !important; }
#ValueDateFrom, #ValueDate { width: 152px !important; font-size: 1rem !important; }
</style>
}
@section JS{
<script type="text/javascript">
var isPvRounded = "@YLErp.PS.Config.IsPVRounded" == "True";
var isShenWan = "@YLErp.PS.Config.Is申万" == "True";
var isHongYuan = "@YLErp.PS.Config.Is宏源" == "True";
var isXiangYu = "@YLErp.PS.Config.Is厦门象屿" == "True";
var isRunHe = "@(PS.Config.Company == CompanyEnum.润和)" == "True";
var isGuoTou = "@YLErp.PS.Config.Is国投" == "True";
var canUpdatePayableMargin = "@CurUser.结算管理_预付金占用修改" == "True";
var isXiangCai = "@YLErp.PS.Config.Is湘财" == "True";
var page = {
ValueDate: '@valuedateBLL.ValueDate.ToString("yyyy-MM-dd")',
EndTime: "@ViewBag.EndTime",
StartTime: "@ViewBag.StartTime",
ClientId: "@(ViewBag.clientId)",
ParentFlag: "@(ViewBag.ParentFlag)",
TradeMarketReportCfg: "@(nv?["开始日期"].TrimToNull() ?? "NONE")"
};
const clients = @Json.Serialize(jsClients);
</script>
<script src="~/Scripts/app/client/tradeMarketReport.js?v=@(HtmlUtil.JsVersion)"></script>
}
<div class="searchdiv">
@Html.MyAceDropdownInput("ClientId", "客户名称", ClientDataModel.GetAllClient(), false, true, null, false)
@Html.CheckBox("ParentFlag", false) @Html.Label(null,"包含子级", new { @style = "font-size:12px;" })
@Html.ShortInput("ValueDateFrom", "起始日期:")
@Html.ShortInput("ValueDate", "结束日期:")
@MyControls.SearchBtn()
@if (CurUser.结算管理_每日估值报告邮件发送)
{
@MyControls.Btn("配置报告", "PopDesc()")
@MyControls.Btn("发送报告", "SendReport()")
}
@if (CurUser.结算管理_导入外部结算数据)
{
@MyControls.Btn("上传数据", "Upload()")
}
@Html.DropDownList("ShownType", new List<SelectListItem>() {
new SelectListItem(){ Value = "GetOuterMargin",Text = "外部预付金"},
new SelectListItem(){ Value = "default",Text = "系统默认"}
//new SelectListItem(){ Value = "ClientBalanceGap",Text = "财务增量"},
}, new { id = "ShownType", onchange = "SearchClick()" })
</div>
<br />
<div class="tabbable">
<ul id="myTab" class="nav nav-tabs nav-main">
<li class="nav-item">
<a class="nav-link active" href="#">账户状况</a>
</li>
@if (PS.Config.Is山西固收)
{
<li class="nav-item">
<a class="nav-link" onclick='locationChange("/swaptrade2/TradeMarketReport_EodPosition")' id="positionTab">互换估值</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick='locationChange("/swaptrade2/TradeMarketReport_DmaEodPosition")' id="dmapositionTab">定义文件互换估值</a>
</li>
}
else
{
<li class="nav-item">
<a class="nav-link" onclick='locationChange("/clientbalance/TradeMarketReport_PositionDetails")' id="positionTab">持仓明细</a>
</li>
}
@if (PS.Config.IsGuoJun)
{
<li class="nav-item">
<a class="nav-link" onclick='locationChange("/clientbalance/TradeMarketReport_PositionSwapFlow")' id="positionSwapTab">互换持仓明细</a>
</li>
}
else
{
@*<li class="nav-item">
<a class="nav-link" onclick='locationChange("/clientbalance/TradeMarketReport_PositionDetailsSwap")' id="positionSwapTab">互换持仓明细</a>
</li>*@
}
@if (!PS.Config.Is山西固收)
{
<li class="nav-item">
<a class="nav-link" onclick='locationChange("/clientbalance/TradeMarketReport_HistoricalPosition")' id="historyTab">历史交易</a>
</li>
}
@if (PS.Config.IsGuoJun||PS.Config.Is山西固收)
{
<li class="nav-item">
<a class="nav-link" onclick='locationChange("/clientbalance/TradeMarketReport_HistoricalPositionSwapFlow")' id="historySwapTab">互换交易流水</a>
</li>
}
else
{
<li class="nav-item">
<a class="nav-link" onclick='locationChange("/clientbalance/TradeMarketReport_HistoricalPositionSwap")' id="historySwapTab">互换历史交易</a>
</li>
}
<li class="nav-item">
<a class="nav-link" onclick='locationChange("/clientbalance/TradeMarketReport_BalanceStatement")'>资金明细</a>
</li>
@if (!PS.Config.Is申万)
{
<li class="nav-item">
<a class="nav-link" onclick='locationChange("/clientbalance/TradeMarketReport_Collateral")'>质押记录</a>
</li>
}
</ul>
</div>
<div class="yc-panel mt-0">
@if (PS.Config.Is申万)
{
<fieldset id="fieldsetbalanceInfo">
<table class="table table-bordered table-sm table-striped" id="balanceInfo">
<tr><td>期初结存</td><td id="LastDayRemainFund"></td><td>空头浮动盈利</td><td id="ClientSellPositionPnl"></td></tr>
<tr><td>本日入金</td><td id="CashInChange"></td><td>客户权益</td><td id="Amount"></td></tr>
<tr><td>本日出金</td><td id="CashOutChange"></td><td>期权市值</td><td id="Pv"></td></tr>
<tr><td>本日权利金收支</td><td id="OptionPremiumAndUnwindBalance"></td><td>应缴纳预付金</td><td id="WorstCastClientPayable"></td></tr>
<tr><td>行权收益</td><td id="ExerciseBalance"></td><td>预付金总额</td><td id="TotalMargin"></td></tr>
<tr><td>资金结存</td><td id="ToDayRemainFund"></td><td>应追加预付金</td><td id="Margin"></td></tr>
<tr><td></td><td></td><td style="font-weight: bolder">可提取预付金</td><td id="DesirableFund" style="font-weight: bolder"></td></tr>
</table>
</fieldset>
}
else if (PS.Config.Company == CompanyEnum.润和)
{
<fieldset id="fieldsetbalanceInfo">
<table class="table table-bordered table-sm table-striped" id="balanceInfo">
<tr><td colspan="2" class="title">收支与结存</td><td colspan="2" class="title">占用与可取</td><td colspan="2" class="title">盈亏与估值</td></tr>
<tr><td>期初结存</td><td id="LastDayRemainFund"></td><td style="font-weight: bold; color: forestgreen;">预付金占用</td><td><input onkeyup="this.value = this.value.replace(/[^0-9.]/g, '')" onblur="this.value = (/^(0|[1-9]\d*)(\.\d*)?$/.test(this.value) ? this.value : '')" id="WorstCastClientPayable" @(CurUser.结算管理_预付金占用修改 ? "" : "disabled: disabled") /><a href="#" onclick="unlockPayableMarginManual()" style="text-decoration:none; display: none;" id="unlock">解锁</a></td><td>实现盈亏</td><td id="WinLoss"></td></tr>
<tr><td>出金入金</td><td id="CashInCashOutChange"></td><td>可用资金</td><td id="AvailableFund"></td><td>持仓盈亏</td><td id="PositionPnl"></td></tr>
<tr><td>成交收支</td><td id="OptionPremium"></td><td>授信额度</td><td id="Credit"></td><td>持仓市值</td><td id="Pv"></td></tr>
<tr><td>了结收支</td><td id="SettlementBalance"></td><td>授信占用</td><td id="CreditOccupy"></td><td style="font-weight: bold; color: dodgerblue;">总资产</td><td id="Amount"></td></tr>
<tr><td>其他收支</td><td id="OtherFund"></td><td style="font-weight: bold;">追保金额</td><td id="Margin"></td><td></td><td></td></tr>
<tr><td>期末结存</td><td id="ToDayRemainFund"></td><td style="font-weight: bold; color: dodgerblue;">可取资金</td><td id="DesirableFund"></td><td></td><td></td></tr>
<tr><td>质押市值</td><td id="TodayRemianFundProduct"></td><td></td><td></td><td></td><td></td></tr>
</table>
<input type="hidden" id="PayableFund" />
<input type="hidden" id="IsTradeCredit" />
<input type="hidden" id="TotalCredit" />
<input type="hidden" id="MarginBalance" />
<input type="hidden" id="FrozenMarginMoney" />
<input type="hidden" id="FrozenRedeemFunds" />
<input type="hidden" id="PositionPremiumNetCash" />
</fieldset>
}
else if (PS.Config.Company == CompanyEnum.国投)
{
<fieldset id="fieldsetbalanceInfo">
<table class="table table-bordered table-sm table-striped" id="balanceInfo">
<tr><td colspan="2" class="title">收支与结存</td><td colspan="2" class="title">应付与可取</td><td colspan="2" class="title">盈亏与估值</td></tr>
<tr>
<td>期初余额</td>
<td id="LastDayRemainFund"></td>
<td style="font-weight: bold; color: forestgreen;">浮动预付金</td>
<td><input onkeyup="this.value = this.value.replace(/[^0-9.]/g, '')" onblur="this.value = (/^(0|[1-9]\d*)(\.\d*)?$/.test(this.value) ? this.value : '')" id="WorstCastClientPayable" @(CurUser.结算管理_预付金占用修改 ? "" : "disabled: disabled") /><a href="#" onclick="unlockPayableMarginManual()" style="text-decoration:none; display: none;" id="unlock">解锁</a></td>
<td>已平仓盈亏</td>
<td id="WinLossSum"></td>
</tr>
<tr><td>入金</td><td id="CashInChange"></td><td>权利金收付</td><td id="OptionPremiumAndSwapSum"></td><td>持仓浮动盈亏</td><td id="PositionPnl"></td></tr>
<tr><td>出金</td><td id="CashOutChange"></td><td>可用资金</td><td id="AvailableFund"></td><td>市值权益</td><td id="AmountFundWithPositionPnl"></td></tr>
<tr><td>当日终止</td><td id="ToEndBalance"></td><td>授信额度</td><td id="Credit"></td><td></td><td></td></tr>
<tr><td>期末余额</td><td id="ToDayRemainFund"><td style="font-weight: bold; color:#017bb9">可提取金额</td><td id="DesirableFund"></td><td></td><td></td></tr>
</table>
</fieldset>
}
else if (PS.Config.Company == CompanyEnum.湘财)
{
<fieldset id="fieldsetbalanceInfo">
<table class="table table-bordered table-sm table-striped" id="balanceInfo">
<tr><td colspan="2" class="title">收支与结存</td><td colspan="2" class="title">应付与可取</td><td colspan="2" class="title">盈亏与估值</td></tr>
@if (PS.Config.ErpElement.SuppotSnowballSpecialist)
{
<tr><td>期初结存</td><td id="LastDayRemainFund"></td><td style="font-weight: bold; color: forestgreen;">预付金占用</td><td><input onkeyup="this.value = this.value.replace(/[^0-9.]/g, '')" onblur="this.value = (/^(0|[1-9]\d*)(\.\d*)?$/.test(this.value) ? this.value : '')" id="WorstCastClientPayable" @(CurUser.结算管理_预付金占用修改 ? "" : "disabled: disabled") /><a href="#" onclick="unlockPayableMarginManual()" style="text-decoration:none; display: none;" id="unlock">解锁</a></td><td>实现盈亏</td><td id="WinLoss"></td></tr>
<tr><td>出金入金</td><td id="CashInCashOutChange"></td><td>可用资金</td><td id="AvailableFund"></td><td>持仓盈亏</td><td id="PositionPnl"></td></tr>
<tr><td>成交收支</td><td id="OptionPremium"></td><td>授信额度</td><td id="Credit"></td><td></td><td></td></tr>
<tr>
<td>了结收支</td>
<td id="SettlementBalance"></td>
<td style="font-weight: bold;">追保金额</td>
<td id="Margin"></td>
<td></td>
<td></td>
</tr>
<tr><td>票息</td><td id="Coupon"></td><td style="font-weight: bold; color: dodgerblue;">可取资金</td><td id="DesirableFund"></td><td></td></tr>
}
else
{
<tr><td>期初结存</td><td id="LastDayRemainFund"></td><td style="font-weight: bold; color: forestgreen;">预付金占用</td><td><input onkeyup="this.value = this.value.replace(/[^0-9.]/g, '')" onblur="this.value = (/^(0|[1-9]\d*)(\.\d*)?$/.test(this.value) ? this.value : '')" id="WorstCastClientPayable" @(CurUser.结算管理_预付金占用修改 ? "" : "disabled: disabled") /><a href="#" onclick="unlockPayableMarginManual()" style="text-decoration:none; display: none;" id="unlock">解锁</a></td><td>实现盈亏</td><td id="WinLoss"></td></tr>
<tr><td>出金入金</td><td id="CashInCashOutChange"></td><td>可用资金</td><td id="AvailableFund"></td><td>持仓盈亏</td><td id="PositionPnl"></td></tr>
<tr><td>成交收支</td><td id="OptionPremium"></td><td>授信额度</td><td id="Credit"></td><td>持仓市值</td><td id="Pv"></td></tr>
<tr>
<td>了结收支</td>
<td id="SettlementBalance"></td>
<td style="font-weight: bold;">追保金额</td>
<td id="Margin"></td>
<td></td>
<td></td>
</tr>
<tr><td>票息</td><td id="Coupon"></td><td style="font-weight: bold; color: dodgerblue;">可取资金</td><td id="DesirableFund"></td><td></td></tr>
}
<tr><td>互换成交收支</td><td id="OptionPremiumSwap"></td><td></td><td></td><td></td><td></td></tr>
<tr><td>互换了结收支</td><td id="SwapBalance"></td><td></td><td></td><td></td><td></td></tr>
<tr><td>其他收支</td><td id="OtherFund"></td><td></td><td></td><td></td><td></td></tr>
<tr>
<td>期末结存</td>
<td id="ToDayRemainFund"></td>
@if (PS.Config.Is厦门象屿)
{
<td>阈值</td>
<td>
<input onkeyup="this.value = this.value.replace(/[^0-9.]/g, '')"
onblur="this.value = (/^(0|[1-9]\d*)(\.\d*)?$/.test(this.value) ? this.value : '')"
id="FundThreshold" />
</td>
}
<td></td>
<td></td>
</tr>
<tr>
<td>质押市值</td>
<td id="TodayRemianFundProduct"></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
@if (tradeMarketShowTotalNetSettlement)
{
<tr>
<td>总盈亏</td>
<td id="TotalNetSettlement"></td>
</tr>
}
</table>
<input type="hidden" id="IsTradeCredit" />
<input type="hidden" id="TotalCredit" />
<input type="hidden" id="MarginBalance" />
<input type="hidden" id="FrozenMarginMoney" />
<input type="hidden" id="FrozenRedeemFunds" />
<input type="hidden" id="PositionPremiumNetCash" />
</fieldset>
}
else
{
<fieldset id="fieldsetbalanceInfo">
<table class="table table-bordered table-sm table-striped" id="balanceInfo">
<tr><td colspan="2" class="title">收支与结存</td><td colspan="2" class="title">应付与可取</td><td colspan="2" class="title">盈亏与估值</td></tr>
@if (PS.Config.ErpElement.SuppotSnowballSpecialist)
{
<tr><td>期初结存</td><td id="LastDayRemainFund"></td><td style="font-weight: bold; color: forestgreen;">预付金占用</td><td><input onkeyup="this.value = onkeyupMargin(this.value)" id="WorstCastClientPayable" @(CurUser.结算管理_预付金占用修改 ? "" : "disabled: disabled") /><a href="#" onclick="unlockPayableMarginManual()" style="text-decoration:none; display: none;" id="unlock">解锁</a></td><td>实现盈亏</td><td id="WinLoss"></td></tr>
<tr><td>出金入金</td><td id="CashInCashOutChange"></td><td>可用资金</td><td id="AvailableFund"></td><td>持仓盈亏</td><td id="PositionPnl"></td></tr>
<tr><td>成交收支</td><td id="OptionPremium"></td><td>授信额度</td><td id="Credit"></td><td>持仓市值</td><td id="Pv"></td></tr>
<tr>
<td>了结收支</td>
<td id="SettlementBalance"></td>
<td style="font-weight: bold;">应付了结交易款</td>
<td id="ClosedTradePayableFund"></td>
<td>其中:预付金</td>
<td id="PrepaymentAmount"></td>
</tr>
<tr><td>票息</td><td id="Coupon"><td style="font-weight: bold;">应付存续交易款</td><td id="PositionTradePayableFund"></td><td style="font-weight: bold; color: dodgerblue;">总资产</td><td id="Amount"></td></tr>
}
else
{
<tr><td>期初结存</td><td id="LastDayRemainFund"></td><td style="font-weight: bold; color: forestgreen;">预付金占用</td><td><input onkeyup="this.value = onkeyupMargin(this.value)" id="WorstCastClientPayable" @(CurUser.结算管理_预付金占用修改 ? "" : "disabled: disabled") /><a href="#" onclick="unlockPayableMarginManual()" style="text-decoration:none; display: none;" id="unlock">解锁</a></td><td>实现盈亏</td><td id="WinLoss"></td></tr>
<tr><td>出金入金</td><td id="CashInCashOutChange"></td><td>可用资金</td><td id="AvailableFund"></td><td>持仓盈亏</td><td id="PositionPnl"></td></tr>
<tr><td>互换成交收支</td><td id="OptionPremiumSwap"></td><td>授信额度</td><td id="Credit"></td><td>持仓市值</td><td id="Pv"></td></tr>
<tr><td>互换了结收支</td><td id="SwapBalance"></td><td style="font-weight: bold;">应付了结交易款</td><td id="ClosedTradePayableFund"></td><td style="font-weight: bold; color: dodgerblue;">总资产</td><td id="Amount"></td></tr>
<tr><td>其他收支</td><td id="OtherFund"></td><td style="font-weight: bold;">应付存续交易款</td><td id="PositionTradePayableFund"></td><td></td><td></td></tr>
}
@if (PS.Config.Is东吴)
{
<tr>
<td>互换成交收支</td>
<td id="OptionPremiumSwap"></td>
<td style="font-weight: bold;">未结算部分权利金收益</td>
<td id="PositionPremium"></td>
<td></td>
<td></td>
</tr>
<tr>
<td>互换了结收支</td>
<td id="SwapBalance"></td>
<td style="font-weight: bold;">追保金额</td>
<td id="Margin"></td>
<td></td>
<td></td>
</tr>
<tr>
<td>其他收支</td>
<td id="OtherFund"></td>
<td style="font-weight: bold; color: dodgerblue;">应付资金总额</td>
<td><input onkeyup="this.value = this.value.replace(/[^0-9.]/g, '')" onblur="this.value = (/^(0|[1-9]\d*)(\.\d*)?$/.test(this.value) ? this.value : '')" id="PayableFund" style="text-align:center" /></td>
<td></td>
<td></td>
</tr>
<tr>
<td>期末结存</td>
<td id="ToDayRemainFund"></td>
<td style="font-weight: bold; color: dodgerblue;">可取资金</td>
<td id="DesirableFund"></td>
<td></td>
<td></td>
</tr>
<tr>
<td>质押市值</td>
<td id="TodayRemianFundProduct"></td>
<td style="font-weight: bold; color: dodgerblue;">期末结存_权利金后付</td>
<td id="EndDesirableFund"></td>
<td></td>
<td></td>
</tr>
}
else
{
<tr><td>期末结存</td><td id="ToDayRemainFund"></td><td style="font-weight: bold;">追保金额</td><td id="Margin"></td><td></td><td></td></tr>
<tr><td>质押市值</td> <td id="TodayRemianFundProduct"></td><td style="font-weight: bold; color: dodgerblue;">应付资金总额</td><td><input onkeyup="this.value = onkeyupMargin(this.value)" onblur="this.value = onblurMargin(this.value)" id="PayableFund" style="text-align:center" /></td>
<td></td><td></td>
</tr>
<tr><td></td><td></td><td style="font-weight: bold; color: dodgerblue;">可取资金</td><td id="DesirableFund"></td><td></td><td></td></tr>
}
@if (tradeMarketShowTotalNetSettlement)
{
<tr>
<td>总盈亏</td>
<td id="TotalNetSettlement"></td>
</tr>
}
</table>
<input type="hidden" id="IsTradeCredit" />
<input type="hidden" id="TotalCredit" />
<input type="hidden" id="MarginBalance" />
<input type="hidden" id="FrozenMarginMoney" />
<input type="hidden" id="FrozenRedeemFunds" />
<input type="hidden" id="PositionPremiumNetCash" />
</fieldset>
}
</div>
<fieldset class="ml-3" id="fieldsetgbox_listGrid">
<span id="latestDataTip" style="color: red; display: none;">实时持仓服务未更新到最新数据,请确保服务更新后再查看报告!</span>
<span style="color:gray">
@Html.Raw(DBCacheManager.Single.GetStr(CacheTable.DingShiDesc))
</span>
</fieldset>
@await Html.PartialAsync("/Views/Common/_importFiles.cshtml", new ImportFileModel()
{
Title = "上传外部财务数据",
Accept = ".xlsx",
Buttons = new Dictionary<string, BtnReq>()
{
//["上传财务数据"] = new BtnReq() {OnClick = "uploadOuterData(false)"},
["上传外部预付金"] = new BtnReq() { OnClick = "uploadOuterData(true)" },
//["下载财务数据模板"]= new BtnReq() {OnClick = "downloadOuterDataTemplate()"},
["下载外部预付金模板"] = new BtnReq() { OnClick = "downloadOuterMarginTemplate()" },
},
//<p>上传财务数据将影响财务增量的显示</p>
NotesHtml = "<p>上传外部预付金将影响外部预付金的显示</p>"
})