feat(settings): add class schedule SMS slots without overwriting names
Let SuperAdmin map start date, class days, and course time, and keep custom sms.ir names when changing the system value.
This commit is contained in:
@@ -98,7 +98,6 @@
|
|||||||
optionValue="value"
|
optionValue="value"
|
||||||
placeholder="انتخاب مقدار داده"
|
placeholder="انتخاب مقدار داده"
|
||||||
class="w-full text-sm"
|
class="w-full text-sm"
|
||||||
@change="onSlotChange(template.key, vIdx)"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -292,7 +291,10 @@ const TEMPLATE_SLOT_DEFS = {
|
|||||||
{ value: 'className', label: 'نام کلاس', defaultName: 'className' },
|
{ value: 'className', label: 'نام کلاس', defaultName: 'className' },
|
||||||
{ value: 'courseName', label: 'نام دوره', defaultName: 'courseName' },
|
{ value: 'courseName', label: 'نام دوره', defaultName: 'courseName' },
|
||||||
{ value: 'fullName', label: 'نام کارآموز', defaultName: 'fullName' },
|
{ value: 'fullName', label: 'نام کارآموز', defaultName: 'fullName' },
|
||||||
{ value: 'phoneNumber', label: 'شماره همراه', defaultName: 'mobile' }
|
{ value: 'phoneNumber', label: 'شماره همراه', defaultName: 'mobile' },
|
||||||
|
{ value: 'classStartDate', label: 'تاریخ شروع کلاس', defaultName: 'classStartDate' },
|
||||||
|
{ value: 'classDays', label: 'روزهای برگزاری (مثلاً شنبه و دوشنبه)', defaultName: 'classDays' },
|
||||||
|
{ value: 'courseTime', label: 'ساعت دوره (مثلاً از ۱۹ تا ۲۱)', defaultName: 'courseTime' }
|
||||||
],
|
],
|
||||||
classReminder: [
|
classReminder: [
|
||||||
{ value: 'className', label: 'نام کلاس', defaultName: 'className' },
|
{ value: 'className', label: 'نام کلاس', defaultName: 'className' },
|
||||||
@@ -300,13 +302,19 @@ const TEMPLATE_SLOT_DEFS = {
|
|||||||
{ value: 'place', label: 'مکان برگزاری', defaultName: 'place' },
|
{ value: 'place', label: 'مکان برگزاری', defaultName: 'place' },
|
||||||
{ value: 'courseName', label: 'نام دوره', defaultName: 'courseName' },
|
{ value: 'courseName', label: 'نام دوره', defaultName: 'courseName' },
|
||||||
{ value: 'fullName', label: 'نام کاربر', defaultName: 'fullName' },
|
{ value: 'fullName', label: 'نام کاربر', defaultName: 'fullName' },
|
||||||
{ value: 'phoneNumber', label: 'شماره همراه', defaultName: 'mobile' }
|
{ value: 'phoneNumber', label: 'شماره همراه', defaultName: 'mobile' },
|
||||||
|
{ value: 'classStartDate', label: 'تاریخ شروع کلاس', defaultName: 'classStartDate' },
|
||||||
|
{ value: 'classDays', label: 'روزهای برگزاری (مثلاً شنبه و دوشنبه)', defaultName: 'classDays' },
|
||||||
|
{ value: 'courseTime', label: 'ساعت دوره (مثلاً از ۱۹ تا ۲۱)', defaultName: 'courseTime' }
|
||||||
],
|
],
|
||||||
invoiceCreated: [
|
invoiceCreated: [
|
||||||
{ value: 'amount', label: 'مبلغ صورتحساب (تومان)', defaultName: 'PAYMENT_PRICE' },
|
{ value: 'amount', label: 'مبلغ صورتحساب (تومان)', defaultName: 'PAYMENT_PRICE' },
|
||||||
{ value: 'fullName', label: 'نام کارآموز', defaultName: 'FULLNAME' },
|
{ value: 'fullName', label: 'نام کارآموز', defaultName: 'FULLNAME' },
|
||||||
{ value: 'course', label: 'نام دوره / کلاس', defaultName: 'COURSE' },
|
{ value: 'course', label: 'نام دوره / کلاس', defaultName: 'COURSE' },
|
||||||
{ value: 'phoneNumber', label: 'شماره همراه', defaultName: 'MOBILE' }
|
{ value: 'phoneNumber', label: 'شماره همراه', defaultName: 'MOBILE' },
|
||||||
|
{ value: 'classStartDate', label: 'تاریخ شروع کلاس', defaultName: 'classStartDate' },
|
||||||
|
{ value: 'classDays', label: 'روزهای برگزاری (مثلاً شنبه و دوشنبه)', defaultName: 'classDays' },
|
||||||
|
{ value: 'courseTime', label: 'ساعت دوره (مثلاً از ۱۹ تا ۲۱)', defaultName: 'courseTime' }
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -330,14 +338,6 @@ const lockedAtLabel = computed(() => {
|
|||||||
return `قفل شده در ${date.toLocaleString('fa-IR')}`;
|
return `قفل شده در ${date.toLocaleString('fa-IR')}`;
|
||||||
});
|
});
|
||||||
|
|
||||||
const onSlotChange = (templateKey, vIdx) => {
|
|
||||||
const form = templateForm.value[templateKey];
|
|
||||||
if (!form || !form.variables[vIdx]) return;
|
|
||||||
const currentVar = form.variables[vIdx];
|
|
||||||
const defaultName = getSlotDefaultName(templateKey, currentVar.slot);
|
|
||||||
currentVar.name = defaultName;
|
|
||||||
};
|
|
||||||
|
|
||||||
const addVariable = (templateKey) => {
|
const addVariable = (templateKey) => {
|
||||||
const form = templateForm.value[templateKey];
|
const form = templateForm.value[templateKey];
|
||||||
if (!form) return;
|
if (!form) return;
|
||||||
@@ -353,7 +353,7 @@ const addVariable = (templateKey) => {
|
|||||||
form.variables.push({
|
form.variables.push({
|
||||||
id: nextVarId(),
|
id: nextVarId(),
|
||||||
slot: selectedSlot.value,
|
slot: selectedSlot.value,
|
||||||
name: selectedSlot.defaultName || ''
|
name: ''
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user