tk2312-web/src/uapbd/material/material_base/card/event/formAfterEvent.js

317 lines
18 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*A0WHkF1rDHKr9EsX9uzHE4udjA8NexZWWmZrj6keZ8Y=*/
/*
* @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});
}
}
}
});
}
/*A0WHkF1rDHKr9EsX9uzHE4udjA8NexZWWmZrj6keZ8Y=*/