<!-- * @Description: * @Autor: renchao * @LastEditTime: 2023-09-19 10:15:07 --> <template> <dialogBox title="新建材料信息" width="25%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit" :isFullscreen="false"> <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"> <el-row> <el-col :span="24"> <el-form-item label="材料类型" prop="cllx"> <el-select v-model="ruleForm.cllx" class="width100" placeholder="请选择"> <el-option v-for="item in dictData['A40']" :key="item.dcode" :label="item.dname" :value="item.dcode"> </el-option> </el-select> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="24"> <el-form-item label="材料名称" prop="clmc"> <el-input v-model="ruleForm.clmc"></el-input> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="24"> <el-form-item label="是否公共材料"> <el-radio-group v-model="ruleForm.sfggcl"> <el-radio label="1">是</el-radio> <el-radio label="0">否</el-radio> </el-radio-group> </el-form-item> </el-col> </el-row> </el-form> </dialogBox> </template> <script> import { mapGetters } from "vuex"; export default { props: { value: { type: Boolean, default: false }, }, data () { return { myValue: this.value, ruleForm: { cllx: "", clmc: "", sfggcl: "0" }, rules: { cllx: [ { required: true, message: '请选择材料类型', trigger: 'change' } ], clmc: [ { required: true, message: '请输入材料名称', trigger: 'blur' } ], clbm: [ { required: true, message: '请输入材料编码', trigger: 'blur' } ] } } }, computed: { ...mapGetters(["dictData"]), }, watch: { value (val) { this.myValue = val; }, }, methods: { /** * @description: closeDialog * @author: renchao */ closeDialog () { this.$emit("input", false); this.ruleForm = { cllx: "", clmc: "", sfggcl: "0" } }, /** * @description: handleSubmit * @author: renchao */ handleSubmit () { this.$refs['ruleForm'].validate((valid) => { if (valid) { this.$parent.addSave(this.ruleForm); this.ruleForm = { cllx: "", clmc: "", sfggcl: "0" } this.$emit("input", false); } else { return false; } }) } } }; </script> <style scoped lang="scss"> .submit-button { text-align: center; height: 52px; padding-top: 10px; background-color: #fff; } </style>