浏览代码

fixed #423

ali 2 年之前
父节点
当前提交
1d543b5d4a
共有 42 个文件被更改,包括 532 次插入 和 115 次删除
  1. 293 0
      src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue
  2. 9 7
      src/components/Widgets/Classroom/AdminClassroomCreate/AdminClassroomCreate.vue
  3. 9 7
      src/components/Widgets/Classroom/AdminClassroomShow/components/ClassroomInfo.vue
  4. 4 2
      src/components/Widgets/Event/AdminEventList/AdminEventList.vue
  5. 9 7
      src/components/Widgets/Event/AdminEventShow/components/EventInfo.vue
  6. 4 2
      src/components/Widgets/Invoice/AdminInvoiceList/AdminInvoiceList.vue
  7. 4 2
      src/components/Widgets/Payment/AdminPaymentList/AdminPaymentList.vue
  8. 6 2
      src/components/Widgets/Payment/AdminPaymentShow/AdminPaymentShow.vue
  9. 4 2
      src/components/Widgets/Payment/PaymentList/PaymentList.vue
  10. 5 1
      src/components/Widgets/Payment/PaymentShow/PaymentShow.vue
  11. 0 5
      src/components/Widgets/ProjectAttendanceSheet/AdminProjectAttendanceSheetShow/AdminProjectAttendanceSheetShow.vue
  12. 4 2
      src/components/Widgets/ProjectAttendanceSheet/AdminProjectAttendanceSheetShowOfUser/AdminProjectAttendanceSheetShowOfUser.vue
  13. 4 2
      src/components/Widgets/SessionAttendanceSheet/AdminSessionAttendanceSheetOfUser/AdminSessionAttendanceSheetOfUser.vue
  14. 6 2
      src/components/Widgets/SessionAttendanceSheet/AdminSessionAttendanceSheetShowAssignment/AdminSessionAttendanceSheetShowAssignment.vue
  15. 6 2
      src/components/Widgets/SessionTemplate/AdminSessionTemplateShow/AdminSessionTemplateShow.vue
  16. 4 2
      src/components/Widgets/Store/Basket/AdminStoreBasketShow/AdminStoreBasketShow.vue
  17. 5 1
      src/components/Widgets/Store/Basket/UserStoreBasketShow/UserStoreBasketShow.vue
  18. 3 1
      src/components/Widgets/Store/Discount/AdminStoreDiscountCreate/AdminStoreDiscountCreate.vue
  19. 4 2
      src/components/Widgets/Store/Discount/AdminStoreDiscountShow/AdminStoreDiscountShow.vue
  20. 8 6
      src/components/Widgets/Test/AdminTestCreate/AdminTestCreate.vue
  21. 7 5
      src/components/Widgets/Test/AdminTestShow/AdminTestShow.vue
  22. 4 2
      src/components/Widgets/Ticket/AdminTicketList/AdminTicketList.vue
  23. 3 1
      src/components/Widgets/Ticket/AdminTicketShow/AdminTicketShow.vue
  24. 6 2
      src/components/Widgets/Ticket/TicketShow/TicketShow.vue
  25. 4 2
      src/components/Widgets/Transaction/AdminTransactionList/AdminPaymentList.vue
  26. 5 1
      src/components/Widgets/Transaction/AdminTransactionShow/AdminTransactionShow.vue
  27. 5 1
      src/components/Widgets/Transaction/TransactionShow/PaymentShow.vue
  28. 4 2
      src/pages/Admin/Classroom/ProjectAttendanceSheet/create.vue
  29. 4 2
      src/pages/Admin/Classroom/project/create.vue
  30. 4 2
      src/pages/Admin/Classroom/project/show.vue
  31. 31 2
      src/pages/Admin/Classroom/show.vue
  32. 11 7
      src/pages/Admin/DiscussionCirclesClassroom/create.vue
  33. 9 7
      src/pages/Admin/DiscussionCirclesClassroom/show.vue
  34. 4 2
      src/pages/Admin/Event/ProjectAttendanceSheet/create.vue
  35. 9 7
      src/pages/Admin/Event/ema-create.vue
  36. 4 2
      src/pages/Admin/Event/project/create.vue
  37. 4 2
      src/pages/Admin/Event/project/show.vue
  38. 6 2
      src/pages/Admin/Feedback.vue
  39. 5 1
      src/pages/Admin/Installment.vue
  40. 4 2
      src/pages/Admin/Session/show.vue
  41. 4 2
      src/pages/User/Profile/projectInfo.vue
  42. 4 2
      src/pages/User/Profile/sessionInfo.vue

+ 293 - 0
src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue

