You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
4.4 KiB

<template>
<div class="admins-add" v-loading="loading">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span class="title"> 添加管理员</span>
</div>
<div class="form-database-form">
<el-form :model="form" ref="formModel" label-width="130px" status-icon validate-on-rule-change>
<el-form-item label="帐号" prop="username" required :rules="[{required:true, message:'请填写帐号'}, {validator:rule.checkRemote, message:'内容重复了', checktype:'insert', module:'admins', col:'username', trigger:'blur'}]">
<el-input placeholder="输入帐号" style="width:250px;" v-model="form.username" /> </el-form-item>
<el-form-item label="密码" prop="pwd" required :rules="[{required:true, message:'请填写密码'}]">
<el-input placeholder="输入密码" style="width:250px;" v-model="form.pwd" /> </el-form-item>
<el-form-item v-if="btnText">
<el-button type="primary" @click="submit">{{ btnText }}</el-button>
</el-form-item>
</el-form>
</div>
</el-card>
</div>
</template>
<style type="text/scss" scoped lang="scss">
.admins-add{
}
</style>
<script>
import api from '@/api'
import rule from '@/utils/rule'
import { extend } from '@/utils/extend'
export default {
name:'admins-add',
data() {
return {
rule,
loading:false,
form:{
username:'',
pwd:'',
},
}
},
watch: {
},
props: {
isRead:{
type:Boolean,
default:true
},
btnText:{
type:String,
default:'提交'
},
},
computed: {},
methods: {
submit(){
this.$refs.formModel.validate().then(res=>{
if(this.loading)return;
this.loading = true;
var form = this.form;
this.$post(api.admins.insert , form).then(res=>{
this.loading = false;
if(res.code == api.code.OK){
this.$message.success('添加成功');
this.$emit('success' , res.data);
this.$refs.formModel.resetFields();
this.loadInfo();
}else{
this.$message.error(res.msg);
}
}).catch(err=>{
this.loading = false;
this.$message.error(err.message);
})
}).catch(err=>{
console.log(err.message);
})
},
loadInfo(){
var form = this.form;
// 获取模块得数据
this.loading = true;
this.$post(api.admins.create , {
id:this.$route.query.id
}).then(res=>{
this.loading = false;
if(res.code == api.code.OK){
extend(this , res.data);
}else{
this.$message.error(res.msg);
this.$router.go(-1);
}
}).catch(err=>{
this.$message.error(err.message);
this.$router.go(-1);
});
},
},
created() {
this.loadInfo();
},
mounted() {
},
destroyed() {
}
}
</script>