/* * @Descripttion: * @version: * @Author: Chendch * @Date: 2020-11-12 09:24:09 * @LastEditors: Chendch * @LastEditTime: 2020-12-03 16:38:27 */ /** * 表单编辑后事件 */ import {urls, values, formid, baseFormId} from "../methodGroup/constance"; import { ajax,promptBox} from 'nc-lightapp-front'; export default function onAfterEvent(props, moduleId, key, value,oldValue) { //props, moduleId(区域id), key(操作的键), value(当前值),oldValue(旧值) var clearAssistant = () =>{ this.setState({MarAsstFrameGridRefValue:{}}); Object.keys(this.state.checkModel).forEach((item,index) => { this.state.checkModel[item] = false; }); } if(["code", "name", "ename","pk_org"].includes(key)) {//base表单的值写入customer,方便保存 props.form.setFormItemsValue(formid, {[key]: key == "name" ? value.name : value}) if(key==="name"){ props.form.setFormItemsValue(formid, {'name': {value: value.name.value !== '' ? value.name.value : value['name' + this.languageIndex].value}}) props.form.setFormItemsValue(formid, {'name2': {value: (value.name2&&value.name2.value !== '') ?value.name2.value:""}}) props.form.setFormItemsValue(formid, {'name3': {value: (value.name3&&value.name3.value !== '') ?value.name3.value:""}}) props.form.setFormItemsValue(formid, {'name4': {value: (value.name4&&value.name4.value !== '') ?value.name4.value:""}}) props.form.setFormItemsValue(formid, {'name5': {value: (value.name5&&value.name5.value !== '') ?value.name5.value:""}}) props.form.setFormItemsValue(formid, {'name6': {value: (value.name6&&value.name6.value !== '') ?value.name6.value:""}}) } } if(key === 'pk_measdoc'){//主计量单位 let cardTableRows = this.props.editTable.getAllRows(values['convert']); if(value && value.value){ if(cardTableRows.length === 0){ let defaultValue = { 'pk_measdoc' : value, 'measrate' : {value:'1/1',display:'1/1'}, 'fixedflag' : {value:true}, 'isstorebalance' : {value:true}, 'ispumeasdoc' : {value:true}, 'isprodmeasdoc':{value:true}, 'ispumeasdoc' : {value:true}, 'isstockmeasdoc' : {value:true}, 'issalemeasdoc' : {value:true}, 'isretailmeasdoc' : {value:true} }; this.props.editTable.addRow(values['convert'],0,false, defaultValue); }else{ let pk_measdoc = value.value; let measdoc_list = []; cardTableRows.forEach(item=>{ if(item.values.pk_measdoc && item.values.pk_measdoc.value){ measdoc_list.push(item.values.pk_measdoc.value); } }); if(measdoc_list.length > 0){ this.queryMeasrate({ pk_measdoc : pk_measdoc, measdoc_list : measdoc_list, callback:(res)=>{ let {data} = res; cardTableRows.forEach((item,index)=>{ if(item.values.pk_measdoc && item.values.pk_measdoc.value){ if(data && data[item.values.pk_measdoc.value]){ this.props.editTable.setValByKeyAndIndex(values['convert'],index,'measrate',{value:data[item.values.pk_measdoc.value],display:data[item.values.pk_measdoc.value]}); }else{ this.props.editTable.setValByKeyAndIndex(values['convert'],index,'measrate',{value:null,display:null}); } } }); } }) } } }else{ //清空子表数据中的主计量单位与辅计量单位比例 cardTableRows.forEach((item,index)=>{ if(item.values.pk_measdoc && item.values.pk_measdoc.value){ this.props.editTable.setValByKeyAndIndex(values['convert'],index,'measrate',{value:null,display:null}); } }); } } if(key === 'pk_marbasclass'){ if(this.state.formStatus === 'add' && value && value.value){ ajax({ url : urls['queryMarAssistantByFrameID'], data : {pk_marbasclass : value.value}, success : (res) => { if(res.data){ if(res.data.asstFrame){//公共辅助结构 let refvalue = { refcode : res.data.asstFrame.code, refname : res.data.asstFrame.name, refpk : res.data.asstFrame.pk_marasstframe }; //设置参照选定值 this.setState({MarAsstFrameGridRefValue:refvalue}); } //设置页面上辅助属性的选定值 if(res.data.assistant){ res.data.assistant.forEach(element => { this.state.checkModel[element.pk_userdefitem]=true; }); this.setState({checkModel : this.state.checkModel}); } this.props.form.setFormItemsValue(formid,{'pk_marasstframe':{value:res.data.asstFrame.pk_marasstframe}}); //更新其他页签中自定义辅助属性的显示 //modifierAssistant(this.props,res.data.assistant); }else{ this.state.MarAsstFrameGridRefValue={}; Object.keys(this.state.checkModel).forEach((item,index) => { this.state.checkModel[item] = false; }); this.props.form.setFormItemsValue(formid,{'pk_marasstframe':{value:'~'}}); this.setState(this.state); } } }); }else if(this.state.formStatus === 'add' && (!value || !value.value)){ this.state.MarAsstFrameGridRefValue={}; Object.keys(this.state.checkModel).forEach((item,index) => { this.state.checkModel[item] = false; }); this.props.form.setFormItemsValue(formid,{'pk_marasstframe':{value:'~'}}); this.setState(this.state); } }else if(key === 'matchmode'){ if(value.value === '1'){ this.props.form.setFormItemsDisabled(formid,{'featureclass':false}); this.props.form.setFormItemsRequired(formid,{'featureclass':true}); }else{ this.props.form.setFormItemsValue(formid,{featureclass:{value:null,display:null}}); this.props.form.setFormItemsDisabled(formid,{'featureclass':true}); this.props.form.setFormItemsRequired(formid,{'featureclass':false}); } }else if(key === 'isfeature'){ if(value.value){ this.props.form.setFormItemsValue(formid,{matchmode:{value:'2',display:this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-0000177')}});/* 国际化处理: ATO选配*/ this.props.form.setFormItemsDisabled(formid,{matchmode:false}); this.props.form.setFormItemsDisabled(formid,{'featureclass':true}); this.props.form.setFormItemsRequired(formid,{'featureclass':false}); }else{ this.props.form.setFormItemsValue(formid,{matchmode:{value:null,display:null}}); this.props.form.setFormItemsDisabled(formid,{matchmode:true}); this.props.form.setFormItemsValue(formid,{featureclass:{value:null,display:null}}); this.props.form.setFormItemsDisabled(formid,{'featureclass':false}); this.props.form.setFormItemsRequired(formid,{'featureclass':false}); } }else if(key === 'retail'){//适用零售 let discountflag = this.props.form.getFormItemsValue(formid,'discountflag'); if(discountflag.value && value.value){ promptBox({ color:"warning", // 提示类别默认"success", "success"/"info"/"warning"/"danger",非必输 title: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000014'), // 提示标题, 默认不同类别下分别为:"已成功"/"帮助信息"/"请注意"/"出错啦",非必输/* 国际化处理: 确认取消*/ content: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000006'),/* 国际化处理: 勾选“适用零售”后,“价格折扣”将被取消勾选,是否继续勾选“适用零售”?*/ noFooter: false, // 是否显示底部按钮(确定、取消),默认显示(false),非必输 noCancelBtn: false, // 是否显示取消按钮,,默认显示(false),非必输 beSureBtnName: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000008'),/* 国际化处理: 是*/ cancelBtnName: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000007'),/* 国际化处理: 否*/ beSureBtnClick: () => { this.props.form.setFormItemsValue(formid,{discountflag:{value:false}}); let fee = this.props.form.getFormItemsValue(formid,'fee'); if(fee.value){ this.props.form.setFormItemsValue(formid,{ishproitems:{value:false},materialmgt:{}}); this.props.form.setFormItemsDisabled(formid,{ishproitems:true,materialmgt:true}); }else{ this.props.form.setFormItemsDisabled(formid,{ishproitems:false,materialmgt:false}); } }, cancelBtnClick:()=>{ this.props.form.setFormItemsValue(formid,{retail:{value:false}}); } }); return; } }else if(key === 'discountflag'){ let retail = this.props.form.getFormItemsValue(formid,'retail'); if(retail.value && value.value){ promptBox({ color:"warning", // 提示类别默认"success", "success"/"info"/"warning"/"danger",非必输 title: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000014'), // 提示标题, 默认不同类别下分别为:"已成功"/"帮助信息"/"请注意"/"出错啦",非必输/* 国际化处理: 确认取消*/ content: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000009'),/* 国际化处理: 勾选“价格折扣”后,“适用零售”将被取消勾选,是否继续勾选“价格折扣”?*/ noFooter: false, // 是否显示底部按钮(确定、取消),默认显示(false),非必输 noCancelBtn: false, // 是否显示取消按钮,,默认显示(false),非必输 beSureBtnName: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000008'),/* 国际化处理: 是*/ cancelBtnName: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000007'),/* 国际化处理: 否*/ beSureBtnClick: () => { this.props.form.setFormItemsValue(formid,{retail:{value:false}}); this.props.form.setFormItemsValue(formid,{ishproitems:{value:false},materialmgt:{}}); this.props.form.setFormItemsDisabled(formid,{ishproitems:true,materialmgt:true}); }, cancelBtnClick:()=>{ this.props.form.setFormItemsValue(formid,{discountflag:{value:false}}); } }); } let fee = this.props.form.getFormItemsValue(formid,'fee'); let discountflag = this.props.form.getFormItemsValue(formid,'discountflag'); if(fee.value || discountflag.value){ this.props.form.setFormItemsValue(formid,{ishproitems:{value:false},materialmgt:{}}); this.props.form.setFormItemsDisabled(formid,{ishproitems:true,materialmgt:true}); }else{ this.props.form.setFormItemsDisabled(formid,{ishproitems:false,materialmgt:false}); } }else if(key === 'pk_org'){ let pk_org = this.props.form.getFormItemsValue(formid,'pk_org'); this.props.form.setFormItemsValue('material',{pk_marbasclass:{value: '', display: ''}});//更改所属组织 清空物料分类值 if(pk_org && pk_org.value){ if(this.config.node_type === 'ORG_NODE'){ let meta = this.props.meta.getMeta(); meta['material'].items.map(item=>{ if(item.attrcode === 'pk_marbasclass'){ item.queryCondition = { pk_org : pk_org.value } } }); this.props.meta.setMeta(meta); } if(this.state.code !== ''){ ajax({ url : urls['rollBackMaterialBillCode'], data : {pk_org:oldValue.value,code:this.state.code}, success : (res) => { this.setState({ code : "" }) } }); queryMaterialCode.call(this,pk_org.value); } if(this.state.code == ''){ queryMaterialCode.call(this,pk_org.value); // ajax({ // url : '/nccloud/uapbd/material/queyMaterialBillCode.do', // data : {pk_org:pk_org.value}, // success : (res) => { // let {success,data} = res; // if(data){ // if(data.code){ // this.props.form.setFormItemsValue(formid,{'code' : {value:data.code}}); // this.props.form.setFormItemsValue(baseFormId,{'code' : {value:data.code}}); // this.setState({ // code : data.code // }) // } // if(data.isNextCode){ // this.props.form.setFormItemsRequired(formid,{'code':false}); // this.props.form.setFormItemsDisabled(formid,{'code':true}); // this.props.form.setFormItemsRequired(baseFormId,{'code':false}); // this.props.form.setFormItemsDisabled(baseFormId,{'code':true}); // }else{ // this.props.form.setFormItemsRequired(formid,{'code':true}); // this.props.form.setFormItemsDisabled(formid,{'code':!data.isCodeEdit}); // this.props.form.setFormItemsRequired(baseFormId,{'code':true}); // this.props.form.setFormItemsDisabled(baseFormId,{'code':!data.isCodeEdit}); // } // } // } // }); } } }else if(key === 'fee'){//服务类 let fee = this.props.form.getFormItemsValue(formid,'fee'); let discountflag = this.props.form.getFormItemsValue(formid,'discountflag'); if(fee.value || discountflag.value){ this.props.form.setFormItemsValue(formid,{ishproitems:{value:false},materialmgt:{}}); this.props.form.setFormItemsDisabled(formid,{ishproitems:true,materialmgt:true}); }else{ this.props.form.setFormItemsDisabled(formid,{ishproitems:false,materialmgt:false}); } }else if(key === 'pk_goodscode'){//海关商品代码 if(value && value.refcode){ this.props.form.setFormItemsValue(formid,{goodsprtname:{value:value.refcode}}); }else{ this.props.form.setFormItemsValue(formid,{goodsprtname:{value:null}}); } } } function queryMaterialCode (pk_org){ ajax({ url : '/nccloud/uapbd/material/queyMaterialBillCode.do', data : {pk_org:pk_org}, success : (res) => { let {success,data} = res; if(data){ if(data.code){ this.props.form.setFormItemsValue(formid,{'code' : {value:data.code}}); this.props.form.setFormItemsValue(baseFormId,{'code' : {value:data.code}}); this.setState({ code : data.code }) } if(data.isNextCode){ this.props.form.setFormItemsRequired(formid,{'code':false}); this.props.form.setFormItemsDisabled(formid,{'code':true}); this.props.form.setFormItemsRequired(baseFormId,{'code':false}); this.props.form.setFormItemsDisabled(baseFormId,{'code':true}); }else{ this.props.form.setFormItemsRequired(formid,{'code':true}); this.props.form.setFormItemsDisabled(formid,{'code':!data.isCodeEdit}); this.props.form.setFormItemsRequired(baseFormId,{'code':true}); this.props.form.setFormItemsDisabled(baseFormId,{'code':!data.isCodeEdit}); } } } }); }