/*MZ3o/5OIR2J9coaPcy4XnIpt7JP61OSXsDqiuB7/1QY=*/ import { ajax, promptBox, toast } from 'nc-lightapp-front'; import { currentTypeAfterFormEvents } from '../../../../public/components/pubUtils/currentTypeAfterEvent'; import { getColvalues, getRowIds } from '../../../../public/components/pubUtils/billPubUtil'; import { formulamsgHint, renderData, headAfterEventRenderData, bodyAfterEventRenderData, errorDeal } from '../../../../public/components/afterEventPub/afterEventPubDeal'; import { moneyAndRateFields } from '../../../../public/components/pubUtils/specialFieldAfterEvent.js'; import { checknoDisplayAfterEvent, checktypeAfterEvent } from '../../../../public/components/pubUtils/specialFieldAfterEvent.js'; let url; let url2; export default function afterEvent(billType, props, moduleId, key, value, changedrows, i, s, g) { switch (billType) { case 'F0': url = '/nccloud/arap/recbill/cardHeadAfterEdit.do'; url2 = '/nccloud/arap/recbill/cardBodyAfterEdit.do'; break; case 'F1': url = '/nccloud/arap/payablebill/cardheadafteredit.do'; url2 = '/nccloud/arap/payablebill/cardbodyafteredit.do'; break; case 'F2': url = '/nccloud/arap/gatheringbill/cardheadafteredit.do'; url2 = '/nccloud/arap/gatheringbill/cardbodyafteredit.do'; break; case 'F3': url = '/nccloud/arap/paybill/cardheadafteredit.do'; url2 = '/nccloud/arap/paybill/cardbodyafteredit.do'; break; } if (changedrows instanceof Array) { if (changedrows[0].newvalue.value == changedrows[0].oldvalue.value) { return; } } let pagecode = this.props.getUrlParam('pagecode'); let index = 0; if (moduleId == this.formId) { index = 0; } else if (moduleId == this.tableId) { index = i; } //表头编辑后事件 if (moduleId == this.formId) { let data = null switch (key) { case 'pk_org': if (value.value == null || value.value == '') { //清空财务组织 if (this.props.getUrlParam('type') === 'transfer') { promptBox({ color: 'warning', title: this.state.json['payablebill-000033'] /* 国际化处理: 确认修改*/, content: this.state.json['payablebill-000064'] /* 国际化处理: 来源于上游的单据不允许清空财务组织!*/, beSureBtnName: this.state.json['payablebill-000040'] /* 国际化处理: 确认*/, noCancelBtn: true, beSureBtnClick: () => { this.props.form.setFormItemsValue(this.formId, { pk_org: changedrows }); }, closeByClickBackDrop: false }); } else { promptBox({ color: 'warning', title: this.state.json['payablebill-000033'] /* 国际化处理: 确认修改*/, content: this.state.json['payablebill-000034'] /* 国际化处理: 确定​修改组织,这样会清空您录入的信息?*/, beSureBtnName: this.state.json['payablebill-000040'] /* 国际化处理: 确认*/, cancelBtnName: this.state.json['payablebill-000009'] /* 国际化处理: 取消*/, beSureBtnClick: () => { this.props.form.EmptyAllFormValue(this.formId); this.props.cardTable.setTableData(this.tableId, { rows: [] }); this.initAdd(true); }, cancelBtnClick: () => { this.props.form.setFormItemsValue(this.formId, { pk_org: changedrows }); }, closeByClickBackDrop: false }); } } else if (changedrows.value != null && changedrows.value != '') { //切换组织 promptBox({ color: 'warning', title: this.state.json['payablebill-000033'] /* 国际化处理: 确认修改*/, content: this.state.json['payablebill-000034'] /* 国际化处理: 确定​修改组织,这样会清空您录入的信息?*/, beSureBtnName: this.state.json['payablebill-000040'] /* 国际化处理: 确认*/, cancelBtnName: this.state.json['payablebill-000009'] /* 国际化处理: 取消*/, beSureBtnClick: () => { ajax({ url: url, async: false, data: { pageId: pagecode, event: this.props.createHeadAfterEventData(pagecode, this.formId, this.tableId, moduleId, key, value), uiState: this.props.getUrlParam('status') }, success: (res) => { //渲染数据 renderData(this, res); //编辑公式提示 formulamsgHint(this, res); }, error: (res) => { errorDeal(this, res, changedrows, key); } }); }, cancelBtnClick: () => { this.props.form.setFormItemsValue(this.formId, { pk_org: changedrows }); }, closeByClickBackDrop: false }); } else { data = { pageId: pagecode, event: this.props.createHeadAfterEventData(pagecode, this.formId, this.tableId, moduleId, key, value), uiState: this.props.getUrlParam('status') } headFieldAfterRequest.call(this, data, key, changedrows) } break; case 'supplier': data = { pageId: pagecode, formEvent: props.createFormAfterEventData(pagecode, this.formId, this.tableId, key, value), colValues: getColvalues(this.props, this.tableId, ['pk_org', 'payaccount', 'pk_currtype', 'supplier', 'buysellflag', 'objtype', "direction", "pk_billtype", "top_billtype"].concat(moneyAndRateFields)), rowids: getRowIds(this.props, this.tableId), uiState: this.props.getUrlParam('status') }; headFieldAfterRequest.call(this, data, key, changedrows) break; case 'payaccount': data = { pageId: pagecode, formEvent: props.createFormAfterEventData(pagecode, this.formId, this.tableId, key, value), colValues: getColvalues(this.props, this.tableId, ['pk_org', 'payaccount', 'pk_currtype', 'supplier', 'buysellflag', 'objtype', "direction", "pk_billtype"].concat(moneyAndRateFields)), rowids: getRowIds(this.props, this.tableId), uiState: this.props.getUrlParam('status') }; headFieldAfterRequest.call(this, data, key, changedrows) break; case 'pk_deptid_v': data = { pageId: pagecode, formEvent: props.createFormAfterEventData(pagecode, this.formId, this.tableId, key, value), colValues: getColvalues(this.props, this.tableId, ['pk_org', 'pk_deptid', 'pk_deptid_v', 'pk_currtype', 'customer', 'taxtype', 'buysellflag', 'objtype', "direction"]), rowids: getRowIds(this.props, this.tableId), uiState: this.props.getUrlParam('status') }; headFieldAfterRequest.call(this, data, key, changedrows) break; case 'pk_psndoc': data = { pageId: pagecode, formEvent: props.createFormAfterEventData(pagecode, this.formId, this.tableId, key, value), colValues: getColvalues(this.props, this.tableId, ['pk_org', 'pk_psndoc', 'pk_deptid', 'pk_deptid_v', 'isrefused', 'prepay', 'isdiscount', 'objtype', 'direction', 'agentreceivelocal']), rowids: getRowIds(this.props, this.tableId), uiState: this.props.getUrlParam('status') }; headFieldAfterRequest.call(this, data, key, changedrows) break; case 'pk_currtype': // data = { // pageId: pagecode, // event: this.props.createHeadAfterEventData(pagecode, this.formId, this.tableId, moduleId, key, value), // uiState: this.props.getUrlParam('status') // } data = { pageId: pagecode, formEvent: props.createFormAfterEventData(pagecode, this.formId, this.tableId, key, value), colValues: getColvalues(this.props, this.tableId, ["pk_org","pk_group","pk_currtype","pk_billtype","billdate","rate", "buysellflag","taxprice","local_taxprice","taxrate","occupationmny","money_bal","local_money_bal", "globalcrebit","globalnotax_cre","globaltax_cre","groupcrebit","groupnotax_cre","grouptax_cre", "local_money_cr","local_notax_cr","local_tax_cr","money_cr","notax_cr","quantity_cr","pk_ratetype","ratedate"]), rowids: getRowIds(this.props, this.tableId), uiState: this.props.getUrlParam('status') } headFieldAfterRequest.call(this, data, key, changedrows) //币种事件发送完要判断汇率 //v2111 汇率控制发生变化,都走编辑前进行控制 currentTypeAfterFormEvents(this.formId, props, key); break; default: data = { pageId: pagecode, event: this.props.createHeadAfterEventData(pagecode, this.formId, this.tableId, moduleId, key, value), uiState: this.props.getUrlParam('status') } headFieldAfterRequest.call(this, data, key, changedrows) break; } } //表体编辑后事件 if (moduleId == this.tableId) { //票据类型 if (key == 'checktype') { checktypeAfterEvent(this.props, this.tableId, key, value, i); } //非元数据字段,票据号 if (key == 'checkno_display') { checknoDisplayAfterEvent(this.props, this.tableId, key, value, i); key = 'checkno'; } //科目字段特殊拼接1121\应收票据 if(key == "subjcode"){ this.props.cardTable.setValByKeyAndIndex(this.tableId, i, 'subjcode', { value: value.refpk, display: value.dispname }) } ajax({ url: url2, data: { rowindex: 0, editindex: index, pageId: pagecode, changedrows: changedrows, tableId:this.tableId, body: props.cardTable.getDataByIndex(this.tableId, index), formEvent: props.createFormAfterEventData(pagecode, this.formId, this.tableId, key, value), uiState: this.props.getUrlParam('status') }, async: false, success: (res) => { //渲染数据 bodyAfterEventRenderData(this, res); if (this.props.getUrlParam('type') == 'transfer') { this.synTransferData(); } //表体改变表头税率编辑性 if (i == 0 && key == 'pk_currtype') { //v2111 汇率控制发生变化,都走编辑前进行控制 currentTypeAfterFormEvents(this.formId, props, 'pk_currtype'); } //编辑公式提示 formulamsgHint(this, res); }, error: (res) => { let str = res.message; if (str.substring(0,16) == 'convertException') { promptBox({ color: 'warning', title: this.state.json['payablebill-000004'] /* 国际化处理: 折算误差*/, content: str.substring(16, str.length), closeByClickBackDrop: false, beSureBtnClick: () => { afterTableEvent(this, props, i, pagecode, moduleId, key, changedrows, 'sure', index,value); }, cancelBtnClick: () => { afterTableEvent(this, props, i, pagecode, moduleId, key, changedrows, 'cancel', index,value); } }); } else { this.props.cardTable.setValByKeyAndRowId(this.tableId, i, key, changedrows); toast({ color: 'danger', content: str});; } } }); } } function afterTableEvent(that, props, i, pagecode, moduleId, key, changedrows, isCalculateConvert, index,value) { ajax({ url: url2, data: { rowindex: 0, editindex: index, pageId: pagecode, changedrows: changedrows, tableId:that.tableId, body: props.cardTable.getDataByIndex(that.tableId, index), formEvent: props.createFormAfterEventData(pagecode, that.formId, that.tableId, key, value), uiState: that.props.getUrlParam('status'), isCalculateConvert: isCalculateConvert }, async: false, success: (res) => { //渲染数据 bodyAfterEventRenderData(that, res); if (that.props.getUrlParam('type') == 'transfer') { that.synTransferData(); } //表体改变表头税率编辑性 if (i == 0 && key == 'pk_currtype') { //v2111 汇率控制发生变化,都走编辑前进行控制 currentTypeAfterFormEvents(that.formId, props, 'pk_currtype'); } //编辑公式提示 formulamsgHint(that, res); } }); } export function headFieldAfterRequest(requestData, key, changedrows) { ajax({ url: url, data: requestData, async: false, success: (res) => { //渲染数据 headAfterEventRenderData(this, res); //编辑公式提示 formulamsgHint(this, res); if (key == 'pk_org') { let pk_org = this.props.form.getFormItemsValue(this.formId, 'pk_org').value; if (pk_org) { this.props.resMetaAfterPkorgEdit(); this.state.buttonfalg = true; } else { this.state.buttonfalg = null; } this.toggleShow(); } if (this.props.getUrlParam('type') == 'transfer') { this.synTransferData(); } }, error: (res) => { errorDeal(this, res, changedrows, key); } }); } /*MZ3o/5OIR2J9coaPcy4XnIpt7JP61OSXsDqiuB7/1QY=*/