diff --git a/src/api/system/user/index.js b/src/api/system/user/index.js index 6707513..e12c1d7 100644 --- a/src/api/system/user/index.js +++ b/src/api/system/user/index.js @@ -39,9 +39,9 @@ export function editUser(data) { * 删除用户 * params */ -export function deleteUser(id) { +export function deleteUser(idList) { return request({ - url: `/user/delete${[id]}`, + url: `/user/delete/${idList}`, method: 'DELETE' }) } diff --git a/src/components/Search/index.vue b/src/components/Search/index.vue index 8d785eb..e14aaa0 100644 --- a/src/components/Search/index.vue +++ b/src/components/Search/index.vue @@ -50,7 +50,7 @@ export default { /* 初始化搜索表单信息 */ function initForm() { data.info.forEach((item) => { - form.value[item.key] = '' + form.value[item.key] = null }) } diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index e7d1368..4906fd7 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -3,6 +3,7 @@ - 确认要批量删除吗? + 确认要删除选中数据吗? @@ -30,7 +31,7 @@ v-if="data.modalShow" v-model:visible="data.modalShow" :row="rowData" - @done="loadDataTable" + @done="handleSearch" /> @@ -156,7 +157,7 @@ export default { props: { negativeText: '取消', positiveText: '确认', - onPositiveClick: deleteSingle.bind(row) + onPositiveClick: deleteSingle.bind(null, row.id) } } ], @@ -175,10 +176,8 @@ export default { data.modalShow = true } - const params = ref({ - page: 1, - limit: 10 - }) + const params = ref({}) + const tableRef = ref() function handleSearch(data) { @@ -195,30 +194,43 @@ export default { } return await getUserList(_params) } + + // 新增用户 function handleUser() { data.rowData = {} data.modalShow = true } - function deleteUsers(type) { - console.log(type) - // deleteUser({ data: [] }).then((res) => { - // if (res.code === 0) { - // $message.success(res.data.msg) - // this.reload() - // } else { - // $message.error(res.data.msg) - // } - // }) + // 选择表格数据 + const selectedIds = ref([]) + function handleCheck(rowKeys) { + selectedIds.value = rowKeys } - function deleteSingle(type, row) { - console.log(type, row, '++000+++') + // 批量删除用户 + function deleteUsers() { + if (selectedIds.value.length) { + deleteData(selectedIds.value) + } else { + $message.warning('请至少选中一条数据') + } + } + // 单个删除数据 + function deleteSingle(id) { + deleteData([id]) } - const checkedRows = ref([]) - function handleCheck(rowKeys) { - checkedRows.value = rowKeys - console.log(rowKeys) + // 删除用户接口 + function deleteData(data) { + deleteUser(data).then((res) => { + if (res.code === 0) { + handleSearch() + $message.success(res.data.msg) + } else { + $message.error(res.data.msg) + } + }).catch(e => { + console.log(e) + }) } return { @@ -226,9 +238,12 @@ export default { loadDataTable, handleUser, ...toRefs(data), + tableRef, handleSearch, deleteUsers, - handleCheck + handleCheck, + selectedIds, + deleteData } }, methods: { diff --git a/src/views/system/user/info.js b/src/views/system/user/info.js index 88d45a3..b0ecaab 100644 --- a/src/views/system/user/info.js +++ b/src/views/system/user/info.js @@ -1,20 +1,25 @@ import { getRoleAll } from '@/api/system/role/index' import { dataToSelect } from '@/utils/handleData.js' -const res = await getRoleAll() -const rolesOptions = dataToSelect(res.data, { label: 'name', value: 'id' }) +import { ref } from 'vue' +const rolesOptions = ref([]) +async function getRolesOption() { + const res = await getRoleAll() + rolesOptions.value = dataToSelect(res.data, { label: 'name', value: 'id' }) +} +getRolesOption() const data = [ { - label: '用户姓名', - key: 'realname', + label: '用户账号', + key: 'username', props: { - placeholder: '请输入角色名称' + placeholder: '请输入用户账号' } }, { label: '用户姓名', key: 'realname', props: { - placeholder: '请输入角色名称' + placeholder: '请输入用户姓名' } }, { @@ -22,6 +27,7 @@ const data = [ type: 'select', key: 'roleId', props: { + placeholder: '请选择用户角色', options: rolesOptions } }