fix
Deploy banu-front / deploy (push) Successful in 1m19s

This commit is contained in:
sajjadtalkhabi
2026-06-05 14:41:38 +03:30
parent d42b7aaa7b
commit 1c665830b0
27 changed files with 565 additions and 617 deletions
@@ -7,12 +7,12 @@
</template>
</TextField>
<SelectField
v-model="form.roleId"
name="roleId"
v-model="form.role"
name="role"
label="نقش کاربر"
:options="roleOptions"
:options="ROLES"
option-label="label"
option-value="id"
option-value="value"
/>
<TextField
v-model="form.nationalCode"
@@ -66,18 +66,17 @@
</template>
<script setup>
import { ROLE_LABELS } from '@/enums'
import { ROLES } from '@/enums'
import { computed, ref, watch } from 'vue'
import SvgIcon from '@/components/icons/SvgIcon.vue'
import TextField from '@/components/form/TextField.vue'
import CircleButton from '@/components/CircleButton.vue'
import SelectField from '@/components/form/SelectField.vue'
import { useAdminRolesListQuery } from '@/services/query/admin-users'
const props = defineProps({
modelValue: {
type: Object,
default: () => ({ name: '', nationalCode: '', phoneNumber: '', roleId: '' }),
default: () => ({ name: '', nationalCode: '', phoneNumber: '', role: '' }),
},
})
@@ -92,11 +91,6 @@ watch(
{ deep: true }
)
const { data: roles = ref([]) } = useAdminRolesListQuery()
const roleOptions = computed(() =>
(roles.value ?? []).map((r) => ({ ...r, label: ROLE_LABELS[r.name] || r.name }))
)
const hasFilters = computed(() =>
Object.values(form.value).some((v) => v !== '' && v !== null && v !== undefined)
)
@@ -107,7 +101,7 @@ const onSubmit = () => {
}
const onReset = () => {
form.value = { name: '', nationalCode: '', phoneNumber: '', roleId: '' }
form.value = { name: '', nationalCode: '', phoneNumber: '', role: '' }
emit('update:modelValue', { ...form.value })
emit('reset')
}
@@ -66,11 +66,11 @@
</template>
<script setup>
import { ROLES } from '@/enums'
import { computed, ref } from 'vue'
import { useQueryClient } from '@tanstack/vue-query'
import SvgIcon from '@/components/icons/SvgIcon.vue'
import BaseButton from '@/components/BaseButton.vue'
import { CHANGEABLE_ROLES, ROLE_LABELS } from '@/enums'
import DropdownMenu from '@/components/DropdownMenu.vue'
import { adminUsersKeys, useUpdateAdminUserRoleMutation } from '@/services/query/admin-users'
@@ -99,7 +99,8 @@ const roleName = (user) => {
const roleLabel = (user) => {
const name = roleName(user)
return name ? ROLE_LABELS[name] || name : ''
if (!name) return ''
return ROLES.find((r) => r.value === name)?.label || name
}
const menuOpen = ref(false)
@@ -146,11 +147,11 @@ const onChangeRole = (targetRoleName) => {
const roleMenuItems = computed(() => {
const current = activeUser.value ? roleName(activeUser.value) : null
return CHANGEABLE_ROLES.filter((r) => r !== current).map((r) => ({
key: `role-${r}`,
label: `تغییر به ${ROLE_LABELS[r]}`,
return ROLES.filter((r) => r.changeable && r.value !== current).map((r) => ({
key: `role-${r.value}`,
label: `تغییر به ${r.label}`,
icon: 'arrows-clockwise',
onClick: () => onChangeRole(r),
onClick: () => onChangeRole(r.value),
}))
})
@@ -73,7 +73,7 @@ const router = useRouter()
const queryClient = useQueryClient()
const { openModal, isModal } = useModal()
const filters = ref({ name: '', nationalCode: '', phoneNumber: '', roleId: '' })
const filters = ref({ name: '', nationalCode: '', phoneNumber: '', role: '' })
const { pagination, setPage, reset: resetPagination } = usePagination({ page: 1, perPage: 10 })
const { data, isLoading } = useAdminUsersListQuery(filters, pagination, {