diff --git a/src/api/system/field.ts b/src/api/system/field.ts index 6f60186..415d815 100644 --- a/src/api/system/field.ts +++ b/src/api/system/field.ts @@ -8,7 +8,7 @@ export const getModelList = () => { }) } -export const getFields = (params) => { +export const getFields = (params: { fullName: string; roleId: any }) => { return request({ url: url + 'getFields', method: 'get', @@ -30,3 +30,11 @@ export const addOrUpdateSysRoleField = (roleId: any, data: any) => { data }) } + +export const fieldDisplay = (params: { queryKey: string }) => { + return request({ + url: url + 'fieldDisplay', + method: 'post', + params + }) +} diff --git a/src/views/system/rolefields/index.vue b/src/views/system/rolefields/index.vue index 669580b..60ecea8 100644 --- a/src/views/system/rolefields/index.vue +++ b/src/views/system/rolefields/index.vue @@ -85,22 +85,39 @@ const getList = async () => { modelList.value = data cardLoading.value = false } -const handleCurrentChange = async (val: any) => { + +const currentRow = ref() +const handleCurrentChange = (val: any) => { if (val) { - fieldListLoading.value = true - const { data } = await getFields({ fullName: val.fullName, roleId: route.query.roleId }) - fieldList.value = data - fieldListLoading.value = false + currentRow.value = val + handleLoadFieldList() } else { fieldList.value = [] } } +const handleLoadFieldList = async () => { + fieldListLoading.value = true + try { + const val = currentRow.value + const { data } = await getFields({ fullName: val.fullName, roleId: route.query.roleId }) + fieldList.value = data + } catch (e) { + console.error(e) + } + fieldListLoading.value = false +} + const fieldListLoading = ref(false) const saveBtnLoading = ref(false) const handleSave = async () => { saveBtnLoading.value = true - await addOrUpdateSysRoleField(route.query.roleId, fieldList.value) - modal.msgSuccess('保存成功') + try { + await addOrUpdateSysRoleField(route.query.roleId, fieldList.value) + modal.msgSuccess('保存成功') + handleLoadFieldList() + } catch (e) { + console.error(e) + } saveBtnLoading.value = false } onMounted(() => {