勾选表格的数据,如果数据状态不一致,不允许提交
这里方法里的options是一个数组,数组中有多个对象,现在只有(属性值)状态为0,1时才能提交,每条数据的状态值会是没有确定值的,有可能是0,是1,可能是2,是3
handleChangeSelect (options) {
let obj = {}
options.forEach(item => {
// 将值作为对象的key(属性),如果值相同就添加到对象的属性的数组中,如果有obj有两个或以上的key,说明对象中的状态不同!
let key = item.czCode
if (obj[key] && obj[key].length) {
obj[key].push(item)
} else {
obj[key] = [item]
}
})
// 这里是判断是let obj是否有值,如果第一项都没有就不允许提交
if (Object.keys(obj)[0]) {
// 状态为0,1时才能提交
if (['0', '1'].includes(Object.keys(obj)[0])) {
// 判断是否超过一种状态,这里我们只需要提交相同状态的,所以长度不能大于1 (没有大于1证明都是相同的状态!)
if (Object.keys(obj).length > 1) {
this.errorFlay = true
Message.error('存在多种处理状态信号,请重新选择!')
} else {
// 符合条件时将数据整理后台需要的格式
this.errorFlay = false
this.sendList = options.map((item) => {
return {
id: item.id,
ventureType: item.ventureType
}
})
}
}
else {
Message.error('请选择符合下发条件的数据提交!')
}
}
else {
this.errorFlay = true
}
},