diff --git a/YLErpDAL/Modules/EodModule/SettlementModule/EodHandleSwapFlowService.cs b/YLErpDAL/Modules/EodModule/SettlementModule/EodHandleSwapFlowService.cs index 44683a41..d8011344 100644 --- a/YLErpDAL/Modules/EodModule/SettlementModule/EodHandleSwapFlowService.cs +++ b/YLErpDAL/Modules/EodModule/SettlementModule/EodHandleSwapFlowService.cs @@ -10,6 +10,7 @@ using YLErp.Modules.CalculationModule; using YLErp.Modules.DataProviderModule; using YLErp.Modules.TradeModule; using YLErp.Modules.TradeModule.DealModule; +using YLErp.Modules.TradeModule.DocGenerateModule; using YLErp.Modules.TradeModule.OrderModule; using YLErp.QdpModule; @@ -855,7 +856,14 @@ namespace YLErp.Modules.EodModule { if (string.IsNullOrWhiteSpace(td.TradeNumber)) { - td.TradeNumber = BizLogicSingleton.Instance.GenerateTradeNumberBeforeConfirm(td, DbContext); + if (GuolianContractNoGenerator.IsGuolianSwapTrade(td)) + { + GuolianContractNoGenerator.TryGenerateTradeNumberAfterSave(DbContext, td); + } + else + { + td.TradeNumber = BizLogicSingleton.Instance.GenerateTradeNumberBeforeConfirm(td, DbContext); + } } } diff --git a/YLErpDAL/Modules/SwapModule/SwapTradeService.cs b/YLErpDAL/Modules/SwapModule/SwapTradeService.cs index f32f97fe..3deb098c 100644 --- a/YLErpDAL/Modules/SwapModule/SwapTradeService.cs +++ b/YLErpDAL/Modules/SwapModule/SwapTradeService.cs @@ -32,6 +32,7 @@ using YLErp.Modules.RiskModule; using YLErp.Modules.SalesModule; using YLErp.Modules.TradeModule; using YLErp.Modules.TradeModule.DealModule; +using YLErp.Modules.TradeModule.DocGenerateModule; using YLErp.Modules.TradeModule.QueryModule; using YLErp.Modules.UnderlyingModule; using YLErp.QdpModule; @@ -271,55 +272,67 @@ namespace YLErp.Modules.SwapModule string structureType = "普通债券类收益互换", bool cashNeedAfter = false) { - int SwapEndDays = UnderlyingHelper.GetApplicableMarginRate(client.id,underlying.UnderlyingCode,flowMerge.OccurTime)?.swap_days??14; - var td = PrepareTrade(flowMerge, client, asset, underlying, SwapEndDays, structureType); - PrepareTradeExtend(flowMerge, td, underlying, swapFloatRate); - td.TradeNumber = BizLogicSingleton.Instance.GenerateTradeNumberBeforeConfirm(td, DbContext); - flowMerge.SwapTradeNo = td.TradeNumber; - PrepareSwapTrade(td, TradeSourceEnum.系统交易, underlying); - DbContext.trade.Add(td); - DbContext.SaveChanges(); - td.trade_Initial_Margin = new trade_initial_margin() + trade td; + using (var trans = BeginTransaction()) { - TradeId = td.id, - MarginType = 1, - Direction = (int)SwapDirectionEnum.收取, - MarginValue = 0, - }; - AddTradeMeta(false, td.id, YLErp.DBModels.Consts.ConsTradeMetaKey.MainProtocolCode, client.MainProtocolCode); - AddTradeMeta(false, td.id, YLErp.DBModels.Consts.ConsTradeMetaKey.SupProtocolCode, client.SupProtocolCode); - AddTradeMeta(false, td.id, YLErp.DBModels.Consts.ConsTradeMetaKey.TradingPlace, "柜台市场"); - if (!string.IsNullOrEmpty(clearingAgency)) - { - AddTradeMeta(false, td.id, YLErp.DBModels.Consts.ConsTradeMetaKey.ClearingAgency, clearingAgency); + int SwapEndDays = UnderlyingHelper.GetApplicableMarginRate(client.id,underlying.UnderlyingCode,flowMerge.OccurTime)?.swap_days??14; + td = PrepareTrade(flowMerge, client, asset, underlying, SwapEndDays, structureType); + PrepareTradeExtend(flowMerge, td, underlying, swapFloatRate); + if (!GuolianContractNoGenerator.IsGuolianSwapTrade(td)) + { + td.TradeNumber = BizLogicSingleton.Instance.GenerateTradeNumberBeforeConfirm(td, DbContext); + } + PrepareSwapTrade(td, TradeSourceEnum.系统交易, underlying); + DbContext.trade.Add(td); + DbContext.SaveChanges(); + if (GuolianContractNoGenerator.TryGenerateTradeNumberAfterSave(DbContext, td)) + { + DbContext.SaveChanges(); + } + flowMerge.SwapTradeNo = td.TradeNumber; + td.trade_Initial_Margin = new trade_initial_margin() + { + TradeId = td.id, + MarginType = 1, + Direction = (int)SwapDirectionEnum.收取, + MarginValue = 0, + }; + AddTradeMeta(false, td.id, YLErp.DBModels.Consts.ConsTradeMetaKey.MainProtocolCode, client.MainProtocolCode); + AddTradeMeta(false, td.id, YLErp.DBModels.Consts.ConsTradeMetaKey.SupProtocolCode, client.SupProtocolCode); + AddTradeMeta(false, td.id, YLErp.DBModels.Consts.ConsTradeMetaKey.TradingPlace, "柜台市场"); + if (!string.IsNullOrEmpty(clearingAgency)) + { + AddTradeMeta(false, td.id, YLErp.DBModels.Consts.ConsTradeMetaKey.ClearingAgency, clearingAgency); + } + TradeExtendJson tradeExtendJson = new TradeExtendJson() + { + FlowBookMode = (int)FlowBookModeEnum.先进先出, + FloatingPnlAnnualized = false, + NeedOpenFee = true, + OpenFeeType = 1, + Direction = 1, + InterestCalcMode = "10", + SettlementRules = cashNeedAfter ? 1 : 0, + }; + if (structureType != "普通债券类收益互换") + { + tradeExtendJson.FlowBookMode = (int)FlowBookModeEnum.加权平均; + } + td.trade_extend = new trade_extend() + { + TradeId = td.id, + ExtendJson = JsonHelper.Serialize(tradeExtendJson) + }; + DbContext.trade_initial_margin.Add(td.trade_Initial_Margin); + DbContext.trade_extend.Add(td.trade_extend); + foreach (var item in td.swap_positions) + { + item.SwapTradeId = td.id; + DbContext.swap_position.Add(item); + } + DbContext.SaveChanges(); + trans.Commit(); } - TradeExtendJson tradeExtendJson = new TradeExtendJson() - { - FlowBookMode = (int)FlowBookModeEnum.先进先出, - FloatingPnlAnnualized = false, - NeedOpenFee = true, - OpenFeeType = 1, - Direction = 1, - InterestCalcMode = "10", - SettlementRules = cashNeedAfter ? 1 : 0, - }; - if (structureType != "普通债券类收益互换") - { - tradeExtendJson.FlowBookMode = (int)FlowBookModeEnum.加权平均; - } - td.trade_extend = new trade_extend() - { - TradeId = td.id, - ExtendJson = JsonHelper.Serialize(tradeExtendJson) - }; - DbContext.trade_initial_margin.Add(td.trade_Initial_Margin); - DbContext.trade_extend.Add(td.trade_extend); - foreach (var item in td.swap_positions) - { - item.SwapTradeId = td.id; - DbContext.swap_position.Add(item); - } - DbContext.SaveChanges(); new TradeConfirmService(UserInfo).SwapTradeConfirm(td, "流水自动簿记确认交易", true, flowMerge.OccurTime, "流水自动"); return td; } @@ -581,7 +594,9 @@ namespace YLErp.Modules.SwapModule dbTrade.CheckTradeUpdate = Convert.ToInt32(TradeCheckEnum.StatusOfOld); dbTrade.CheckStatus = null; //如果是新增待确认并且修改了客户,需要重新生成交易编号 - if (oldClientId != dbTrade.ClientId && canGenerateTradeNumber) + if (oldClientId != dbTrade.ClientId + && canGenerateTradeNumber + && !GuolianContractNoGenerator.IsGuolianSwapTrade(dbTrade)) { dbTrade.TradeNumber = BizLogicSingleton.Instance.GenerateTradeNumberBeforeConfirm(dbTrade, DbContext); } @@ -614,6 +629,10 @@ namespace YLErp.Modules.SwapModule { //保存修改 DbContext.SaveChanges(); + if (isAddNew && GuolianContractNoGenerator.TryGenerateTradeNumberAfterSave(DbContext, dbTrade)) + { + DbContext.SaveChanges(); + } SaveTradeExend(dbTrade); SaveTradeMargin(dbTrade); SaveSwapPositions(dbTrade.swap_positions, dbTrade); @@ -710,7 +729,10 @@ namespace YLErp.Modules.SwapModule PrepareUnderlying(req, um); } - req.TradeNumber = BizLogicSingleton.Instance.GenerateTradeNumberBeforeConfirm(req, DbContext); + if (!GuolianContractNoGenerator.IsGuolianSwapTrade(req)) + { + req.TradeNumber = BizLogicSingleton.Instance.GenerateTradeNumberBeforeConfirm(req, DbContext); + } } else if (DbContext.trade.Any(n => n.TradeNumber == req.TradeNumber)) { diff --git a/YLErpDAL/Modules/TradeModule/DocGenerateModule/ConfirmationGenerateContext.cs b/YLErpDAL/Modules/TradeModule/DocGenerateModule/ConfirmationGenerateContext.cs index 050fa800..2ac4c1ac 100644 --- a/YLErpDAL/Modules/TradeModule/DocGenerateModule/ConfirmationGenerateContext.cs +++ b/YLErpDAL/Modules/TradeModule/DocGenerateModule/ConfirmationGenerateContext.cs @@ -1356,11 +1356,7 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule { return UniqueTimeId.GetStr(); } - if (Trade.TradeType == "收益互换") - { - return GuolianContractNoGenerator.Generate(DbContext, (trade)Trade, _client.Code); - } - return Trade.TradeNumber; + return Trade.TradeNumber; } /// @@ -2881,4 +2877,4 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule return DbContext.swap_event.FirstOrDefault(x => x.id == eventId); } } -} \ No newline at end of file +} diff --git a/YLErpDAL/Modules/TradeModule/DocGenerateModule/ConfirmationGenerateService.cs b/YLErpDAL/Modules/TradeModule/DocGenerateModule/ConfirmationGenerateService.cs index e2d4a4df..c0e72bd0 100644 --- a/YLErpDAL/Modules/TradeModule/DocGenerateModule/ConfirmationGenerateService.cs +++ b/YLErpDAL/Modules/TradeModule/DocGenerateModule/ConfirmationGenerateService.cs @@ -667,7 +667,9 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule public (bool, string, DateTime, string) UploadContractFile(string encryptId, string fileDescription, string ContractCode, bool OurpartySeal, bool CounterpartySeal, UploadFileModel uploadFileModel) { - + var contractCodeName = PS.Config.Company == YLErp.Configuration.CompanyEnum.国联 + ? "交易确认书编号" + : "合约编号"; try { var msg = ""; @@ -707,7 +709,7 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule { if (db.trade_contract_r.Where(O => O.ContractCode == ContractCode && O.IsValid).Any()) { - return (false, "合约编号已存在", DateTime.Now, ""); + return (false, $"{contractCodeName}已存在", DateTime.Now, ""); } else { @@ -854,6 +856,10 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule UploadFileModel uploadFileModel) { var nowDate = DateTime.Now; + var isGuolian = PS.Config.Company == YLErp.Configuration.CompanyEnum.国联; + var contractCodeName = isGuolian + ? "交易确认书编号" + : "合约编号"; if (tradeId <= 0) { return new UploadContractFileNewResult { Success = false, Message = "请传入参数", OptDate = nowDate, DocumentPath = string.Empty }; @@ -887,7 +893,7 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule activeCode = (contractCode ?? "").Trim(); if (string.IsNullOrWhiteSpace(activeCode)) { - return new UploadContractFileNewResult { Success = false, Message = "合约编号必填", OptDate = nowDate, DocumentPath = string.Empty }; + return new UploadContractFileNewResult { Success = false, Message = $"{contractCodeName}必填", OptDate = nowDate, DocumentPath = string.Empty }; } if (!string.Equals(oldCode, activeCode, StringComparison.OrdinalIgnoreCase)) @@ -895,7 +901,7 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule var isExists = new TradeContractGenerateService(OptUser).GetExistsContractCode(new[] { activeCode }).Any(); if (isExists) { - return new UploadContractFileNewResult { Success = false, Message = "合约编号已存在", OptDate = nowDate, DocumentPath = string.Empty }; + return new UploadContractFileNewResult { Success = false, Message = $"{contractCodeName}已存在", OptDate = nowDate, DocumentPath = string.Empty }; } } } @@ -907,18 +913,25 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule } else { - var client = DataCacheProvider.GetClientDataSource().GetData(trade.ClientId); - if (string.IsNullOrEmpty(client?.Code)) + if (isGuolian) { - return new UploadContractFileNewResult { Success = false, Message = "对手方代码缩写缺失,请联系运营组同事维护", OptDate = nowDate, DocumentPath = string.Empty }; + activeCode = trade.TradeNumber; + } + else + { + var client = DataCacheProvider.GetClientDataSource().GetData(trade.ClientId); + if (string.IsNullOrEmpty(client?.Code)) + { + return new UploadContractFileNewResult { Success = false, Message = "对手方代码缩写缺失,请联系运营组同事维护", OptDate = nowDate, DocumentPath = string.Empty }; + } + activeCode = GenerateContractCodeForTrade(db, trade, client?.Code); } - activeCode = GenerateContractCodeForTrade(db, trade, client?.Code); } } if (string.IsNullOrWhiteSpace(activeCode)) { - return new UploadContractFileNewResult { Success = false, Message = "合约编号生成失败", OptDate = nowDate, DocumentPath = string.Empty }; + return new UploadContractFileNewResult { Success = false, Message = $"{contractCodeName}生成失败", OptDate = nowDate, DocumentPath = string.Empty }; } trade_contract_document oldDoc = null; @@ -1006,19 +1019,13 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule return new UploadContractFileNewResult { Success = false, Message = "操作出错", OptDate = nowDate, DocumentPath = string.Empty }; } } - /// - /// 生成合约编号逻辑:如果是收益互换交易,使用国联的生成规则;否则默认使用 TradeNumber 作为合约编号。 - /// - /// - /// - /// - /// - private string GenerateContractCodeForTrade(YLContext db, trade trade,string clientCode) + private static string GenerateContractCodeForTrade(YLContext db, trade trade, string clientCode) { if (trade.TradeType == "收益互换") { - return GuolianContractNoGenerator.Generate(db, trade, clientCode ?? ""); + return GuolianContractNoGenerator.Generate(db, trade, clientCode ?? string.Empty); } + return trade.TradeNumber; } diff --git a/YLErpDAL/Modules/TradeModule/DocGenerateModule/GuolianContractNoGenerator.cs b/YLErpDAL/Modules/TradeModule/DocGenerateModule/GuolianContractNoGenerator.cs index 67901f31..5b858026 100644 --- a/YLErpDAL/Modules/TradeModule/DocGenerateModule/GuolianContractNoGenerator.cs +++ b/YLErpDAL/Modules/TradeModule/DocGenerateModule/GuolianContractNoGenerator.cs @@ -1,4 +1,5 @@ using YLErp.BLL; +using YLErp.Configuration; using YLErp.DBModels; using YLErp.DBModels.Consts; using YLErp.DBModels.Enums; @@ -17,6 +18,38 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule { private static readonly object _syncLock = new object(); + public static bool IsGuolianSwapTrade(trade trade) + { + return PS.Config.Company == CompanyEnum.国联 + && trade?.TradeType == "收益互换"; + } + + /// + /// 交易首次入库后按国联交易确认书编号规则回写交易编号。 + /// + /// 是否生成了交易编号 + public static bool TryGenerateTradeNumberAfterSave(YLContext dbContext, trade trade) + { + if (!IsGuolianSwapTrade(trade) || !string.IsNullOrWhiteSpace(trade.TradeNumber)) + { + return false; + } + + if (trade.id <= 0) + { + throw new InvalidOperationException("国联收益互换交易编号必须在交易入库后生成"); + } + + var clientCode = DataCacheProvider.GetClientDataSource().GetData(trade.ClientId)?.Code; + if (string.IsNullOrWhiteSpace(clientCode)) + { + throw new ServiceException("对手方代码缩写缺失,请联系运营组同事维护"); + } + + trade.TradeNumber = Generate(dbContext, trade, clientCode); + return true; + } + /// /// 生成国贸交易确认书编号 /// diff --git a/YLErpDAL/Modules/TradeModule/SwapModule/SwapTradeFlowImportService.cs b/YLErpDAL/Modules/TradeModule/SwapModule/SwapTradeFlowImportService.cs index fb8d835d..e5688c3c 100644 --- a/YLErpDAL/Modules/TradeModule/SwapModule/SwapTradeFlowImportService.cs +++ b/YLErpDAL/Modules/TradeModule/SwapModule/SwapTradeFlowImportService.cs @@ -11,6 +11,7 @@ using YLErp.Enums; using YLErp.Model.Enum; using YLErp.Modules.CalculationModule; using YLErp.Modules.EodModule; +using YLErp.Modules.TradeModule.DocGenerateModule; using YLErp.Modules.TradeModule.OrderModule; namespace YLErp.Modules.TradeModule.SwapModule @@ -362,7 +363,10 @@ namespace YLErp.Modules.TradeModule.SwapModule importTrade.TradeStatus = ConsTrade.确认成交; - importTrade.TradeNumber = BizLogicSingleton.Instance.GenerateTradeNumberBeforeConfirm(importTrade, DbContext); + if (!GuolianContractNoGenerator.IsGuolianSwapTrade(importTrade)) + { + importTrade.TradeNumber = BizLogicSingleton.Instance.GenerateTradeNumberBeforeConfirm(importTrade, DbContext); + } var currencyRate = new EodCurrencyRateService(UserInfo).GetCurrencyRate(importTrade.QuoteCurrency, importTrade.SettlementCurrency, importTrade.TradeDate.Value, seekPreday: importTrade.TradeDate.Value == valuedateBLL.ValueDate); var tradePriceQuote = 0.0; @@ -388,6 +392,10 @@ namespace YLErp.Modules.TradeModule.SwapModule SetDBModelCreator(importTrade); DbContext.trade.Add(importTrade); DbContext.SaveChanges(); + if (GuolianContractNoGenerator.TryGenerateTradeNumberAfterSave(DbContext, importTrade)) + { + DbContext.SaveChanges(); + } importTrade.trade_swap.GetTradePrice = (importTrade.trade_swap.GetSingleFee ?? 0) * (importTrade.Lots ?? 0) + (importTrade.trade_swap.GetUnAnnualRate ?? 0) * importTrade.StockEqvNotional; importTrade.trade_swap.GetMarginRate = marginRate; importTrade.trade_swap.TradeId = importTrade.id; diff --git a/YLErpDAL/Modules/TradeModule/SwapModule/SwapTradeImportService.cs b/YLErpDAL/Modules/TradeModule/SwapModule/SwapTradeImportService.cs index 6f985cbf..cec26a82 100644 --- a/YLErpDAL/Modules/TradeModule/SwapModule/SwapTradeImportService.cs +++ b/YLErpDAL/Modules/TradeModule/SwapModule/SwapTradeImportService.cs @@ -11,6 +11,7 @@ using YLErp.Enums; using YLErp.Model.Enum; using YLErp.Modules.CalculationModule; using YLErp.Modules.EodModule; +using YLErp.Modules.TradeModule.DocGenerateModule; using YLErp.Modules.TradeModule.OrderModule; using YLErp.QdpModule; @@ -679,7 +680,10 @@ namespace YLErp.Modules.TradeModule.SwapModule } if (string.IsNullOrWhiteSpace(td.TradeNumber)) { - td.TradeNumber = BizLogicSingleton.Instance.GenerateTradeNumberBeforeConfirm(td, DbContext); + if (!GuolianContractNoGenerator.IsGuolianSwapTrade(td)) + { + td.TradeNumber = BizLogicSingleton.Instance.GenerateTradeNumberBeforeConfirm(td, DbContext); + } } else { @@ -736,6 +740,10 @@ namespace YLErp.Modules.TradeModule.SwapModule SetDBModelCreator(td); DbContext.trade.Add(td); DbContext.SaveChanges(); + if (GuolianContractNoGenerator.TryGenerateTradeNumberAfterSave(DbContext, td)) + { + DbContext.SaveChanges(); + } td.trade_swap.TradeId = td.id; td.trade_swap.SwapType = "普通"; td.trade_swap.OptId = UserId; diff --git a/YLErpWeb/Views/TradeConfirmBook/Index.cshtml b/YLErpWeb/Views/TradeConfirmBook/Index.cshtml index 8c5a0b65..91a7b06e 100644 --- a/YLErpWeb/Views/TradeConfirmBook/Index.cshtml +++ b/YLErpWeb/Views/TradeConfirmBook/Index.cshtml @@ -10,6 +10,7 @@ isRuiDa = YLErp.PS.Config.Company == YLErp.Configuration.CompanyEnum.瑞达, isBoHai = YLErp.PS.Config.Company == YLErp.Configuration.CompanyEnum.渤海, isWuChan = YLErp.PS.Config.Company == YLErp.Configuration.CompanyEnum.物产中大, + isGuoLian = YLErp.PS.Config.Company == YLErp.Configuration.CompanyEnum.国联, ConfirmBookStampStatus = PS.Config.ErpElement.ConfirmBookStampStatus, valuedate = valuedateBLL.ValueDate.ToString("yyyy-MM-dd"), configcolumn = configcolumn_data.交易确认书, @@ -56,7 +57,7 @@
@Html.ShortInput("TradeNumber", "交易编号") - @Html.ShortInput("ContractCode", "合约编号") + @Html.ShortInput("ContractCode", pageObj.isGuoLian ? "交易确认书编号" : "合约编号") @Html.MyAceDropdownInput("ClientId", "客户名称", ClientDataModel.GetAllClient()) @Html.MyAceDropdownInput("AssetId", "簿记账户", AssetunitController.GetClientassetunit()) @Html.MyAceDropdownInput("GroupId", "簿记账户组", AssetUnitModel.GetAllAssetUnitGroupItem()) diff --git a/YLErpWeb/Views/TradeConfirmBook/confirmBookUploadNew.cshtml b/YLErpWeb/Views/TradeConfirmBook/confirmBookUploadNew.cshtml index 5f022100..f90d886c 100644 --- a/YLErpWeb/Views/TradeConfirmBook/confirmBookUploadNew.cshtml +++ b/YLErpWeb/Views/TradeConfirmBook/confirmBookUploadNew.cshtml @@ -1,10 +1,14 @@ @{ ViewBag.Title = "confirmBookUploadNew"; Layout = "~/Views/Shared/_InfoLayout.cshtml"; + var contractCodeName = YLErp.PS.Config.Company == YLErp.Configuration.CompanyEnum.国联 + ? "交易确认书编号" + : "合约编号"; var pageObj = new { - TradeId = ViewBag.TradeId + TradeId = ViewBag.TradeId, + ContractCodeName = contractCodeName }; } @@ -38,7 +42,7 @@ var contractCode = $("#contractCode").val(); if (useContractCode && main.isEmpty(contractCode)) { - main.message("合约编号必填"); + main.message(page.ContractCodeName + "必填"); return; } @@ -97,8 +101,8 @@
- - + +
diff --git a/YLErpWeb/wwwroot/Scripts/app/trade/tradeConfirmBook.js b/YLErpWeb/wwwroot/Scripts/app/trade/tradeConfirmBook.js index 38e25299..46c6e487 100644 --- a/YLErpWeb/wwwroot/Scripts/app/trade/tradeConfirmBook.js +++ b/YLErpWeb/wwwroot/Scripts/app/trade/tradeConfirmBook.js @@ -80,7 +80,7 @@ const colModelGrid = (new function () { align: 'left' }, { name: 'ContractCode', - label: '合约编号', + label: page.isGuoLian === true ? '交易确认书编号' : '合约编号', index: 'ContractCode', sortIndex: i++, width: 200, @@ -307,15 +307,16 @@ const colModelGrid = (new function () { this.setControl = function (encryptId) { var button = "#bt_" + encryptId; var inputSelect = "#ip_" + encryptId; + var contractCodeName = page.isGuoLian === true ? "交易确认书编号" : "合约编号"; if ($(inputSelect).prop("disabled")) { $(inputSelect).prop("disabled", false); - $(button).prop("title", "保存合约编号"); + $(button).prop("title", "保存" + contractCodeName); $(button).html(""); } else { this.changeCode(encryptId, $(inputSelect).val(), function () { $(button).html(""); $(inputSelect).prop("disabled", true); - $(button).prop("title", "修改合约编号"); + $(button).prop("title", "修改" + contractCodeName); }); } }