Files
zszq-trs/YLErpWeb/Views/SwapTrade2/tradeEndConfirmList.cshtml
T
hjhan fa927b2133 fix(zszq-trs): 结算确认书列表新增每行发送邮件按钮,复用 BatchSendSettleEmail
- 新增 tradeEndConfirmSendEmail.js(独立文件降冲突),含纯函数 buildSettleEmailSendPayload 便于单测
- tradeEndConfirmList.js showToolName 加按钮,受 pageData.canSendEmail + ContractDocUrl 控制,跳过"多空组合"
- cshtml 引入新脚本;后端零改动(复用 SwapEndConfirmService.BatchSendSettleEmail -> bond-oms Java)
- 安全: 新按钮不引入新增 XSS/CSRF 暴露; CSRF token 缺失为全站既有问题,与批量按钮同源
2026-08-21 13:21:15 +08:00

97 lines
3.5 KiB
Plaintext

@{
ViewBag.Title = "互换结算确认书";
Layout = "~/Views/Shared/_MainLayout.cshtml";
var pageObj = new
{
curDate = valuedateBLL.ValueDate.ToString("yyyy-MM-dd"),
canGenerate = CurUser.结算管理_结算确认书生成,
canSendEmail = CurUser.结算管理_结算确认书邮件发送,
canDel = CurUser.结算管理_结算确认书重置,
};
}
@section CSS{
<style>
table input[type=text][disabled] {
border: none;
background-color: transparent !important;
text-align: left;
}
.ui-pg-button:hover {
border: none !important;
background: none !important;
}
</style>
}
@section JS{
<script>
const pageData = @Json.Serialize(pageObj);
</script>
<script src="~/Scripts/app/tradeHelper.js?v=@HtmlUtil.JsVersion"></script>
<script src="~/Scripts/app/swaptrade/tradeEndConfirmList.js?v=@HtmlUtil.JsVersion"></script>
<script src="~/Scripts/app/swaptrade/tradeEndConfirmSendEmail.js?v=@HtmlUtil.JsVersion"></script>
}
<div class="searchdiv">
@Html.ShortInput("TradeNumber", "交易编号")
@Html.MyAceDropdownInput("AssetId", "簿记账户", AssetunitController.GetClientassetunit())
@Html.MyAceDropdownInput("GroupId", "簿记账户组", AssetUnitModel.GetAllAssetUnitGroupItem())
@Html.MyAceDropdownInput("ClientId", "客户名称", ClientDataModel.GetAllClient())
@Html.MyAceDropdownInput("TraderName", "交易员", GlobalData.GetAllTrader())
<div class="search-group">
<span class="search-label">标的代码</span>
<select class="" data-placeholder="请选择 标的代码" id="UnderlyingId" name="UnderlyingId" multiple></select>
</div>
@Html.MyAceDropdownInput2("BuySell", "交易方向", ConsTrade.BuySellType.GetSelectItems())
@Html.SearchDateRange("StartDate", "开始日期")
@Html.SearchDateRange("ExerciseDate", "到期日期")
@Html.SearchDateRange("UnWindDate", "实际终止日")
@Html.ShortInput("Comments", "备注")
@MyControls.SearchBtn()
@if (pageObj.canGenerate)
{
@MyControls.Btn("批量生成确认书", "GenetateEndBillByReqDate()")
}
@if (pageObj.canSendEmail)
{
@MyControls.Btn("批量发送确认书", "SendEmailEitherReport()")
}
@MyControls.Btn("批量下载确认书", "BatchDownLoadDoc()")
@if (pageObj.canDel)
{
@MyControls.Btn("重置确认书", "BatchDelDoc()")
}
</div>
@Html.Raw(JqGridSimple.OutTable())
<div class="modal fade" id="myModal">
<div class="modal-dialog">
<div class="modal-content">
<!-- 模态框头部 -->
<div class="modal-header">
<h4 class="modal-title">修改支付日期</h4>
<button type="button" class="close" onclick="closeModifyDateModal()">&times;</button>
</div>
<!-- 模态框主体 -->
<div class="modal-body" style="height:180px;">
<lable>支付日期</lable>
<input class="search-input datepicker" id="payDateInput" type="text">
<input type="hidden" id="hidflowId" />
</div>
<!-- 模态框底部 -->
<div class="modal-footer">
<button type="button" class="btn btn-primary btn-default" onclick="saveModifyPayDate()">保存</button>
<button type="button" class="btn btn-primary btn-default" onclick="closeModifyDateModal()">关闭</button>
</div>
</div>
</div>
</div>