<template>
|
<div class="">
|
<!-- 用户名 -->
|
<!-- 是否有下载权限 -->
|
<el-form ref="form" :model="form" label-width="80px">
|
<el-form-item label="用户名">
|
<el-input :disabled="isEdit" v-model="form.name"></el-input>
|
</el-form-item>
|
<el-form-item label="权限">
|
<el-checkbox v-model="form.permission" label="控制权限"></el-checkbox>
|
</el-form-item>
|
<el-form-item>
|
<el-button v-if="isEdit" type="primary" @click="update">修改</el-button>
|
<el-button v-else type="primary" @click="onSubmit">新增</el-button>
|
<el-button @click="close">取消</el-button>
|
</el-form-item>
|
</el-form>
|
</div>
|
</template>
|
|
<script>
|
import { addUser, updateUser } from "./api";
|
export default {
|
name: "",
|
props: {
|
info: {
|
type: Object,
|
},
|
},
|
data() {
|
return {
|
form: {
|
name: "",
|
uid: "",
|
permission: false,
|
},
|
};
|
},
|
computed: {
|
isEdit() {
|
return !!this.info;
|
},
|
},
|
components: {},
|
methods: {
|
close() {
|
this.$emit("cancel");
|
},
|
update() {
|
let name = this.form.name.trim();
|
if (!name) {
|
this.$message.error("请输入用户名");
|
return false;
|
}
|
let loading = this.$layer.loading();
|
updateUser(this.form.permission * 1, this.form.uid)
|
.then((res) => {
|
let { code, data } = res.data;
|
if (code && data) {
|
this.$emit("success");
|
this.$message.success("操作成功");
|
} else {
|
this.$message.error("操作失败");
|
}
|
this.$layer.close(loading);
|
})
|
.catch((err) => {
|
console.log(err);
|
this.$layer.close(loading);
|
});
|
},
|
onSubmit() {
|
let name = this.form.name.trim();
|
if (!name) {
|
this.$message.error("请输入用户名");
|
return false;
|
}
|
let loading = this.$layer.loading();
|
addUser({ uname: name, udownloadRole: this.form.permission * 1 })
|
.then((res) => {
|
let { code, data } = res.data;
|
if (code && data) {
|
this.$emit("success");
|
this.$message.success("操作成功");
|
} else {
|
this.$message.error("操作失败");
|
}
|
this.$layer.close(loading);
|
})
|
.catch((err) => {
|
console.log(err);
|
this.$layer.close(loading);
|
});
|
},
|
},
|
|
mounted() {
|
// console.log(this.info, 'info')
|
if (this.info) {
|
this.form.name = this.info.uname;
|
this.form.uid = this.info.uid;
|
this.form.permission = this.info.udownloadRole == 1;
|
}
|
},
|
};
|
</script>
|
|
<style scoped>
|
</style>
|