Files
ss-crm-manage-web/src/views/Basic/Role/Comp/RoleEmployee.vue

72 lines
1.4 KiB
Vue
Raw Normal View History

2024-05-20 15:36:39 +08:00
<template>
<div>
<el-table v-loading="loading" :data="tableList" border>
<el-table-column type="index" width="50" />
<el-table-column
v-for="col in columns"
:prop="col.prop"
:key="col.prop"
:label="col.label"
:width="col.width"
/>
</el-table>
<Pagination
v-model:limit="pageSize"
v-model:page="currentPage"
:total="total"
@pagination="getList"
/>
</div>
</template>
<script setup name="RoleEmployee">
2024-05-23 14:08:08 +08:00
import * as UserApi from '@/api/system/user'
const props = defineProps({
roleId: {
type: Number
}
})
watch(
() => props.roleId,
(newValue) => {
getList(newValue)
}
)
2024-05-20 15:36:39 +08:00
const loading = ref(false)
const tableList = ref([])
const total = ref(0)
const pageSize = ref(20)
const currentPage = ref(1)
const columns = ref([
2024-05-23 14:08:08 +08:00
{ prop: 'nickname', label: '姓名' },
{ prop: 'mobile', label: '手机号' },
{ prop: 'deptName', label: '部门' },
{ prop: '', label: '角色', width: '300px' }
2024-05-20 15:36:39 +08:00
])
2024-05-23 14:08:08 +08:00
async function getList() {
loading.value = true
try {
const data = await UserApi.getUserPage({
pageNo: currentPage.value,
pageSize: pageSize.value,
roleId: props.roleId
})
tableList.value = data.list
total.value = data.total
} finally {
loading.value = false
}
2024-05-20 15:36:39 +08:00
}
onMounted(() => {
getList()
})
</script>
<style lang="scss" scoped></style>