|
@@ -1,182 +1,264 @@
|
|
|
(function () {
|
|
|
- window.onload = function (ex) {
|
|
|
- let costTypeJSON = JSON.parse(document.querySelector('#costTypeJSON').value)
|
|
|
- var lists = []
|
|
|
- var trFragment = document.createDocumentFragment();
|
|
|
- $("#addData").click(function () {
|
|
|
- var dataObj = {}
|
|
|
- trFragment.appendChild(generateTableTrHtml(lists.length))
|
|
|
- $(".tbody").append(trFragment)
|
|
|
- let listsLength = lists.length
|
|
|
- $("#delBtn_" + listsLength).click(function () {
|
|
|
- var index = this.id.substring(this.id.indexOf("_") + 1)
|
|
|
- z.ui.confirm("compid").init({
|
|
|
- content: "确定删除吗?",
|
|
|
- onConfirm: function () {
|
|
|
- var element = document.getElementById("qjsj_" + index);
|
|
|
- element.remove();
|
|
|
- buildQjsjSeq();
|
|
|
- },
|
|
|
- onCancel: function () {
|
|
|
-
|
|
|
- }
|
|
|
- })
|
|
|
-
|
|
|
- })
|
|
|
- costTypeJSON.forEach(obj=>{
|
|
|
- obj.treeName='CommonCostDetailDO[' + listsLength + ']$costType';
|
|
|
- })
|
|
|
- selecttree("[name='costType[" + listsLength + "]']", costTypeJSON, clickCostType, allowChildClick)
|
|
|
- z.ui.date("[name='CommonCostDetailDO[" + listsLength + "]$costDate']").init()
|
|
|
- buildQjsjSeq();
|
|
|
- lists.push(dataObj)
|
|
|
- })
|
|
|
- $("#selectProject").click(function () {
|
|
|
- selectProject(null, setProject);
|
|
|
- })
|
|
|
- initCompany();
|
|
|
- bindEvents();
|
|
|
+ let isTimes = []
|
|
|
+ window.onload = function (ex) {
|
|
|
+ let timeObject = document.querySelector('#detailList')
|
|
|
+ let arrays = JSON.parse(timeObject.value)
|
|
|
+ $("#addData").click(function () {
|
|
|
+ let obj = {
|
|
|
+ amount: "",
|
|
|
+ bz1: "",
|
|
|
+ commonCostId: "",
|
|
|
+ costContent: "",
|
|
|
+ costDate: "",
|
|
|
+ createTime: "",
|
|
|
+ id: "",
|
|
|
+ invoiceNums: "",
|
|
|
+ isvalid: "",
|
|
|
+ latestModifyTime: "",
|
|
|
+ }
|
|
|
+ isTimes.push(obj)
|
|
|
+ updateView()
|
|
|
+ buildQjsjSeq();
|
|
|
+ detailTotalInit()
|
|
|
+ })
|
|
|
+ $("#selectProject").click(function () {
|
|
|
+ selectProject(null, setProject);
|
|
|
+ })
|
|
|
+ initCompany();
|
|
|
+ bindEvents();
|
|
|
+ //根据返回的json对象渲染
|
|
|
+ if (arrays.length > 0) {
|
|
|
+ for (let i = 0; i < arrays.length; i++) {
|
|
|
+ let obj = {
|
|
|
+ amount: arrays[i].amount,
|
|
|
+ bz1: arrays[i].bz1,
|
|
|
+ commonCostId: arrays[i].commonCostId,
|
|
|
+ costContent: arrays[i].costContent,
|
|
|
+ costDate: arrays[i].costDate,
|
|
|
+ createTime: arrays[i].createTime,
|
|
|
+ id: arrays[i].id,
|
|
|
+ invoiceNums: arrays[i].invoiceNums,
|
|
|
+ isvalid: arrays[i].isvalid,
|
|
|
+ latestModifyTime: arrays[i].latestModifyTime,
|
|
|
+ }
|
|
|
+ isTimes.push(obj)
|
|
|
+ }
|
|
|
+ updateView()
|
|
|
}
|
|
|
+ }
|
|
|
+ function updateView() {
|
|
|
+ let tbodyQjsq = document.querySelector('.tbodyQjsq')
|
|
|
+ let html = ''
|
|
|
+ for (let i = 0; i < isTimes.length; i++) {
|
|
|
+ html += '<tr class="qjsjClass" id="qjsj_' + i + '" style="background:#fff">'
|
|
|
+ + '<td name="qjsj_seq">' + (i + 1) + '</td>'
|
|
|
+ + '<td>'
|
|
|
+ + '<div class="form-flex">'
|
|
|
+ + '<div class="form-item" style="width: 100%;margin-right: 5px;">'
|
|
|
+ + '<div class="z-comp-date" name="CommonCostDetailDO[' + i + ']$costDate">'
|
|
|
+ + '<input type="text" value="' + isTimes[i].amount + '">'
|
|
|
+ + '</div>'
|
|
|
+ + '</div>'
|
|
|
+ + '</div>'
|
|
|
+ + '</td>'
|
|
|
+ + '<td>'
|
|
|
+ + '<div class="form-flex">'
|
|
|
+ + '<div class="form-item" style="width: 100%;margin-right: 5px;">'
|
|
|
+ + '<div class="z-comp-selecttree" name="costType[' + i + ']">'
|
|
|
+ + '<input type="hidden" name="CommonCostDetailDO[' + i + ']$costType">'
|
|
|
+ + '<div class="z-inputselect-bar">'
|
|
|
+ + '<span></span><i></i>'
|
|
|
+ + '</div>'
|
|
|
+ + '</div>'
|
|
|
+ + '</div>'
|
|
|
+ + '</div>'
|
|
|
+ + '</td>'
|
|
|
+ + '<td>'
|
|
|
+ + '<div class="form-item">'
|
|
|
+ + '<div class="z-comp-input" name="CommonCostDetailDO[' + i + ']$costContent">'
|
|
|
+ + '<input type="text" value="' + isTimes[i].amount + '">'
|
|
|
+ + '</div>'
|
|
|
+ + '</div>'
|
|
|
+ + '</td>'
|
|
|
+ + '<td>'
|
|
|
+ + '<div class="form-item">'
|
|
|
+ + '<div class="z-comp-input" name="CommonCostDetailDO[' + i + ']$invoiceNums">'
|
|
|
+ + '<input type="number" value="' + isTimes[i].amount + '">'
|
|
|
+ + '</div>'
|
|
|
+ + '</div>'
|
|
|
+ + '</td>'
|
|
|
+ + '<td>'
|
|
|
+ + '<div class="form-item">'
|
|
|
+ + '<div class="z-comp-input" name="CommonCostDetailDO[' + i + ']$amount">'
|
|
|
+ + '<input type="number" value="' + isTimes[i].amount + '">'
|
|
|
+ + '</div>'
|
|
|
+ + '</div>'
|
|
|
+ + '</td>'
|
|
|
+ + '<td>'
|
|
|
+ + '<div class="form-item">'
|
|
|
+ + '<div class="z-comp-input" name="CommonCostDetailDO[' + i + ']$bz1">'
|
|
|
+ + '<input type="text" value="' + isTimes[i].amount + '">'
|
|
|
+ + '</div>'
|
|
|
+ + '</div>'
|
|
|
+ + '</td>'
|
|
|
+ + '<td>'
|
|
|
+ + '<div id="delBtn_' + (i) + '" class="table-btn delBtn_' + (i) + '" data-index="' + (i) + '">'
|
|
|
+ + '<span>删除</span>'
|
|
|
+ + '</div>'
|
|
|
+ + '</td></tr>';
|
|
|
+ }
|
|
|
+ tbodyQjsq.innerHTML = html
|
|
|
+ let costTypeJSON = JSON.parse(document.querySelector('#costTypeJSON').value)
|
|
|
+ for (let i = 0; i < isTimes.length; i++) {
|
|
|
+ costTypeJSON.forEach(obj => {
|
|
|
+ obj.treeName = 'CommonCostDetailDO[' + i + ']$costType';
|
|
|
+ })
|
|
|
+ selecttree("[name='costType[" + i + "]']", costTypeJSON, clickCostType, allowChildClick)
|
|
|
+ z.ui.date("[name='CommonCostDetailDO[" + i + "]$costDate']").init()
|
|
|
+ $("#delBtn_" + i).click(function () {
|
|
|
+ z.ui.confirm("compid").init({
|
|
|
+ content: "确定删除吗?",
|
|
|
+ onConfirm: function () {
|
|
|
+ var element = document.getElementById("qjsj_" + i);
|
|
|
+ element.remove();
|
|
|
+ buildQjsjSeq();
|
|
|
+ isTimes.splice(i, 1)
|
|
|
+ updateView()
|
|
|
+ jeSumInit(i)
|
|
|
+ },
|
|
|
+ onCancel: function () {
|
|
|
|
|
|
+ }
|
|
|
+ })
|
|
|
|
|
|
- //注册业务保存事件
|
|
|
- function bindEvents() {
|
|
|
- z.workflow.saveBtn.addListener("onSaveClick", saveForm);
|
|
|
+ })
|
|
|
}
|
|
|
-
|
|
|
- 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 detailTotalInit() {
|
|
|
+ let obj = {
|
|
|
+ amount: "",
|
|
|
+ bz1: "",
|
|
|
+ commonCostId: "",
|
|
|
+ costContent: "",
|
|
|
+ costDate: "",
|
|
|
+ createTime: "",
|
|
|
+ id: "",
|
|
|
+ invoiceNums: "",
|
|
|
+ isvalid: "",
|
|
|
+ latestModifyTime: "",
|
|
|
}
|
|
|
-
|
|
|
- /*
|
|
|
- * all 工作流js传递到业务的参数 success执行的方法
|
|
|
- * istransfer 工作流js传递到业务的参数 是否转件
|
|
|
- * */
|
|
|
- function saveForm(all, istransfer) {
|
|
|
- var postData = z.ui.form.getFormFields($("[name=createReqVO]"));
|
|
|
- if (postData == 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("CommonCostDetailDO")) {
|
|
|
- mealName.costDate = Date.parse(mealName.costDate);
|
|
|
- detailList.push(z.ui.form.childStringify(mealName));
|
|
|
- }
|
|
|
+ for (let i = 0; i < isTimes.length; i++) {
|
|
|
+ let inpsJe = $("[name='CommonCostDetailDO[" + i + "]$amount']")[0].children[0]; //金额
|
|
|
+ let inpsPj = $("[name='CommonCostDetailDO[" + i + "]$invoiceNums']")[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()
|
|
|
}
|
|
|
- postData.createReqVO.detailList = detailList;
|
|
|
- z.ui.ajax({
|
|
|
- type: "post",
|
|
|
- url: "/CommonCost/update",
|
|
|
- data: JSON.stringify(postData.createReqVO),
|
|
|
- contentType: "application/json",
|
|
|
- success: function () {
|
|
|
- all({success: true});
|
|
|
- },
|
|
|
- error: function () {
|
|
|
- all({success: false});
|
|
|
- }
|
|
|
- })
|
|
|
+ });
|
|
|
+ inpsPj.addEventListener("blur", e => {
|
|
|
+ let event = e || window.event;
|
|
|
+ let inputInfo = event.target.value;
|
|
|
+ if (!(inputInfo > 0) || (String(inputInfo).indexOf('.') > -1)) {
|
|
|
+ z.ui.alertWarning(`单据张数不能为负数、0、小数`)
|
|
|
+ inpsPj.value = ''
|
|
|
+ } else {
|
|
|
+ obj.invoiceNums = inputInfo
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
+ }
|
|
|
+ function jeSumInit(idx) {
|
|
|
+ let jeSum = 0 //金额汇总
|
|
|
+ for (let i = 0; i < isTimes.length; i++) {
|
|
|
+ if (idx == i) {
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ let inpsJe = $("[name='CommonCostDetailDO[" + i + "]$amount']")[0].children[0]; //金额
|
|
|
+ jeSum += Number(inpsJe.value)
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
- function generateTableTrHtml(index) {
|
|
|
- let indexC = 0;
|
|
|
- indexC = index;
|
|
|
- var trDom = document.createElement("tr");
|
|
|
- trDom.style.backgroundColor = "#fff";
|
|
|
- trDom.id = "qjsj_" + indexC;
|
|
|
- trDom.innerHTML = '<td name="qjsj_seq">' + (indexC + 1) + '</td>'
|
|
|
- + '<td>'
|
|
|
- + '<div class="form-flex">'
|
|
|
- + '<div class="form-item" style="width: 50%;margin-right: 5px;">'
|
|
|
- + '<div class="z-comp-date" name="CommonCostDetailDO[' + indexC + ']$costDate">'
|
|
|
- + '<input type="text" value="">'
|
|
|
- + '</div>'
|
|
|
- + '</div>'
|
|
|
- + '</div>'
|
|
|
- + '</td>'
|
|
|
- + '<td>'
|
|
|
- + '<div class="form-flex">'
|
|
|
- + '<div class="form-item" style="width: 50%;margin-right: 5px;">'
|
|
|
- + '<div class="z-comp-selecttree" name="costType[' + indexC + ']">'
|
|
|
- + '<input type="hidden" name="CommonCostDetailDO[' + indexC + ']$costType">'
|
|
|
- + '<div class="z-inputselect-bar">'
|
|
|
- + '<span></span><i></i>'
|
|
|
- + '</div>'
|
|
|
- + '</div>'
|
|
|
- + '</div>'
|
|
|
- + '</div>'
|
|
|
- + '</td>'
|
|
|
- + '<td>'
|
|
|
- + '<div class="form-item">'
|
|
|
- + '<div class="z-comp-input" name="CommonCostDetailDO[0]$costContent">'
|
|
|
- + '<input type="text" value="">'
|
|
|
- + '</div>'
|
|
|
- + '</div>'
|
|
|
- + '</td>'
|
|
|
- + '<td>'
|
|
|
- + '<div class="form-item">'
|
|
|
- + '<div class="z-comp-input" name="CommonCostDetailDO[0]$invoiceNums">'
|
|
|
- + '<input type="number" value="">'
|
|
|
- + '</div>'
|
|
|
- + '</div>'
|
|
|
- + '</td>'
|
|
|
- + '<td>'
|
|
|
- + '<div class="form-item">'
|
|
|
- + '<div class="z-comp-input" name="CommonCostDetailDO[0]$amount">'
|
|
|
- + '<input type="number" value="">'
|
|
|
- + '</div>'
|
|
|
- + '</div>'
|
|
|
- + '</td>'
|
|
|
- + '<td>'
|
|
|
- + '<div class="form-item">'
|
|
|
- + '<div class="z-comp-input" name="CommonCostDetailDO[0]$bz1">'
|
|
|
- + '<input type="text" value="">'
|
|
|
- + '</div>'
|
|
|
- + '</div>'
|
|
|
- + '</td>'
|
|
|
- + '<td>'
|
|
|
- + '<div id="delBtn_' + (indexC) + '" class="table-btn delBtn_' + (indexC) + '" data-index="' + (indexC) + '">'
|
|
|
- + '<span>删除</span>'
|
|
|
- + '</div>'
|
|
|
- + '</td>';
|
|
|
- return trDom;
|
|
|
}
|
|
|
+ z.ui.input("[name='createReqVO$totalAmount']").setValue(jeSum);
|
|
|
+ z.ui.input("[name='createReqVO$totalAmountCn']").setValue(convertCurrency(jeSum));
|
|
|
+ }
|
|
|
|
|
|
- function setProject(res) {
|
|
|
- console.log(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);
|
|
|
- }
|
|
|
- }
|
|
|
+ //注册业务保存事件
|
|
|
+ function bindEvents() {
|
|
|
+ z.workflow.saveBtn.addListener("onSaveClick", saveForm);
|
|
|
+ }
|
|
|
|
|
|
- function initCompany() {
|
|
|
- z.ui.ajax({
|
|
|
- type: "get",
|
|
|
- url: "/common/company-tree",
|
|
|
- data: {},
|
|
|
- success: function (res) {
|
|
|
- if (res && res.data.length > 0) {
|
|
|
- selecttree("[name='paymentCompany']", res.data, clickCompany)
|
|
|
- }
|
|
|
- },
|
|
|
- error: function () {
|
|
|
- }
|
|
|
- })
|
|
|
+ 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 clickCompany(even, treeId, treeNode) {
|
|
|
- $("[name='createReqVO$paymentCompanyId']").val(treeNode.id);
|
|
|
+ /*
|
|
|
+* all 工作流js传递到业务的参数 success执行的方法
|
|
|
+* istransfer 工作流js传递到业务的参数 是否转件
|
|
|
+* */
|
|
|
+ function saveForm(all, istransfer) {
|
|
|
+ var postData = z.ui.form.getFormFields($("[name=createReqVO]"));
|
|
|
+ if (postData == 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("CommonCostDetailDO")) {
|
|
|
+ mealName.costDate = Date.parse(mealName.costDate);
|
|
|
+ detailList.push(z.ui.form.childStringify(mealName));
|
|
|
+ }
|
|
|
}
|
|
|
- function clickCostType(even, treeId, treeNode){
|
|
|
- $("[name='"+ treeNode.treeName +"']").val(treeNode.id);
|
|
|
+ postData.createReqVO.detailList = detailList;
|
|
|
+ z.ui.ajax({
|
|
|
+ type: "post",
|
|
|
+ url: "/CommonCost/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);
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ function initCompany() {
|
|
|
+ z.ui.ajax({
|
|
|
+ type: "get",
|
|
|
+ url: "/common/company-tree",
|
|
|
+ data: {},
|
|
|
+ success: function (res) {
|
|
|
+ if (res && res.data.length > 0) {
|
|
|
+ selecttree("[name='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);
|
|
|
+ }
|
|
|
}());
|