Commit 3782b05f by pangchong

feat: 新增日期时间组件

parent dc7e52e3
......@@ -19,6 +19,7 @@ declare module 'vue' {
GlobalCard: typeof import('./src/mocp/components/global-card/global-card.vue')['default']
GlobalCheckbox: typeof import('./src/mocp/components/global-checkbox/global-checkbox.vue')['default']
GlobalDate: typeof import('./src/mocp/components/global-date/global-date.vue')['default']
GlobalDatePicker: typeof import('./src/mocp/components/global-date-picker/global-date-picker.vue')['default']
GlobalEmpty: typeof import('./src/mocp/components/global-empty/global-empty.vue')['default']
GlobalField: typeof import('./src/mocp/components/global-field/global-field.vue')['default']
GlobalIcon: typeof import('./src/mocp/components/global-icon/global-icon.vue')['default']
......
<template>
<!-- 全局日期控件 -->
<view class="date">
<uni-datetime-picker
v-model="defaultValue"
:type="type"
:start="start"
:end="end"
:returnType="returnType"
:border="false"
:rangeSeparator="rangeSeparator"
:placeholder="placeholder"
:startPlaceholder="startPlaceholder"
:endPlaceholder="endPlaceholder"
:disabled="disabled"
:clearIcon="clearIcon"
:hideSecond="hideSecond"
@change="change"
@show="show"
@maskClick="maskClick"
/>
<view class="date-icon">
<up-icon name="arrow-right" color="#86909C"></up-icon>
</view>
</view>
</template>
<script setup>
import { ref, watch } from 'vue'
const es = defineEmits(['update:modelValue', 'change'])
const ps = defineProps({
//是否时间戳
timestamp: {
type: Boolean,
default: true
},
modelValue: {
type: [String, Number, Array, Date],
default: ''
},
//日历模式date,datetime,daterange,datetimerange
type: {
type: String,
default: 'datetime'
},
start: {
type: [String, Number],
default: ''
},
end: {
type: [String, Number],
default: ''
},
returnType: {
type: String,
default: 'timestamp'
},
rangeSeparator: {
type: String,
default: '-'
},
placeholder: {
type: String,
default: '请选择日期'
},
startPlaceholder: {
type: String,
default: '请选择开始日期'
},
endPlaceholder: {
type: String,
default: '请选择结束日期'
},
disabled: {
type: Boolean,
default: false
},
clearIcon: {
type: Boolean,
default: true
},
hideSecond: {
type: Boolean,
default: false
},
format: {
type: String,
default: 'YYYY/MM/DD HH:mm:ss'
}
})
//设置初始值
const defaultValue = ref()
watch(
() => ps.modelValue,
() => {
if (ps.modelValue) {
if (ps.timestamp) {
defaultValue.value = parseInt(ps.modelValue)
} else {
defaultValue.value = ps.modelValue
}
}
},
{ immediate: true }
)
watch(defaultValue, (value) => {
es('update:modelValue', value)
})
const change = (value) => {
uni.$emit('$upload-show', {})
es('change', value)
}
const show = () => {
uni.$emit('$upload-hide', {})
}
const maskClick = () => {
uni.$emit('$upload-show', {})
}
</script>
<style lang="scss" scoped>
.date {
display: inline-flex;
align-items: center;
}
</style>
......@@ -132,6 +132,6 @@ const useWindDamageManagementStore = defineStore('windDamageManagement303030', {
}
},
// 配置持久化
persist: false
persist: true
})
export default useWindDamageManagementStore
......@@ -68,16 +68,7 @@
<up-cell-group>
<up-cell title="开始时间">
<template #value>
<view>
<global-date
mode="datetime"
pickAlign="right"
v-model="formData.startTime"
format="YYYY-MM-DD HH:mm:ss"
clearable
:disabled="getDisabled"
></global-date>
</view>
<global-date-picker v-model="formData.startTime" :disabled="getDisabled"></global-date-picker>
</template>
</up-cell>
<up-cell title="系留情况">
......@@ -400,16 +391,7 @@
</up-cell>
<up-cell title="结束时间">
<template #value>
<view>
<global-date
mode="datetime"
pickAlign="right"
format="YYYY-MM-DD HH:mm:ss"
v-model="formData.endTime"
clearable
:disabled="getDisabled"
></global-date>
</view>
<global-date-picker v-model="formData.endTime" :disabled="getDisabled"></global-date-picker>
</template>
</up-cell>
</up-cell-group>
......
......@@ -68,16 +68,7 @@
<up-cell-group>
<up-cell title="开始时间">
<template #value>
<view>
<global-date
mode="datetime"
pickAlign="right"
v-model="formData.startTime"
format="YYYY-MM-DD HH:mm:ss"
clearable
:disabled="getDisabled"
></global-date>
</view>
<global-date-picker v-model="formData.startTime" :disabled="getDisabled"></global-date-picker>
</template>
</up-cell>
</up-cell-group>
......@@ -566,16 +557,7 @@
</up-cell>
<up-cell title="结束时间">
<template #value>
<view>
<global-date
mode="datetime"
pickAlign="right"
format="YYYY-MM-DD HH:mm:ss"
v-model="formData.endTime"
clearable
:disabled="getDisabled"
></global-date>
</view>
<global-date-picker v-model="formData.endTime" :disabled="getDisabled"></global-date-picker>
</template>
</up-cell>
</up-cell-group>
......
......@@ -67,16 +67,7 @@
<up-cell-group>
<up-cell title="巡场开始时间">
<template #value>
<view>
<global-date
mode="datetime"
pickAlign="right"
v-model="formData.startTime"
format="YYYY-MM-DD HH:mm:ss"
clearable
:disabled="getDisabled"
></global-date>
</view>
<global-date-picker v-model="formData.startTime" :disabled="getDisabled"></global-date-picker>
</template>
</up-cell>
</up-cell-group>
......@@ -378,16 +369,7 @@
</up-cell>
<up-cell title="巡场结束时间">
<template #value>
<view>
<global-date
mode="datetime"
pickAlign="right"
format="YYYY-MM-DD HH:mm:ss"
v-model="formData.endTime"
clearable
:disabled="getDisabled"
></global-date>
</view>
<global-date-picker v-model="formData.endTime" :disabled="getDisabled"></global-date-picker>
</template>
</up-cell>
</up-cell-group>
......
......@@ -68,16 +68,7 @@
<up-cell-group>
<up-cell title="开始时间">
<template #value>
<view>
<global-date
mode="datetime"
pickAlign="right"
v-model="formData.startTime"
format="YYYY-MM-DD HH:mm:ss"
clearable
:disabled="getDisabled"
></global-date>
</view>
<global-date-picker v-model="formData.startTime" :disabled="getDisabled"></global-date-picker>
</template>
</up-cell>
<up-cell title="查看TA文件" :border="false" isLink @tap="openTaByAc" />
......@@ -139,16 +130,7 @@
</up-cell>
<up-cell title="结束时间">
<template #value>
<view>
<global-date
mode="datetime"
pickAlign="right"
format="YYYY-MM-DD HH:mm:ss"
v-model="formData.endTime"
clearable
:disabled="getDisabled"
></global-date>
</view>
<global-date-picker v-model="formData.endTime" :disabled="getDisabled"></global-date-picker>
</template>
</up-cell>
</up-cell-group>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment