8000 Merge pull request #6 from github-learning/dev · github-learning/vue3-admin@616c4cc · GitHub
[go: up one dir, main page]

Skip to content

Commit 616c4cc

Browse files
Merge pull request #6 from github-learning/dev
Dev
2 parents 44022ce + 4753bf4 commit 616c4cc

File tree

4 files changed

+31
-48
lines changed

4 files changed

+31
-48
lines changed

src/apis/user.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import request from '@/apis/config/request'
22
import { Api } from './type'
3-
import { IRole } from './role'
3+
// import { IRole } from './role'
44

55
export interface Profile {
66
id: number
77
username: string
88
email: string
99
mobile: string
1010
isSuper: boolean
11-
status: boolean
11+
status: boolean | number
1212
avatar: string
1313
description: string
14-
roles: IRole[]
14+
// roles: IRole[]
1515
roleIds?: number[] // 修改用户的时候,后端接受只要id
1616
}
1717

@@ -85,9 +85,7 @@ export const removeUser = (id: number): Promise<Api> => {
8585
export const addUser = (data: Profile): Promise<Api> => {
8686
return request.post('/user', data)
8787
}
88-
// export const addUser = (data: Profile): Promise<Api> => {
89-
// return request.post('/auth/register', data)
90-
// }
88+
9189
// 编辑用户
9290
export const updateUser = (id: number, data: Profile): Promise<Api> => {
9391
return request.put(`/user/${id}`, data)

src/stores/user.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ export const useUserStore = defineStore('user', () => {
5454
// 获取全部用户
5555
const getAllUsers = async (params: IUserQuery) => {
5656
const { data } = await getUsersApi(params)
57-
// console.log('res', res)
5857

5958
state.users = data.users
6059
state.total = data.total
@@ -85,6 +84,7 @@ export const useUserStore = defineStore('user', () => {
8584

8685
const editUser = async (data: IProfileQuery) => {
8786
const { pageSize, pageNum, ...params } = data
87+
8888
const res = await updateUserApi(params.id, params)
8989
if (res.code === 200) {
9090
getAllUsers({

src/views/system/user/components/editorUser.vue

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
{{ editData.roleIds }}
2727
<el-select multiple v-model="editData.roleIds" placeholder="请选择角色">
2828
<el-option
29-
v-for="item in editData.roles"
29+
v-for="item in roles"
3030
:key="item.id"
3131
:label="item.name"
3232
:value="item.id"
@@ -50,6 +50,7 @@
5050
</template>
5151

5252
<script lang="ts" setup>
53+
import { IRole } from '@/apis/role'
5354
import { Profile } from '@/apis/user'
5455
import type { FormInstance, FormItemRule } from 'element-plus'
5556
import type { PropType } from 'vue'
@@ -62,16 +63,19 @@ const props = defineProps({
6263
},
6364
data: {
6465
type: Object as PropType<Profile>
66+
},
67+
roles: {
68+
type: Object as PropType<IRole[]>
6569
}
6670
})
6771
const emit = defineEmits(['submit'])
6872
6973
const editFormRef = ref<FormInstance | null>(null)
7074
const editData = ref<Partial<Profile>>({
71-
username: 'test333',
72-
mobile: '666666666666',
73-
email: '11@qq.com',
74-
description: '34',
75+
username: '',
76+
mobile: '',
77+
email: '',
78+
description: '',
7579
status: true
7680
})
7781

src/views/system/user/index.vue

Lines changed: 17 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
</el-form-item>
2525
<el-form-item>
2626
<el-button type="primary" @click="handleSubmitQuery">查询</el-button>
27-
<el-button type="default" @click="handleResetFeilds">重置</el-button>
27+
<el-button type="default" @click="handleResetFields">重置</el-button>
2828
</el-form-item>
2929
</el-form>
3030
<div class="user-list">
@@ -70,6 +70,7 @@
7070
<editor-user
7171
:type="editType"
7272
:data="editData"
73+
:roles="roles"
7374
@submit="handleSubmitUser"
7475
/>
7576
</el-drawer>
@@ -86,22 +87,11 @@ const store = useUserStore()
8687
const storeRole = useRoleStore()
8788
// 用户列表
8889
const users = computed(() => store.state.users)
89-
console.log(
90-
'%c [ users ]-90',
91-
'font-size:13px; background:pink; color:#bf2c9f;',
92-
users
93-
)
94-
const roles = computed(() => storeRole.state.roles) // 角色
95-
96-
console.log(
97-
'%c [ roles ]-184',
98-
'font-size:13px; background:pink; color:#bf2c9f;',
99-
roles.value
100-
)
10190
10291
// 分页相关状态
10392
const pageNum = ref(1)
10493
const pageSize = ref(10)
94+
const roles = ref()
10595
// 获取用户列表 支持分页
10696
const getUserList = () => {
10797
store.getAllUsers({
@@ -111,18 +101,22 @@ const getUserList = () => {
111101
// ... 搜索条件
112102
} as unknown as IUserQuery)
113103
}
114-
const getRolesList = () => {
115-
storeRole.getRoles({
104+
const getRolesList = async () => {
105+
await storeRole.getRoles({
116106
pageNum: pageNum.value,
117107
pageSize: pageSize.value
118108
// ... 搜索条件
119109
} as unknown as IRoleParams)
120110
}
111+
112+
watchEffect(() => {
113+
roles.value = storeRole.state.roles
114+
})
121115
// 格式化status
122116
const formatter = (row: Profile) => {
123117
return row.status ? '正常' : '禁用'
124118
}
125-
// 不使用watchEffect
119+
126120
onMounted(() => {
127121
getUserList()
128122
getRolesList()
@@ -151,21 +145,9 @@ const handleEditUser = (_index: number, row: Profile) => {
151145
editType.value = 0
152146
editData.value = { ...row }
153147
154-
console.log(
155-
'%c [ ]-134',
156-
'font-size:13px; background:pink; color:#bf2c9f;',
157-
row
158-
)
159148
// 获取当前编辑用户 现有角色列表
160149
editData.value.roleIds = row?.roleIds
161-
// editData.value.roleIds = row?.roleIds && row.roleIds.map((item) => item?.id)
162-
163-
// console.log(
164-
// '%c [ ]-165',
165-
// 'font-size:13px; background:pink; color:#bf2c9f;',
166-
// editData.value.roleIds
167-
// )
168-
editData.value.roles = roles.value! // 所有角色列表
150+
editData.value.status = Boolean(editData.value.status)
169151
panelVisible.value = true
170152
}
171153
// 用户总条数
@@ -176,7 +158,7 @@ const handleSizeChange = (val: number) => {
176158
getUserList()
177159
}
178160
const handleCurrentChange = (val: number) => {
179-
pageNum.value = val - 1 // 页码后端是从0开始的
161+
pageNum.value = val // 页码后端是从1开始的
180162
getUserList()
181163
}
182164
@@ -192,8 +174,9 @@ const handleSubmitQuery = () => {
192174
193175
// 重置
194176
const queryFormRef = useTemplateRef<FormInstance | null>('queryFormRef')
195-
const handleResetFeilds = () => {
196-
;(queryFormRef.value as FormInstance).resetFields()
177+
const handleResetFields = () => {
178+
const formInstance = queryFormRef.value as FormInstance
179+
formInstance.resetFields()
197180
getUserList()
198181
}
199182
@@ -205,18 +188,15 @@ const panelTitle = computed(() =>
205188
editType.value === 1 ? '新增用户' : '编辑用户'
206189
)
207190
208-
storeRole.getRoles({ pageNum: pageNum.value, pageSize: pageSize.value })
191+
// storeRole.getRoles({ pageNum: pageNum.value, pageSize: pageSize.value })
209192
210193
const handleAddUser = () => {
211194
editType.value = 1
212195
editData.value = {} as Profile
213-
editData.value.roles = roles.value // 所有角色列表
214196
editData.value.roleIds = [] // 所选角色id列表
215197
panelVisible.value = true
216198
}
217199
const editUser = async (data: Profile) => {
218-
// 删除 data 中的roles 属性
219-
// delete data.roles
220200
store.editUser({
221201
...data,
222202
pageSize: pageSize.value,
@@ -227,6 +207,7 @@ const editUser = async (data: Profile) => {
227207
panelVisible.value = false
228208
}
229209
const handleSubmitUser = (data: Profile) => {
210+
data.status = Number(data.status)
230211
if (editType.value === 1) {
231212
// 新增
232213
addNewUser(data)

0 commit comments

Comments
 (0)
0