create coupon section

This commit is contained in:
HAM!DREZA
2024-06-27 18:58:38 +03:30
parent 77e89513e6
commit a3c5108151
12 changed files with 305 additions and 205 deletions
+33 -25
View File
@@ -4,7 +4,7 @@
<div class="grid grid-cols-3 gap-7">
<div class="flex flex-col gap-1">
<FloatLabel>
<InputText class="w-full custom-input" v-model="date" />
<InputText class="w-full custom-input" v-model="coupon.startDate" />
<label>{{ $t("تاریخ شروع") }}</label>
</FloatLabel>
<date-picker
@@ -13,7 +13,7 @@
display-format="jYYYY-jMM-jDD HH:mm"
:timezone="true"
color="dimgray"
v-model="date"
v-model="coupon.startDate"
simple
custom-input=".custom-input"
></date-picker>
@@ -21,7 +21,7 @@
<div class="flex flex-col gap-1">
<FloatLabel>
<InputText class="w-full custom-input2" v-model="date2" />
<InputText class="w-full custom-input2" v-model="coupon.endDate" />
<label>{{ $t("تاریخ پایان") }}</label>
</FloatLabel>
<date-picker
@@ -30,14 +30,14 @@
display-format="jYYYY-jMM-jDD HH:mm"
:timezone="true"
color="dimgray"
v-model="date2"
v-model="coupon.endDate"
simple
custom-input=".custom-input2"
></date-picker>
</div>
<div class="flex flex-col gap-1">
<FloatLabel>
<InputText class="w-full" v-model="course.duration" />
<InputText class="w-full" v-model="coupon.code" />
<label>{{ $t("کد تخفیف") }}</label>
</FloatLabel>
</div>
@@ -45,7 +45,8 @@
<div class="flex flex-col gap-1">
<FloatLabel>
<Dropdown
v-model="noe"
v-model="type"
@change="setType"
:options="['مبلغ', 'درصد']"
:optionLabel="levels"
:optionValue="levels"
@@ -56,24 +57,24 @@
</div>
<div v-if="noe === 'مبلغ'" class="flex flex-col gap-1">
<FloatLabel>
<InputText class="w-full" />
<InputText class="w-full" v-model="coupon.price"/>
<label>{{ $t("مبلغ تخفیف") }}</label>
</FloatLabel>
</div>
<div v-if="noe === 'درصد'" class="flex flex-col gap-1">
<FloatLabel>
<InputText class="w-full" />
<InputText class="w-full" v-model="coupon.percent"/>
<label>{{ $t("درصد تخفیف") }}</label>
</FloatLabel>
</div>
<div class="flex flex-col gap-1 my-custom-container inline">
<!-- <div class="flex flex-col gap-1 my-custom-container inline">
<FloatLabel>
<InputText class="w-full" />
<label>{{ $t("تخفیف برای همه کاربران") }}</label>
</FloatLabel>
</div>
</div> -->
</div>
<div class="flex pt-4 justify-end">
@@ -82,7 +83,7 @@
icon="pi pi-save"
severity="success"
:loading="saving"
@click="create(course)"
@click="create(coupon)"
/>
</div>
</Panel>
@@ -91,28 +92,35 @@
<script setup>
import { useProductsStore } from "@/stores/products";
import { useDiscountStore } from "@/stores/discounts"
import { ref, watchEffect, reactive } from "vue";
import moment from 'moment-jalaali'
const date= ref(null)
const date2= ref(null)
const noe = ref('مبلغ')
const store = useProductsStore();
const discount = useDiscountStore();
const data = ref(null);
const course = reactive({
name: "",
description: "",
slug: "",
duration: "",
image: "",
categories: "",
price: 0,
teacher: "",
completionPercentage: 0,
level: "",
language: "",
countOfVideos: 0,
totalFileSize: "",
const type = ref(null);
const setType = (val) => {
if (val.value === 'درصد') {
coupon.discountType = 'percent'
}else{
coupon.discountType = 'price'
}
}
const coupon = reactive({
startDate: "",
endDate: "",
code: "",
discountType: type.value,
price: "",
percent: null,
allUsers: true
});
const create = async(coupon) => {
const datas = await discount.add(coupon)
}
</script>
<style scoped>