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