Browse Source

Merge branch 'lwx_v27'

space_permission
liwenxuan 3 months ago
parent
commit
12a99b957a
  1. 81
      src/components/DesignForm/public/expand/datePicker.vue

81
src/components/DesignForm/public/expand/datePicker.vue

@ -23,6 +23,64 @@ const value = computed({
emits('update:modelValue', newVal)
},
});
const shichangShowFlag = computed(() => {
if(props.data.control.type=="datetimerange"||props.data.control.type=="daterange"){//monthrange
if(value.value){
return true
}else{
return false
}
}else{
return false
}
})
function calculateTimeDiff(startTimestamp: string, endTimestamp: string) {
//
const start = parseInt(startTimestamp, 10);
const end = parseInt(endTimestamp, 10);
//
const diffMs = Math.abs(end - start);
//
const totalMinutes = Math.round(diffMs / 60000);
//
const totalHours = totalMinutes / 60;
//
if (totalHours < 24) {
//
return `${Math.round(totalHours)} 小时`;
} else {
//
const days = Math.floor(totalHours / 24);
//
const remainingHours = Math.round(totalHours % 24);
// 24
if (remainingHours === 24) {
return `${days + 1} 天 0 小时`;
}
return `${days}${remainingHours} 小时`;
}
}
const valueFormat = "x"
const shichang = computed(() => {
console.log(value.value)
let start = value.value[0]
let end = value.value[1]
console.log(start)
console.log(end)
let a = calculateTimeDiff(start,end)
return a
})
</script>
<template>
<el-date-picker
@ -34,10 +92,29 @@ const value = computed({
end-placeholder="结束日期"
:teleported="true"
:placeholder="props.data.control.placeholder"
:value-format="props.data.valueFormat"
:value-format="valueFormat"
:format="props.data.control.format"
/>
<!-- 2 3 小时 -->
<div v-if="shichangShowFlag" class="duration-text">时长 {{shichang}}</div>
</template>
<style lang='scss' scoped>
<style lang='scss' scoped>
.duration-text {
margin-left: 20px;
margin-right: 60px;
color: #A8ABB2;
font-size: 13px;
z-index: 10;
pointer-events: none;
}
</style>

Loading…
Cancel
Save