feat: add persian date

pull/1/head
Saeid 4 years ago
parent 24468bebeb
commit 3db7ba0c7c

11214
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -37,6 +37,7 @@
"object-to-formdata": "^2.1.2",
"postcss-loader": "^3.0.0",
"raw-loader": "^0.5.1",
"v-mask": "^2.2.3",
"vee-validate": "^2.2.15",
"vue-advanced-cropper": "^0.14.1",
"vue-apexcharts": "^1.4.0",
@ -47,6 +48,7 @@
"vue-gallery": "^2.0.1",
"vue-jalali-moment": "^1.0.0",
"vue-moment": "^4.1.0",
"vue-persian-datetime-picker": "^2.1.6",
"vue-router": "^3.0.2",
"vue-scroll-reveal": "^1.0.11",
"vue-the-mask": "^0.11.1",
@ -62,10 +64,10 @@
"cross-env": "^5.1",
"deepmerge": "^4.0.0",
"fibers": "^4.0.1",
"jquery": "^3.4.1",
"jquery": "^3.5.1",
"laravel-mix": "^4.0.15",
"material-design-icons-iconfont": "^4.0.3",
"node-sass": "^4.12.0",
"node-sass": "^4.14.1",
"popper.js": "^2.0.0-next.4",
"pug": "^2.0.3",
"pug-loader": "^2.4.0",

@ -0,0 +1,79 @@
<template>
<div>
<v-text-field
v-model="dateShow"
:label="label"
prepend-icon="WMi-calendar-alt"
color="purple"
:id="'my-custom-date-' + uniqueId"
readonly
:color="color"
@click="show = true"
/>
<date-picker
v-model="dateShow"
locale="fa,en"
:locale-config="localeConfig"
:format="displayFormat"
@change="$emit('input', $event.format(format))"
:type="type"
:auto-submit="true"
:element="'my-custom-date-' + uniqueId"
:editable="true"
:show="show"
:min="min"
:max="max"
@close="show = false"
:color="color"
/>
</div>
</template>
<script>
import VuePersianDatetimePicker from 'vue-persian-datetime-picker'
import moment from 'jalali-moment';
export default {
components: {
datePicker: VuePersianDatetimePicker
},
props: {
color: {default: 'black'},
min: {default: null},
max: {default: null},
displayFormat: {default: 'jDD jMMMM jYYYY ساعت HH:mm'},
format: {default: 'YYYY-MM-DD HH:mm'},
type: {default: 'datetime'},
label: {default: 'در تاریخ '},
value: {default: null},
},
data: () => ({
localeConfig: {
fa: {
displayFormat: 'jYYYY/jMM/jDD HH:mm',
inputFormat: 'YYYY-MM-DD HH:mm',
lang: {label: 'شمسی'}
},
en: {
displayFormat: 'YYYY/MM/DD HH:mm',
inputFormat: 'YYYY-MM-DD HH:mm',
lang: {label: 'Gregorian'}
}
},
show: false,
uniqueId: Math.floor(Math.random() * 10000)
}),
computed: {
dateShow: {
get() {
if (this.value) {
return moment(new Date(this.value)).format(this.displayFormat);
}
return moment(new Date()).format(this.displayFormat);
},
set(value) {
}
},
}
}
</script>

@ -1,6 +1,7 @@
export default class Cron {
constructor(options) {
this.date_time = options['date_time'] ? options.date : '';
this.date = options['date'] ? options.date : '';
this.time = options['time'] ? options.time : '';
this.cron = options['cron'] ? options.cron : '';
@ -8,8 +9,15 @@ export default class Cron {
}
dateToCron() {
let date;
if (this.date !== '' && this.time !== '') {
let date = new Date(this.date + 'T'+ this.time);
date = new Date(this.date + 'T' + this.time);
}
else if (this.date_time !== '') {
date = new Date(this.date_time);
}
if (date) {
return {
cron: `${date.getMinutes()} ${date.getHours()} ${date.getDate()} ${date.getMonth() + 1 } *`,
year: date.getFullYear()
@ -27,9 +35,11 @@ export default class Cron {
let time = `${hour}:${minute}`;
let date = `${this.year}-${month}-${day}`;
let date_time = `${this.year}-${month}-${day} ${hour}:${minute}`;
return {
time,
date
date,
date_time
}
}

Loading…
Cancel
Save