315 lines
18 KiB
JavaScript
315 lines
18 KiB
JavaScript
|
/*
|
|||
|
* @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});
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
}
|