@@ -0,0 +1,293 @@
+<template>
+  <div class="form-builder-date-time"
+       :class="customClass">
+    <div v-if="outsideLabel"
+         class="outside-label">
+      {{ outsideLabel }}
+    </div>
+    <div class="inputs">
+      <q-input ref="input"
+               :model-value="displayTime"
+               :name="name"
+               :loading="loading"
+               :filled="filled"
+               readonly
+               dir="ltr"
+               :disable="disable"
+               :label="placeholder ? null : label"
+               :stack-label="!!placeholder"
+               :placeholder="placeholder"
+               :rules="rules"
+               :lazy-rules="lazyRules"
+               :outlined="outlined"
+               :class="customClass"
+               :input-class="customClass"
+               @click="onClickInput('time')">
+        <template v-slot:append>
+          <q-icon name="access_time"
+                  class="cursor-pointer">
+            <q-popup-proxy v-model="popupTime"
+                           cover
+                           transition-show="scale"
+                           transition-hide="scale">
+              <q-time v-model="dateTime.time"
+                      mask="HH:mm:00"
+                      format24h
+                      :disable="disable"
+                      :title="title ? title : label"
+                      :now-btn="nowBtn"
+                      @update:model-value="onChangeTime">
+                <div class="row items-center justify-end">
+                  <q-btn v-close-popup
+                         label="بستن"
+                         color="primary"
+                         flat />
+                </div>
+              </q-time>
+            </q-popup-proxy>
+          </q-icon>
+          <q-btn v-if="clearable"
+                 icon="close"
+                 flat
+                 round
+                 class="cursor-pointer"
+                 @click="onClear" />
+        </template>
+      </q-input>
+      <q-input ref="input"
+               :model-value="displayDate"
+               :name="name"
+               :loading="loading"
+               :filled="filled"
+               readonly
+               dir="ltr"
+               :disable="disable"
+               :label="placeholder ? null : label"
+               :stack-label="!!placeholder"
+               :placeholder="placeholder"
+               :rules="rules"
+               :lazy-rules="lazyRules"
+               :outlined="outlined"
+               :class="customClass"
+               :input-class="customClass"
+               @click="onClickInput('date')">
+        <template v-slot:append>
+          <q-icon name="event"
+                  class="cursor-pointer">
+            <q-popup-proxy v-model="popupDate"
+                           cover
+                           transition-show="scale"
+                           transition-hide="scale">
+              <q-date v-model="dateTime.date"
+                      :calendar="calendar"
+                      mask="YYYY/MM/DD"
+                      :range="range"
+                      :multiple="multiple"
+                      :disable="disable"
+                      :title="title ? title : label"
+                      :today-btn="todayBtn"
+                      @update:model-value="onChangeDate">
+                <div class="row items-center justify-end">
+                  <q-btn v-close-popup
+                         label="بستن"
+                         color="primary"
+                         flat />
+                </div>
+              </q-date>
+            </q-popup-proxy>
+          </q-icon>
+        </template>
+        <template #prepend>
+          <q-btn icon="close"
+                 flat
+                 round
+                 class="clear-btn"
+                 @click="onClear" />
+        </template>
+      </q-input>
+    </div>
+  </div>
+</template>
+
+<script>
+import moment from 'moment-jalaali'
+import { inputMixin } from 'quasar-form-builder'
+
+moment.loadPersian()
+
+export default {
+  name: 'FormBuilderDateTime',
+  mixins: [inputMixin],
+  props: {
+    name: {
+      default: '',
+      type: String
+    },
+    outsideLabel: {
+      default: null,
+      type: String
+    },
+    calendar: {
+      default: 'persian',
+      type: String
+    },
+    calendarIcon: {
+      default: 'event',
+      type: String
+    },
+    clockIcon: {
+      default: 'access_time',
+      type: String
+    },
+    title: {
+      default: '',
+      type: String
+    },
+    placeholder: {
+      default: '',
+      type: String
+    },
+    value: {
+      default: '',
+      type: String
+    },
+    nowBtn: {
+      default: false,
+      type: Boolean
+    },
+    iso8601: {
+      default: true,
+      type: Boolean
+    },
+    todayBtn: {
+      default: false,
+      type: Boolean
+    }
+  },
+  data() {
+    return {
+      displayDateTime: '',
+      popupDate: false,
+      popupTime: false,
+      dateTime: {
+        date: '',
+        time: ''
+      },
+      rendrKey: Date.now(),
+      showDate: false,
+      showTime: false
+    }
+  },
+  computed: {
+    displayDate () {
+      if (!this.displayDateTime) {
+        return ''
+      }
+
+      const dataArr = this.displayDateTime.split(' ')
+      if (dataArr.length > 0) {
+        return dataArr[0]
+      }
+      return ''
+    },
+    displayTime () {
+      if (!this.displayDateTime) {
+        return ''
+      }
+
+      const dataArr = this.displayDateTime.split(' ')
+      if (dataArr.length === 2) {
+        return dataArr[1]
+      }
+      return ''
+    }
+  },
+  watch: {
+    value: {
+      handler(newValue) {
+        if (!newValue) {
+          this.inputData = null
+          this.displayDateTime = ''
+          return
+        }
+        const newDate = moment(newValue.toString()).format('YYYY-MM-DD')
+        const newTime = moment(newValue.toString()).format('HH:mm:00')
+        this.updateDateTime(newDate, 'date')
+        this.updateDateTime(newTime, 'time')
+      },
+      immediate: true
+    }
+  },
+  methods: {
+    onClickInput (type) {
+      if (type === 'date') {
+        this.popupDate = true
+      } else {
+        this.popupTime = true
+      }
+    },
+    onClear () {
+      this.displayDateTime = ''
+      this.inputData = null
+      this.change(this.inputData)
+    },
+    onChangeDate (newValue) {
+      let gregorianDate = newValue
+      if (this.calendar === 'persian') {
+        gregorianDate = this.shamsiToMiladiDate(newValue.toString())
+      }
+      this.updateDateTime(gregorianDate, 'date')
+    },
+    onChangeTime (newValue) {
+      this.updateDateTime(newValue, 'time')
+    },
+    updateDateTime (newValue, updateType = 'date') {
+      const defaultDate = moment(Date.now()).format('YYYY-MM-DD')
+      const defaultTime = moment(Date.now()).format('HH:mm:00')
+      const inputData = this.inputData ? this.inputData.replace('T', ' ') : defaultDate + ' ' + defaultTime
+      const arrValue = inputData.toString().trim().split(' ')
+      let arrDisplay = new Array(arrValue)
+      if (updateType === 'date') {
+        arrDisplay = [newValue.toString(), arrValue[1]]
+        // if (this.calendar === 'persian') {
+        //   arrValue[0] = this.shamsiToMiladiDate(newValue.toString())
+        // } else {
+        //   arrValue[0] = newValue.toString()
+        // }
+        arrValue[0] = newValue.toString()
+      } else if (updateType === 'time') {
+        const timeWithoutSecond = arrValue[1].split(':').splice(0, 2).join(':')
+        if (this.calendar === 'persian') {
+          arrDisplay = [this.miladiToShamsiDate(arrValue[0]), timeWithoutSecond]
+        } else {
+          arrDisplay = [arrValue[0], timeWithoutSecond]
+        }
+        arrValue[1] = newValue.toString()
+      }
+
+      const delimiter = this.iso8601 ? 'T' : ' '
+      this.displayDateTime = arrDisplay.join(' ').replace(',', ' ')
+      this.inputData = arrValue.join(delimiter).replace(',', ' ')
+      this.change(this.inputData)
+    },
+
+    shamsiToMiladiDate(date) {
+      return moment(date, 'jYYYY/jMM/jDD').format('YYYY-MM-DD')
+    },
+    miladiToShamsiDate(date) {
+      return moment(date, 'YYYY-MM-DD').format('jYYYY/jMM/jDD')
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss">
+.inputs {
+  display: flex;
+  justify-content: flex-start;
+  flex-wrap: nowrap;
+  .q-field {
+    width: 50%;
+  }
+}
+</style>

+ 9 - 7
src/components/Widgets/Classroom/AdminClassroomCreate/AdminClassroomCreate.vue

@@ -43,8 +43,10 @@ import { mixinWidget } from 'src/mixin/Mixins.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import { FormBuilderAssist } from 'quasar-form-builder'
 import { UnitCategory } from 'src/models/UnitCategory.js'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import FormBuilderInputEditor from 'src/components/FormBuilderCustumComponents/FormBuilderInputEditor.vue'
 
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 const FormBuilderInputEditorComp = shallowRef(FormBuilderInputEditor)
 
 export default {
@@ -129,24 +131,24 @@ export default {
         { type: 'input', name: 'minimum_clean_passing_mark', responseKey: 'minimum_clean_passing_mark', placeholder: ' ', label: 'نمره قبولی', col: 'col-md-3 col-12' },
 
         { type: 'separator', name: 'space', label: 'ثبت نام و حذف و اضافه', className: 'custom-separator', col: 'col-12' },
-        { type: 'dateTime', name: 'beginning_enrollment_period', responseKey: 'beginning_enrollment_period', outsideLabel: 'تاریخ شروع پیش ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_enrollment_period', responseKey: 'ending_enrollment_period', outsideLabel: 'تاریخ پایان پیش ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'beginning_registration_period', responseKey: 'beginning_registration_period', outsideLabel: 'تاریخ شروع ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_registration_period', responseKey: 'ending_registration_period', outsideLabel: 'تاریخ پایان ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_enrollment_period', responseKey: 'beginning_enrollment_period', outsideLabel: 'تاریخ شروع پیش ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_enrollment_period', responseKey: 'ending_enrollment_period', outsideLabel: 'تاریخ پایان پیش ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_registration_period', responseKey: 'beginning_registration_period', outsideLabel: 'تاریخ شروع ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_registration_period', responseKey: 'ending_registration_period', outsideLabel: 'تاریخ پایان ثبت نام', col: 'col-md-6 col-12' },
 
         { type: 'input', name: 'registration_period_refund_percent', responseKey: 'registration_period_refund_percent', placeholder: ' ', label: 'درصد برگشت هزینه انصراف در بازه ثبت نام', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_enrollment_period', responseKey: 'allow_dropping_on_enrollment_period', label: 'امکان حذف در بازه پیش ثبت نام', value: false, col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_adding_on_registration_period', responseKey: 'allow_adding_on_registration_period', label: 'امکان اضافه کردن در بازه ثبت نام', value: false, col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_registration_period', responseKey: 'allow_dropping_on_registration_period', label: 'امکان حذف ثبت نام در بازه ثبت نام', value: false, col: 'col-md-3 col-12' },
 
-        { type: 'dateTime', name: 'beginning_drop_add_period', responseKey: 'beginning_drop_add_period', outsideLabel: 'تاریخ شروع حذف و اضافه', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_drop_add_period', responseKey: 'ending_drop_add_period', outsideLabel: 'تاریخ پایان حذف و اضافه', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_drop_add_period', responseKey: 'beginning_drop_add_period', outsideLabel: 'تاریخ شروع حذف و اضافه', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_drop_add_period', responseKey: 'ending_drop_add_period', outsideLabel: 'تاریخ پایان حذف و اضافه', col: 'col-md-6 col-12' },
 
         { type: 'input', name: 'drop_add_period_refund_percent', responseKey: 'drop_add_period_refund_percent', placeholder: ' ', label: 'درصد برگشت هزینه انصراف در بازه حذف و اضافه', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_adding_on_drop_add_period', responseKey: 'allow_adding_on_drop_add_period', label: 'امکان اضافه شدن در بازه حذف و اضافه', value: false, col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_drop_add_period', responseKey: 'allow_dropping_on_drop_add_period', label: 'امکان حذف در بازه حذف و اضافه', value: false, col: 'col-md-3 col-12' },
 
-        { type: 'dateTime', name: 'publish_time', responseKey: 'publish_time', outsideLabel: 'تاریخ انتشار', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'publish_time', responseKey: 'publish_time', outsideLabel: 'تاریخ انتشار', col: 'col-md-6 col-12' },
 
         { type: 'separator', name: 'space', label: 'قوانین', className: 'custom-separator', col: 'col-12' },
         { type: FormBuilderInputEditorComp, name: 'rules', responseKey: 'rules', label: 'قوانین', col: 'col-12' },

+ 9 - 7
src/components/Widgets/Classroom/AdminClassroomShow/components/ClassroomInfo.vue

@@ -32,8 +32,10 @@ import { APIGateway } from 'src/api/APIGateway.js'
 import { Classroom } from 'src/models/Classroom.js'
 import { FormBuilderAssist } from 'quasar-form-builder'
 import { UnitCategory } from 'src/models/UnitCategory.js'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import FormBuilderInputEditor from 'src/components/FormBuilderCustumComponents/FormBuilderInputEditor.vue'
 
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 const FormBuilderInputEditorComp = shallowRef(FormBuilderInputEditor)
 
 export default {
@@ -122,24 +124,24 @@ export default {
         { type: 'input', name: 'minimum_clean_passing_mark', responseKey: 'minimum_clean_passing_mark', placeholder: ' ', label: 'نمره قبولی', col: 'col-md-3 col-12' },
 
         { type: 'separator', name: 'space', label: 'ثبت نام و حذف و اضافه', className: 'custom-separator', col: 'col-12' },
-        { type: 'dateTime', name: 'beginning_enrollment_period', responseKey: 'beginning_enrollment_period', outsideLabel: 'تاریخ شروع پیش ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_enrollment_period', responseKey: 'ending_enrollment_period', outsideLabel: 'تاریخ پایان پیش ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'beginning_registration_period', responseKey: 'beginning_registration_period', outsideLabel: 'تاریخ شروع ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_registration_period', responseKey: 'ending_registration_period', outsideLabel: 'تاریخ پایان ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_enrollment_period', responseKey: 'beginning_enrollment_period', outsideLabel: 'تاریخ شروع پیش ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_enrollment_period', responseKey: 'ending_enrollment_period', outsideLabel: 'تاریخ پایان پیش ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_registration_period', responseKey: 'beginning_registration_period', outsideLabel: 'تاریخ شروع ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_registration_period', responseKey: 'ending_registration_period', outsideLabel: 'تاریخ پایان ثبت نام', col: 'col-md-6 col-12' },
 
         { type: 'input', name: 'registration_period_refund_percent', responseKey: 'registration_period_refund_percent', placeholder: ' ', label: 'درصد برگشت هزینه انصراف در بازه ثبت نام', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_enrollment_period', responseKey: 'allow_dropping_on_enrollment_period', label: 'امکان حذف در بازه پیش ثبت نام', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_adding_on_registration_period', responseKey: 'allow_adding_on_registration_period', label: 'امکان اضافه کردن در بازه ثبت نام', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_registration_period', responseKey: 'allow_dropping_on_registration_period', label: 'امکان حذف ثبت نام در بازه ثبت نام', col: 'col-md-3 col-12' },
 
-        { type: 'dateTime', name: 'beginning_drop_add_period', responseKey: 'beginning_drop_add_period', outsideLabel: 'تاریخ شروع حذف و اضافه', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_drop_add_period', responseKey: 'ending_drop_add_period', outsideLabel: 'تاریخ پایان حذف و اضافه', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_drop_add_period', responseKey: 'beginning_drop_add_period', outsideLabel: 'تاریخ شروع حذف و اضافه', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_drop_add_period', responseKey: 'ending_drop_add_period', outsideLabel: 'تاریخ پایان حذف و اضافه', col: 'col-md-6 col-12' },
 
         { type: 'input', name: 'drop_add_period_refund_percent', responseKey: 'drop_add_period_refund_percent', placeholder: ' ', label: 'درصد برگشت هزینه انصراف در بازه حذف و اضافه', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_adding_on_drop_add_period', responseKey: 'allow_adding_on_drop_add_period', label: 'امکان اضافه شدن در بازه حذف و اضافه', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_drop_add_period', responseKey: 'allow_dropping_on_drop_add_period', label: 'امکان حذف در بازه حذف و اضافه', col: 'col-md-3 col-12' },
 
-        { type: 'dateTime', name: 'publish_time', responseKey: 'publish_time', outsideLabel: 'تاریخ انتشار', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'publish_time', responseKey: 'publish_time', outsideLabel: 'تاریخ انتشار', col: 'col-md-6 col-12' },
 
         { type: 'separator', name: 'space', label: 'قوانین', className: 'custom-separator', col: 'col-12' },
         { type: FormBuilderInputEditorComp, name: 'rules', responseKey: 'rules', label: 'قوانین دوره آموزشی', col: 'col-12' },

+ 4 - 2
src/components/Widgets/Event/AdminEventList/AdminEventList.vue

@@ -38,8 +38,10 @@ import { Invoice } from 'src/models/Invoice.js'
 import { mixinWidget } from 'src/mixin/Mixins.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import BtnControl from 'src/components/Control/btn.vue'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 
 const BtnControlComp = shallowRef(BtnControl)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'AdminEventList',
@@ -57,13 +59,13 @@ export default {
       },
       inputs: [
         {
-          type: 'dateTime',
+          type: FormBuilderDateTimeComp,
           name: 'creation_time__gte',
           outsideLabel: 'از تاریخ',
           col: 'col-md-3 col-12'
         },
         {
-          type: 'dateTime',
+          type: FormBuilderDateTimeComp,
           name: 'creation_time__lt',
           outsideLabel: 'تا تاریخ',
           col: 'col-md-3 col-12'

+ 9 - 7
src/components/Widgets/Event/AdminEventShow/components/EventInfo.vue

@@ -32,10 +32,12 @@ import { Event } from 'src/models/Event.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import { Classroom } from 'src/models/Classroom.js'
 import { FormBuilderAssist } from 'quasar-form-builder'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import ContentMedias from 'src/components/FormBuilderCustumComponents/ContentMedias/ContentMedias.vue'
 import FormBuilderInputEditor from 'src/components/FormBuilderCustumComponents/FormBuilderInputEditor.vue'
 
 const ContentMediasComp = shallowRef(ContentMedias)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 const FormBuilderInputEditorComp = shallowRef(FormBuilderInputEditor)
 
 export default {
@@ -80,24 +82,24 @@ export default {
         { type: 'input', name: 'capacity', responseKey: 'capacity', placeholder: ' ', label: 'ظرفیت گروه درسی', col: 'col-md-3 col-12' },
 
         { type: 'separator', name: 'space', label: 'ثبت نام و حذف و اضافه', className: 'custom-separator', col: 'col-12' },
-        { type: 'dateTime', name: 'beginning_enrollment_period', responseKey: 'beginning_enrollment_period', outsideLabel: 'تاریخ شروع پیش ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_enrollment_period', responseKey: 'ending_enrollment_period', outsideLabel: 'تاریخ پایان پیش ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'beginning_registration_period', responseKey: 'beginning_registration_period', outsideLabel: 'تاریخ شروع ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_registration_period', responseKey: 'ending_registration_period', outsideLabel: 'تاریخ پایان ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_enrollment_period', responseKey: 'beginning_enrollment_period', outsideLabel: 'تاریخ شروع پیش ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_enrollment_period', responseKey: 'ending_enrollment_period', outsideLabel: 'تاریخ پایان پیش ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_registration_period', responseKey: 'beginning_registration_period', outsideLabel: 'تاریخ شروع ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_registration_period', responseKey: 'ending_registration_period', outsideLabel: 'تاریخ پایان ثبت نام', col: 'col-md-6 col-12' },
 
         { type: 'input', name: 'registration_period_refund_percent', responseKey: 'registration_period_refund_percent', placeholder: ' ', label: 'درصد برگشت هزینه انصراف در بازه ثبت نام', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_enrollment_period', responseKey: 'allow_dropping_on_enrollment_period', label: 'امکان حذف در بازه پیش ثبت نام', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_adding_on_registration_period', responseKey: 'allow_adding_on_registration_period', label: 'امکان اضافه کردن در بازه ثبت نام', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_registration_period', responseKey: 'allow_dropping_on_registration_period', label: 'امکان حذف ثبت نام در بازه ثبت نام', col: 'col-md-3 col-12' },
 
-        { type: 'dateTime', name: 'beginning_drop_add_period', responseKey: 'beginning_drop_add_period', outsideLabel: 'تاریخ شروع حذف و اضافه', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_drop_add_period', responseKey: 'ending_drop_add_period', outsideLabel: 'تاریخ پایان حذف و اضافه', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_drop_add_period', responseKey: 'beginning_drop_add_period', outsideLabel: 'تاریخ شروع حذف و اضافه', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_drop_add_period', responseKey: 'ending_drop_add_period', outsideLabel: 'تاریخ پایان حذف و اضافه', col: 'col-md-6 col-12' },
 
         { type: 'input', name: 'drop_add_period_refund_percent', responseKey: 'drop_add_period_refund_percent', placeholder: ' ', label: 'درصد برگشت هزینه انصراف در بازه حذف و اضافه', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_adding_on_drop_add_period', responseKey: 'allow_adding_on_drop_add_period', label: 'امکان اضافه شدن در بازه حذف و اضافه', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_drop_add_period', responseKey: 'allow_dropping_on_drop_add_period', label: 'امکان حذف در بازه حذف و اضافه', col: 'col-md-3 col-12' },
 
-        { type: 'dateTime', name: 'publish_time', responseKey: 'publish_time', outsideLabel: 'تاریخ انتشار', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'publish_time', responseKey: 'publish_time', outsideLabel: 'تاریخ انتشار', col: 'col-md-6 col-12' },
 
         { type: 'separator', name: 'space', label: 'قوانین', className: 'custom-separator', col: 'col-12' },
         { type: FormBuilderInputEditorComp, name: 'rules', responseKey: 'rules', label: 'قوانین رویداد', col: 'col-12' },

+ 4 - 2
src/components/Widgets/Invoice/AdminInvoiceList/AdminInvoiceList.vue

@@ -38,8 +38,10 @@ import { Invoice } from 'src/models/Invoice.js'
 import { mixinWidget } from 'src/mixin/Mixins.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import BtnControl from 'src/components/Control/btn.vue'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 
 const BtnControlComp = shallowRef(BtnControl)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'AdminInvoiceList',
@@ -57,13 +59,13 @@ export default {
       },
       inputs: [
         {
-          type: 'dateTime',
+          type: FormBuilderDateTimeComp,
           name: 'creation_time__gte',
           outsideLabel: 'از تاریخ',
           col: 'col-md-3 col-12'
         },
         {
-          type: 'dateTime',
+          type: FormBuilderDateTimeComp,
           name: 'creation_time__lt',
           outsideLabel: 'تا تاریخ',
           col: 'col-md-3 col-12'

+ 4 - 2
src/components/Widgets/Payment/AdminPaymentList/AdminPaymentList.vue

@@ -63,8 +63,10 @@ import { APIGateway } from 'src/api/APIGateway.js'
 import { FormBuilderAssist } from 'quasar-form-builder'
 import BtnControl from 'src/components/Control/btn.vue'
 import EntityIndexGridItem from 'src/components/EntityIndexGridItem.vue'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 
 const BtnControlComp = shallowRef(BtnControl)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'AdminPaymentList',
@@ -82,13 +84,13 @@ export default {
       },
       inputs: [
         {
-          type: 'dateTime',
+          type: FormBuilderDateTimeComp,
           name: 'creation_time__gte',
           outsideLabel: 'از تاریخ',
           col: 'col-md-3 col-12'
         },
         {
-          type: 'dateTime',
+          type: FormBuilderDateTimeComp,
           name: 'creation_time__lt',
           outsideLabel: 'تا تاریخ',
           col: 'col-md-3 col-12'

+ 6 - 2
src/components/Widgets/Payment/AdminPaymentShow/AdminPaymentShow.vue

@@ -82,11 +82,15 @@
 </template>
 
 <script>
+import { shallowRef } from 'vue'
 import { EntityShow } from 'quasar-crud'
-import { FormBuilder, FormBuilderAssist } from 'quasar-form-builder'
 import { Payment } from 'src/models/Payment.js'
 import { mixinWidget } from 'src/mixin/Mixins.js'
 import { APIGateway } from 'src/api/APIGateway.js'
+import { FormBuilder, FormBuilderAssist } from 'quasar-form-builder'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
+
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'AdminPaymentShow',
@@ -125,7 +129,7 @@ export default {
           col: 'col-md-3 col-12'
         },
         { type: 'input', name: 'amount', responseKey: 'amount', label: 'مبلغ کل(ریال)', placeholder: ' ', col: 'col-md-3 col-12' },
-        { type: 'dateTime', name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ثبت', col: 'col-md-4 col-12' }
+        { type: FormBuilderDateTimeComp, name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ثبت', col: 'col-md-4 col-12' }
         // { type: 'input', name: 'IBAN', responseKey: 'IBAN', label: 'شماره شبا', placeholder: ' ', col: 'col-md-6 col-12' },
         // { type: 'input', name: 'receipt', responseKey: 'receipt', label: 'رسید پرداخت', placeholder: ' ', col: 'col-md-6 col-12' }
       ],

+ 4 - 2
src/components/Widgets/Payment/PaymentList/PaymentList.vue

@@ -56,8 +56,10 @@ import { APIGateway } from 'src/api/APIGateway.js'
 import { FormBuilderAssist } from 'quasar-form-builder'
 import BtnControl from 'src/components/Control/btn.vue'
 import EntityIndexGridItem from 'src/components/EntityIndexGridItem.vue'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 
 const BtnControlComp = shallowRef(BtnControl)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'PaymentList',
@@ -75,13 +77,13 @@ export default {
       },
       inputs: [
         {
-          type: 'dateTime',
+          type: FormBuilderDateTimeComp,
           name: 'creation_time__gte',
           outsideLabel: 'از تاریخ',
           col: 'col-md-3 col-12'
         },
         {
-          type: 'dateTime',
+          type: FormBuilderDateTimeComp,
           name: 'creation_time__lt',
           outsideLabel: 'تا تاریخ',
           col: 'col-md-3 col-12'

+ 5 - 1
src/components/Widgets/Payment/PaymentShow/PaymentShow.vue

@@ -56,10 +56,14 @@
 </template>
 
 <script>
+import { shallowRef } from 'vue'
 import { EntityShow } from 'quasar-crud'
 import { Payment } from 'src/models/Payment.js'
 import { mixinWidget } from 'src/mixin/Mixins.js'
 import { APIGateway } from 'src/api/APIGateway.js'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
+
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'PaymentShow',
@@ -80,7 +84,7 @@ export default {
       inputs: [
         // { type: 'separator', name: 'space', label: 'مشخصات حساب', className: 'custom-separator', col: 'col-12' },
         { type: 'input', name: 'id', responseKey: 'id', label: 'شناسه', placeholder: ' ', col: 'col-md-2 col-12' },
-        { type: 'dateTime', name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ثبت', col: 'col-md-4 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ثبت', col: 'col-md-4 col-12' },
         {
           type: 'select',
           name: 'type',

+ 0 - 5
src/components/Widgets/ProjectAttendanceSheet/AdminProjectAttendanceSheetShow/AdminProjectAttendanceSheetShow.vue

@@ -102,11 +102,6 @@ export default {
 
         { type: ContentsSelectorComp, name: 'project_info.contents_info', responseKey: 'project_info.contents_info', col: 'col-12' },
         { type: 'inputEditor', name: 'project_info.correct_answer', responseKey: 'project_info.correct_answer', label: 'پاسخ صحیح', placeholder: ' ', col: 'col-12' }
-
-        // { type: 'dateTime', name: 'beginning_doing_period', responseKey: 'beginning_doing_period', label: 'زمان شروع', placeholder: ' ', col: 'col-md-6 col-12' },
-        // { type: 'dateTime', name: 'ending_doing_period', responseKey: 'ending_doing_period', label: 'زمان پایان', placeholder: ' ', col: 'col-md-6 col-12' },
-        // { type: 'hidden', name: 'id', responseKey: 'id' },
-        // { type: 'hidden', name: 'classroom', responseKey: 'classroom' }
       ]
     }
   },

+ 4 - 2
src/components/Widgets/ProjectAttendanceSheet/AdminProjectAttendanceSheetShowOfUser/AdminProjectAttendanceSheetShowOfUser.vue

@@ -56,10 +56,12 @@ import BtnControl from 'src/components/Control/btn.vue'
 import { FormBuilderAssist } from 'quasar-form-builder'
 import Breadcrumbs from 'src/components/Widgets/Breadcrumbs/Breadcrumbs.vue'
 import { ProjectAttendanceSheets } from 'src/models/ProjectAttendanceSheets.js'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import ContentsSelector from 'src/components/FormBuilderCustumComponents/ContentsSelector/ContentsSelector.vue'
 
 const BtnControlComp = shallowRef(BtnControl)
 const ContentsSelectorComp = shallowRef(ContentsSelector)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'UserPanel.Profile.ClassroomInfo',
@@ -92,8 +94,8 @@ export default {
           placeholder: ' ',
           col: 'col-md-3 col-12'
         },
-        { type: 'dateTime', name: 'beginning_doing_period', responseKey: 'beginning_doing_period', outsideLabel: 'زمان شروع', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_doing_period', responseKey: 'ending_doing_period', outsideLabel: 'زمان پایان', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_doing_period', responseKey: 'beginning_doing_period', outsideLabel: 'زمان شروع', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_doing_period', responseKey: 'ending_doing_period', outsideLabel: 'زمان پایان', col: 'col-md-6 col-12' },
         { type: 'separator', name: 'space', size: '0', col: 'col-md-12' },
         { type: 'inputEditor', name: 'description', responseKey: 'description', label: 'توضیحات پروژه', placeholder: ' ', col: 'col-12' },
         { type: ContentsSelectorComp, name: 'contents', responseKey: 'contents_info', showPageLink: false, showDownloadLink: true, col: 'col-12' },

+ 4 - 2
src/components/Widgets/SessionAttendanceSheet/AdminSessionAttendanceSheetOfUser/AdminSessionAttendanceSheetOfUser.vue

@@ -140,12 +140,14 @@ import BtnControl from 'src/components/Control/btn.vue'
 import { FormBuilderAssist } from 'quasar-form-builder'
 import Breadcrumbs from 'src/components/Widgets/Breadcrumbs/Breadcrumbs.vue'
 import { SessionAttendanceSheets } from 'src/models/SessionAttendanceSheets.js'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import ContentMedias from 'src/components/FormBuilderCustumComponents/ContentMedias/ContentMedias.vue'
 import ContentsSelector from 'src/components/FormBuilderCustumComponents/ContentsSelector/ContentsSelector.vue'
 
+const BtnControlComp = shallowRef(BtnControl)
 const ContentMediasComp = shallowRef(ContentMedias)
 const ContentsSelectorComp = shallowRef(ContentsSelector)
-const BtnControlComp = shallowRef(BtnControl)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'UserPanel.Profile.SessionInfo',
@@ -221,7 +223,7 @@ export default {
         { type: 'InputEditor', name: 'answer_text', responseKey: 'answer_text', label: 'پاسخ کاربر', placeholder: ' ', col: 'col-md-12 col-12' },
         { type: 'file', name: 'answer_attachment', responseKey: 'answer_attachment', label: 'فایل ضمیمه', placeholder: ' ', col: 'col-md-3 col-12' },
         { type: 'select', name: 'assignment_status', responseKey: 'assignment_status', label: 'وضعیت تکلیف', placeholder: ' ', options: (new SessionAttendanceSheets()).assignment_statusEnums, col: 'col-md-3 col-12' },
-        { type: 'dateTime', name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'زمان ارسال تکلیف', col: 'col-md-6 col-12' }
+        { type: FormBuilderDateTimeComp, name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'زمان ارسال تکلیف', col: 'col-md-6 col-12' }
       ]
     }
   },

+ 6 - 2
src/components/Widgets/SessionAttendanceSheet/AdminSessionAttendanceSheetShowAssignment/AdminSessionAttendanceSheetShowAssignment.vue

@@ -147,14 +147,18 @@
 </template>
 
 <script>
+import { shallowRef } from 'vue'
+import { EntityShow } from 'quasar-crud'
 import { Session } from 'src/models/Session.js'
 import ShamsiDate from 'src/assets/ShamsiDate.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import { Classroom } from 'src/models/Classroom.js'
-import { EntityShow } from 'quasar-crud'
 import { FormBuilderAssist } from 'quasar-form-builder'
 import { SessionAttendanceSheets } from 'src/models/SessionAttendanceSheets'
 import Breadcrumbs from 'src/components/Widgets/Breadcrumbs/Breadcrumbs.vue'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
+
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'UserPanel.Profile.SessionInfo',
@@ -189,7 +193,7 @@ export default {
         { type: 'InputEditor', name: 'answer_text', responseKey: 'answer_text', label: 'پاسخ کاربر', placeholder: ' ', col: 'col-md-12 col-12' },
         { type: 'file', name: 'answer_attachment', responseKey: 'answer_attachment', label: 'فایل ضمیمه', placeholder: ' ', col: 'col-md-3 col-12' },
         { type: 'select', name: 'assignment_status', responseKey: 'assignment_status', label: 'وضعیت تکلیف', placeholder: ' ', options: (new SessionAttendanceSheets()).assignment_statusEnums, col: 'col-md-3 col-12' },
-        { type: 'dateTime', name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'زمان ارسال تکلیف', col: 'col-md-6 col-12' }
+        { type: FormBuilderDateTimeComp, name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'زمان ارسال تکلیف', col: 'col-md-6 col-12' }
       ]
     }
   },

+ 6 - 2
src/components/Widgets/SessionTemplate/AdminSessionTemplateShow/AdminSessionTemplateShow.vue

@@ -20,9 +20,13 @@
 </template>
 
 <script>
+import { shallowRef } from 'vue'
 import { EntityEdit } from 'quasar-crud'
 import { mixinWidget } from 'src/mixin/Mixins.js'
 import { APIGateway } from 'src/api/APIGateway.js'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
+
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'AdminSessionTemplateShow',
@@ -42,8 +46,8 @@ export default {
       inputs: [
         { type: 'input', name: 'title', responseKey: 'title', label: 'نام جلسه', placeholder: ' ', col: 'col-md-9 col-12' },
         { type: 'separator', name: 'space', size: '0', col: 'col-12' },
-        { type: 'dateTime', name: 'ending_enrollment_period', responseKey: 'ending_enrollment_period', outsideLabel: 'زمان شروع جلسه', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_enrollment_period', responseKey: 'ending_enrollment_period', outsideLabel: 'زمان پایان جلسه', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_enrollment_period', responseKey: 'ending_enrollment_period', outsideLabel: 'زمان شروع جلسه', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_enrollment_period', responseKey: 'ending_enrollment_period', outsideLabel: 'زمان پایان جلسه', col: 'col-md-6 col-12' },
         { type: 'inputEditor', name: 'description', responseKey: 'description', label: 'توضیحات', placeholder: ' ', col: 'col-md-6 col-12' },
         { type: 'inputEditor', name: 'syllabus', responseKey: 'syllabus', label: 'مقرری', placeholder: ' ', col: 'col-md-6 col-12' },
         { type: 'inputEditor', name: 'assignment_description', responseKey: 'assignment_description', label: 'تکلیف جلسه', placeholder: ' ', col: 'col-12' },

+ 4 - 2
src/components/Widgets/Store/Basket/AdminStoreBasketShow/AdminStoreBasketShow.vue

@@ -83,14 +83,16 @@
 import { shallowRef } from 'vue'
 import { Basket } from 'src/models/Basket.js'
 import { Product } from 'src/models/Product.js'
+import { Package } from 'src/models/Package.js'
 import { mixinWidget } from 'src/mixin/Mixins.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import BtnControl from 'components/Control/btn.vue'
 import { EntityShow, EntityIndex } from 'quasar-crud'
 import { FormBuilderAssist } from 'quasar-form-builder'
-import { Package } from 'src/models/Package'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 
 const BtnControlComp = shallowRef(BtnControl)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'AdminStoreBasketShow',
@@ -231,7 +233,7 @@ export default {
       { type: 'separator', name: 'space1', label: 'مشخصات سفارش', className: 'custom-separator', col: 'col-12' },
       { type: 'input', name: 'id', responseKey: 'id', label: 'شناسه', placeholder: ' ', col: 'col-md-2 col-12' },
       { type: 'input', name: 'items_info.length', responseKey: 'items_info.length', label: 'تعداد اقلام', placeholder: ' ', col: 'col-md-2 col-12' },
-      { type: 'dateTime', name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ثبت', placeholder: ' ', disable: true, col: 'col-md-3 col-12' },
+      { type: FormBuilderDateTimeComp, name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ثبت', placeholder: ' ', disable: true, col: 'col-md-3 col-12' },
       { type: 'input', name: 'overall_order_price', responseKey: 'overall_order_price', label: 'قیمت کل(تومان)', placeholder: ' ', col: 'col-md-3 col-12' },
       { type: BtnControlComp, name: 'btnSent', responseKey: 'btnSent', label: 'ارسال', placeholder: ' ', outline: true, ignoreValue: true, atClick: this.sendBasket, loading: this.entityLoading, col: 'col-md-2 col-12' }
     ]

+ 5 - 1
src/components/Widgets/Store/Basket/UserStoreBasketShow/UserStoreBasketShow.vue

@@ -80,6 +80,7 @@
 </template>
 
 <script>
+import { shallowRef } from 'vue'
 import { Package } from 'src/models/Package'
 import { Basket } from 'src/models/Basket.js'
 import { Product } from 'src/models/Product.js'
@@ -87,6 +88,9 @@ import { mixinWidget } from 'src/mixin/Mixins.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import { EntityShow, EntityIndex } from 'quasar-crud'
 import { FormBuilderAssist } from 'quasar-form-builder'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
+
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'AdminStoreBasketShow',
@@ -216,7 +220,7 @@ export default {
       { type: 'separator', name: 'space1', label: 'مشخصات سفارش', className: 'custom-separator', col: 'col-12' },
       { type: 'input', name: 'id', responseKey: 'id', label: 'شناسه', placeholder: ' ', disable: true, col: 'col-md-2 col-12' },
       { type: 'input', name: 'items_info.length', responseKey: 'items_info.length', label: 'تعداد اقلام', placeholder: ' ', disable: true, col: 'col-md-2 col-12' },
-      { type: 'dateTime', name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ثبت', placeholder: ' ', disable: true, col: 'col-md-3 col-12' },
+      { type: FormBuilderDateTimeComp, name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ثبت', placeholder: ' ', disable: true, col: 'col-md-3 col-12' },
       { type: 'input', name: 'overall_order_price', responseKey: 'overall_order_price', label: 'قیمت کل(تومان)', placeholder: ' ', disable: true, col: 'col-md-3 col-12' }
     ]
   },

+ 3 - 1
src/components/Widgets/Store/Discount/AdminStoreDiscountCreate/AdminStoreDiscountCreate.vue

@@ -31,8 +31,10 @@ import { EntityCreate } from 'quasar-crud'
 import { mixinWidget } from 'src/mixin/Mixins.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import BtnControl from 'components/Control/btn.vue'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 
 const BtnControlComp = shallowRef(BtnControl)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'AdminDiscountCreate',
@@ -49,7 +51,7 @@ export default {
       inputs: [
         { type: 'input', name: 'code', responseKey: 'code', label: 'کد', placeholder: ' ', col: 'col-md-4 col-12' },
         { type: 'input', name: 'percent', responseKey: 'percent', label: 'درصد', placeholder: ' ', col: 'col-md-4 col-12' },
-        { type: 'dateTime', name: 'expire_time', responseKey: 'expire_time', outsideLabel: 'تاریخ انقضا', col: 'col-md-4 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'expire_time', responseKey: 'expire_time', outsideLabel: 'تاریخ انقضا', col: 'col-md-4 col-12' },
         { type: BtnControlComp, name: 'btn', responseKey: 'btn', label: 'ایجاد تخفیف', placeholder: ' ', atClick: () => {}, col: 'col-md-6' }
       ]
     }

+ 4 - 2
src/components/Widgets/Store/Discount/AdminStoreDiscountShow/AdminStoreDiscountShow.vue

@@ -32,9 +32,11 @@ import { shallowRef } from 'vue'
 import { EntityEdit } from 'quasar-crud'
 import { mixinWidget } from 'src/mixin/Mixins.js'
 import { APIGateway } from 'src/api/APIGateway.js'
-import BtnControl from 'components/Control/btn.vue'
+import BtnControl from 'src/components/Control/btn.vue'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 
 const BtnControlComp = shallowRef(BtnControl)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'AdminDiscountShow',
@@ -54,7 +56,7 @@ export default {
       inputs: [
         { type: 'input', name: 'code', responseKey: 'code', label: 'کد', placeholder: ' ', col: 'col-md-4 col-12' },
         { type: 'input', name: 'percent', responseKey: 'percent', label: 'درصد', placeholder: ' ', col: 'col-md-4 col-12' },
-        { type: 'dateTime', name: 'expire_time', responseKey: 'expire_time', outsideLabel: 'تاریخ انقضا', col: 'col-md-4 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'expire_time', responseKey: 'expire_time', outsideLabel: 'تاریخ انقضا', col: 'col-md-4 col-12' },
         { type: BtnControlComp, name: 'btn', responseKey: 'btn', label: 'ویرایش تخفیف', placeholder: ' ', ignoreValue: true, atClick: () => {}, col: 'col-md-6' }
       ]
     }

+ 8 - 6
src/components/Widgets/Test/AdminTestCreate/AdminTestCreate.vue

@@ -27,16 +27,18 @@
 
 <script>
 import { shallowRef } from 'vue'
+import { Test } from 'src/models/Test'
 import { EntityCreate } from 'quasar-crud'
 import { TestSet } from 'src/models/TestSet.js'
 import { mixinWidget } from 'src/mixin/Mixins.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import { FormBuilderAssist } from 'quasar-form-builder'
 import BtnControl from 'src/components/Control/btn.vue'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import UsersOfTestSelector from 'src/components/FormBuilderCustumComponents/UsersOfTestSelector/UsersOfTestSelector.vue'
-import { Test } from 'src/models/Test'
 
 const BtnControlComp = shallowRef(BtnControl)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 const UsersOfTestSelectorComp = shallowRef(UsersOfTestSelector)
 
 export default {
@@ -55,12 +57,12 @@ export default {
       classroomInputs: [
         { type: 'input', name: 'title', responseKey: 'title', label: 'عنوان', placeholder: ' ', col: 'col-12' },
         { type: 'inputEditor', name: 'description', responseKey: 'description', label: 'توضیحات آزمون', col: 'col-12' },
-        { type: 'dateTime', name: 'start_time', responseKey: 'start_time', outsideLabel: 'زمان شروع آزمون', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'end_time', responseKey: 'end_time', outsideLabel: 'زمان پایان آزمون', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'start_time', responseKey: 'start_time', outsideLabel: 'زمان شروع آزمون', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'end_time', responseKey: 'end_time', outsideLabel: 'زمان پایان آزمون', col: 'col-md-6 col-12' },
         { type: 'input', name: 'duration_deadline', responseKey: 'duration_deadline', label: 'مدت زمان پاسخ دهی (دقیقه)', placeholder: ' ', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'announcement_time', responseKey: 'announcement_time', outsideLabel: 'زمان اعلام نتایج', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'objection_start_time', responseKey: 'objection_start_time', outsideLabel: 'زمان شروع اعتراض', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'objection_end_time', responseKey: 'objection_end_time', outsideLabel: 'زمان پایان اعتراض', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'announcement_time', responseKey: 'announcement_time', outsideLabel: 'زمان اعلام نتایج', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'objection_start_time', responseKey: 'objection_start_time', outsideLabel: 'زمان شروع اعتراض', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'objection_end_time', responseKey: 'objection_end_time', outsideLabel: 'زمان پایان اعتراض', col: 'col-md-6 col-12' },
         { type: 'select', name: 'level', responseKey: 'level', label: 'سطح آزمون', placeholder: ' ', options: (new Test()).levelEnums, col: 'col-md-3 col-12' },
         { type: 'hidden', name: 'test_set', responseKey: 'test_set', value: this.$route.params.test_set_id },
         { type: 'hidden', name: 'classroom', responseKey: 'classroom', value: this.$route.params.classroom_id },

+ 7 - 5
src/components/Widgets/Test/AdminTestShow/AdminTestShow.vue

@@ -42,10 +42,12 @@ import { FormBuilderAssist } from 'quasar-form-builder'
 import BtnControl from 'src/components/Control/btn.vue'
 import { UnitCategory } from 'src/models/UnitCategory.js'
 import Breadcrumbs from 'src/components/Widgets/Breadcrumbs/Breadcrumbs.vue'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import UsersOfTestSelector from 'src/components/FormBuilderCustumComponents/UsersOfTestSelector/UsersOfTestSelector.vue'
 import QuestionsCreateAndAppend from 'src/components/FormBuilderCustumComponents/QuestionsCreateAndAppend/QuestionsCreateAndAppend.vue'
 
 const BtnControlComp = shallowRef(BtnControl)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 const UsersOfTestSelectorComp = shallowRef(UsersOfTestSelector)
 const QuestionsCreateAndAppendComp = shallowRef(QuestionsCreateAndAppend)
 
@@ -65,12 +67,12 @@ export default {
       classroomInputs: [
         { type: 'input', name: 'title', responseKey: 'title', label: 'عنوان', placeholder: ' ', col: 'col-12' },
         { type: 'inputEditor', name: 'description', responseKey: 'description', label: 'توضیحات ' + (this.$route.query.classroom_type === 'EVENT' ? 'پرسشنامه' : 'آزمون'), col: 'col-12' },
-        { type: 'dateTime', name: 'start_time', responseKey: 'start_time', outsideLabel: 'زمان شروع آزمون', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'end_time', responseKey: 'end_time', outsideLabel: 'زمان پایان آزمون', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'start_time', responseKey: 'start_time', outsideLabel: 'زمان شروع آزمون', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'end_time', responseKey: 'end_time', outsideLabel: 'زمان پایان آزمون', col: 'col-md-6 col-12' },
         { type: 'input', name: 'duration_deadline', responseKey: 'duration_deadline', label: 'مدت زمان پاسخ دهی (دقیقه)', placeholder: ' ', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'announcement_time', responseKey: 'announcement_time', outsideLabel: 'زمان اعلام نتایج', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'objection_start_time', responseKey: 'objection_start_time', outsideLabel: 'زمان شروع اعتراض', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'objection_end_time', responseKey: 'objection_end_time', outsideLabel: 'زمان پایان اعتراض', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'announcement_time', responseKey: 'announcement_time', outsideLabel: 'زمان اعلام نتایج', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'objection_start_time', responseKey: 'objection_start_time', outsideLabel: 'زمان شروع اعتراض', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'objection_end_time', responseKey: 'objection_end_time', outsideLabel: 'زمان پایان اعتراض', col: 'col-md-6 col-12' },
         { type: 'select', name: 'level', responseKey: 'level', label: 'سطح آزمون', placeholder: ' ', options: (new Test()).levelEnums, col: 'col-md-3 col-12' },
         { type: 'hidden', name: 'test_set', responseKey: 'test_set', value: this.$route.params.test_set_id },
         { type: 'hidden', name: 'classroom', responseKey: 'classroom', value: this.$route.params.classroom_id },

+ 4 - 2
src/components/Widgets/Ticket/AdminTicketList/AdminTicketList.vue

@@ -39,8 +39,10 @@ import { APIGateway } from 'src/api/APIGateway.js'
 import { FormBuilderAssist } from 'quasar-form-builder'
 import BtnControl from 'src/components/Control/btn.vue'
 import { TicketCategory, TicketCategoryList } from 'src/models/TicketCategory.js'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 
 const BtnControlComp = shallowRef(BtnControl)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'AdminTicketList',
@@ -58,13 +60,13 @@ export default {
       },
       inputs: [
         {
-          type: 'dateTime',
+          type: FormBuilderDateTimeComp,
           name: 'creation_time__gte',
           outsideLabel: 'از تاریخ',
           col: 'col-md-4 col-12'
         },
         {
-          type: 'dateTime',
+          type: FormBuilderDateTimeComp,
           name: 'creation_time__lt',
           outsideLabel: 'تا تاریخ',
           col: 'col-md-4 col-12'

+ 3 - 1
src/components/Widgets/Ticket/AdminTicketShow/AdminTicketShow.vue

@@ -163,8 +163,10 @@ import { TicketCategory, TicketCategoryList } from 'src/models/TicketCategory.js
 import AdminInvoiceShow from 'src/components/Widgets/Invoice/AdminInvoiceShow/AdminInvoiceShow.vue'
 import InstallmentOffers from 'src/components/Widgets/Ticket/AdminTicketShow/InstallmentOffers.vue'
 import CreateInstallment from 'src/components/Widgets/Ticket/AdminTicketShow/CreateInstallment.vue'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 
 const BtnControlComp = shallowRef(BtnControl)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'AdminTicketShow',
@@ -214,7 +216,7 @@ export default {
         { type: 'select', name: 'status', responseKey: 'status', options: (new Ticket()).statusEnums, multiple: false, label: 'وضعیت', placeholder: ' ', readonly: true, col: 'col-md-4 col-12' },
 
         { type: 'file', name: 'attachment', responseKey: 'attachment', placeholder: ' ', label: 'ضمیمه', readonly: true, col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ایجاد', readonly: true, col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ایجاد', readonly: true, col: 'col-md-6 col-12' },
 
         { type: 'input', name: 'title', responseKey: 'title', label: 'عنوان', placeholder: ' ', readonly: true, col: 'col-md-12 col-12' },
         { type: 'inputEditor', name: 'body', responseKey: 'body', label: 'متن', placeholder: ' ', readonly: true, col: 'col-md-12 col-12' },

+ 6 - 2
src/components/Widgets/Ticket/TicketShow/TicketShow.vue

@@ -110,6 +110,7 @@
 </template>
 
 <script>
+import { shallowRef } from 'vue'
 import { EntityShow } from 'quasar-crud'
 import { User } from 'src/models/User.js'
 import Assist from 'src/assets/js/Assist.js'
@@ -117,10 +118,13 @@ import { Ticket } from 'src/models/Ticket.js'
 import { mixinWidget } from 'src/mixin/Mixins.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import { FormBuilderAssist } from 'quasar-form-builder'
-import { TicketCategory, TicketCategoryList } from 'src/models/TicketCategory.js'
 import { InstalmentOfferList } from 'src/models/InstalmentOffer.js'
+import { TicketCategory, TicketCategoryList } from 'src/models/TicketCategory.js'
 import InvoiceShow from 'src/components/Widgets/Invoice/InvoiceShow/InvoiceShow.vue'
 import InstallmentOffers from 'src/components/Widgets/Ticket/TicketShow/InstallmentOffers.vue'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
+
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'TicketShow',
@@ -159,7 +163,7 @@ export default {
         { type: 'select', name: 'status', responseKey: 'status', options: (new Ticket()).statusEnums, multiple: false, label: 'وضعیت', placeholder: ' ', col: 'col-md-4 col-12' },
 
         { type: 'file', name: 'attachment', responseKey: 'attachment', placeholder: ' ', label: 'ضمیمه', readonly: true, col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ایجاد', readonly: true, col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ایجاد', readonly: true, col: 'col-md-6 col-12' },
         { type: 'input', name: 'title', responseKey: 'title', label: 'عنوان', placeholder: ' ', col: 'col-md-12 col-12' },
         { type: 'inputEditor', name: 'body', responseKey: 'body', label: 'متن', placeholder: ' ', col: 'col-md-12 col-12' },
         { type: 'hidden', name: 'source_id', responseKey: 'source_id', value: null },

+ 4 - 2
src/components/Widgets/Transaction/AdminTransactionList/AdminPaymentList.vue

@@ -56,8 +56,10 @@ import { APIGateway } from 'src/api/APIGateway.js'
 import { FormBuilderAssist } from 'quasar-form-builder'
 import BtnControl from 'src/components/Control/btn.vue'
 import EntityIndexGridItem from 'src/components/EntityIndexGridItem.vue'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 
 const BtnControlComp = shallowRef(BtnControl)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'AdminPaymentList',
@@ -75,13 +77,13 @@ export default {
       },
       inputs: [
         {
-          type: 'dateTime',
+          type: FormBuilderDateTimeComp,
           name: 'creation_time__gte',
           outsideLabel: 'از تاریخ',
           col: 'col-md-3 col-12'
         },
         {
-          type: 'dateTime',
+          type: FormBuilderDateTimeComp,
           name: 'creation_time__lt',
           outsideLabel: 'تا تاریخ',
           col: 'col-md-3 col-12'

+ 5 - 1
src/components/Widgets/Transaction/AdminTransactionShow/AdminTransactionShow.vue

@@ -37,10 +37,14 @@
 </template>
 
 <script>
+import { shallowRef } from 'vue'
 import { EntityShow } from 'quasar-crud'
 import { mixinWidget } from 'src/mixin/Mixins.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import { Transaction } from 'src/models/Transaction.js'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
+
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'AdminTransactionShow',
@@ -78,7 +82,7 @@ export default {
           col: 'col-md-4 col-12'
         },
         { type: 'input', name: 'amount', responseKey: 'amount', label: 'مبلغ کل(ریال)', placeholder: ' ', col: 'col-md-4 col-12' },
-        { type: 'dateTime', name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ثبت', col: 'col-md-4 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ثبت', col: 'col-md-4 col-12' },
         { type: 'inputEditor', name: 'description', responseKey: 'description', label: 'توضیحات', placeholder: ' ', col: 'col-12' }
         // { type: 'input', name: 'IBAN', responseKey: 'IBAN', label: 'شماره شبا', placeholder: ' ', col: 'col-md-6 col-12' },
         // { type: 'input', name: 'receipt', responseKey: 'receipt', label: 'رسید پرداخت', placeholder: ' ', col: 'col-md-6 col-12' }

+ 5 - 1
src/components/Widgets/Transaction/TransactionShow/PaymentShow.vue

@@ -56,10 +56,14 @@
 </template>
 
 <script>
+import { shallowRef } from 'vue'
 import { EntityShow } from 'quasar-crud'
 import { Payment } from 'src/models/Payment.js'
 import { mixinWidget } from 'src/mixin/Mixins.js'
 import { APIGateway } from 'src/api/APIGateway.js'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
+
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'PaymentShow',
@@ -80,7 +84,7 @@ export default {
       inputs: [
         // { type: 'separator', name: 'space', label: 'مشخصات حساب', className: 'custom-separator', col: 'col-12' },
         { type: 'input', name: 'id', responseKey: 'id', label: 'شناسه', placeholder: ' ', col: 'col-md-2 col-12' },
-        { type: 'dateTime', name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ثبت', col: 'col-md-4 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ثبت', col: 'col-md-4 col-12' },
         {
           type: 'select',
           name: 'type',

+ 4 - 2
src/pages/Admin/Classroom/ProjectAttendanceSheet/create.vue

@@ -38,8 +38,10 @@ import { EntityCreate } from 'quasar-crud'
 import { Project } from 'src/models/Project.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import { FormBuilderAssist } from 'quasar-form-builder'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import ContentsSelector from 'src/components/FormBuilderCustumComponents/ContentsSelector/ContentsSelector.vue'
 
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 const ContentsSelectorComp = shallowRef(ContentsSelector)
 
 export default {
@@ -70,8 +72,8 @@ export default {
           placeholder: ' ',
           col: 'col-md-3 col-12'
         },
-        { type: 'dateTime', name: 'beginning_doing_period', responseKey: 'beginning_doing_period', outsideLabel: 'زمان شروع', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_doing_period', responseKey: 'ending_doing_period', outsideLabel: 'زمان پایان', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_doing_period', responseKey: 'beginning_doing_period', outsideLabel: 'زمان شروع', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_doing_period', responseKey: 'ending_doing_period', outsideLabel: 'زمان پایان', col: 'col-md-6 col-12' },
         { type: 'separator', name: 'space', size: '0', col: 'col-md-12' },
         { type: 'inputEditor', name: 'correct_answer', responseKey: 'description', label: 'پاسخ صحیح', placeholder: ' ', col: 'col-12' },
         { type: 'inputEditor', name: 'description', responseKey: 'description', label: 'توضیحات پروژه', placeholder: ' ', col: 'col-12' },

+ 4 - 2
src/pages/Admin/Classroom/project/create.vue

@@ -38,9 +38,11 @@ import { EntityCreate } from 'quasar-crud'
 import { Project } from 'src/models/Project.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import { FormBuilderAssist } from 'quasar-form-builder'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import ContentsSelector from 'src/components/FormBuilderCustumComponents/ContentsSelector/ContentsSelector.vue'
 
 const ContentsSelectorComp = shallowRef(ContentsSelector)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'Admin.Classroom.Create',
@@ -71,8 +73,8 @@ export default {
           col: 'col-md-3 col-12'
         },
         { type: 'checkbox', name: 'is_mandatory', responseKey: 'is_mandatory', label: 'اجباری', placeholder: ' ', value: false, col: 'col-md-3 col-12' },
-        { type: 'dateTime', name: 'beginning_doing_period', responseKey: 'beginning_doing_period', outsideLabel: 'زمان شروع', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_doing_period', responseKey: 'ending_doing_period', outsideLabel: 'زمان پایان', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_doing_period', responseKey: 'beginning_doing_period', outsideLabel: 'زمان شروع', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_doing_period', responseKey: 'ending_doing_period', outsideLabel: 'زمان پایان', col: 'col-md-6 col-12' },
         { type: 'separator', name: 'space', size: '0', col: 'col-md-12' },
         { type: 'inputEditor', name: 'description', responseKey: 'description', label: 'توضیحات پروژه', placeholder: ' ', col: 'col-12' },
         { type: 'inputEditor', name: 'correct_answer', responseKey: 'correct_answer', label: 'پاسخ صحیح', placeholder: ' ', col: 'col-12' },

+ 4 - 2
src/pages/Admin/Classroom/project/show.vue

@@ -32,9 +32,11 @@ import { shallowRef } from 'vue'
 import { EntityEdit } from 'quasar-crud'
 import { Project } from 'src/models/Project.js'
 import { APIGateway } from 'src/api/APIGateway.js'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import ContentsSelector from 'src/components/FormBuilderCustumComponents/ContentsSelector/ContentsSelector.vue'
 
 const ContentsSelectorComp = shallowRef(ContentsSelector)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'Admin.Classroom.Project.Show',
@@ -61,8 +63,8 @@ export default {
           col: 'col-md-3 col-12'
         },
         { type: 'checkbox', name: 'is_mandatory', responseKey: 'is_mandatory', label: 'اجباری', placeholder: ' ', value: false, col: 'col-md-3 col-12' },
-        { type: 'dateTime', name: 'beginning_doing_period', responseKey: 'beginning_doing_period', outsideLabel: 'زمان شروع', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_doing_period', responseKey: 'ending_doing_period', outsideLabel: 'زمان پایان', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_doing_period', responseKey: 'beginning_doing_period', outsideLabel: 'زمان شروع', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_doing_period', responseKey: 'ending_doing_period', outsideLabel: 'زمان پایان', col: 'col-md-6 col-12' },
         { type: 'separator', name: 'space', size: '0', col: 'col-md-12' },
         { type: 'inputEditor', name: 'description', responseKey: 'description', label: 'توضیحات پروژه', placeholder: ' ', col: 'col-12' },
         { type: 'inputEditor', name: 'correct_answer', responseKey: 'correct_answer', label: 'پاسخ صحیح', placeholder: ' ', col: 'col-12' },

+ 31 - 2
src/pages/Admin/Classroom/show.vue

@@ -11,9 +11,38 @@ import { mixinPageOptions } from 'src/mixin/Mixins.js'
 export default {
   name: 'Admin.Classroom.Show',
   mixins: [mixinPageOptions],
-  data: () => {
+  data () {
     return {
-      sections: [{ data: { rows: [{ cols: [{ widgets: [{ name: 'AdminClassroomShow', options: { style: {}, classroomType: 'TRAINING' } }], options: { style: { paddingTop: '' } } }], options: { className: '', height: 'auto', boxed: true, boxedWidth: 1200, gutterXSize: 'md', gutterYSize: 'md', absolute: 'none', paddingOfBoxedInFullWidth: '10px', alignment: { justifyContent: { global: null, xl: null, lg: null, md: null, sm: null, xs: null }, alignItems: { global: null, xl: null, lg: null, md: null, sm: null, xs: null }, alignContent: { global: null, xl: null, lg: null, md: null, sm: null, xs: null } }, style: { maxWidth: '1200px', width: '1200px' } } }] } }]
+      sections: [
+        {
+          data: {
+            rows: [
+              {
+                cols: [
+                  {
+                    widgets: [
+                      {
+                        name: 'AdminClassroomShow',
+                        options: { classroomType: 'TRAINING' }
+                      }
+                    ]
+                  }
+                ],
+                options: {
+                  className: '',
+                  height: 'auto',
+                  boxed: true,
+                  boxedWidth: 1200,
+                  gutterXSize: 'md',
+                  gutterYSize: 'md',
+                  absolute: 'none',
+                  paddingOfBoxedInFullWidth: '10px',
+                  style: { maxWidth: '1200px', width: '1200px' }
+                }
+              }
+            ]
+          }
+        }]
     }
   },
   created() {

+ 11 - 7
src/pages/Admin/DiscussionCirclesClassroom/create.vue

@@ -36,10 +36,14 @@
 </template>
 
 <script>
+import { shallowRef } from 'vue'
 import { EntityCreate } from 'quasar-crud'
 import Enums from 'src/assets/Enums/Enums.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import { FormBuilderAssist } from 'quasar-form-builder'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
+
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'Admin.Classroom.DiscussionCircles.Create',
@@ -122,24 +126,24 @@ export default {
         { type: 'input', name: 'minimum_clean_passing_mark', responseKey: 'minimum_clean_passing_mark', placeholder: ' ', label: 'نمره قبولی', col: 'col-md-3 col-12' },
 
         { type: 'separator', name: 'space', label: 'ثبت نام و حذف و اضافه', className: 'custom-separator', col: 'col-12' },
-        { type: 'dateTime', name: 'beginning_enrollment_period', responseKey: 'beginning_enrollment_period', outsideLabel: 'تاریخ شروع پیش ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_enrollment_period', responseKey: 'ending_enrollment_period', outsideLabel: 'تاریخ پایان پیش ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'beginning_registration_period', responseKey: 'beginning_registration_period', outsideLabel: 'تاریخ شروع ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_registration_period', responseKey: 'ending_registration_period', outsideLabel: 'تاریخ پایان ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_enrollment_period', responseKey: 'beginning_enrollment_period', outsideLabel: 'تاریخ شروع پیش ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_enrollment_period', responseKey: 'ending_enrollment_period', outsideLabel: 'تاریخ پایان پیش ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_registration_period', responseKey: 'beginning_registration_period', outsideLabel: 'تاریخ شروع ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_registration_period', responseKey: 'ending_registration_period', outsideLabel: 'تاریخ پایان ثبت نام', col: 'col-md-6 col-12' },
 
         { type: 'input', name: 'registration_period_refund_percent', responseKey: 'registration_period_refund_percent', placeholder: ' ', label: 'درصد برگشت هزینه انصراف در بازه ثبت نام', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_enrollment_period', responseKey: 'allow_dropping_on_enrollment_period', label: 'امکان حذف در بازه پیش ثبت نام', value: false, col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_adding_on_registration_period', responseKey: 'allow_adding_on_registration_period', label: 'امکان اضافه کردن در بازه ثبت نام', value: false, col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_registration_period', responseKey: 'allow_dropping_on_registration_period', label: 'امکان حذف ثبت نام در بازه ثبت نام', value: false, col: 'col-md-3 col-12' },
 
-        { type: 'dateTime', name: 'beginning_drop_add_period', responseKey: 'beginning_drop_add_period', outsideLabel: 'تاریخ شروع حذف و اضافه', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_drop_add_period', responseKey: 'ending_drop_add_period', outsideLabel: 'تاریخ پایان حذف و اضافه', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_drop_add_period', responseKey: 'beginning_drop_add_period', outsideLabel: 'تاریخ شروع حذف و اضافه', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_drop_add_period', responseKey: 'ending_drop_add_period', outsideLabel: 'تاریخ پایان حذف و اضافه', col: 'col-md-6 col-12' },
 
         { type: 'input', name: 'drop_add_period_refund_percent', responseKey: 'drop_add_period_refund_percent', placeholder: ' ', label: 'درصد برگشت هزینه انصراف در بازه حذف و اضافه', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_adding_on_drop_add_period', responseKey: 'allow_adding_on_drop_add_period', label: 'امکان اضافه شدن در بازه حذف و اضافه', value: false, col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_drop_add_period', responseKey: 'allow_dropping_on_drop_add_period', label: 'امکان حذف در بازه حذف و اضافه', value: false, col: 'col-md-3 col-12' },
 
-        { type: 'dateTime', name: 'publish_time', responseKey: 'publish_time', outsideLabel: 'تاریخ انتشار', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'publish_time', responseKey: 'publish_time', outsideLabel: 'تاریخ انتشار', col: 'col-md-6 col-12' },
 
         { type: 'separator', name: 'space', label: 'قوانین', className: 'custom-separator', col: 'col-12' },
         { type: 'inputEditor', name: 'rules', responseKey: 'rules', label: 'قوانین حلقه آموزشی', col: 'col-12' },

+ 9 - 7
src/pages/Admin/DiscussionCirclesClassroom/show.vue

@@ -199,8 +199,10 @@ import { EntityEdit, EntityIndex } from 'quasar-crud'
 import { FormBuilderAssist } from 'quasar-form-builder'
 import BtnControl from 'src/components/Control/btn.vue'
 import DeleteBtn from 'src/components/Control/DeleteBtn.vue'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 
 const BtnControlComp = shallowRef(BtnControl)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'Admin.Classroom.Show',
@@ -284,24 +286,24 @@ export default {
         { type: 'input', name: 'minimum_clean_passing_mark', responseKey: 'minimum_clean_passing_mark', placeholder: ' ', label: 'نمره قبولی', col: 'col-md-3 col-12' },
 
         { type: 'separator', name: 'space', label: 'ثبت نام و حذف و اضافه', className: 'custom-separator', col: 'col-12' },
-        { type: 'dateTime', name: 'beginning_enrollment_period', responseKey: 'beginning_enrollment_period', outsideLabel: 'تاریخ شروع پیش ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_enrollment_period', responseKey: 'ending_enrollment_period', outsideLabel: 'تاریخ پایان پیش ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'beginning_registration_period', responseKey: 'beginning_registration_period', outsideLabel: 'تاریخ شروع ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_registration_period', responseKey: 'ending_registration_period', outsideLabel: 'تاریخ پایان ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_enrollment_period', responseKey: 'beginning_enrollment_period', outsideLabel: 'تاریخ شروع پیش ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_enrollment_period', responseKey: 'ending_enrollment_period', outsideLabel: 'تاریخ پایان پیش ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_registration_period', responseKey: 'beginning_registration_period', outsideLabel: 'تاریخ شروع ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_registration_period', responseKey: 'ending_registration_period', outsideLabel: 'تاریخ پایان ثبت نام', col: 'col-md-6 col-12' },
 
         { type: 'input', name: 'registration_period_refund_percent', responseKey: 'registration_period_refund_percent', placeholder: ' ', label: 'درصد برگشت هزینه انصراف در بازه ثبت نام', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_enrollment_period', responseKey: 'allow_dropping_on_enrollment_period', label: 'امکان حذف در بازه پیش ثبت نام', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_adding_on_registration_period', responseKey: 'allow_adding_on_registration_period', label: 'امکان اضافه کردن در بازه ثبت نام', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_registration_period', responseKey: 'allow_dropping_on_registration_period', label: 'امکان حذف ثبت نام در بازه ثبت نام', col: 'col-md-3 col-12' },
 
-        { type: 'dateTime', name: 'beginning_drop_add_period', responseKey: 'beginning_drop_add_period', outsideLabel: 'تاریخ شروع حذف و اضافه', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_drop_add_period', responseKey: 'ending_drop_add_period', outsideLabel: 'تاریخ پایان حذف و اضافه', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_drop_add_period', responseKey: 'beginning_drop_add_period', outsideLabel: 'تاریخ شروع حذف و اضافه', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_drop_add_period', responseKey: 'ending_drop_add_period', outsideLabel: 'تاریخ پایان حذف و اضافه', col: 'col-md-6 col-12' },
 
         { type: 'input', name: 'drop_add_period_refund_percent', responseKey: 'drop_add_period_refund_percent', placeholder: ' ', label: 'درصد برگشت هزینه انصراف در بازه حذف و اضافه', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_adding_on_drop_add_period', responseKey: 'allow_adding_on_drop_add_period', label: 'امکان اضافه شدن در بازه حذف و اضافه', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_drop_add_period', responseKey: 'allow_dropping_on_drop_add_period', label: 'امکان حذف در بازه حذف و اضافه', col: 'col-md-3 col-12' },
 
-        { type: 'dateTime', name: 'publish_time', responseKey: 'publish_time', outsideLabel: 'تاریخ انتشار', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'publish_time', responseKey: 'publish_time', outsideLabel: 'تاریخ انتشار', col: 'col-md-6 col-12' },
 
         { type: 'separator', name: 'space', label: 'قوانین', className: 'custom-separator', col: 'col-12' },
         { type: 'inputEditor', name: 'rules', responseKey: 'rules', label: 'قوانین دوره آموزشی', col: 'col-12' },

+ 4 - 2
src/pages/Admin/Event/ProjectAttendanceSheet/create.vue

@@ -38,9 +38,11 @@ import { EntityCreate } from 'quasar-crud'
 import { Project } from 'src/models/Project.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import { FormBuilderAssist } from 'quasar-form-builder'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import ContentsSelector from 'src/components/FormBuilderCustumComponents/ContentsSelector/ContentsSelector.vue'
 
 const ContentsSelectorComp = shallowRef(ContentsSelector)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'Admin.Classroom.Create',
@@ -70,8 +72,8 @@ export default {
           placeholder: ' ',
           col: 'col-md-3 col-12'
         },
-        { type: 'dateTime', name: 'beginning_doing_period', responseKey: 'beginning_doing_period', outsideLabel: 'زمان شروع', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_doing_period', responseKey: 'ending_doing_period', outsideLabel: 'زمان پایان', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_doing_period', responseKey: 'beginning_doing_period', outsideLabel: 'زمان شروع', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_doing_period', responseKey: 'ending_doing_period', outsideLabel: 'زمان پایان', col: 'col-md-6 col-12' },
         { type: 'separator', name: 'space', size: '0', col: 'col-md-12' },
         { type: 'inputEditor', name: 'correct_answer', responseKey: 'description', label: 'پاسخ صحیح', placeholder: ' ', col: 'col-12' },
         { type: 'inputEditor', name: 'description', responseKey: 'description', label: 'توضیحات پروژه', placeholder: ' ', col: 'col-12' },

+ 9 - 7
src/pages/Admin/Event/ema-create.vue

@@ -41,10 +41,12 @@ import { EntityCreate } from 'quasar-crud'
 import { Event } from 'src/models/Event.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import { FormBuilderAssist } from 'quasar-form-builder'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import ContentMedias from 'src/components/FormBuilderCustumComponents/ContentMedias/ContentMedias.vue'
 import FormBuilderInputEditor from 'src/components/FormBuilderCustumComponents/FormBuilderInputEditor.vue'
 
 const ContentMediasComp = shallowRef(ContentMedias)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 const FormBuilderInputEditorComp = shallowRef(FormBuilderInputEditor)
 
 export default {
@@ -88,24 +90,24 @@ export default {
         { type: 'input', name: 'capacity', responseKey: 'capacity', placeholder: ' ', label: 'ظرفیت گروه درسی', col: 'col-md-3 col-12' },
 
         { type: 'separator', name: 'space', label: 'ثبت نام و حذف و اضافه', className: 'custom-separator', col: 'col-12' },
-        { type: 'dateTime', name: 'beginning_enrollment_period', responseKey: 'beginning_enrollment_period', outsideLabel: 'تاریخ شروع پیش ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_enrollment_period', responseKey: 'ending_enrollment_period', outsideLabel: 'تاریخ پایان پیش ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'beginning_registration_period', responseKey: 'beginning_registration_period', outsideLabel: 'تاریخ شروع ثبت نام', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_registration_period', responseKey: 'ending_registration_period', outsideLabel: 'تاریخ پایان ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_enrollment_period', responseKey: 'beginning_enrollment_period', outsideLabel: 'تاریخ شروع پیش ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_enrollment_period', responseKey: 'ending_enrollment_period', outsideLabel: 'تاریخ پایان پیش ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_registration_period', responseKey: 'beginning_registration_period', outsideLabel: 'تاریخ شروع ثبت نام', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_registration_period', responseKey: 'ending_registration_period', outsideLabel: 'تاریخ پایان ثبت نام', col: 'col-md-6 col-12' },
 
         { type: 'input', name: 'registration_period_refund_percent', responseKey: 'registration_period_refund_percent', placeholder: ' ', label: 'درصد برگشت هزینه انصراف در بازه ثبت نام', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_enrollment_period', responseKey: 'allow_dropping_on_enrollment_period', label: 'امکان حذف در بازه پیش ثبت نام', value: false, col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_adding_on_registration_period', responseKey: 'allow_adding_on_registration_period', label: 'امکان اضافه کردن در بازه ثبت نام', value: false, col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_registration_period', responseKey: 'allow_dropping_on_registration_period', label: 'امکان حذف ثبت نام در بازه ثبت نام', value: false, col: 'col-md-3 col-12' },
 
-        { type: 'dateTime', name: 'beginning_drop_add_period', responseKey: 'beginning_drop_add_period', outsideLabel: 'تاریخ شروع حذف و اضافه', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_drop_add_period', responseKey: 'ending_drop_add_period', outsideLabel: 'تاریخ پایان حذف و اضافه', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_drop_add_period', responseKey: 'beginning_drop_add_period', outsideLabel: 'تاریخ شروع حذف و اضافه', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_drop_add_period', responseKey: 'ending_drop_add_period', outsideLabel: 'تاریخ پایان حذف و اضافه', col: 'col-md-6 col-12' },
 
         { type: 'input', name: 'drop_add_period_refund_percent', responseKey: 'drop_add_period_refund_percent', placeholder: ' ', label: 'درصد برگشت هزینه انصراف در بازه حذف و اضافه', col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_adding_on_drop_add_period', responseKey: 'allow_adding_on_drop_add_period', label: 'امکان اضافه شدن در بازه حذف و اضافه', value: false, col: 'col-md-3 col-12' },
         { type: 'checkbox', name: 'allow_dropping_on_drop_add_period', responseKey: 'allow_dropping_on_drop_add_period', label: 'امکان حذف در بازه حذف و اضافه', value: false, col: 'col-md-3 col-12' },
 
-        { type: 'dateTime', name: 'publish_time', responseKey: 'publish_time', outsideLabel: 'تاریخ انتشار', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'publish_time', responseKey: 'publish_time', outsideLabel: 'تاریخ انتشار', col: 'col-md-6 col-12' },
 
         { type: 'separator', name: 'space', label: 'قوانین', className: 'custom-separator', col: 'col-12' },
         { type: FormBuilderInputEditorComp, name: 'rules', responseKey: 'rules', label: 'قوانین رویداد', col: 'col-12' },

+ 4 - 2
src/pages/Admin/Event/project/create.vue

@@ -38,9 +38,11 @@ import { EntityCreate } from 'quasar-crud'
 import { Project } from 'src/models/Project.js'
 import { APIGateway } from 'src/api/APIGateway.js'
 import { FormBuilderAssist } from 'quasar-form-builder'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import ContentsSelector from 'src/components/FormBuilderCustumComponents/ContentsSelector/ContentsSelector.vue'
 
 const ContentsSelectorComp = shallowRef(ContentsSelector)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'Admin.Classroom.Create',
@@ -71,8 +73,8 @@ export default {
           col: 'col-md-3 col-12'
         },
         { type: 'checkbox', name: 'is_mandatory', responseKey: 'is_mandatory', label: 'اجباری', placeholder: ' ', value: false, col: 'col-md-3 col-12' },
-        { type: 'dateTime', name: 'beginning_doing_period', responseKey: 'beginning_doing_period', outsideLabel: 'زمان شروع', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_doing_period', responseKey: 'ending_doing_period', outsideLabel: 'زمان پایان', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_doing_period', responseKey: 'beginning_doing_period', outsideLabel: 'زمان شروع', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_doing_period', responseKey: 'ending_doing_period', outsideLabel: 'زمان پایان', col: 'col-md-6 col-12' },
         { type: 'separator', name: 'space', size: '0', col: 'col-md-12' },
         { type: 'inputEditor', name: 'description', responseKey: 'description', label: 'توضیحات پروژه', placeholder: ' ', col: 'col-12' },
         { type: 'inputEditor', name: 'correct_answer', responseKey: 'correct_answer', label: 'پاسخ صحیح', placeholder: ' ', col: 'col-12' },

+ 4 - 2
src/pages/Admin/Event/project/show.vue

@@ -32,9 +32,11 @@ import { shallowRef } from 'vue'
 import { EntityEdit } from 'quasar-crud'
 import { Project } from 'src/models/Project.js'
 import { APIGateway } from 'src/api/APIGateway.js'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import ContentsSelector from 'src/components/FormBuilderCustumComponents/ContentsSelector/ContentsSelector.vue'
 
 const ContentsSelectorComp = shallowRef(ContentsSelector)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'Admin.Classroom.Project.Show',
@@ -61,8 +63,8 @@ export default {
           col: 'col-md-3 col-12'
         },
         { type: 'checkbox', name: 'is_mandatory', responseKey: 'is_mandatory', label: 'اجباری', placeholder: ' ', value: false, col: 'col-md-3 col-12' },
-        { type: 'dateTime', name: 'beginning_doing_period', responseKey: 'beginning_doing_period', outsideLabel: 'زمان شروع', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_doing_period', responseKey: 'ending_doing_period', outsideLabel: 'زمان پایان', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_doing_period', responseKey: 'beginning_doing_period', outsideLabel: 'زمان شروع', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_doing_period', responseKey: 'ending_doing_period', outsideLabel: 'زمان پایان', col: 'col-md-6 col-12' },
         { type: 'separator', name: 'space', size: '0', col: 'col-md-12' },
         { type: 'inputEditor', name: 'description', responseKey: 'description', label: 'توضیحات پروژه', placeholder: ' ', col: 'col-12' },
         { type: 'inputEditor', name: 'correct_answer', responseKey: 'correct_answer', label: 'پاسخ صحیح', placeholder: ' ', col: 'col-12' },

+ 6 - 2
src/pages/Admin/Feedback.vue

@@ -45,9 +45,13 @@
 </template>
 
 <script>
-import API_ADDRESS from 'src/api/Addresses'
+import { shallowRef } from 'vue'
 import { EntityCrud } from 'quasar-crud'
+import API_ADDRESS from 'src/api/Addresses'
 import ShamsiDate from 'src/assets/ShamsiDate'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
+
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'Feedback',
@@ -132,7 +136,7 @@ export default {
         { type: 'input', name: 'id', responseKey: 'id', label: 'شناسه', col: 'col-md-3', disable: true },
         { type: 'input', name: 'title', responseKey: 'title', label: 'عنوان', col: 'col-md-3' },
         { type: 'select', name: 'category', responseKey: 'category', options: [{ label: 'انتقاد', value: 'انتقاد' }, { label: 'پیشنهاد', value: 'پیشنهاد' }], value: null, label: 'دسته', col: 'col-md-3' },
-        { type: 'dateTime', name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ایجاد', col: 'col-md-3', disable: true },
+        { type: FormBuilderDateTimeComp, name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'تاریخ ایجاد', col: 'col-md-3', disable: true },
         {
           type: 'tiptap-editor',
           name: 'description',

+ 5 - 1
src/pages/Admin/Installment.vue

@@ -90,9 +90,13 @@
 </template>
 
 <script>
+import { shallowRef } from 'vue'
 import API_ADDRESS from 'src/api/Addresses'
 import ShamsiDate from 'src/assets/ShamsiDate'
 import { EntityCrud, Portlet } from 'quasar-crud'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
+
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'Installment',
@@ -313,7 +317,7 @@ export default {
           selected: [],
           col: 'col-md-4'
         },
-        { type: 'dateTime', name: 'due_date', responseKey: 'due_date', outsideLabel: 'تاریخ', col: 'col-md-5' },
+        { type: FormBuilderDateTimeComp, name: 'due_date', responseKey: 'due_date', outsideLabel: 'تاریخ', col: 'col-md-5' },
         { type: 'input', name: 'summary', responseKey: 'summary', label: 'توضیح کوتاه', col: 'col-md-12' },
         {
           type: 'tiptap-editor',

+ 4 - 2
src/pages/Admin/Session/show.vue

@@ -36,11 +36,13 @@
 import { shallowRef } from 'vue'
 import { EntityEdit } from 'quasar-crud'
 import { APIGateway } from 'src/api/APIGateway.js'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import ContentMedias from 'src/components/FormBuilderCustumComponents/ContentMedias/ContentMedias.vue'
 import ContentsSelector from 'src/components/FormBuilderCustumComponents/ContentsSelector/ContentsSelector.vue'
 
 const ContentMediasComp = shallowRef(ContentMedias)
 const ContentsSelectorComp = shallowRef(ContentsSelector)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'Admin.Session.Show',
@@ -60,8 +62,8 @@ export default {
       inputs: [
         { type: 'input', name: 'title', responseKey: 'title', label: 'نام جلسه', placeholder: ' ', col: 'col-md-9 col-12' },
         { type: 'separator', name: 'space', size: '0', col: 'col-12' },
-        { type: 'dateTime', name: 'beginning_time', responseKey: 'beginning_time', outsideLabel: 'زمان شروع جلسه', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_time', responseKey: 'ending_time', outsideLabel: 'زمان پایان جلسه', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_time', responseKey: 'beginning_time', outsideLabel: 'زمان شروع جلسه', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_time', responseKey: 'ending_time', outsideLabel: 'زمان پایان جلسه', col: 'col-md-6 col-12' },
         { type: 'inputEditor', name: 'description', responseKey: 'description', label: 'توضیحات', placeholder: ' ', col: 'col-md-6 col-12' },
         { type: 'inputEditor', name: 'syllabus', responseKey: 'syllabus', label: 'مقرری', placeholder: ' ', col: 'col-md-6 col-12' },
         { type: ContentsSelectorComp, name: 'contents', responseKey: 'contents_info', col: 'col-12' },

+ 4 - 2
src/pages/User/Profile/projectInfo.vue

@@ -56,10 +56,12 @@ import BtnControl from 'src/components/Control/btn.vue'
 import { FormBuilderAssist } from 'quasar-form-builder'
 import Breadcrumbs from 'src/components/Widgets/Breadcrumbs/Breadcrumbs.vue'
 import { ProjectAttendanceSheets } from 'src/models/ProjectAttendanceSheets.js'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import ContentsSelector from 'src/components/FormBuilderCustumComponents/ContentsSelector/ContentsSelector.vue'
 
 const BtnControlComp = shallowRef(BtnControl)
 const ContentsSelectorComp = shallowRef(ContentsSelector)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'UserPanel.Profile.ClassroomInfo',
@@ -91,8 +93,8 @@ export default {
           placeholder: ' ',
           col: 'col-md-3 col-12'
         },
-        { type: 'dateTime', name: 'beginning_doing_period', responseKey: 'beginning_doing_period', outsideLabel: 'زمان شروع', col: 'col-md-6 col-12' },
-        { type: 'dateTime', name: 'ending_doing_period', responseKey: 'ending_doing_period', outsideLabel: 'زمان پایان', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'beginning_doing_period', responseKey: 'beginning_doing_period', outsideLabel: 'زمان شروع', col: 'col-md-6 col-12' },
+        { type: FormBuilderDateTimeComp, name: 'ending_doing_period', responseKey: 'ending_doing_period', outsideLabel: 'زمان پایان', col: 'col-md-6 col-12' },
         { type: 'separator', name: 'space', size: '0', col: 'col-md-12' },
         { type: 'inputEditor', name: 'description', responseKey: 'description', label: 'توضیحات پروژه', placeholder: ' ', col: 'col-12' },
         { type: ContentsSelectorComp, name: 'contents', responseKey: 'contents_info', showPageLink: false, showDownloadLink: true, col: 'col-12' },

+ 4 - 2
src/pages/User/Profile/sessionInfo.vue

@@ -140,12 +140,14 @@ import BtnControl from 'src/components/Control/btn.vue'
 import { FormBuilderAssist } from 'quasar-form-builder'
 import Breadcrumbs from 'src/components/Widgets/Breadcrumbs/Breadcrumbs.vue'
 import { SessionAttendanceSheets } from 'src/models/SessionAttendanceSheets.js'
+import FormBuilderDateTime from 'src/components/FormBuilderCustumComponents/FormBuilderDateTime.vue'
 import ContentMedias from 'src/components/FormBuilderCustumComponents/ContentMedias/ContentMedias.vue'
 import ContentsSelector from 'src/components/FormBuilderCustumComponents/ContentsSelector/ContentsSelector.vue'
 
+const BtnControlComp = shallowRef(BtnControl)
 const ContentMediasComp = shallowRef(ContentMedias)
 const ContentsSelectorComp = shallowRef(ContentsSelector)
-const BtnControlComp = shallowRef(BtnControl)
+const FormBuilderDateTimeComp = shallowRef(FormBuilderDateTime)
 
 export default {
   name: 'UserPanel.Profile.SessionInfo',
@@ -220,7 +222,7 @@ export default {
         { type: 'InputEditor', name: 'answer_text', responseKey: 'answer_text', label: 'پاسخ کاربر', placeholder: ' ', col: 'col-md-12 col-12' },
         { type: 'file', name: 'answer_attachment', responseKey: 'answer_attachment', label: 'فایل ضمیمه', placeholder: ' ', col: 'col-md-3 col-12' },
         { type: 'select', name: 'assignment_status', responseKey: 'assignment_status', label: 'وضعیت تکلیف', placeholder: ' ', options: (new SessionAttendanceSheets()).assignment_statusEnums, col: 'col-md-3 col-12' },
-        { type: 'dateTime', name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'زمان ارسال تکلیف', col: 'col-md-6 col-12' }
+        { type: FormBuilderDateTimeComp, name: 'creation_time', responseKey: 'creation_time', outsideLabel: 'زمان ارسال تکلیف', col: 'col-md-6 col-12' }
       ]
     }
   },