<template> <el-dialog custom-class="party-dialog" :title="title" width="540px" :visible.sync="formVisible" :before-close="close" > <div class="dialog-content"> <el-form :model="formItem" class="party-form" ref="formItem" label-width="125px" label-position="right" :rules="rules" > <el-form-item label="所属单位:" prop="unit"> <el-select size="small" v-model="formItem.unit" clearable placeholder="请选择所属单位" @change="selectItem" > <el-option v-for="item in unitOptions" :key="item.value" :label="item.label" :value="item.value" ></el-option> </el-select> </el-form-item> <el-form-item label="机构地理位置:" prop="address"> <el-input size="small" v-model="formItem.address" disabled></el-input> </el-form-item> </el-form> </div> <div slot="footer" class="dialog-footer btn-group"> <el-button type="primary" @click="submitForm('formItem')">确定</el-button> <el-button @click="close">取 消</el-button> </div> </el-dialog> </template> <script> export default { data() { return { title:'', formVisible: false, formItem: {}, unitOptions: [ { value: "1", label: "黄金糕" }, { value: "2", label: "双皮奶" }, { value: "3", label: "蚵仔煎" }, { value: "4", label: "龙须面" }, { value: "5", label: "北京烤鸭" } ], rules: { unit: [{ required: true, message: "请选择所属单位", trigger: "change" }] } }; }, methods: { backFn(item) { this.formVisible = true; this.$nextTick(()=>{ this.$refs.formItem.clearValidate(); }) if (item) { // 编辑 this.formItem = item; this.title="编辑" } else { // 新增 this.title="新增" this.formItem = {}; } }, // 关闭 close() { this.formVisible = false; for (let key in this.formItem) { this.formItem[key] = null; } this.$refs["formItem"].resetFields(); }, // 联动出地址 selectItem(val) { this.formItem.address = val; }, // 保存编辑信息 submitForm() { let _this = this; _this.$refs.formItem.validate(valid => { if (valid) { let searchObj = {}; for (let key in _this.formItem) { if (this.formItem[key]) { searchObj[key] = _this.formItem[key]; } } _this.$emit("refreshFn"); _this.formVisible = false; // _this.$https( // { // url: "menu/edit", // method: "put", // authType: this.backToken // }, // _this.$qs.stringify(searchObj) // ).then(res => { // if (res.data.status == 200 || res.data.status == 201) { // _this.$message({ // type: "success", // message: res.data.message // }); // _this.formVisible = false; // _this.$refs["formItem"].resetFields(); // } else { // _this.$message({ // type: "error", // message: res.data.message // }); // } // }, // error => { // _this.$message({ // type: "error", // message: error // }); // } // ); } }); } } }; </script> <style lang="less"> @import "../../../../style/dialog.less"; </style>