import errorMessageUtil from "./util/errorMessageUtil"; import {initIndexZero} from '../query-actions/util/queryTag.js'; /** * 暂存按钮 * 不触发校验公式 调用已有保存逻辑 */ export default { defaultSaveActionName: "bill.Basic.quickSave", execute: function (bill, param) { if (bill) { bill.setControlsSate(param["_control_name_"], "enable", false); this.saveData(bill, param, this) } }, saveData(bill, param) { let that = this; let buidData = bill.getBuillData(); let action = bill.curForm.content.actions; let controlArr = action.filter((v) => v.execute === "searchBillAction"); let detailData = []; let arrApi1 = []; if ( controlArr.length > 0 && controlArr[0].param.field && controlArr[0].param.field.length > 0 ) { let tableList = controlArr[0].param.field.map((v) => v.targetTableName); tableList = Array.from(new Set(tableList)); tableList.forEach((v) => { if (buidData.hasOwnProperty(v)) { for (let i = 0; i < bill.getSubData(v).length; i++) { let rowDataObject = bill.getSubDataRow(v, i); let obj = rowDataObject.getValue("currentRowData"); if (obj && obj.BILLDETAILOBJ) { let billId = obj.BILLID; let billName = obj.BILLNAME; let billDefine = billName .replace(/_E/gi, "") .replace(/_R/gi, "") .replace(/_A/gi, ""); arrApi1.push( that.searchBillObj(billDefine, billId, obj.BILLDETAILOBJ) ); } else { let billId = rowDataObject.getData().BILLID.value; let billName = rowDataObject.getData().BILLNAME.value; let billDefine = billName .replace(/_E/gi, "") .replace(/_R/gi, "") .replace(/_A/gi, ""); arrApi1.push(that.searchBillObj(billDefine, billId)); } } } }); } if (arrApi1.length > 0) { Promise.all(arrApi1).then((list) => { detailData = list; that.saveAsync(buidData, detailData, param, bill); }); } else { that.saveAsync(buidData, detailData, param, bill); } }, searchBillObj(billDefine, billId, BILLDETAILOBJ) { return new Promise((resolve, reject) => { GMS.$http.get(`/gms/bill/${billDefine}/${billId}?withSubs=true`) .then((data) => { let obj = BILLDETAILOBJ; if (data.status === 200 && data.data.code === 0) { if (!BILLDETAILOBJ) { obj = data.data.content; } obj.recver = data.data.content && data.data.content.recver; } obj.billDefine = billDefine; resolve(obj); }) .catch((error) => { reject(error); }); }); }, saveAsync(buidData, detailData, param, bill) { let postData = { data: buidData, detailData: detailData, }; let url = `/rbc/bill/action/executed/${param.define}/${this.defaultSaveActionName}?transmission=total`; //let url = `/rbc/bill/action/rbcbillsave/${param.define}/${this.defaultSaveActionName}?transmission=total`; GMS.$http.post(url, JSON.stringify(postData), { headers: {post: {"Content-Type": "application/json",},}, }).then(function (response) { bill.setControlsSate(param["_control_name_"], "enable", true); if (response.data.code === 0) { //存储返回回来的创建时间、修改时间 bill.getMasterData().setValue("createTime", response.data.content.billData.createTime); bill.getMasterData().setValue("modifyTime", response.data.content.billData.modifyTime); bill.getMasterData().setValue("recver", response.data.content.billData.recver); bill.getMasterData().setValue("billCode", response.data.content.billData.billCode); const id = response.data.content.billData.id; initIndexZero();//处理上张下张 GMS.vbus.$Message.success("暂存成功"); let curTagId = window.nros.context.getCurrTag(); GMS.vbus.$emit('change-form-state', {state: 'readOnly', billId: id},curTagId) GMS.vbus.$emit("saveSuccess", buidData, param); } else { response.data.message && GMS.vbus.$Message.error({ content: errorMessageUtil.tempSaveAction.getErrorMessage(response.data.message), duration: 3 }); } }).catch((error) => { console.log(error) bill.setControlsSate(param["_control_name_"], "enable", true); GMS.vbus.$Message.error({ content: errorMessageUtil.tempSaveAction.getCommonMessage(), duration: 3 }); }); }, }