Files
zszq-trs/YLErpWeb/wwwroot/Scripts/app/basic/assetunitEdit.js
T
tengyufan 864a29d6a8 #EQD-6605 国联民生-确认书编号规则调整(不基于甲方乙方判定)
feat: 国联民生收益互换按簿记分类生成交易编号

簿记账户新增“簿记分类”字段,支持代客、融券,新增账户默认代客,历史账户统一初始化为代客
簿记账户分类设为必填,列表、编辑及详情页面同步展示
修改已被交易引用的簿记账户分类时增加二次确认,并提示关联交易数量
国联民生收益互换交易编号不再根据甲乙方判断,改为根据簿记账户分类生成
代客使用数字序号,融券使用字母序号,分别从已有同客户同日编号的最大序号继续递增
保留手工交易编号优先逻辑,标准格式的手工编号参与后续最大序号计算
生成候选编号后检查完整交易编号是否已存在,存在则继续递增
新增簿记分类编号格式、最大序号计算及数字字母序列隔离专项单测
2026-08-05 15:55:01 +08:00

149 lines
4.7 KiB
JavaScript

var submitclick_assetunit = false;
$(function () {
$("#InitialMoney").parent().addClass("hide")
$(".form-group").removeClass("col-md-6");
SetAceDropDown(false);
var iniMomeyObj = $("#InitialMoney");
iniMomeyObj.blur(function () {
iniMomeyObj.val(numeral(iniMomeyObj.val()).format('0,0'));
});
iniMomeyObj.val(numeral(iniMomeyObj.val()).format('0,0'));
$("#InitialMoney").focus(function () {
iniMomeyObj.val(numeral(iniMomeyObj.val()).value());
});
if (page.HasGroup) {
$('#UserGroup').on('change', updateTraderIds);
updateTraderIds();
}
if (page.IsDongGuan) {
updateSysUserIds();
}
});
function updateTraderIds() {
let group = $('#UserGroup').val();
let html = ylotc.traders.filter(x => x.UserGroup === group)
.map(x => {
let selected = page.TraderIdsInt.indexOf(x.id) >= 0 ? 'selected' : '';
return `<option value="${x.id}" ${selected}>${x.Name}</option>`;
}).join("");
$('#TraderIds').html(html).trigger("chosen:updated");
}
function updateSysUserIds() {
let group = $('#UserGroup').val();
let html = ylotc.sysusers
.map(x => {
let selected = page.TraderIdsInt.indexOf(x.id) >= 0 ? 'selected' : '';
return `<option value="${x.id}" ${selected}>${x.Name}</option>`;
}).join("");
$('#TraderIds').html(html).trigger("chosen:updated");
}
function checkSubmitData() {
var pass = $('#assetunitEditForm').valid();
return pass;
}
function saveassetunit(confirmBookCategoryChange) {
var iniMomeyObj = $("#InitialMoney");
iniMomeyObj.val(numeral(iniMomeyObj.val()).value());
if (!checkSubmitData()) return false;
var data = $("#assetunitEditForm").serializeObject();
if (Array.isArray(data.TraderIds)) {
data.TraderIds = data.TraderIds.join(',');
}
data.confirmBookCategoryChange = confirmBookCategoryChange === true;
var ajaxopt = {
type: "Post",
url: "/assetunit/assetunitEditJson",
data: data,
dataType: "json",
success: function (data) {
if (data.success) {
if (data.obj && data.obj.NeedBookCategoryChangeConfirm) {
main.confirm(data.obj.Message, function () {
saveassetunit(true);
});
return;
}
window.parent.showmiddlemessage("成功更新本条数据");
try { window.parent.reloadassetunit(); } catch (e) { }
window.location.href = "/assetunit/assetunitview?enid=" + data.obj.EncryptId;
}
else {
alert(data.msg);
}
},
error: function (msg) {
alert("error:" + msg);
}
}
main.ajax(ajaxopt);
}
function setTraderName() {
$("#TraderName").val($("#TraderId").find(":selected").text());
}
function changeMoneyToChinese() {
var money = $("#InitialMoney").val();
var hundredMillion = 100000000;
var tenThousand = 10000;
var countOfHundredMillion = Math.floor(money / hundredMillion);
var countOfTenThousand = Math.floor((money % hundredMillion) / tenThousand);
var lessThanTenThousand = money % tenThousand;
var result = lessThanTenThousand.toFixed(2);
if (countOfTenThousand > 0) {
result = countOfTenThousand + "万" + result;
}
if (countOfHundredMillion > 0) {
result = countOfHundredMillion + "亿" + result;
}
document.getElementById("showChineseMoney").innerHTML = result;
}
function addGroup() {
$("#myModal").modal("show");
}
var vueDetails = new Vue({
el: "#myModal",
data: { GroupName: '' },
methods: {
closeModal: function () {
$('#myModal').modal('hide');
},
saveModal: function () {
var data = {
Name: this.GroupName,
};
var ajaxopt = {
type: "Post",
url: "/assetunit/assetunitgroupEditJson",
data: data,
dataType: "json",
success: function (data) {
if (data.success) {
window.parent.showmiddlemessage("保存成功");
$("#GroupId").append('<option value="' + data.obj.id + '">' + data.obj.Name + '</option>');
$("#GroupId").val(data.obj.id);
$('#myModal').modal('hide');
}
else {
alert(data.msg);
}
},
error: function (msg) {
alert("error:" + msg);
}
}
main.ajax(ajaxopt);
}
}
});