diff --git a/YLErpWeb/Views/SwapTrade2/TradeMarketReport_EodPosition.cshtml b/YLErpWeb/Views/SwapTrade2/TradeMarketReport_EodPosition.cshtml
index 551ef10d..1429aaec 100644
--- a/YLErpWeb/Views/SwapTrade2/TradeMarketReport_EodPosition.cshtml
+++ b/YLErpWeb/Views/SwapTrade2/TradeMarketReport_EodPosition.cshtml
@@ -51,6 +51,7 @@
@Html.MyAceDropdownInput("ClientId", "客户名称", ClientDataModel.GetAllClient(), false, true, null, false)
+ @Html.MyAceDropdownInput("BookId", "簿记账户", AssetunitController.GetClientassetunit(), false, true, null, false)
@Html.CheckBox("ParentFlag", false) @Html.Label(null,"包含子级", new { @style = "font-size:12px;" })
@Html.ShortInput("ValueDateFrom", "起始日期:")
@Html.ShortInput("ValueDate", "结束日期:")
@@ -60,6 +61,7 @@
@MyControls.Btn("配置报告", "PopDesc()")
@MyControls.Btn("发送报告", "SendReport()")
}
+
diff --git a/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_EodPosition.js b/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_EodPosition.js
index 15284100..9a6deb23 100644
--- a/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_EodPosition.js
+++ b/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_EodPosition.js
@@ -91,6 +91,8 @@ function SearchTable(isSearchclick) {
function searchPositionDetials(isSearchclick) {
var listGrid = $('#listGrid');
listGrid.appendPostData({ ClientId: $("#ClientId").val() });
+ //簿记账户筛选(需求3.1):未选择时传空,后端返回该对手方下全部账户的合约
+ listGrid.appendPostData({ BookId: $("#BookId").val() });
listGrid.appendPostData({ ValueDate: $("#ValueDate").val() });
if ($("#ParentFlag").prop("checked"))
listGrid.appendPostData({ ParentFlag: true });
@@ -132,6 +134,7 @@ function onSortCol(index, icol, sortorder) {
var i = 0;
var colModelGrid = [
+ //隐藏列(不参与分组)
{
name: 'position.EncryptId',
label: 'EncryptId',
@@ -326,6 +329,19 @@ var colModelGrid = [
formatter: StockEqvNotionalFormat,
sortable: false,
}
+ //TODO(估值模块V1-缺失字段): 以下需求字段本轮未实现,待后端确认数据来源后补充:
+ // - 期间分红(ETF适用,利率与规模分组)
+ // - 预付金利率、预付金利息、期初预付金、追加预付金(预付金分组)
+ // - TRS估值(汇总分组)
+];
+
+//互换估值分组配置(对应需求《估值模块V1》3.2.2 字段定义)
+//columns 使用 colModel.name;现有列顺序已天然满足分组连续性,无需重排
+var eodSwapValuationGroupConfig = [
+ { title: '基本信息', columns: ['TradeNumber', 'ConfrimNo', 'ClientName', 'position.PosiStartDate', 'position.ValueDate', 'position.UnderlyingCode'] },
+ { title: '利率与规模', columns: ['InterestRate', 'position.FloatRateUnderlyingCode', 'position.FloatRate', 'position.PosiNotionalValue', 'position.PosiQuantity', 'PeriodAmount'] },
+ { title: '价格', columns: ['position.PosiGrossPrice', 'InitYtm', 'position.UnderlyingPrice', 'DayCount'] },
+ { title: '收益', columns: ['FloatRateAbs', 'InterestAmount', 'position.PosiFeePending', 'position.PosiProfitSum', 'NetSettmentAmount'] }
];
function formatter6(cellvalue, options, rowObject) {
@@ -356,11 +372,25 @@ function gridComplete() {
}
}
//jgrid.sortGrid(g_sort.name, g_sort.order);
- main.setcolumnChooser(jgrid, page.configcolumn);
+ //在列设置应用完成后初始化可折叠分组表头(setcolumnChooser 会 remapColumns,须在其 done 回调后建表头)
+ var defer = main.setcolumnChooser(jgrid, page.configcolumn);
+ $.when(defer).done(function () {
+ main.initCollapsibleGroupHeaders(jgrid, eodSwapValuationGroupConfig);
+ });
$(".selftooltip").tooltip({ html: true, show: 50000, trigger: "hover" });
$(window).off('resize.jqGrid');
}
+//导出互换估值当前可见列(需求《估值模块V1》3.2 + 4.2)
+//与现有 DownLoadReport(整份PDF/Excel报告)独立,互不影响
+function exportSwapValuationVisibleColumns() {
+ var jgrid = jQuery('#listGrid');
+ var clientName = $("#ClientId :selected").text() || '';
+ var dateStr = $("#ValueDate").val() || '';
+ var fileName = (clientName ? clientName + '_' : '') + '每日估值报告_互换估值' + (dateStr ? '_' + dateStr : '');
+ main.exportVisibleColumnsToExcel(jgrid, fileName);
+}
+
function reloadTradeMarketReport() {
//重新加载