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

226 lines
7.5 KiB
JavaScript

$(document).ready(function () {
model.ObservationDates = sessionStorage.getItem(model.BtnId + "_observationdates");
$("#ObservationDates").val(model.ObservationDates);
var fieldList0 = model.ObservationDates.split(',');
fieldList0 = fieldList0[0] == "" ? null : fieldList0;
var str = GetTableString(fieldList0);
$("#divItems").html(str);
$(".delete").click(function () {
$(this).parent().remove();
});
});
function GetTableString(fieldList0) {
var str = "<ol id='ol' style='text-align:left;'><span style='min-width:100px;display: inline-block;'>日期</span>";
$.each(fieldList0, function (i) {
str += "<li><input type='text' class='field1' style='width:86px;margin-right:1rem;' value='" + (this.length > 0 ? new moment(this).format("YYYY-MM-DD") : "") + "'/>";
str += "<a href='#' class='delete'><span class='glyphicon glyphicon-remove'></span></a>";
str += "</li>";
});
str += "</ol><input type='button' class='btn btn-primary' onclick='addnewitem();' value='添加'/>";
return str;
}
function GetObservationDates() {
var observationNum = $("#ObservationNum").val();
if (observationNum == 0) {
main.message("观察日间隔不能设为0");
return;
}
var observationUnit = $("#ObservationUnit").val();
var observationHolidayType = $("#ObservationHolidayType").val();
var alignEnd = $("#AlignEnd").val();
var postDate = { startDate: $("#startTime").val(), endDate: $("#endTime").val(), termStr: observationNum + observationUnit, holidayAdjustment: observationHolidayType, alignEnd: alignEnd, calcMode: "11" };
main.post("/trade/GetObservationDateList", postDate).done(
function (res) {
$("#ObservationDates").val(res.obj);
var str = "<ol id='ol' style='text-align:left;'><span style='min-width:100px;display: inline-block;'>日期</span>";
$.each(res.obj, function (i) {
str += "<li><input type='text' class='field1' style='width:86px;margin-right:1rem;' value='" + (this.length > 0 ? new moment(this).format("YYYY-MM-DD") : "") + "'/>";
str += "<a href='#' class='delete'><span class='glyphicon glyphicon-remove'></span></a>";
str += "</li>";
});
str += "</ol><input type='button' class='btn btn-primary' onclick='addnewitem();' value='添加'/>";
$("#divItems").html(str);
$(".delete").click(function () {
$(this).parent().remove();
});
});
}
function addnewitem() {
var li = "<li><input type='text' class='field1' style='width:86px;margin-right:1rem;' onBlur='sort()'/>";
li += "<a href='#' class='delete'><span class='glyphicon glyphicon-remove'></span></a>";
li += "</li>";
$("#ol").append(li);
$(".delete").click(function () {
$(this).parent().remove();
});
}
function sort() {
var field1 = $(".field1");
var arr1 = [];
field1.each(function () {
var dateFormat = /^(\d{4})-(\d{2})-(\d{2})$/;
if (dateFormat.test($(this).val())) {
arr1.push($(this).val());
}
else {
hasTimeError = true;
}
});
var str = GetTableString(arr1.sort());
$("#divItems").html(str);
}
function Confirm() {
var startTime = $("#startTime").val();
var endTime = $("#endTime").val()
var tradeDate = $("#tradeDate").val()
var observationNum = $("#ObservationNum").val();
var observationUnit = $("#ObservationUnit").val();
var observationHolidayType = $("#ObservationHolidayType").val();
var field1 = $(".field1");
var arr1 = [];
var hasTimeError = false;
var TradeEndDateCompareState = false;
field1.each(function () {
var dateFormat = /^(\d{4})-(\d{2})-(\d{2})$/;
if (dateFormat.test($(this).val())) {
if (Date.parse(new Date(endTime).Format("yyyy-MM-dd")) < Date.parse($(this).val())) {
TradeEndDateCompareState = true;
}
arr1.push($(this).val());
}
else {
hasTimeError = true;
}
});
if (hasTimeError) {
alert("日期格式有误,请输入正确格式");
return false;
}
if (TradeEndDateCompareState) {
alert("结算日期不能大于到期日期,请输入正确日期");
return false;
}
var observationDates = arr1.join(',');
var hasNumberError = false;
if (hasNumberError) {
alert("请输入正确的数字格式");
return false;
}
var btnId = $("#btnId").val();
var Comments = $("#Comments").val();
window.parent.getObservationDatesSetting(startTime, observationNum, observationUnit, observationHolidayType, observationDates, true, btnId, Comments);
closeParentWindow();
}
function GetObservationDatesText() {
var field1 = $(".field1");
var arr1 = [];
var hasTimeError = false;
field1.each(function () {
var dateFormat = /^(\d{4})-(\d{2})-(\d{2})$/;
if (dateFormat.test($(this).val())) {
arr1.push($(this).val());
}
else {
hasTimeError = true;
}
});
if (hasTimeError) {
alert("日期格式有误,请输入正确格式");
return false;
}
var hasNumberError = false;
if (hasNumberError) {
alert("请输入正确的数字格式");
return false;
}
}
function SetObservationDates() {
var field1 = $(".field1");
var arr1 = [];
var hasTimeError = false;
field1.each(function () {
var dateFormat = /^(\d{4})-(\d{2})-(\d{2})$/;
if (dateFormat.test($(this).val())) {
arr1.push($(this).val());
}
else {
hasTimeError = true;
}
});
if (arr1.length > 0) {
var observationDates = arr1.join(";\n") + ";";
vueDetails.observationDates = observationDates;
} else {
vueDetails.observationDates = "";
}
$("#myModal").modal("show");
}
function closeParentWindow() {
try { window.parent.layer.closeAll(); } catch (e) { }
}
var vueDetails = new Vue({
el: "#myModal",
data: { observationDates: "" },
methods: {
closeModal: function () {
$('#myModal').modal('hide');
},
saveModal: function () {
var observationDates = vueDetails.observationDates.trim().replace("\n", "");
var fieldList0 = [];
var items = observationDates.split(";").filter(o => o);
items.forEach(function (item) {
if (item) {
var values = item.split(",");
fieldList0.push(values[0]);
}
});
var str = GetTableString(fieldList0);
$("#divItems").html(str);
$('#myModal').modal('hide');
},
// 粘贴功能
pasteMe(e, rowData, index) {
let copyData = '';
if (e.clipboardData || e.originalEvent) {
var list = [];
var clipboardData = (e.clipboardData || e.originalEvent.clipboardData);
copyData = clipboardData.getData('Text');
var arr = copyData.replace(/\t/g, ', ').replace(/\r/g, '').split('\n');
arr.forEach((v, i) => {
if (v && !v.trim().endsWith(';')) {
arr[i] = v + ";";
}
});
this.observationDates = arr.join('\r\n');
e.preventDefault();
}
}
},
components: {
}
});