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

413 lines
13 KiB
JavaScript

function deletetrade(id) {
main.confirm("确认删除此交易",
function () {
$.ajax({
type: "Post",
url: "/forwardtrade/InValidTrade",
data: { id: id, d: new Date() },
success: function (data) {
main.message(data.msg);
if (data.success) {
try { window.parent.reloadtrade(); }
catch (e) {
//
}
parent.layer.closeAll();
}
},
error: function (msg) {
alert("error:" + msg);
}
});
});
}
function editTrade(enid) {
window.location.href = `/forwardtrade/tradeEditV2/?enid=${enid}`;
}
function editTradeRemarkInfo(enid) {
main.open("修改备注", "/trade/EditRemarkInfo?enid=" + enid, { area: ["700px", "500px"] });
}
function editTradeMaturityDate(enid) {
main.confirm("是否确认到期修改?",
function () {
main.post("/forwardtrade/EditMaturityDate", { enid: enid }).done(function (res) {
if (window.parent && window.parent.reloadtrade) {
window.parent.reloadtrade();
}
closetradeWindow();
});
});
}
function downloadFiles(files) {
if (files instanceof Array) {
if (files.length <= 0) {
return;
}
$.each(files,
function (index, val) {
if (val) {
setTimeout(function () { window.open(val); }, 500);
}
});
} else if (files) {
window.open(files);
}
}
var confirmFunc = function (id, additionalProcessing) {
var pData = { tradeids: id };
if (!main.isEmpty(additionalProcessing)) {
pData.additionalProcessing = additionalProcessing;
}
main.post("/forwardtrade/tradeConfirm", pData).done(function (data) {
if (!data.success) {
main.message(data.msg);
return;
}
if (data.obj && data.obj.proccessType === "AdditionalProcessing") {
if (data.obj.TrialDataId) {
var layerSetting = {
type: 2,
title: "提示",
shadeClose: false,
shade: 0.4,
area: ['800px', '500px'],
content: "/trade/showQuotaTrial?id=" + data.obj.TrialDataId,
yes: function (index) {
var obj = window["layui-layer-iframe" + index].page;
if (obj.IsTF) {
if (obj.Data.Remark && obj.Data.Remark.length > 0) {
main.post("/trade/SaveQuotaTrial", obj.Data, { async: false }).done(function (res) {
if (!res || !res.success) {
main.message(res.msg);
}
});
layer.close(layerIndex);
confirmFunc(id, "LackOfMoney");
return;
}
main.message("必须填写说明内容,才可以录入交易");
} else {
if (obj.Data.Remark && obj.Data.Remark.length > 0) {
main.post("/trade/SaveQuotaTrial", obj.Data, { async: false }).done(function (res) {
if (!res || !res.success) {
main.message(res.msg);
}
});
}
layer.close(layerIndex);
confirmFunc(id, "LackOfMoney");
}
},
cancel: function () {
if (window.parent && window.parent.reloadtrade) {
window.parent.reloadtrade();
}
layer.close(layerIndex);
}
};
if (data.obj.type === "LackOfMoney") {
layerSetting.btn = [page.buttonStr, '取消'];
}
// 只展示“资金状况”的情况
if (data.obj.typecode === "FundStatus") {
layerSetting.btn = ["确认", '取消'];
}
layerIndex = layer.open(layerSetting);
}
else {
if (data.obj.message) {
main.message(data.obj.message);
}
}
return;
}
if (window.parent && window.parent.reloadtrade) {
window.parent.reloadtrade();
}
if (g_generateAmendDoc) {
if (data.obj && data.obj.generateChangeSuccess) {
main.downloadFiles(data.obj.url);
}
}
closetradeWindow();
});
};
function confirmTrade(id) {
///批量结算
main.confirm("确定确认交易吗?", function () { confirmFunc(id); });
}
function terminationBackToConfirmed(enid) {
main.confirm("确定提前终止放弃吗?", function () {
main.post("/trade/TerminationBackToConfirmed", { enid: enid }).done(function () {
if (window.parent && window.parent.reloadtrade) {
window.parent.reloadtrade();
}
closetradeWindow();
});
});
}
function closetradeWindow(reload) {
layer.closeMe(reload ? "reloadData" : "");
}
//ESC
$(document).keyup(function (event) {
switch (event.keyCode) {
case 27:
window.parent.layer.closeAll();
}
});
function fileManagement(tradeNumber) {
main.open("文件管理", "/forwardtrade/tradeFileManagement?tradeNumber=" + tradeNumber);
}
function contractManagement(tradeNumber) {
main.open("【{0}】文件管理".template(tradeNumber), "/forwardtrade/tradeContractManagement?tradeNumber=" + tradeNumber);
}
function tradeOperationHistory(encryptId) {
main.open("操作历史", "/trade/tradeOperationHistory?encryptId=" + encryptId);
}
function DownTradeFiles(tradeNumber) {
if (tradeNumber === "") {
main.message("交易编码不存在,请先在财务与报告页面生成交易确认书后再在此页面下载交易确认书");
return;
}
main.confirm("确定下载交易确认书?",
function () {
main.post("/forwardtrade/DownTradeFiles", { tradeNumber: tradeNumber }).done(function (res) {
if (res.length > 0) {
for (var i = 0; i < res.length; i++) {
window.open(res[i]);
}
}
});
});
}
function unWind(id, tradeType, isReCheck) {
if (tradeType === "商品期货") {
var message = "\"" + tradeType + "\"不允许平仓操作!";
main.confirm(message, function () { });
return;
}
var title = "交易平仓";
if (isReCheck) title = "平仓审核提交";
var srcurl = "/forwardtrade/tradeUnwind/?enid=" + id;
main.open(title, srcurl, {
area: ["1000px", "700px"],
end: function () {
if (window.parent && window.parent.reloadtrade) {
window.parent.reloadtrade();
}
}
});
}
// 查看预付金成本
function viewMarginCost(id, num) {
//TradeMarginCost
var srcurl = "/forwardtrade/TradeMarginCost/?enid=" + id + "&tradenum=" + num;
main.open("查看预付金成本(交易编号:" + num + ")", srcurl, {});
}
function backTrade(enid) {
var srcurl = "/trade/tradeBack?enid=" + enid;
main.open("交易回退", srcurl, { area: ['24%', '40%'] });
}
function startleijitradeView(id) {
var url = "/trade/tradeview/?isFromPositionReport=true&&enid=" + id;
main.open("查看交易", url);
}
//生成交易确认书
function gJGenerateConfirmBook(id, hasGeneratedConfirmBook) {
if (hasGeneratedConfirmBook == "True") {
if (!confirm("确认覆盖已有的交易确认书?")) {
return;
}
}
var tradeIds = [];
if (id) {
tradeIds.push(id);
}
if (tradeIds.length === 0) {
main.message("请选择交易");
return;
}
var htmlContent = '<form class="form-horizontal" role="form" style="padding:15px 12px 5px">' +
'<div class="form-group">' +
'<label class="col-sm-4 control-label">文档类型</label>' +
'<div class="btn-group col-sm-8" data-toggle="buttons">' +
'<label class="btn btn-color active" style="border:none"><input type="radio" checked name="docType" value="PDF"> PDF</label>' +
'<label class="btn btn-color" style="border:none"><input type="radio" name="docType" value="DOC"> DOC</label>' +
'</div>' +
'</div>' +
'</form>';
var layerId = main.open2("生成交易确认书",
htmlContent,
{
area: ["280px", "165px"],
btn: ['生成', '取消'],
yes: function (index, layero) {
var docType = $('input[name="docType"]:checked').val();
main.post("/TradeConfirmBook/GJGenerateConfirmBook/", { tradeIds: tradeIds, docType: docType }).done(function (resp) {
if (resp.success) {
window.open(resp.obj);
} else {
main.alert(resp.msg.replace("\r\n", "<br/>"));
}
layer.close(layerId);
});
},
cancel: function (index, layero) {
layer.close(layerId);
},
success: function (layero, index) {
$(".btn-group").on("click",
".btn",
function (event) {
$('input[name="docType"]:checked').prop("checked", false);
$(this).children("input").prop("checked", true);
});
}
});
}
function toPdf(id) {
main.post("/TradeConfirmBook/ToPdf/", { enid: id }).done(function (res) {
window.open(res);
reload();
});
}
function quotaTrial(id) {
main.open("提示", "/trade/quotaTrial?id=" + id);
}
function reload() {
main.waitMe();
window.location.reload();
}
(function (global) {
global.reloadData = function () {
main.waitMe();
window.location.reload();
main.parentReloadData();
};
}(window));
function tradewithdraw(id) {
var pData = {
tradeids: id,
};
main.post("/trade/tradewithdraw", pData).done(function (res) {
if (window.parent && window.parent.reloadtrade) {
window.parent.reloadtrade();
}
reload();
});
}
function traderevoke(id, actionType) {
var pData = {
tradeids: id,
actionType: actionType
};
main.post("/trade/traderevoke", pData).done(function (res) {
if (window.parent && window.parent.reloadtrade) {
window.parent.reloadtrade();
}
reload();
});
}
/**
* 显示观察日信息
* @param {string} pageTitle 标题名
* @param {any[]} colInfos 列信息数组,数组中元素可以是字符串,也可以是{name:"列名",type:"percent"},type支持:text,number,percent
* @param {string} observationInfos 观察信息字符串,
*/
function showObservationInfos(pageTitle, colInfos, observationInfos) {
var strArr = [];
observationInfos.split(';').forEach((item, index, objs) => {
if (item) {
strArr.push(item);
}
});
if (colInfos.length !== strArr.length) {
return main.alert("数据错误,无法展示");
}
var arr = [];
var typeInfos = [];
var html = "<div id='observationInfos'><div style='padding-left: 40px;'>";
colInfos.forEach((item, index, objs) => {
var name = "";
switch (typeof (item)) {
case "object":
name = item.name;
typeInfos.push(item.type);
break;
case "string":
name = item;
typeInfos.push("text");
break;
default:
return main.alert("参数错误,无法展示");
break;
}
html += "<span>{0}</span>".template(name);
arr.push(strArr[index].split(','));
});
html += "</div><ol style='list-style-type: none;'>";
arr[0].forEach((dateItem, dateIndex, dateArr) => {
html += "<li>";
arr.forEach((item, index, objs) => {
var value = arr[index][dateIndex];
switch (typeInfos[index]) {
case "number":
value = otcformat.fixed2(value);
break;
case "percent":
value = otcformat.fixed2P(value);
break;
case "text":
default:
break;
}
html += "<span>{0}</span>".template(value);
});
html += "</li>";
});
html += "</ol></div>";
var index = layer.open({
type: 1,
title: pageTitle,
closeBtn: false,
shade: 0.4,
area: ['450px', '500px'],
content: html,
btn: ['关闭'],
yes: function () {
layer.close(index);
}
});
}