(function () {
var addDataThat = null;
let isTimes = []
let costTypeJSON = JSON.parse(document.querySelector('#costTypeJSON').value)
let viewState = z.ui.comm.getUrlParam("_o");
let read = z.ui.comm.getUrlParam("read");
window.onload = function (ex) {
$("#selectProject").click(function () {
selectProject(null, setProject);
})
initCompany();
bindEvents();
let timeObject = document.querySelector('#detailList')
let arrays = JSON.parse(timeObject.value)
addDataThat = $("#addData")
//根据返回的json对象渲染
$("#addData").click(function () {
addDataThat.attr('disabled', "true");
let obj = {
costType: "",
costContent: "",
invoiceNums:"",
amount: "",
remark: "",
id: "",
useMoneyId: "",
}
isTimes.push(obj)
generateTableTrHtml(isTimes.length-1)
buildQjsjSeq();
})
if (arrays.length > 0) {
for (let i = 0; i < arrays.length; i++) {
let obj = {
costType: arrays[i].costType?arrays[i].costType:'',
costContent: arrays[i].costContent?arrays[i].costContent:'',
invoiceNums: arrays[i].invoiceNums?arrays[i].invoiceNums:'',
amount: arrays[i].amount?arrays[i].amount:'',
remark: arrays[i].remark?arrays[i].remark:'',
id: arrays[i].id?arrays[i].id:'',
useMoneyId: arrays[i].useMoneyId?arrays[i].useMoneyId:'',
}
isTimes.push(obj)
}
for (let i = 0; i < isTimes.length; i++) {
generateTableTrHtml(i);
}
}
}
//注册业务保存事件
function bindEvents() {
var sqd=$("#sfsqd").val();
if(z.ui.comm.getUrlParam("_o") == "v"||sqd=='2'){
$(".z-comp-date").addClass("z-readonly");
$(".z-comp-input").addClass("z-readonly");
$(".z-comp-selecttree").addClass("z-readonly");
$(".z-comp-select").addClass("z-readonly");
$(".z-comp-textarea").addClass("z-readonly");
}
var list = JSON.parse(window.glhtlist);
var html="";
if(list.instanceId){
html +=""+list.projectName+"("+list.applyDate.substring(0,10)+")";
}
$("#glhthtml").html(html);
z.workflow.saveBtn.addListener("onSaveClick", saveForm);
}
function generateTableTrHtml(i) {
var trDom = document.createElement("tr");
trDom.style.backgroundColor = "#fff";
trDom.id = "qjsj_" + i;
trDom.className = 'qjsjClass'
trDom.innerHTML = '
' + (i + 1) + ' | '
+ ''
+ ''
+ ' | '
+ ''
+ ''
+ ' | '
+ ''
+ ''
+ ' | '
+ ''
+ ''
+ ' | '
+ ''
+ ''
+ ' | '
+ ''
+ ''
+ ' | '
+ ''
+ ''
+ ' '
+ '保存'
+ ' '
+ ' '
+ '删除'
+ ' '
+ ' '
+ ' | ';
let trFragment = document.createDocumentFragment();
trFragment.appendChild(trDom);
$(".tbody").append(trFragment)
costTypeJSON.forEach(obj => {
obj.treeName = 'UserMoneyDetailDO[' + i + ']$costType';
})
selecttree("[name='costType[" + i + "]']", costTypeJSON, clickCostType, allowChildClick)
z.ui.selecttree("[name='costType[" + i + "]']").setValue(isTimes[i].costType);
$("[name='UserMoneyDetailDO[" + i + "]$costType']").val(isTimes[i].costType);
if (!(!isTimes[i].id || isTimes[i].id.trim() === '')) {
$("[name='UserMoneyDetailDO[" + i + "]$id']").val(isTimes[i].id);
}
if (!(!isTimes[i].costContent || isTimes[i].costContent.trim() === '')) {
z.ui.input("[name='UserMoneyDetailDO[" + i + "]$costContent']").setValue(isTimes[i].costContent);
}
if (!(!isTimes[i].invoiceNums )) {
z.ui.input("[name='UserMoneyDetailDO[" + i + "]$invoiceNums']").setValue(isTimes[i].invoiceNums);
}
if (!(!isTimes[i].amount)) {
z.ui.input("[name='UserMoneyDetailDO[" + i + "]$amount']").setValue(isTimes[i].amount);
}
if (!(!isTimes[i].remark || isTimes[i].remark.trim() === '')) {
z.ui.input("[name='UserMoneyDetailDO[" + i + "]$remark']").setValue(isTimes[i].remark);
}
if (!(!isTimes[i].useMoneyId || isTimes[i].useMoneyId.trim() === '')) {
$("#editBtn_" + i).find("span").html("编辑")
detailReadonly(i, false)
$("#qjsj_" + i).addClass("form-table-disable")
}
detailTotalInit(i)
$("#editBtn_" + i).click(function () {
const span = $(this).find("span");
const html = span.html();
if (html === '编辑') {
span.html('保存')
detailWrite(i);
addDataThat.attr('disabled', "true");
$("#qjsj_" + i).removeClass("form-table-disable")
return;
}
if (html === '保存') {
if(!$("[name='UserMoneyDetailDO[" + i + "]$costType']").val()){
z.ui.alertWarning(`实际所属类型不能为空!`)
return false;
}else if($("[name='UserMoneyDetailDO[" + i + "]$costType']").val()=='1401'||$("[name='UserMoneyDetailDO[" + i + "]$costType']").val()=='1402'
||$("[name='UserMoneyDetailDO[" + i + "]$costType']").val()=='1403'){
if(!z.ui.input("[name='UserMoneyDetailDO[" + i + "]$remark']").getValue()){
z.ui.alertWarning(`类型为保证金/押金的情况下,备注不能为空!`)
return false;
}
}
if(!z.ui.input("[name='UserMoneyDetailDO[" + i + "]$costContent']").getValue()){
z.ui.alertWarning(`用途不能为空!`)
return false;
}
if(!z.ui.input("[name='UserMoneyDetailDO[" + i + "]$invoiceNums']").getValue()){
z.ui.alertWarning(`单据张数不能为空!`)
return false;
}
if(!z.ui.input("[name='UserMoneyDetailDO[" + i + "]$amount']").getValue()){
z.ui.alertWarning(`金额不能为空!`)
return false;
}
span.html('编辑')
detailReadonly(i, false)
addDataThat.removeAttr('disabled')
$("#qjsj_" + i).addClass("form-table-disable")
return;
}
})
$("#delBtn_" + i).click(function () {
z.ui.confirm("compid").init({
content: "确定删除吗?",
onConfirm: function () {
var element = document.getElementById("qjsj_" + i);
element.remove();
buildQjsjSeq();
isTimes = isTimes.splice(i, 1)
jeSumInit(i);
addDataThat.removeAttr('disabled')
},
onCancel: function () {
}
})
})
if (viewState === 'v' || read === '1') {
detailReadonly(i)
}
}
function detailReadonly(i, isBool = true) {
if (isBool) {
$("#addData").hide();
$("#delBtn_" + i).css("display", "none");
$("#editBtn_" + i).css("display", "none");
}
$("[name='costType[" + i + "]']").addClass("z-readonly");
$("#selectProject_" + i).css("pointer-events", "none");
$("[name='costType[" + i + "]']").css("pointer-events", "none");
let detailElement = document.getElementById("qjsj_" + i);
let detailInput = detailElement.getElementsByTagName("input");
for (let j = 0; j < detailInput.length; j++) {
detailInput[j].disabled = true;
detailInput[j].className += "z-readonly"
}
}
function detailWrite(i) {
//财务审核时可以核减修改金额
$("[name='costType[" + i + "]']").removeClass("z-readonly");
$("#selectProject_" + i).css("pointer-events", "auto");
$("[name='costType[" + i + "]']").css("pointer-events", "auto");
let detailElement = document.getElementById("qjsj_" + i);
let detailInput = detailElement.getElementsByTagName("input");
for (let j = 0; j < detailInput.length; j++) {
detailInput[j].disabled = false;
$(detailInput[j]).removeClass("z-readonly")
}
}
function detailTotalInit(i) {
let obj = {
costType: "",
costContent: "",
invoiceNums: "",
amount: "",
remark: "",
id: "",
useMoneyId: "",
}
let inpsJe = $("[name='UserMoneyDetailDO[" + i + "]$amount']")[0].children[0]; //金额
inpsJe.addEventListener("blur", e => {
let event = e || window.event;
let inputInfo = event.target.value;
if (!(inputInfo > 0)) {
z.ui.alertWarning(`金额不能为负数、0`)
inpsJe.value = ''
} else {
obj.amount = inputInfo
jeSumInit()
}
});
}
function buildQjsjSeq() {
let elementsByName = document.getElementsByName("qjsj_seq");
for (let i = 0; i < elementsByName.length; i++) {
const seqElement = elementsByName[i];
seqElement.innerHTML = i + 1;
}
}
function jeSumInit(idx) {
let jeSum = 0 //金额汇总
for (let i = 0; i < isTimes.length; i++) {
if (idx == i) {
return
} else {
let inpsJe = $("[name='UserMoneyDetailDO[" + i + "]$amount']")[0].children[0]; //金额
jeSum += Number(inpsJe.value)
}
}
z.ui.input("[name='createReqVO$totalAmount']").setValue(jeSum);
z.ui.input("[name='createReqVO$totalAmountCn']").setValue(convertCurrency(jeSum));
}
/*
* all 工作流js传递到业务的参数 success执行的方法
* istransfer 工作流js传递到业务的参数 是否转件
* */
function saveForm(all, istransfer) {
var postData = z.ui.form.getFormFields($("[name=createReqVO]"));
if (postData === false) {
all({ success: false });
return;
}
postData.createReqVO.instanceId = z.ui.comm.getUrlParam("flowInstanceId")
var detailList = new Array()
for (let key of Object.keys(postData)) {
let mealName = postData[key];
if (key.startsWith("UserMoneyDetailDO")) {
detailList.push(z.ui.form.childStringify(mealName));
}
}
postData.createReqVO.applyTime=Date.parse(postData.createReqVO.applyTime);
postData.createReqVO.agreedPayTime=Date.parse(postData.createReqVO.agreedPayTime);
postData.createReqVO.detailList = detailList;
z.ui.ajax({
type: "post",
url: "/UseMoney/update",
data: JSON.stringify(postData.createReqVO),
contentType: "application/json",
success: function () {
all({ success: true });
},
error: function () {
all({ success: false });
}
})
}
function setProject(res) {
if (res.data) {
$("[name='createReqVO$projectId']").val(res.data.id);
z.ui.input("[name='createReqVO$projectName']").setValue(res.data.xmmc);
z.ui.input("[name='createReqVO$xmbh']").setValue(res.data.xmbh);
z.ui.input("[name='createReqVO$xmzrbm']").setValue(res.data.zrbm);
z.ui.input("[name='createReqVO$hth']").setValue(res.data.contractNumber);
}
}
function initCompany() {
z.ui.ajax({
type: "get",
url: "/common/company-tree",
data: {},
success: function (res) {
if (res && res.data.length > 0) {
selecttree("[name='createReqVO$paymentCompany']", res.data, clickCompany)
}
},
error: function () {
}
})
}
function clickCompany(even, treeId, treeNode) {
$("[name='createReqVO$paymentCompanyId']").val(treeNode.id);
}
function clickCostType(even, treeId, treeNode) {
$("[name='" + treeNode.treeName + "']").val(treeNode.id);
}
}());
function goAsset(id){
z.webcontainer.openTab({
id: 'workflow_hangup_' + id,
title: "流程查看",
url: window.url + "/IFlowInstance/redirectFlowPage?flowInstanceId=" + id ,
iconclass: 'fa fa-file'
});
}