完善后台用户添加和公司管理接口

This commit is contained in:
龙运模
2024-07-06 22:46:15 +08:00
parent 6e01d7c891
commit c2fe2415a4
5 changed files with 71 additions and 47 deletions
+38 -31
View File
@@ -2,34 +2,35 @@
<el-dialog :title="titleMap[mode]" v-model="visible" :width="500" destroy-on-close @closed="$emit('closed')">
<el-form :model="form" :rules="rules" :disabled="mode=='show'" ref="dialogForm" label-width="100px" label-position="right">
<el-form-item label="头像" prop="avatar">
<sc-upload v-model="form.avatar" title="上传头像"></sc-upload>
<ossImgUpload @parentParams="parentParams" :url="form.avatar" />
</el-form-item>
<el-form-item label="登录账号" prop="userName">
<el-input v-model="form.userName" placeholder="用于登录系统" clearable></el-input>
<el-form-item label="登录账号" prop="login_name">
<el-input v-model="form.login_name" placeholder="请填写登录账号" clearable></el-input>
</el-form-item>
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入完整的真实姓名" clearable></el-input>
<el-input v-model="form.name" placeholder="请填写真实姓名" clearable></el-input>
</el-form-item>
<template v-if="mode=='add'">
<el-form-item label="登录密码" prop="password">
<el-input type="password" v-model="form.password" clearable show-password></el-input>
</el-form-item>
<el-form-item label="确认密码" prop="password2">
<el-input type="password" v-model="form.password2" clearable show-password></el-input>
</el-form-item>
</template>
<el-form-item label="所属部门" prop="dept">
<el-cascader v-model="form.dept" :options="depts" :props="deptsProps" clearable style="width: 100%;"></el-cascader>
<el-form-item label="联系电话" prop="mobile">
<el-input v-model="form.mobile" placeholder="请填写联系电话" clearable></el-input>
</el-form-item>
<el-form-item label="所属角色" prop="group">
<el-select v-model="form.group" multiple filterable style="width: 100%">
<el-form-item label="电子邮件" prop="email">
<el-input v-model="form.email" placeholder="请填写电子邮件" clearable></el-input>
</el-form-item>
<el-form-item label="登录密码" prop="password">
<el-input type="password" v-model="form.password" placeholder="请填写密码" clearable show-password></el-input>
</el-form-item>
<el-form-item label="所属部门" prop="dept_id">
<el-cascader v-model="form.dept_id" :options="depts" :props="deptsProps" placeholder="请选择部门" clearable style="width: 100%;"></el-cascader>
</el-form-item>
<el-form-item label="所属角色" prop="role_ids">
<el-select v-model="form.role_ids" multiple filterable placeholder="请选择角色" style="width: 100%">
<el-option v-for="item in groups" :key="item.id" :label="item.label" :value="item.id"/>
</el-select>
</el-form-item>
</el-form>
<template #footer>
<el-button @click="visible=false" >取 消</el-button>
<el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="submit()">保 存</el-button>
<el-button v-if="mode!='show'" type="primary" :loading="isSave" @click="submit()">保 存</el-button>
</template>
</el-dialog>
</template>
@@ -46,22 +47,25 @@
show: '查看'
},
visible: false,
isSaveing: false,
isSave: false,
//表单数据
form: {
id:"",
userName: "",
login_name: "",
name:"",
mobile:"",
email:"",
avatar: "",
name: "",
dept: "",
group: []
password:"",
dept_id: "",
role_ids: []
},
//验证规则
rules: {
avatar:[
{required: true, message: '请上传头像'}
],
userName: [
login_name: [
{required: true, message: '请输入登录账号'}
],
name: [
@@ -103,8 +107,10 @@
depts: [],
deptsProps: {
value: "id",
checkStrictly: true
checkStrictly: false,
emitPath:false
}
// checkStrictly: false,
}
},
mounted() {
@@ -120,26 +126,27 @@
},
//加载树数据
async getGroup(){
var res = await this.$API.system.role.list.get();
const res = await this.$API.system.role.list.get();
this.groups = res.data.rows;
},
async getDept(){
var res = await this.$API.system.dept.list.get();
const res = await this.$API.system.dept.active.post();
this.depts = res.data;
},
parentParams(item){
this.form.avatar = item;
},
//表单提交方法
submit(){
this.$refs.dialogForm.validate(async (valid) => {
if (valid) {
this.isSaveing = true;
var res = await this.$API.demo.post.post(this.form);
this.isSaveing = false;
this.isSave = true;
const res = await this.$API.system.user.add.post(this.form);
this.isSave = false;
if(res.code == 200){
this.$emit('success', this.form, this.mode)
this.visible = false;
this.$message.success("操作成功")
}else{
this.$alert(res.message, "提示", {type: 'error'})
}
}else{
return false;