|
|
@@ -11,7 +11,6 @@
|
|
|
|
@chargeMoney="walletMoneyCharge"
|
|
|
|
@chargeMoney="walletMoneyCharge"
|
|
|
|
@chargeGold="walletGoldCharge"
|
|
|
|
@chargeGold="walletGoldCharge"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- <BasicMenu :menu="menu" width="13rem" @onChange="tabSelected" />
|
|
|
|
<!-- <BasicMenu :menu="menu" width="13rem" @onChange="tabSelected" />
|
|
|
|
<component :is="selectedComponent" class="mr-5" />-->
|
|
|
|
<component :is="selectedComponent" class="mr-5" />-->
|
|
|
|
<!-- <BasicShowContext title="پروژه ها"> <Search /> </BasicShowContext>-->
|
|
|
|
<!-- <BasicShowContext title="پروژه ها"> <Search /> </BasicShowContext>-->
|
|
|
@@ -43,7 +42,7 @@
|
|
|
|
<div>
|
|
|
|
<div>
|
|
|
|
<div v-if="methodOption === '1'" class="md:flex items-center justify-between md:w-[25rem]">
|
|
|
|
<div v-if="methodOption === '1'" class="md:flex items-center justify-between md:w-[25rem]">
|
|
|
|
<div>قیمت وسط :</div>
|
|
|
|
<div>قیمت وسط :</div>
|
|
|
|
<BasicInput class="mt-1 md:mt-unset" addon-before="ریال" type="price" v-model:value="form.price" />
|
|
|
|
<BasicInput class="mt-1 md:mt-unset" addon-before="ریال" type="price" v-model:value="form.price"/>
|
|
|
|
<AButton
|
|
|
|
<AButton
|
|
|
|
class="border-green text-green mt-1 md:mt-unset rounded-full aspect-square"
|
|
|
|
class="border-green text-green mt-1 md:mt-unset rounded-full aspect-square"
|
|
|
|
size="small"
|
|
|
|
size="small"
|
|
|
@@ -52,7 +51,7 @@
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<template #icon>
|
|
|
|
<template #icon>
|
|
|
|
<div class="flex items-center justify-center">
|
|
|
|
<div class="flex items-center justify-center">
|
|
|
|
<Icon icon="vuesax-linear:add" size="20" />
|
|
|
|
<Icon icon="vuesax-linear:add" size="20"/>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</AButton>
|
|
|
|
</AButton>
|
|
|
@@ -64,7 +63,7 @@
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<template #icon>
|
|
|
|
<template #icon>
|
|
|
|
<div class="flex items-center justify-center">
|
|
|
|
<div class="flex items-center justify-center">
|
|
|
|
<Icon icon="vuesax-linear:minus" size="20" />
|
|
|
|
<Icon icon="vuesax-linear:minus" size="20"/>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</AButton>
|
|
|
|
</AButton>
|
|
|
@@ -96,7 +95,7 @@
|
|
|
|
<div v-if="weightOption === '1'" class="flex items-center">
|
|
|
|
<div v-if="weightOption === '1'" class="flex items-center">
|
|
|
|
<span class="ml-4 ">وزن به گرم :</span>
|
|
|
|
<span class="ml-4 ">وزن به گرم :</span>
|
|
|
|
<div class="">
|
|
|
|
<div class="">
|
|
|
|
<BasicInput v-model:value="form.amount" type="number" />
|
|
|
|
<BasicInput v-model:value="form.amount" type="number"/>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="mt-1 mr-4" v-if="form.amount && form.amount < 1 && 0 < form.amount">
|
|
|
|
<div class="mt-1 mr-4" v-if="form.amount && form.amount < 1 && 0 < form.amount">
|
|
|
|
معادل {{ form.amount * 1000 }} سوت
|
|
|
|
معادل {{ form.amount * 1000 }} سوت
|
|
|
@@ -106,10 +105,11 @@
|
|
|
|
<a-form :model="form" ref="formRef" autocomplete="off">
|
|
|
|
<a-form :model="form" ref="formRef" autocomplete="off">
|
|
|
|
<div class="grid md:grid-cols-2 gap-4">
|
|
|
|
<div class="grid md:grid-cols-2 gap-4">
|
|
|
|
<a-form-item label="عنوان" name="title" :rules="inputRules()">
|
|
|
|
<a-form-item label="عنوان" name="title" :rules="inputRules()">
|
|
|
|
<BasicInput v-model:value="form.title" />
|
|
|
|
<BasicInput v-model:value="form.title"/>
|
|
|
|
</a-form-item>
|
|
|
|
</a-form-item>
|
|
|
|
|
|
|
|
|
|
|
|
<a-form-item v-if="getConfigApp('name') === 'garoosi'" label="دسته بندی" name="group_type" :rules="inputRules()">
|
|
|
|
<a-form-item v-if="getConfigApp('name') === 'garoosi'" label="دسته بندی" name="group_type"
|
|
|
|
|
|
|
|
:rules="inputRules()">
|
|
|
|
<BasicSelect
|
|
|
|
<BasicSelect
|
|
|
|
v-model:value="form.group_type"
|
|
|
|
v-model:value="form.group_type"
|
|
|
|
:items="GaroosiCategoryItems"
|
|
|
|
:items="GaroosiCategoryItems"
|
|
|
@@ -145,44 +145,54 @@
|
|
|
|
<!-- <a-form-item v-if="weightOption === '1'" label="وزن به گرم" name="amount" :rules="inputRules()">
|
|
|
|
<!-- <a-form-item v-if="weightOption === '1'" label="وزن به گرم" name="amount" :rules="inputRules()">
|
|
|
|
<BasicInput v-model:value="form.amount" type="number" />
|
|
|
|
<BasicInput v-model:value="form.amount" type="number" />
|
|
|
|
</a-form-item>-->
|
|
|
|
</a-form-item>-->
|
|
|
|
vite build
|
|
|
|
|
|
|
|
<a-form-item v-if="form.group_type === '' || form.group_type !== 'آبشده'"
|
|
|
|
<a-form-item v-if="form.group_type === '' || form.group_type !== 'آبشده'"
|
|
|
|
name="percent_fee_buy" :rules="inputRules()">
|
|
|
|
name="percent_fee_buy" :rules="inputRules()">
|
|
|
|
<template #label>
|
|
|
|
<template #label>
|
|
|
|
<span class="inline-flex items-center gap-1">
|
|
|
|
<span class="inline-flex items-center gap-1">
|
|
|
|
کارمزد درصدی موقع خرید
|
|
|
|
کارمزد درصدی موقع خرید
|
|
|
|
<a-tooltip placement="bottom" class="cursor-pointer">
|
|
|
|
|
|
|
|
|
|
|
|
<a-tooltip
|
|
|
|
|
|
|
|
placement="top"
|
|
|
|
|
|
|
|
>
|
|
|
|
<template #title>
|
|
|
|
<template #title>
|
|
|
|
<span>مقدار باید به اعشار وارد گردد بعنوان مثال 1 درصد به صورت 0.01 باید وارد گردد.</span>
|
|
|
|
مقدار باید به اعشار وارد گردد بعنوان مثال 1 درصد به صورت 0.01 باید وارد گردد.
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<Icon icon="vuesax-linear:info-circle" class="cursor-pointer" color="#e3bf00" />
|
|
|
|
|
|
|
|
|
|
|
|
<span class="inline-flex cursor-pointer">
|
|
|
|
|
|
|
|
<Icon
|
|
|
|
|
|
|
|
icon="vuesax-linear:info-circle"
|
|
|
|
|
|
|
|
color="#e3bf00"
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
</a-tooltip>
|
|
|
|
</a-tooltip>
|
|
|
|
|
|
|
|
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<BasicInput v-model:value="form.percent_fee_buy" type="number" />
|
|
|
|
<BasicInput v-model:value="form.percent_fee_buy" type="number"/>
|
|
|
|
</a-form-item>
|
|
|
|
</a-form-item>
|
|
|
|
<a-form-item v-if="form.group_type === '' || form.group_type !== 'آبشده'"
|
|
|
|
<a-form-item v-if="form.group_type === '' || form.group_type !== 'آبشده'"
|
|
|
|
label="هزینه نقدی موقع خرید" name="cash_fee_buy" :rules="inputRules()">
|
|
|
|
label="هزینه نقدی موقع خرید" name="cash_fee_buy" :rules="inputRules()">
|
|
|
|
<BasicInput v-model:value="form.cash_fee_buy" type="number" />
|
|
|
|
<BasicInput v-model:value="form.cash_fee_buy" type="number"/>
|
|
|
|
</a-form-item>
|
|
|
|
</a-form-item>
|
|
|
|
|
|
|
|
|
|
|
|
<a-form-item v-if="form.group_type === '' || form.group_type !== 'آبشده'"
|
|
|
|
<a-form-item v-if="form.group_type === '' || form.group_type !== 'آبشده'"
|
|
|
|
name="percent_fee_sell" :rules="inputRules()">
|
|
|
|
name="percent_fee_sell" :rules="inputRules()">
|
|
|
|
<template #label>
|
|
|
|
<template #label>
|
|
|
|
<span class="inline-flex items-center gap-1">
|
|
|
|
<span class="inline-flex items-center gap-1">
|
|
|
|
کارمزد درصدی موقع فروش
|
|
|
|
کارمزد درصدی موقع فروش
|
|
|
|
<a-tooltip placement="bottom" class="cursor-pointer">
|
|
|
|
<a-tooltip placement="top" class="cursor-pointer" :zIndex="9999">
|
|
|
|
<template #title>
|
|
|
|
<template #title>
|
|
|
|
<span>مقدار باید به اعشار وارد گردد بعنوان مثال 1 درصد به صورت 0.01 باید وارد گردد</span>
|
|
|
|
<span>مقدار باید به اعشار وارد گردد بعنوان مثال 1 درصد به صورت 0.01 باید وارد گردد</span>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<Icon icon="vuesax-linear:info-circle" class="cursor-pointer" color="#e3bf00" />
|
|
|
|
<Icon icon="vuesax-linear:info-circle" class="cursor-pointer" color="#e3bf00"/>
|
|
|
|
</a-tooltip>
|
|
|
|
</a-tooltip>
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<BasicInput v-model:value="form.percent_fee_sell" type="number" />
|
|
|
|
<BasicInput v-model:value="form.percent_fee_sell" type="number"/>
|
|
|
|
</a-form-item>
|
|
|
|
</a-form-item>
|
|
|
|
<a-form-item v-if="form.group_type === '' || form.group_type !== 'آبشده'"
|
|
|
|
<a-form-item v-if="form.group_type === '' || form.group_type !== 'آبشده'"
|
|
|
|
label="هزینه نقدی موقع فروش" name="cash_fee_sell" :rules="inputRules()">
|
|
|
|
label="هزینه نقدی موقع فروش" name="cash_fee_sell" :rules="inputRules()">
|
|
|
|
<BasicInput v-model:value="form.cash_fee_sell" type="number" />
|
|
|
|
<BasicInput v-model:value="form.cash_fee_sell" type="number"/>
|
|
|
|
</a-form-item>
|
|
|
|
</a-form-item>
|
|
|
|
<a-form-item label="زمان شروع فعال سازی" name="auto_open_at">
|
|
|
|
<a-form-item label="زمان شروع فعال سازی" name="auto_open_at">
|
|
|
|
<TimePicker
|
|
|
|
<TimePicker
|
|
|
@@ -271,20 +281,20 @@
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<BasicInfoItem title="کد کاربری" :value="userInfo?.id" />
|
|
|
|
<BasicInfoItem title="کد کاربری" :value="userInfo?.id"/>
|
|
|
|
<BasicInfoItem title="نوع کاربر" :value="userInfo?.type_str" />
|
|
|
|
<BasicInfoItem title="نوع کاربر" :value="userInfo?.type_str"/>
|
|
|
|
<BasicInfoItem
|
|
|
|
<BasicInfoItem
|
|
|
|
title="تاریخ تولد"
|
|
|
|
title="تاریخ تولد"
|
|
|
|
:value="userInfo?.birth_date ? toJalaliNoTime(userInfo?.birth_date) : '_'"
|
|
|
|
:value="userInfo?.birth_date ? toJalaliNoTime(userInfo?.birth_date) : '_'"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
<BasicInfoItem title="شماره ملی" :value="userInfo?.n_code ?? '_'" />
|
|
|
|
<BasicInfoItem title="شماره ملی" :value="userInfo?.n_code ?? '_'"/>
|
|
|
|
<BasicInfoItem title="نام استان" :value="userInfo?.province ?? '_'" />
|
|
|
|
<BasicInfoItem title="نام استان" :value="userInfo?.province ?? '_'"/>
|
|
|
|
<BasicInfoItem title="نام شهر" :value="userInfo?.city ?? '_'" />
|
|
|
|
<BasicInfoItem title="نام شهر" :value="userInfo?.city ?? '_'"/>
|
|
|
|
<BasicInfoItem
|
|
|
|
<BasicInfoItem
|
|
|
|
title="سقف اعتبار"
|
|
|
|
title="سقف اعتبار"
|
|
|
|
:value="userInfo?.gram ? `${userInfo?.gram} گرم` : '_'"
|
|
|
|
:value="userInfo?.gram ? `${userInfo?.gram} گرم` : '_'"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
<BasicInfoItem title="کد معرف" :value="userInfo?.referral_id" />
|
|
|
|
<BasicInfoItem title="کد معرف" :value="userInfo?.referral_id"/>
|
|
|
|
<BasicInfoItem
|
|
|
|
<BasicInfoItem
|
|
|
|
title="کد معرف کاربر"
|
|
|
|
title="کد معرف کاربر"
|
|
|
|
:value="userInfo?.referral ? userInfo?.referral?.id : '_'"
|
|
|
|
:value="userInfo?.referral ? userInfo?.referral?.id : '_'"
|
|
|
@@ -301,7 +311,7 @@
|
|
|
|
title="حداکثر معرفی"
|
|
|
|
title="حداکثر معرفی"
|
|
|
|
:value="userInfo?.add_user_limit ? `${userInfo?.add_user_limit} نفر` : '_'"
|
|
|
|
:value="userInfo?.add_user_limit ? `${userInfo?.add_user_limit} نفر` : '_'"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
<BasicInfoItem title="آخرین بازدید" :value="toJalali(userInfo?.last_seen_at)" />
|
|
|
|
<BasicInfoItem title="آخرین بازدید" :value="toJalali(userInfo?.last_seen_at)"/>
|
|
|
|
<BasicInfoItem title="وضعیت سفارش دهی">
|
|
|
|
<BasicInfoItem title="وضعیت سفارش دهی">
|
|
|
|
<CustomTag
|
|
|
|
<CustomTag
|
|
|
|
:textColor="userInfo?.trade_active === 1 ? '#25855A' : '#C53030'"
|
|
|
|
:textColor="userInfo?.trade_active === 1 ? '#25855A' : '#C53030'"
|
|
|
@@ -321,25 +331,25 @@
|
|
|
|
title="نام قلک"
|
|
|
|
title="نام قلک"
|
|
|
|
:value="item?.fund ? item?.fund?.title : 'کیف پول طلایی'"
|
|
|
|
:value="item?.fund ? item?.fund?.title : 'کیف پول طلایی'"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
<BasicInfoItem title="مقدار طلا" :value="`${item?.gold} گرم`" />
|
|
|
|
<BasicInfoItem title="مقدار طلا" :value="`${item?.gold} گرم`"/>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</a-tab-pane>
|
|
|
|
</a-tab-pane>
|
|
|
|
<a-tab-pane key="لیست سفارشات" tab="لیست سفارشات">
|
|
|
|
<a-tab-pane key="لیست سفارشات" tab="لیست سفارشات">
|
|
|
|
<orders-tbl ref="orderTable" :customerId="userInfo?.id" @info="infoOrder" />
|
|
|
|
<orders-tbl ref="orderTable" :customerId="userInfo?.id" @info="infoOrder"/>
|
|
|
|
</a-tab-pane>
|
|
|
|
</a-tab-pane>
|
|
|
|
<a-tab-pane key="لیست تراکنش ها" tab="لیست تراکنش ها">
|
|
|
|
<a-tab-pane key="لیست تراکنش ها" tab="لیست تراکنش ها">
|
|
|
|
<transactions-tbl ref="transactionTable" :customerId="userInfo?.id" />
|
|
|
|
<transactions-tbl ref="transactionTable" :customerId="userInfo?.id"/>
|
|
|
|
</a-tab-pane>
|
|
|
|
</a-tab-pane>
|
|
|
|
<a-tab-pane key="پیامک ها" tab="پیامک ها">
|
|
|
|
<a-tab-pane key="پیامک ها" tab="پیامک ها">
|
|
|
|
<sms-tbl ref="smsTable" :mobile="userInfo?.mobile" />
|
|
|
|
<sms-tbl ref="smsTable" :mobile="userInfo?.mobile"/>
|
|
|
|
</a-tab-pane>
|
|
|
|
</a-tab-pane>
|
|
|
|
<a-tab-pane key="معرفی کرده ها" tab="معرفی کرده ها">
|
|
|
|
<a-tab-pane key="معرفی کرده ها" tab="معرفی کرده ها">
|
|
|
|
<ReferralsTable ref="referralTable" :customerId="userInfo?.id" />
|
|
|
|
<ReferralsTable ref="referralTable" :customerId="userInfo?.id"/>
|
|
|
|
</a-tab-pane>
|
|
|
|
</a-tab-pane>
|
|
|
|
<a-tab-pane key="قلک ها" tab="قلک ها">
|
|
|
|
<a-tab-pane key="قلک ها" tab="قلک ها">
|
|
|
|
<FundsTable ref="fundTable" :customerId="userInfo?.id" />
|
|
|
|
<FundsTable ref="fundTable" :customerId="userInfo?.id"/>
|
|
|
|
</a-tab-pane>
|
|
|
|
</a-tab-pane>
|
|
|
|
</a-tabs>
|
|
|
|
</a-tabs>
|
|
|
|
</BasicModal>
|
|
|
|
</BasicModal>
|
|
|
@@ -353,13 +363,13 @@
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<a-form :model="formCharge" ref="formChargeRef" autocomplete="off">
|
|
|
|
<a-form :model="formCharge" ref="formChargeRef" autocomplete="off">
|
|
|
|
<a-form-item label="مقدار شارژ " name="value" :rules="inputRules()">
|
|
|
|
<a-form-item label="مقدار شارژ " name="value" :rules="inputRules()">
|
|
|
|
<BasicInput addon-before="ریال" v-model:value="formCharge.value" type="price" />
|
|
|
|
<BasicInput addon-before="ریال" v-model:value="formCharge.value" type="price"/>
|
|
|
|
<div v-show="formCharge.value > 10">
|
|
|
|
<div v-show="formCharge.value > 10">
|
|
|
|
معادل {{ usePrice(formCharge.value / 10, true, "تومان") }}
|
|
|
|
معادل {{ usePrice(formCharge.value / 10, true, "تومان") }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</a-form-item>
|
|
|
|
</a-form-item>
|
|
|
|
<a-form-item label="علت شارژ " name="value" :rules="inputRules()">
|
|
|
|
<a-form-item label="علت شارژ " name="value" :rules="inputRules()">
|
|
|
|
<BasicInput v-model:value="formCharge.note" />
|
|
|
|
<BasicInput v-model:value="formCharge.note"/>
|
|
|
|
</a-form-item>
|
|
|
|
</a-form-item>
|
|
|
|
</a-form>
|
|
|
|
</a-form>
|
|
|
|
</BasicModal>
|
|
|
|
</BasicModal>
|
|
|
@@ -373,13 +383,13 @@
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<a-form :model="formCharge" ref="formChargeRef" autocomplete="off">
|
|
|
|
<a-form :model="formCharge" ref="formChargeRef" autocomplete="off">
|
|
|
|
<a-form-item label="مقدار شارژ " name="value" :rules="inputRules()">
|
|
|
|
<a-form-item label="مقدار شارژ " name="value" :rules="inputRules()">
|
|
|
|
<BasicInput addon-before="گرم" v-model:value="formCharge.value" type="number" />
|
|
|
|
<BasicInput addon-before="گرم" v-model:value="formCharge.value" type="number"/>
|
|
|
|
<!-- <div v-show="formCharge.value > 10">
|
|
|
|
<!-- <div v-show="formCharge.value > 10">
|
|
|
|
معادل {{ usePrice(formCharge.value / 10, true, 'تومان') }}
|
|
|
|
معادل {{ usePrice(formCharge.value / 10, true, 'تومان') }}
|
|
|
|
</div>-->
|
|
|
|
</div>-->
|
|
|
|
</a-form-item>
|
|
|
|
</a-form-item>
|
|
|
|
<a-form-item label="علت شارژ " name="value" :rules="inputRules()">
|
|
|
|
<a-form-item label="علت شارژ " name="value" :rules="inputRules()">
|
|
|
|
<BasicInput v-model:value="formCharge.note" />
|
|
|
|
<BasicInput v-model:value="formCharge.note"/>
|
|
|
|
</a-form-item>
|
|
|
|
</a-form-item>
|
|
|
|
</a-form>
|
|
|
|
</a-form>
|
|
|
|
</BasicModal>
|
|
|
|
</BasicModal>
|
|
|
@@ -398,33 +408,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
|
<script setup lang="ts">
|
|
|
|
// import BasicInfoModal from '@/components/BasicInfoModal'
|
|
|
|
// import BasicInfoModal from '@/components/BasicInfoModal'
|
|
|
|
import { Collapse, FormItem, message, Textarea, Form, TimePicker } from "ant-design-vue";
|
|
|
|
import {Collapse, FormItem, message, Textarea, Form, TimePicker} from "ant-design-vue";
|
|
|
|
import { inputLenRules, inputRules } from "@/utils/inputRules";
|
|
|
|
import {inputLenRules, inputRules} from "@/utils/inputRules";
|
|
|
|
import { useStaticApiListsStore } from "@/store/staticApisStore";
|
|
|
|
import {useStaticApiListsStore} from "@/store/staticApisStore";
|
|
|
|
import { ref, watch } from "vue";
|
|
|
|
import {ref, watch} from "vue";
|
|
|
|
import tbl from "./components/table.vue";
|
|
|
|
import tbl from "./components/table.vue";
|
|
|
|
import type { FormInstance } from "ant-design-vue";
|
|
|
|
import type {FormInstance} from "ant-design-vue";
|
|
|
|
import BasicInfoModal from "@/components/BasicInfoModal/index.vue";
|
|
|
|
import BasicInfoModal from "@/components/BasicInfoModal/index.vue";
|
|
|
|
import type { Info } from "@/components/BasicInfoModal/model/Info";
|
|
|
|
import type {Info} from "@/components/BasicInfoModal/model/Info";
|
|
|
|
import { toJalali, toJalaliNoTime, toTime } from "@core/utils/useDataTime";
|
|
|
|
import {toJalali, toJalaliNoTime, toTime} from "@core/utils/useDataTime";
|
|
|
|
import { confirmDeleteItem } from "@/utils/confirmModal";
|
|
|
|
import {confirmDeleteItem} from "@/utils/confirmModal";
|
|
|
|
import { cloneDeep } from "lodash";
|
|
|
|
import {cloneDeep} from "lodash";
|
|
|
|
import type { Item } from "@/model/Item";
|
|
|
|
import type {Item} from "@/model/Item";
|
|
|
|
import type { Customer } from "@/model/customer";
|
|
|
|
import type {Customer} from "@/model/customer";
|
|
|
|
import { createProduct, deleteCustomer, updateCustomer } from "@/api/product";
|
|
|
|
import {createProduct, deleteCustomer, updateCustomer} from "@/api/product";
|
|
|
|
import type { Charge } from "@/model/wallet";
|
|
|
|
import type {Charge} from "@/model/wallet";
|
|
|
|
import customers from "@/router/routes/products";
|
|
|
|
import customers from "@/router/routes/products";
|
|
|
|
import { chargeWallet } from "@/api/wallet";
|
|
|
|
import {chargeWallet} from "@/api/wallet";
|
|
|
|
import { usePrice } from "@core/utils/usePrice";
|
|
|
|
import {usePrice} from "@core/utils/usePrice";
|
|
|
|
import jalaliday from "jalaliday";
|
|
|
|
import jalaliday from "jalaliday";
|
|
|
|
import ordersTbl from "@/pages/menuPages/orders/components/table.vue";
|
|
|
|
import ordersTbl from "@/pages/menuPages/orders/components/table.vue";
|
|
|
|
import transactionsTbl from "@/pages/menuPages/transactions/components/table.vue";
|
|
|
|
import transactionsTbl from "@/pages/menuPages/transactions/components/table.vue";
|
|
|
|
import smsTbl from "@/pages/menuPages/sms/components/table.vue";
|
|
|
|
import smsTbl from "@/pages/menuPages/sms/components/table.vue";
|
|
|
|
import FundsTable from "@/pages/menuPages/customers/base/components/fundsTable.vue";
|
|
|
|
import FundsTable from "@/pages/menuPages/customers/base/components/fundsTable.vue";
|
|
|
|
import ReferralsTable from "@/pages/menuPages/customers/base/components/referralsTable.vue";
|
|
|
|
import ReferralsTable from "@/pages/menuPages/customers/base/components/referralsTable.vue";
|
|
|
|
import type { Order } from "@/model/order";
|
|
|
|
import type {Order} from "@/model/order";
|
|
|
|
import Icon from "@core/components/BaseIcon/src/Icon.vue";
|
|
|
|
import Icon from "@core/components/BaseIcon/src/Icon.vue";
|
|
|
|
import type { MethodePrices, Product } from "@/model/product";
|
|
|
|
import type {MethodePrices, Product} from "@/model/product";
|
|
|
|
import IndexImageUploader from "@/components/ProductUploader/IndexImageUploader.vue";
|
|
|
|
import IndexImageUploader from "@/components/ProductUploader/IndexImageUploader.vue";
|
|
|
|
import ProductImageUploader from "@/components/ProductUploader/ProductImageUploader.vue";
|
|
|
|
import ProductImageUploader from "@/components/ProductUploader/ProductImageUploader.vue";
|
|
|
|
|
|
|
|
|
|
|
@@ -468,8 +478,8 @@ function deleteFile() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
import BaseCollapse from "@/pages/menuPages/products/base/components/BaseCollapse.vue";
|
|
|
|
import BaseCollapse from "@/pages/menuPages/products/base/components/BaseCollapse.vue";
|
|
|
|
import { methodePrices } from "@/api/price";
|
|
|
|
import {methodePrices} from "@/api/price";
|
|
|
|
import { getAllPrices } from "@/api/dashboard";
|
|
|
|
import {getAllPrices} from "@/api/dashboard";
|
|
|
|
import dayjs from "dayjs";
|
|
|
|
import dayjs from "dayjs";
|
|
|
|
|
|
|
|
|
|
|
|
const ProductIndexImage = ref<Array<FileList>>([]);
|
|
|
|
const ProductIndexImage = ref<Array<FileList>>([]);
|
|
|
@@ -885,7 +895,7 @@ const minusPrice = () => {
|
|
|
|
|
|
|
|
|
|
|
|
import customParseFormat from "dayjs/plugin/customParseFormat";
|
|
|
|
import customParseFormat from "dayjs/plugin/customParseFormat";
|
|
|
|
import locale from "ant-design-vue/es/date-picker/locale/fa_IR";
|
|
|
|
import locale from "ant-design-vue/es/date-picker/locale/fa_IR";
|
|
|
|
import { getConfigApp } from '@/utils/config'
|
|
|
|
import {getConfigApp} from '@/utils/config'
|
|
|
|
|
|
|
|
|
|
|
|
dayjs.extend(customParseFormat);
|
|
|
|
dayjs.extend(customParseFormat);
|
|
|
|
const customLocale = ref({
|
|
|
|
const customLocale = ref({
|
|
|
|