feat: add withdraw request functionality and UI components

This commit is contained in:
2026-08-27 02:39:57 +03:30
parent aeef95339d
commit 4ce663c669
115 changed files with 4064 additions and 315 deletions
@@ -86,6 +86,14 @@ const items: Ref<SidebarItem[]> = ref([
permission: "reports.index",
expanded: false,
},
{
label: "درخواست‌های برداشت",
icon: "fi fi-rr-wallet",
to: "/admin/withdraw-requests",
key: 'withdrawals',
permission: "withdrawals.index",
expanded: false,
},
{
label: "مدیریت شیفت ها",
icon: "fi fi-rr-calendar",
@@ -251,7 +251,6 @@ const getColumnStyle = (column) => {
<div class="grid grid-cols-1 items-center justify-start">
<InputText
size="small"
class="placeholder:!font-light placeholder:!text-xs !h-10"
placeholder="جستجو..."
type="text"
v-model="localSearchValue"
@@ -274,8 +273,7 @@ const getColumnStyle = (column) => {
optionLabel="label"
optionValue="value"
size="small"
:pt="{label : '!text-[12px] !pt-2.5' , option : '!text-[12px] !font-normal'}"
class="min-w-[130px] max-sm:!w-full max-w-[200px] !text-[12px] !h-10"
class="min-w-[130px] max-sm:!w-full max-w-[200px]"
:loading="renderFilter(column).loading"
:disabled="renderFilter(column).loading"
:filter="renderFilter(column).search"
@@ -297,8 +295,7 @@ const getColumnStyle = (column) => {
optionLabel="label"
optionValue="value"
size="small"
:pt="{label : '!text-[12px] !pt-2.5' , option : '!text-[12px] !font-normal'}"
class="min-w-[150px] max-sm:!w-full max-w-[200px] !text-[12px] !h-10"
class="min-w-[150px] max-sm:!w-full max-w-[200px]"
:loading="renderFilter(column).loading"
:disabled="renderFilter(column).loading"
:filter="renderFilter(column).search"
@@ -11,10 +11,14 @@ const props = defineProps({
shifts: {
type: Array,
required: true
},
selectable: {
type: Boolean,
default: false
}
})
const emit = defineEmits(['select-shift']);
const emit = defineEmits(['select-shift', 'select-range']);
const doctorPalette = ['#576989', '#800E13', '#50CD89', '#7239EA', '#FFC700', '#F1416C', '#009EF7', '#965457'];
@@ -71,6 +75,11 @@ const calendarOptions = computed(() => ({
eventClick: (info) => {
emit('select-shift', info.event.extendedProps.shift);
},
selectable: props.selectable,
selectMirror: true,
select: (info) => {
emit('select-range', { start: info.start, end: info.end });
},
}))
const goPrev = () => calendarRef.value?.getApi().prev();
@@ -45,15 +45,11 @@ const props = defineProps({
},
class: {
type: String,
default: '!text-xs !h-full'
default: 'w-full'
},
pt: {
type: Object,
default: () => ({
option: '!text-sm',
placeholder: '!text-sm',
label: '!pt-3'
})
default: () => ({})
}
})