|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
<template> |
|
|
|
|
<div> |
|
|
|
|
<div v-show="!showMessage"> |
|
|
|
|
<v-datetime-picker |
|
|
|
|
ref="picker" |
|
|
|
|
v-model="localState" |
|
|
|
@ -17,6 +18,11 @@
|
|
|
|
|
v-on="parentListeners" |
|
|
|
|
/> |
|
|
|
|
</div> |
|
|
|
|
<div v-show="showMessage" class="edit-warning" @dblclick="$refs.picker.display = true"> |
|
|
|
|
<!-- TODO: i18n --> |
|
|
|
|
ERR: Couldn't parse {{ this.value }} |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
<script> |
|
|
|
@ -31,6 +37,9 @@ export default {
|
|
|
|
|
props: { |
|
|
|
|
value: [String, Date, Number], ignoreFocus: Boolean |
|
|
|
|
}, |
|
|
|
|
data: () => ({ |
|
|
|
|
showMessage: false |
|
|
|
|
}), |
|
|
|
|
computed: { |
|
|
|
|
isMysql() { |
|
|
|
|
return ['mysql', 'mysql2'].indexOf(this.$store.getters['project/GtrClientType']) |
|
|
|
@ -40,8 +49,13 @@ export default {
|
|
|
|
|
if (!this.value) { |
|
|
|
|
return this.value |
|
|
|
|
} |
|
|
|
|
return (/^\d+$/.test(this.value) ? dayjs(+this.value) : dayjs(this.value)) |
|
|
|
|
.format('YYYY-MM-DD HH:mm') |
|
|
|
|
const d = (/^\d+$/.test(this.value) ? dayjs(+this.value) : dayjs(this.value)) |
|
|
|
|
if (d.isValid()) { |
|
|
|
|
this.showMessage = false |
|
|
|
|
return d.format('YYYY-MM-DD HH:mm') |
|
|
|
|
} else { |
|
|
|
|
this.showMessage = true |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
set(value) { |
|
|
|
|
if (this.isMysql) { |
|
|
|
@ -85,6 +99,12 @@ export default {
|
|
|
|
|
padding-top: 0 !important; |
|
|
|
|
font-size: inherit !important; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.edit-warning { |
|
|
|
|
padding: 10px; |
|
|
|
|
text-align: left; |
|
|
|
|
color: #E65100; |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|
<!-- |
|
|
|
|
/** |
|
|
|
|