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

336 lines
14 KiB
Plaintext

@using Microsoft.AspNetCore.Html
@{
Layout = "~/Views/Shared/_LayoutMini.cshtml";
var pageObj = new
{
IsUseDisplayNotional = PS.Config.IsUseDisplayNotional,
ViewTagPermission = CurUser.客户管理.客户标签查看权限,
};
}
@section CSS{
<link href="~/Style/Css/clientsettag.css?v=@(HtmlUtil.JsVersion)" rel="stylesheet" />
<style>
.tag-item {
height: 17px;
line-height: 14px;
}
.tag-add {
height: 17px;
line-height: 14px;
}
.tag-context {
padding: 0px;
}
</style>
}
@section JS{
<script>
const pageObj = @Json.Serialize(pageObj);
</script>
<script>
function numberFormat(cellValue, options, rowObject) {
if (!cellValue && cellValue !== 0) { return ""; }
return main.formatNumber(cellValue);
}
function tagformat(cellvalue, options, rowObject) {
var html = '<div class="tag-context">';
var tagNames = "";
if (rowObject.Tags != null && rowObject.Tags.length > 0) {
for (var i = 0; i < rowObject.Tags.length; i++) {
if (i == rowObject.Tags.length - 1) {
tagNames += "[" + rowObject.Tags[i].Name + "]";
} else {
tagNames += "[" + rowObject.Tags[i].Name + "],";
}
}
if (rowObject.Tags.length > 2) {
for (var i = 0; i < 2; i++) {
html += '<span class="tag-item" data-id="' + rowObject.Tags[i].Id + '" data-name="' + rowObject.Tags[i].Name + '"><span class="tag-text" data-value="' + rowObject.Tags[i].Id + '">' + rowObject.Tags[i].Name + '</span></span>';
}
html += '<span class="tag-add" title="' + tagNames + '">...</span>';
} else {
for (var i = 0; i < rowObject.Tags.length; i++) {
html += '<span class="tag-item" data-id="' + rowObject.Tags[i].Id + '" data-name="' + rowObject.Tags[i].Name + '"><span class="tag-text" data-value="' + rowObject.Tags[i].Id + '">' + rowObject.Tags[i].Name + '</span></span>';
}
}
}
html += '</div>';
return html;
}
</script>
@{
switch (ViewBag.Req.SummaryType)
{
case "场外期权":
switch (ViewBag.Title)
{
case "开仓明细":
<script src="~/Scripts/app/financial/FinancialDetail_Open.js?v=@(HtmlUtil.JsVersion)"></script>
break;
case "持仓明细":
<script src="~/Scripts/app/financial/FinancialDetail_Position.js?v=@(HtmlUtil.JsVersion)"></script>
break;
case "平仓明细":
<script src="~/Scripts/app/financial/FinancialDetail_Close.js?v=@(HtmlUtil.JsVersion)"></script>
break;
default:
break;
}
break;
case "远期/掉期":
switch (ViewBag.Title)
{
case "开仓明细":
<script src="~/Scripts/app/financial/ForwardFinancialDetail_Open.js?v=@(HtmlUtil.JsVersion)"></script>
break;
case "持仓明细":
<script src="~/Scripts/app/financial/ForwardFinancialDetail_Position.js?v=@(HtmlUtil.JsVersion)"></script>
break;
case "平仓明细":
<script src="~/Scripts/app/financial/ForwardFinancialDetail_Close.js?v=@(HtmlUtil.JsVersion)"></script>
break;
default:
break;
}
break;
case "互换":
switch (ViewBag.Title)
{
case "开仓明细":
<script src="~/Scripts/app/financial/SwapFinancialDetail_Open.js?v=@(HtmlUtil.JsVersion)"></script>
break;
case "持仓明细":
<script src="~/Scripts/app/financial/SwapFinancialDetail_Position.js?v=@(HtmlUtil.JsVersion)"></script>
break;
case "平仓明细":
<script src="~/Scripts/app/financial/SwapFinancialDetail_Close.js?v=@(HtmlUtil.JsVersion)"></script>
break;
default:
break;
}
break;
}
}
@functions{
HtmlString fromatDateTime(DateTime date)
{
return new HtmlString(date == default(DateTime) ? "" : date.ToString("yyyy-MM-dd"));
}
HtmlString fromatList(List<int> list)
{
if (list.Count > 0)
{
return new HtmlString(JsonHelper.Serialize(list));
}
return new HtmlString("");
}
}
<script>
function GetPostData() {
var postData = {};
postData.SummaryType = $("#TradeNumber_s").val() == null ? "" : $("#SummaryType_s").val();
postData.ClientIds = $("#ClientId_s").val() == null ? "" : $("#ClientId_s").val().join();
postData.TradeNumber = $("#TradeNumber_s").val() == null ? "" : $("#TradeNumber_s").val();
//postData.TradeDateStart = $("#DateFromTradeDate_s").val();
//postData.TradeDateEnd = $("#DateToTradeDate_s").val();
//postData.ExerciseDateStart = $("#DateFromExerciseDate_s").val();
//postData.ExerciseDateEnd = $("#DateToExerciseDate_s").val();
//postData.ClearDateStart = $("#DateFromClearDate_s").val();
//postData.ClearDateEnd = $("#DateToClearDate_s").val();
postData.TradeConfirmDateStart = $("#DateFromTradeConfirmDate_s").val();
postData.TradeConfirmDateEnd = $("#DateToTradeConfirmDate_s").val();
postData.ClearConfirmDateStart = $("#DateFromClearConfirmDate_s").val();
postData.ClearConfirmDateEnd = $("#DateToClearConfirmDate_s").val();
postData.CurrentPeriodDateStart = $("#DateFromCurrentPeriodDate_s").val();
postData.CurrentPeriodDateEnd = $("#DateToCurrentPeriodDate_s").val();
postData.ClientTagIds = $("#ClientTagIds1").val();
postData.TagIds = $("#TagIds1").val();
return postData;
}
function SearchClick(isSearchclick) {
var listGrid = $('#listGrid1');
listGrid.appendPostData(GetPostData());
if (typeof (isSearchclick) != "undefined" && isSearchclick) {
//点击搜索时默认第一页
listGrid.jqGrid('setGridParam',
{
page: 1
});
}
listGrid.trigger('reloadGrid');
}
var g_grid = {};
$(function () {
function keyEnter(event) {
try {
var e = event ? event : (window.event ? window.event : null);
if (e.keyCode == 13) {
SearchClick(true);
}
} catch (e) {
}
}
document.onkeydown = keyEnter;
@* $("#DateFromCurrentPeriodDate_s,#DateToCurrentPeriodDate_s").datepicker("option", "maxDate", '@ViewBag.Req.CurrentPeriodDateEnd.ToString("yyyy-MM-dd")');
$("#DateFromTradeConfirmDate_s,#DateToTradeConfirmDate_s").datepicker("option", "maxDate", '@ViewBag.Req.TradeConfirmDateEnd');
$("#DateFromClearConfirmDate_s,#DateToClearConfirmDate_s").datepicker("option", "maxDate", '@ViewBag.Req.ClearConfirmDateEnd');*@
$("#DateFromCurrentPeriodDate_s").on("change", function () {
var startDate = $(this).val();
if (startDate != "" && !main.isDate(startDate)) {
return;
}
$("#DateToCurrentPeriodDate_s").datepicker("option", "minDate", startDate);
});
$("#DateToCurrentPeriodDate_s").on("change", function () {
var endDate = $(this).val();
if (endDate != "" && !main.isDate(endDate)) {
return;
}
$("#DateFromCurrentPeriodDate_s").datepicker("option", "maxDate", endDate);
});
$("#DateFromTradeConfirmDate_s").on("change", function () {
var startDate = $(this).val();
if (startDate != "" && !main.isDate(startDate)) {
return;
}
$("#DateToTradeConfirmDate_s").datepicker("option", "minDate", startDate);
});
$("#DateToTradeConfirmDate_s").on("change", function () {
var endDate = $(this).val();
if (endDate != "" && !main.isDate(endDate)) {
return;
}
$("#DateFromTradeConfirmDate_s").datepicker("option", "maxDate", endDate);
});
$("#DateFromClearConfirmDate_s").on("change", function () {
var startDate = $(this).val();
if (startDate != "" && !main.isDate(startDate)) {
return;
}
$("#DateToClearConfirmDate_s").datepicker("option", "minDate", startDate);
});
$("#DateToClearConfirmDate_s").on("change", function () {
var endDate = $(this).val();
if (endDate != "" && !main.isDate(endDate)) {
return;
}
$("#DateFromClearConfirmDate_s").datepicker("option", "maxDate", endDate);
});
$(".datepicker").datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
showOtherMonths: true,
selectOtherMonths: true
});
$("#DateFromCurrentPeriodDate_s").val('@ViewBag.Req.CurrentPeriodDateStart.ToString("yyyy-MM-dd")');
$("#DateToCurrentPeriodDate_s").val('@ViewBag.Req.CurrentPeriodDateEnd.ToString("yyyy-MM-dd")');
$("#SummaryType_s").val('@ViewBag.Req.SummaryType');
$("#ClientId_s").val(@fromatList(ViewBag.Req.ClientIdList));
$("#TradeNumber_s").val('@ViewBag.Req.TradeNumber');
$("#DateFromTradeConfirmDate_s").val('@fromatDateTime(ViewBag.Req.TradeConfirmDateStart)')
$("#DateToTradeConfirmDate_s").val('@fromatDateTime(ViewBag.Req.TradeConfirmDateEnd)')
$("#DateFromClearConfirmDate_s").val('@fromatDateTime(ViewBag.Req.ClearConfirmDateStart)')
$("#DateToClearConfirmDate_s").val('@fromatDateTime(ViewBag.Req.ClearConfirmDateEnd)')
try {
SetAceDropDown();
} catch (e) {
}
$("#ClientId_s").selectpicker('refresh');
var PostData = GetPostData();
g_grid = jQuery('#listGrid1').jqGrid({
url: '/trade/FinancialSummaryQuery',
datatype: 'json',
multiselect: false,
height: 'auto',
autowidth: true,
shrinkToFit: false,
viewrecords: true,
jsonReader: { repeatitems: false },
caption: '',
mtype: 'POST',
postData: PostData,
ondblClickRow: rowdblclick,
colModel: colModelGrid,
pager: jQuery('#pagerGrid1'),
pagerpos: 'left',
rowNum: 20,
rowList: [20, 30, 50, 200, 10000],
footerrow: false,
loadComplete: gridComplete,
onPaging: onJqgridPaging
});
});
function Output(typeStr) {
var postData = _.assign({}, GetPostData());
downLoadFile("/trade/DownloadFinancialSummary?" + $.param(postData, true) + "&type=" + typeStr);
}
function downLoadFile(downloadUrlStr) {
$.ajaxSettings.async = false;
$.getJSON(downloadUrlStr + "&query=true",
function (res) {
if (res.Success) {
window.location.href = downloadUrlStr;
}
else { main.message(res.Msg); }
});
$.ajaxSettings.async = true;
}
</script>
}
<div style=" max-width:1200px;padding-left:20px;">
<div class="searchdiv">
@Html.SearchDateRange("CurrentPeriodDate_s", "本期区间")
</div>
<div class="searchdiv">
<select id="SummaryType_s" name="SummaryType_s" style="display: none;">
<option>场外期权</option>
<option>远期/掉期</option>
<option>互换</option>
</select>
@Html.MyAceDropdownInput("ClientId_s", "客户名称", ClientDataModel.GetAllClient())
@Html.ShortInput("TradeNumber_s", "交易编号")
@*@Html.SearchDateRange("TradeDate_s", "交易日期")
@Html.SearchDateRange("ExerciseDate_s", "到期日期")
@Html.SearchDateRange("ClearDate_s", "清算日期")*@
@Html.SearchDateRange("TradeConfirmDate_s", "确认日期")
@Html.SearchDateRange("ClearConfirmDate_s", "了结日期")
@if (pageObj.ViewTagPermission)
{
@Html.MyAceDropdownInput("ClientTagIds1", "客户标签值", TagController.GetTradeTagList(CurUser, YLErp.Enums.TagTypeEnum.Customer))
}
@Html.MyAceDropdownInput("TagIds1", "标签值", TagController.GetTradeTagList(CurUser))
@MyControls.SearchBtn()
@MyControls.Btn("导出", "Output('" + ViewBag.Title + "')")
</div>
</div>
<div style="margin: auto;width:98%;">
@Html.Raw(JqGridSimple.OutTable(1))
</div>