>
提交
返回
import * as deliverApi from '@/api/pape-rule/deliver-rules'
export default {
data () {
var validateLeval = (rule, value, callback, index) => {
if (this.formList[index].warahouseDetail && !value) {
callback(new Error('选择送货到库时,请选择库房级别'))
} else {
callback()
}
}
return {
formList: [],
formArr: [],
resultArr: [], // 接受验证返回结果数组
departs: [
{ name: '校级', id: 1 },
{ name: '院级', id: 2 }
],
validateLeval
}
},
computed: {
dialogShow: {
get () {
return this.dialogVisible
},
set (val) {
this.$emit('update:dialogVisible', val)
}
}
},
created () {
this.getDetail()
// this.getCampusData()
this.getCategoryData()
},
methods: {
getDetail() {
deliverApi.getDetail()
.then(res => {
this.formList = res
})
},
// 获取校区信息
getCampusData () {
deliverApi.getCampus()
.then(res => {
const campusData = res
if (campusData.length) {
campusData.forEach((item, index) => {
this.formList.push({
campus: item.campus, // 校区
leval: null,
warahouseDetail: null, // 送货到库明细list
personDetail: null // 送货到人明细list
})
})
}
})
},
// 获取品类数据
getCategoryData () {
deliverApi.getCategoryInfo()
.then(res => {
this.categoryData = res
})
},
refForm(formName) {
const that = this
const result = new Promise((resolve, reject) => {
that.$refs[formName][0].validate((valid) => {
if (valid) {
resolve()
}
})
})
that.resultArr.push(result)
},
submitForm () {
const that = this
this.formList.forEach((item, index) => {
const refName = 'formData' + index
this.refForm(refName)
})
Promise.all(this.resultArr).then(function () {
deliverApi.saveRule(that.formList)
.then(res => {
that.$message.success('保存成功')
})
})
}
}
}
@include public-form-layout;
.campus {
/deep/ .el-form-item__label {
color:#3783F2;
}
}
`
本文介绍了一个用于管理送货规则的Vue组件实现,包括表单验证、数据获取与保存等功能。组件支持选择不同级别的库房及详细信息配置,并通过API进行数据交互。

被折叠的 条评论
为什么被折叠?



