Files
zszq-trs/YLErpWeb/wwwroot/Scripts/app/trade/tradeMarginTemplateEdit.js
T
2024-05-09 14:06:26 +08:00

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()
}
});