@@ -130,10 +130,25 @@ export default { | |||||
const promiseList = []; | const promiseList = []; | ||||
this.rows.forEach((cols) => { | this.rows.forEach((cols) => { | ||||
cols.forEach(async (opt) => { | cols.forEach(async (opt) => { | ||||
if (opt.onChange) { | |||||
this.$watch(`form.${opt.prop}`, { | |||||
handler: (val) => { | |||||
this.$emit(opt.onChange.emit, val); | |||||
}, | |||||
immediate: true, | |||||
}); | |||||
} | |||||
if (opt.listen) { | |||||
// 注册监听时间 | |||||
this.$on(opt.listen, (val) => { | |||||
alert(val); | |||||
}); | |||||
} | |||||
if (opt.value) { | if (opt.value) { | ||||
// 默认值 | // 默认值 | ||||
this.form[opt.prop] = opt.value; | this.form[opt.prop] = opt.value; | ||||
} | } | ||||
if (opt.options) { | if (opt.options) { | ||||
this.optionListOf[opt.prop] = opt.options; | this.optionListOf[opt.prop] = opt.options; | ||||
} else if (opt.url) { | } else if (opt.url) { | ||||
@@ -184,7 +199,7 @@ export default { | |||||
</script> | </script> | ||||
<style scoped lang="scss"> | <style scoped lang="scss"> | ||||
.el-date-editor, | |||||
.el-date-editor, | |||||
.el-select { | .el-select { | ||||
width: 100%; | width: 100%; | ||||
} | } | ||||
@@ -83,18 +83,21 @@ | |||||
// }, | // }, | ||||
], | ], | ||||
[ | [ | ||||
// 此方案必须,工段(含listen)字段必须在产线字段(含onChange)之前 | |||||
{ | { | ||||
select: true, | select: true, | ||||
label: '产线', | |||||
url: '/base/production-line/listAll', | |||||
prop: 'productionLineId', | |||||
label: '工段', | |||||
url: '/base/workshop-section/listAll', | |||||
prop: 'sectionId', | |||||
listen: 'productionLineChange', // 对应上面 emit | |||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }], | rules: [{ required: true, message: '不能为空', trigger: 'blur' }], | ||||
}, | }, | ||||
{ | { | ||||
select: true, | select: true, | ||||
label: '工段', | |||||
url: '/base/workshop-section/listAll', | |||||
prop: 'sectionId', | |||||
label: '产线', | |||||
url: '/base/production-line/listAll', | |||||
prop: 'productionLineId', | |||||
onChange: { emit: 'productionLineChange' }, | |||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }], | rules: [{ required: true, message: '不能为空', trigger: 'blur' }], | ||||
}, | }, | ||||
], | ], | ||||