var vue = new Vue({ el: "#vueDiv", data: { ...pageModel, TradeChilds: [], checkResult: { IsObservationDay: true, KOBarrier: pageModel.KOBarrier, PaymentNotional: "", PaymentAmount: "", autocall_NeedCoupon: "否", snowball_ExerciseMoneyAtKO: "", rangeacc_BonusObservation: "" }, }, created() { let fmt = main.numberFormat(3, { trimTailZeros: true }); this.trade.TradeAmount = fmt(this.trade.TradeAmount); this.trade.trade_barrier_option.BarrierPrice = fmt(this.trade.trade_barrier_option.BarrierPrice); this.trade.trade_barrier_option.UpperBarrierPrice = fmt(this.trade.trade_barrier_option.UpperBarrierPrice); this.trade.trade_double_sharkfin_option.BarrierLow = fmt(this.trade.trade_double_sharkfin_option.BarrierLow); this.trade.trade_double_sharkfin_option.BarrierHigh = fmt(this.trade.trade_double_sharkfin_option.BarrierHigh); this.trade.trade_rangeaccrual.LowerRange = fmt(this.trade.trade_rangeaccrual.LowerRange); this.trade.trade_rangeaccrual.UpperRange = fmt(this.trade.trade_rangeaccrual.UpperRange); this.trade.trade_snowball.KIBarrier = this.trade.trade_snowball.KIPayoffType === 0 ? "" : fmt(this.trade.trade_snowball.KIBarrier); this.trade.trade_snowball.SpreadStrikeAtKO = fmt(this.trade.trade_snowball.SpreadStrikeAtKO); this.trade.trade_autocall.KIBarrier = fmt(this.trade.trade_autocall.KIBarrier); this.trade.trade_autocall.CouponBarrier = fmt(this.trade.trade_autocall.CouponBarrier); this.trade.trade_airbag.Barrier = fmt(this.trade.trade_airbag.Barrier); this.checkObservation(); }, mounted() { main.setTradeDatePicker("", "#ObservationDate", null, this.setObservationDate.bind(this)); $("#ObservationDate").datepicker("option", "minDate", pageModel.TradeDate); $("#ObservationDate").datepicker("option", "maxDate", pageModel.ExerciseDate); let self = this; //main.post("/trade/GetObserveTradeChildInfo", { tradeId: this.trade.id }).done(function (res) { // self.TradeChilds = res; //}) }, methods: { getPostData() { return { tradeId: this.trade.id, valueDate: this.SetObservationDate, price: this.SetObservationPrice }; }, checkObservation() { var thisObj = this; if (_.isNil(thisObj.SetObservationDate)) { return main.message("请输入观察日期"); } if (!thisObj.SetObservationPrice && thisObj.SetObservationPrice !== 0) { return main.message("标的价格不能为空"); } main.post("/OptionObservation/CheckObservation", this.getPostData()).done(function (res) { let checkData = res.obj.CheckData; thisObj.checkResult.IsObservationDay = res.obj.IsObservationDay; thisObj.checkResult.KOBarrier = main.formatNumber(res.obj.KOBarrier, 4, { trimTailZeros: true }); thisObj.trade.KnockInOutStatusObservation = res.obj.KnockInOutStatusObservation; thisObj.checkResult.autocall_NeedCoupon = checkData["autocall_NeedCoupon"] || "否"; thisObj.checkResult.snowball_ExerciseMoneyAtKO = checkData["snowball_ExerciseMoneyAtKO"] || ""; thisObj.checkResult.rangeacc_BonusObservation = checkData["rangeacc_BonusObservation"] || ""; thisObj.checkResult.PaymentAmount = checkData["累计结算金额"] || ""; thisObj.checkResult.PaymentNotional = checkData["累计结算数量"] || ""; if (thisObj.trade.TradeType === "累计期权") { thisObj.trade.UnderlyingCode = res.obj.UnderlyingCode; } thisObj.trade.SettlementAmount = checkData["结算金额"] || ""; }); }, starttradeView: function (EncryptId) { var srcurl = "/trade/TradeView/?enid=" + EncryptId + "&isFromPositionReport=true"; main.open("查看交易", srcurl); }, setObservationDate(date) { this.SetObservationDate = date; this.checkObservation(); }, GetSettleMentAmount() { var thisObj = this; main.post("/OptionObservation/getTradeObservationCoupon", this.getPostData()).done(function (res) { thisObj.trade.SettlementAmount = res.obj; }) }, refreshUnderlyingPrice: function () { var thisObj = this; if (_.isNil(thisObj.SetObservationDate)) { return main.message("请输入观察日期"); } main.post("/underlying_manager/GetUnderlyingPriceByCode", { code: thisObj.trade.UnderlyingCode, valueDate: thisObj.SetObservationDate }).done(function (result) { thisObj.SetObservationPrice = main.toNumber(result.obj); thisObj.checkResult.IsObservationDay && thisObj.checkObservation(); }); }, submit: function () { var thisObj = this; if (_.isNil(this.SetObservationDate)) { return main.message("请输入观察日期"); } if (!this.checkResult.IsObservationDay) { return main.message("请输入正确的观察日"); } if (_.isNil(this.SetObservationPrice)) { return main.message("请输入标的价格"); } main.confirm("确认保存观察日价格?", function () { let postData = thisObj.getPostData(); postData.SettlementAmount = thisObj.trade.SettlementAmount; main.post("/OptionObservation/saveManuallyTradeObservationPrice", postData).done(function (res) { main.message("设置观察日价格成功"); }); }); } } });