113 lines
4.4 KiB
JavaScript
113 lines
4.4 KiB
JavaScript
//定价格式化(来自配置)
|
|
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()
|
|
}
|
|
}); |