import errorMessageUtil from "./util/errorMessageUtil"; export default { execute: function (bill, param) { if (bill) { bill.runFormulaCheckData(param, (msg) => { if (msg.length == 0) { bill.setControlsSate(param["_control_name_"], "enable", false); this.saveData(bill, param); } else { GMS.vbus.$Modal.warning({ title: "信息错误", content: msg, }); } }); } }, saveData(bill, param) { let that = this; let buidData = bill.getBuillData(); console.log("buidData:", buidData); let controlArr = bill.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, }; //executed/bill.CCSPD/bill.Basic.save?transmission=total let url = `/rbc/bill/action/rbcbillsave/${param.define}/bill.Basic.save?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; //处理上张下张 if(GMS.queryObject.index==-1){ GMS.queryObject.index=0; } GMS.vbus.$Message.success("保存成功"); if (param.param && param.param.isApprove) { GMS.vbus.$emit('change-form-state', { state: ''}) } else { GMS.vbus.$emit('change-form-state', { state: 'readOnly', billId: id}) } // GMS.vbus.$emit("saveSuccess", buidData, param); } else { response.data.message && GMS.vbus.$Message.error({ content: errorMessageUtil.saveAction.getErrorMessage(response.data.message), duration: 3 }); } }) .catch((error) => { console.log(error) bill.setControlsSate(param["_control_name_"], "enable", true); GMS.vbus.$Message.error({ content: errorMessageUtil.saveAction.getCommonMessage(), duration: 3 }); }); }, }