Skip to content

Commit bdffbb4

Browse files
committed
fix(view): user 修改操作
1 parent 959cc6c commit bdffbb4

File tree

4 files changed

+85
-73
lines changed

4 files changed

+85
-73
lines changed

admin/src/api/user.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,11 @@ export function postAdd(params) {
1616
return request.post('/api/user', params)
1717
}
1818

19-
export function postUser(params) {
20-
return request.post('/api/user', params)
21-
}
22-
23-
export function editUser(id) {
19+
export function edit(id) {
2420
return request.get('/api/user/' + id)
2521
}
2622

27-
export function postEditUser(id, params) {
23+
export function postEdit(id, params) {
2824
return request.patch('/api/user/' + id, params)
2925
}
3026

admin/src/views/permission/add.vue

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ export default {
6262
fetchData() {
6363
this.listLoading = true
6464
getRole().then(response => {
65-
console.log(response.data)
6665
this.form.roles = response.data.roles
6766
this.listLoading = false
6867
})
@@ -72,7 +71,6 @@ export default {
7271
this.isIndeterminate = checkedCount > 0 && checkedCount < this.form.roles.length
7372
},
7473
onSubmit(form) {
75-
console.log(this.form)
7674
this.$refs[form].validate((valid) => {
7775
if (valid) {
7876
this.loading = true

admin/src/views/user/add.vue

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,6 @@
2929
<el-col :span="14"/>
3030
</el-form-item>
3131

32-
<el-form-item label="路由" prop="route">
33-
<el-col :span="10">
34-
<el-input v-model="form.route"/>
35-
</el-col>
36-
<el-col :span="14"/>
37-
</el-form-item>
38-
3932
<el-form-item label="赋值角色" prop="roles">
4033
<template>
4134
<el-checkbox-group v-model="form.checkedRoles" @change="handleCheckedRolesChange">
@@ -107,7 +100,6 @@ export default {
107100
fetchData() {
108101
this.listLoading = true
109102
getRole().then(response => {
110-
console.log(response.data)
111103
this.form.roles = response.data.roles
112104
this.listLoading = false
113105
})
@@ -117,7 +109,6 @@ export default {
117109
this.isIndeterminate = checkedCount > 0 && checkedCount < this.form.roles.length
118110
},
119111
onSubmit(form) {
120-
console.log(this.form)
121112
this.$refs[form].validate((valid) => {
122113
if (valid) {
123114
this.loading = true

admin/src/views/user/edit.vue

Lines changed: 83 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,42 @@
11
<template>
22
<div class="app-container">
3-
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
4-
<el-form-item label="接口名称" prop="name">
5-
<el-input v-model="form.name"/>
3+
<el-form ref="form" :model="form" :rules="rules" label-width="220px">
4+
<el-form-item label="用户名称" prop="name">
5+
<el-col :span="10">
6+
<el-input v-model="form.name"/>
7+
</el-col>
8+
<el-col :span="14"/>
69
</el-form-item>
7-
<el-form-item label="接口地址" prop="url">
8-
<el-input v-model="form.url"/>
9-
</el-form-item>
10-
<el-form-item label="接口参数" prop="param">
11-
<el-input v-model="form.param"/>
12-
<span>(多个参数请用英文 , 分割;如: realname,mobile,idcard)</span>
13-
</el-form-item>
14-
<el-form-item label="结果集 result" prop="result">
15-
<el-input v-model="form.result"/>
16-
<span>(多个参数请用英文 , 分割;如: res,msg)</span>
17-
</el-form-item>
18-
<el-form-item label="是否处理" prop="is_need">
19-
<el-switch v-model="form.is_need"/>
10+
11+
<el-form-item label="用户邮箱" prop="email">
12+
<el-col :span="10">
13+
<el-input v-model="form.email"/>
14+
</el-col>
15+
<el-col :span="14"/>
2016
</el-form-item>
21-
<el-form-item label="网址" prop="website">
22-
<el-input v-model="form.website"/>
17+
18+
<el-form-item label="密码" prop="password">
19+
<el-col :span="10">
20+
<el-input v-model="form.password" type="password"/>
21+
</el-col>
22+
<el-col :span="14"/>
2323
</el-form-item>
24-
<el-form-item label="请求方式" prop="method">
25-
<!--<el-input v-model="form.method"/>-->
26-
<el-select v-model="form.method" placeholder="请选择接口" value-key="name">
27-
<el-option key="1" label="get" value="get">
28-
<span style="float: left; color: #8492a6; font-size: 13px">get</span>
29-
</el-option>
30-
<el-option key="2" label="post" value="post">
31-
<span style="float: left; color: #8492a6; font-size: 13px">post</span>
32-
</el-option>
33-
</el-select>
24+
25+
<el-form-item label="确认密码" prop="checkPass">
26+
<el-col :span="10">
27+
<el-input v-model="form.checkPass" type="password"/>
28+
</el-col>
29+
<el-col :span="14"/>
3430
</el-form-item>
35-
<el-form-item label="是否启用">
36-
<el-switch v-model="form.state"/>
31+
32+
<el-form-item label="赋值角色" prop="roles">
33+
<template>
34+
<el-checkbox-group v-model="form.checkedRoles" @change="handleCheckedRolesChange">
35+
<el-checkbox v-for="role in form.roles" :label="role.id" :key="role.id">{{ role.name }}</el-checkbox>
36+
</el-checkbox-group>
37+
</template>
3738
</el-form-item>
39+
3840
<el-form-item>
3941
<el-button type="primary" @click="onSubmit('form')">提交</el-button>
4042
<el-button @click="resetForm('form')">重置</el-button>
@@ -44,63 +46,89 @@
4446
</template>
4547

4648
<script>
47-
import { edit, postEdit } from '@/api/api_param'
49+
import { getRole, edit, postEdit } from '@/api/user'
4850
4951
export default {
5052
data() {
53+
const validatePass = (rule, value, callback) => {
54+
if (this.form.password !== '') {
55+
this.$refs.form.validateField('checkPass')
56+
}
57+
callback()
58+
}
59+
const validatePass2 = (rule, value, callback) => {
60+
if (value === undefined) {
61+
value = ''
62+
}
63+
console.log(this.form.password)
64+
if (value !== this.form.password) {
65+
callback(new Error('两次输入密码不一致!'))
66+
} else {
67+
callback()
68+
}
69+
}
5170
return {
71+
checkAll: false,
5272
form: {
5373
name: '',
54-
url: '',
55-
param: '',
56-
result: '',
57-
is_need: false,
58-
state: true,
59-
website: '',
60-
method: 'get',
74+
email: '',
75+
password: '',
76+
checkedRoles: [],
77+
roles: [],
78+
isIndeterminate: true,
6179
loading: false
6280
},
6381
rules: {
6482
name: [
6583
{ required: true, message: '请输入名称', trigger: 'blur' }
6684
],
67-
url: [
68-
{ required: true, message: '请输入接口地址', trigger: 'blur' }
69-
],
70-
param: [
71-
{ required: true, message: '请输入接口参数', trigger: 'blur' }
85+
password: [
86+
{ validator: validatePass, trigger: 'blur' }
7287
],
73-
result: [
74-
{ required: true, message: '请输入结果集 result', trigger: 'blur' }
75-
],
76-
is_need: [
77-
{ required: true, message: '请选择是否处理', trigger: 'blur' }
88+
checkPass: [
89+
{ validator: validatePass2, trigger: 'blur' }
7890
]
7991
},
80-
redirect: '/api_param/index'
92+
redirect: '/user'
8193
}
8294
},
8395
created() {
96+
// this.fetchData()
8497
this.id = this.$route.params.id
8598
this.getData(this.id)
8699
},
87100
methods: {
88101
getData(id) {
89-
// this.id = this.$route.params.id
90102
edit(id).then(response => {
91-
// console.log(response)
92103
this.loading = false
93104
if (response.code === 200) {
94-
this.form = response.data
95-
this.form.is_need = (response.data.is_need === 1)
96-
this.form.state = (response.data.state === 1)
105+
this.form.name = response.data.user.name
106+
this.form.email = response.data.user.email
107+
this.form.roles = response.data.roles
108+
this.form.checkedRoles = response.data.checkedRoles
109+
110+
// 是否全选中
111+
if (this.form.roles.length === this.form.checkedRoles.length) {
112+
this.checkAll = true
113+
}
97114
} else {
98115
this.$message.error(response.reason)
99116
}
100117
})
101118
},
119+
fetchData() {
120+
this.listLoading = true
121+
getRole().then(response => {
122+
this.form.roles = response.data.roles
123+
this.listLoading = false
124+
})
125+
},
126+
handleCheckedRolesChange(value) {
127+
const checkedCount = value.length
128+
this.isIndeterminate = checkedCount > 0 && checkedCount < this.form.roles.length
129+
},
102130
onSubmit(form) {
103-
console.log(this.form)
131+
// console.log(this.form)
104132
this.$refs[form].validate((valid) => {
105133
if (valid) {
106134
this.loading = true
@@ -142,4 +170,3 @@ export default {
142170
text-align: center;
143171
}
144172
</style>
145-

0 commit comments

Comments
 (0)