//定价格式化(来自配置) const inputFormatPercent = Object.freeze({ precision: 2, append: '%' }); const inputFormatPercentNegative = Object.freeze({ precision: 2, append: '%', negative: true }); const inputFormatNegative = Object.freeze({ precision: 2, negative: true }); const vue = new Vue({ el: '#marginTemplateV2Form', data: { tradeMarginTemplate: page.tradeMarginTemplate, marginTemplates: page.marginTemplates, marginTemplate: page.marginTemplate }, created: function () { this.tradeMarginTemplate.ValueDate = new moment(this.tradeMarginTemplate.ValueDate).format("YYYY-MM-DD"); }, methods: { changeMarginTemplate(templateId) { this.tradeMarginTemplate.MarginTemplateId = templateId; if (templateId != '') { this.marginTemplates.forEach(x => { if (parseInt(this.tradeMarginTemplate.MarginTemplateId) === parseInt(x.id)) { this.marginTemplate = x; } }); } else { this.marginTemplate = page.marginTemplate; } }, saveMarginTemplateV2() { var thisObj = this; if (thisObj.tradeMarginTemplate.ValueDate <= page.latestValueDate) { main.confirm("该生效日期不大于已选择模板的生效日期,将覆盖已存在的模板规则,确认继续?", function () { main.post("/trade/saveTradeMarginTemplate", { tradeMarginTemplate: thisObj.tradeMarginTemplate }).done(function (resp) { try { window.parent.reloadmargin_template({ TempleteId: thisObj.marginTemplate.id, TempleteName: thisObj.marginTemplate.Name, RuleTypeName: thisObj.marginTemplate.RuleTypeName, ValueDate: thisObj.tradeMarginTemplate.ValueDate, Id: thisObj.tradeMarginTemplate.TradeId, InitialMargin: resp.obj }); window.parent.layer.closeAll(); } catch (e) { } }); }); } else { main.post("/trade/saveTradeMarginTemplate", { tradeMarginTemplate: thisObj.tradeMarginTemplate }).done(function (resp) { try { window.parent.reloadmargin_template({ TempleteId: thisObj.marginTemplate.id, TempleteName: thisObj.marginTemplate.Name, RuleTypeName: thisObj.marginTemplate.RuleTypeName, ValueDate: thisObj.tradeMarginTemplate.ValueDate, Id: thisObj.tradeMarginTemplate.TradeId, InitialMargin: resp.obj }); window.parent.layer.closeAll(); } catch (e) { } }); } }, showTemplateDetail(detail) { vueDetail.backupDetail = _.cloneDeep(detail); detail.ValueDate = new moment(detail.ValueDate).format("YYYY-MM-DD"); vueDetail.detail = detail; vueDetail.isAdd = false; vueDetail.ruleType = vue.marginTemplate.RuleType; $("#myModal").modal("show"); } }, components: { 'vue-datepicker': FastVue.vueDatePicker(), 'vue-number-input': FastVue.vueNumberInput() } }); $(function () { $(".datepicker").change(function () { var dateVal = $(this).val(); if (!dateVal) return; dateVal = dateVal.replace(/\D/g, '').padStart(4, '0'); switch (dateVal.length) { case 4: dateVal = new Date().getFullYear() + dateVal; break; case 6: dateVal = '20' + dateVal; break; case 8: break; default: dateVal = dateVal.length > 8 ? dateVal.substring(0, 8) : ''; break; } if (dateVal) { dateVal = moment(dateVal).format('YYYY-MM-DD'); !/^\d+/.test(dateVal) && (dateVal = ''); } $(this).datepicker("setDate", dateVal); }); $("#MarginTemplateId").change(function () { vue.changeMarginTemplate($("#MarginTemplateId").val()); }); SetAceDropDown(); }); var vueDetail = new Vue({ el: "#myModal", data: { detail: {}, backupDetail: {}, isAdd: true, ruleType: 0, }, created: function () { }, methods: { closeModal: function () { $('#myModal').modal('hide'); } }, components: { 'vue-datepicker': FastVue.vueDatePicker(), 'vue-number-input': FastVue.vueNumberInput() } });