fix some bug

This commit is contained in:
2026-07-01 22:28:09 +03:30
parent d2c5c20729
commit 3bf249377f
38 changed files with 1872 additions and 1610 deletions
+103 -22
View File
@@ -17,7 +17,7 @@
<BasicActionSheet
v-model:visible="addUserVisible"
:title="`${editId ? 'ویرایش' : 'افزودن'} کاربر`"
modal-width="40rem"
modal-width="55rem"
:loading="loading"
:showButton="true"
:showCancel="true"
@@ -29,47 +29,77 @@
>
<div v-if="isMobile" class="mb-3 text-base font-700">{{ `${editId ? 'ویرایش' : 'افزودن'} کاربر` }}</div>
<a-form :model="form" ref="formRef" autocomplete="off">
<div class="grid md:grid-cols-2 gap-4">
<a-form-item label="نام" name="fname" :rules="inputRules()">
<div class="grid gap-4 md:grid-cols-3">
<a-form-item name="fname" :rules="inputRules()">
<template #label>
<DashboardLabelWithHelp label="نام" :help="fnameHelp" size="sm" />
</template>
<BasicInput v-model:value="form.fname" />
</a-form-item>
<a-form-item label="نام خانوادگی" name="lname" :rules="inputRules()">
<a-form-item name="lname" :rules="inputRules()">
<template #label>
<DashboardLabelWithHelp label="نام خانوادگی" :help="lnameHelp" size="sm" />
</template>
<BasicInput v-model:value="form.lname" />
</a-form-item>
<a-form-item label="شماره همراه" name="mobile" :rules="inputLenRules(11)">
<a-form-item name="mobile" :rules="inputLenRules(11)">
<template #label>
<DashboardLabelWithHelp label="شماره همراه" :help="mobileHelp" size="sm" />
</template>
<BasicInput v-model:value="form.mobile" type="number" />
</a-form-item>
<a-form-item label="پسورد" name="password">
<a-form-item name="password">
<template #label>
<DashboardLabelWithHelp label="پسورد" :help="passwordHelp" size="sm" />
</template>
<BasicInput is-password v-model:value="form.password" />
</a-form-item>
<a-form-item label="تاریخ تولد" name="birth_date">
<a-form-item name="birth_date">
<template #label>
<DashboardLabelWithHelp label="تاریخ تولد" :help="birthDateHelp" size="sm" />
</template>
<BaseDatePicker v-model:value="form.birth_date" />
</a-form-item>
<!-- <a-form-item label="ایمیل" name="email" :rules="inputRules()">
<BasicInput v-model:value="form.email" />
</a-form-item>-->
<!-- <a-form-item label="نام" name="shop_name" :rules="inputRules()">
<BasicInput v-model:value="form.shop_name" />
</a-form-item>-->
<a-form-item label="شماره تلفن" name="phone_number">
<a-form-item name="phone_number">
<template #label>
<DashboardLabelWithHelp label="شماره تلفن" :help="phoneNumberHelp" size="sm" />
</template>
<BasicInput v-model:value="form.phone_number" type="number" />
</a-form-item>
<a-form-item label="نام استان" name="province">
<a-form-item name="province">
<template #label>
<DashboardLabelWithHelp label="نام استان" :help="provinceHelp" size="sm" />
</template>
<BasicInput v-model:value="form.province" />
</a-form-item>
<a-form-item label="نام شهر" name="city">
<a-form-item name="city">
<template #label>
<DashboardLabelWithHelp label="نام شهر" :help="cityHelp" size="sm" />
</template>
<BasicInput v-model:value="form.city" />
</a-form-item>
<a-form-item label="شماره ملی" name="n_code">
<a-form-item name="n_code">
<template #label>
<DashboardLabelWithHelp label="شماره ملی" :help="nCodeHelp" size="sm" />
</template>
<BasicInput v-model:value="form.n_code" />
</a-form-item>
<a-form-item label="میزان پاداش" name="profit_amount">
<a-form-item name="profit_amount">
<template #label>
<DashboardLabelWithHelp label="میزان پاداش" :help="profitAmountHelp" size="sm" />
</template>
<BasicInput v-model:value="form.profit_amount" />
</a-form-item>
<a-form-item label="حداکثر معرفی" name="add_user_limit">
<a-form-item name="add_user_limit">
<template #label>
<DashboardLabelWithHelp label="حداکثر معرفی" :help="addUserLimitHelp" size="sm" />
</template>
<BasicInput v-model:value="form.add_user_limit" />
</a-form-item>
<a-form-item label="نوع مشتری" name="n_code">
<a-form-item name="type">
<template #label>
<DashboardLabelWithHelp label="نوع مشتری" :help="customerTypeHelp" size="sm" />
</template>
<BasicSelect
v-model:value="form.type"
:items="customerItems"
@@ -77,10 +107,16 @@
keyName="key"
/>
</a-form-item>
<a-form-item label="کد معرف" name="n_code">
<a-form-item name="referral_to_id">
<template #label>
<DashboardLabelWithHelp label="کد معرف" :help="referralToIdHelp" size="sm" />
</template>
<BasicInput v-model:value="form.referral_to_id" :disabled="editId" />
</a-form-item>
<a-form-item v-if="editId" label="سقف اعتبار" name="gram" :rules="inputRules()">
<a-form-item v-if="editId" name="gram" :rules="inputRules()">
<template #label>
<DashboardLabelWithHelp label="سقف اعتبار" :help="gramHelp" size="sm" />
</template>
<BasicInput v-model:value="form.gram" />
</a-form-item>
<!-- <a-form-item label="نام چاپی" name="print_name" :rules="inputRules()">
@@ -314,6 +350,51 @@ import {
walletChargeTitle
} from './utils/walletChargeForm'
import { metalLabel } from '@/utils/adminMetalLabels'
import type { DashboardHelp } from '@/pages/dashboard/dashboardSectionCopy'
import DashboardLabelWithHelp from '@/pages/dashboard/components/DashboardLabelWithHelp.vue'
const fnameHelp: DashboardHelp = {
description: 'نام کوچک مشتری که در اپ و پنل نمایش داده می‌شود.',
}
const lnameHelp: DashboardHelp = {
description: 'نام خانوادگی مشتری در پروفایل و گزارش‌ها.',
}
const mobileHelp: DashboardHelp = {
description: 'شماره همراه ۱۱ رقمی برای ورود به اپ و ارسال پیامک.',
}
const passwordHelp: DashboardHelp = {
description: 'رمز عبور ورود به اپ. در ویرایش خالی بگذارید اگر نمی‌خواهید تغییر کند.',
}
const birthDateHelp: DashboardHelp = {
description: 'تاریخ تولد مشتری برای احراز هویت و پرونده کاربری.',
}
const phoneNumberHelp: DashboardHelp = {
description: 'شماره تلفن ثابت (اختیاری) برای تماس.',
}
const provinceHelp: DashboardHelp = {
description: 'نام استان محل سکونت مشتری.',
}
const cityHelp: DashboardHelp = {
description: 'نام شهر محل سکونت مشتری.',
}
const nCodeHelp: DashboardHelp = {
description: 'کد ملی ۱۰ رقمی برای احراز هویت.',
}
const profitAmountHelp: DashboardHelp = {
description: 'میزان پاداش معرفی این کاربر به گرم طلا.',
}
const addUserLimitHelp: DashboardHelp = {
description: 'حداکثر تعداد نفری که این مشتری می‌تواند با کد معرف خود دعوت کند.',
}
const customerTypeHelp: DashboardHelp = {
description: 'نوع مشتری: همکار، خانگی یا سرمایه‌گذار — تعیین‌کننده دسترسی و قوانین معامله.',
}
const referralToIdHelp: DashboardHelp = {
description: 'کد معرف فردی که این مشتری را دعوت کرده. پس از ثبت قابل تغییر نیست.',
}
const gramHelp: DashboardHelp = {
description: 'حداکثر وزن طلایی که این مشتری می‌تواند خرید کند (به گرم).',
}
//tabs
const activeKey = ref('اطلاعات جامع')