|
|
|
@ -600,6 +600,173 @@ const judgeIsDisabled = (key:string) => { |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
/** |
|
|
|
@ 作者: 秦东 |
|
|
|
@ 时间: 2024-08-02 13:02:49 |
|
|
|
@ 功能: 将时间戳转换成字符串 |
|
|
|
*/ |
|
|
|
const timeToString = (timeVal:any,types:int) => { |
|
|
|
let timeStr = "" |
|
|
|
if(Array.isArray(timeVal)){ |
|
|
|
if(timeVal.length >= 2){ |
|
|
|
let startTime = timeToAry(timeVal[0]) |
|
|
|
let endTime = timeToAry(timeVal[1]) |
|
|
|
switch(types){ |
|
|
|
case "year": //年 |
|
|
|
timeStr = `${startTime.year} 至 ${endTime.year}`; |
|
|
|
break; |
|
|
|
case "month": //月 |
|
|
|
timeStr = `${startTime.year}-${startTime.month} 至 ${endTime.year}-${endTime.month}`; |
|
|
|
break; |
|
|
|
case "datetime": //日期+时间 |
|
|
|
timeStr = `${startTime.year}-${startTime.month}-${startTime.day} ${startTime.hours}:${startTime.minutes}:${startTime.seconds} 至 ${endTime.year}-${endTime.month}-${endTime.day} ${endTime.hours}:${endTime.minutes}:${endTime.seconds}`; |
|
|
|
break; |
|
|
|
case "week": //周 |
|
|
|
let startWeek = getYearWeek(startTime) |
|
|
|
let endWeek = getYearWeek(endTime) |
|
|
|
timeStr = `${startWeek} 至 ${endWeek}`; |
|
|
|
break; |
|
|
|
case "timeCalss": //时间 |
|
|
|
timeStr = `${startTime.hours}:${startTime.minutes}:${startTime.seconds} 至 ${endTime.hours}:${endTime.minutes}:${endTime.seconds}`; |
|
|
|
break; |
|
|
|
case "datetimerange": |
|
|
|
timeStr = `${startTime.year}-${startTime.month}-${startTime.day} ${startTime.hours}:${startTime.minutes}:${startTime.seconds} 至 ${endTime.year}-${endTime.month}-${endTime.day} ${endTime.hours}:${endTime.minutes}:${endTime.seconds}`; |
|
|
|
break; |
|
|
|
case "daterange": |
|
|
|
timeStr = `${startTime.year}-${startTime.month}-${startTime.day} 至 ${endTime.year}-${endTime.month}-${endTime.day}`; |
|
|
|
break; |
|
|
|
case "monthrange": |
|
|
|
timeStr = `${startTime.year}-${startTime.month} 至 ${endTime.year}-${endTime.month}`; |
|
|
|
break; |
|
|
|
default: |
|
|
|
timeStr = `${startTime.year}-${startTime.month}-${startTime.day} 至 ${endTime.year}-${endTime.month}-${endTime.day}`; |
|
|
|
break; |
|
|
|
} |
|
|
|
}else if(timeVal.length == 1){ |
|
|
|
let {year,month,day,hours,minutes,seconds} = timeToAry(timeVal[0]) |
|
|
|
switch(types){ |
|
|
|
case "year": //年 |
|
|
|
timeStr = `${year}`; |
|
|
|
break; |
|
|
|
case "month": //月 |
|
|
|
timeStr = `${year}-${month}`; |
|
|
|
break; |
|
|
|
case "datetime": //日期+时间 |
|
|
|
timeStr = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; |
|
|
|
break; |
|
|
|
case "week": //周 |
|
|
|
timeStr = getYearWeek(timeVal) |
|
|
|
break; |
|
|
|
case "timeCalss": //时间 |
|
|
|
timeStr = `${hours}:${minutes}:${seconds}`; |
|
|
|
break; |
|
|
|
default: |
|
|
|
timeStr = `${year}-${month}-${day}` |
|
|
|
break; |
|
|
|
} |
|
|
|
}else{ |
|
|
|
timeStr = "未知时间" |
|
|
|
} |
|
|
|
}else{ |
|
|
|
let {year,month,day,hours,minutes,seconds} = timeToAry(timeVal) |
|
|
|
switch(types){ |
|
|
|
case "year": //年 |
|
|
|
timeStr = `${year}`; |
|
|
|
break; |
|
|
|
case "month": //月 |
|
|
|
timeStr = `${year}-${month}`; |
|
|
|
break; |
|
|
|
case "datetime": //日期+时间 |
|
|
|
timeStr = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; |
|
|
|
break; |
|
|
|
case "week": //周 |
|
|
|
timeStr = getYearWeek(timeVal) |
|
|
|
break; |
|
|
|
case "timeCalss": //时间 |
|
|
|
timeStr = `${hours}:${minutes}:${seconds}`; |
|
|
|
break; |
|
|
|
default: |
|
|
|
timeStr = `${year}-${month}-${day}` |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return timeStr |
|
|
|
} |
|
|
|
/** |
|
|
|
@ 作者: 秦东 |
|
|
|
@ 时间: 2024-08-02 13:22:14 |
|
|
|
@ 功能: 时间戳转换对象 |
|
|
|
*/ |
|
|
|
const timeToAry = (timestamp:number) => { |
|
|
|
const date = new Date(timestamp); |
|
|
|
const year = date.getFullYear(); |
|
|
|
const month = ('0' + (date.getMonth() + 1)).slice(-2); |
|
|
|
const day = ('0' + date.getDate()).slice(-2); |
|
|
|
const hours = ('0' + date.getHours()).slice(-2); |
|
|
|
const minutes = ('0' + date.getMinutes()).slice(-2); |
|
|
|
const seconds = ('0' + date.getSeconds()).slice(-2); |
|
|
|
return { |
|
|
|
year:year, |
|
|
|
month:month, |
|
|
|
day:day, |
|
|
|
hours:hours, |
|
|
|
minutes:minutes, |
|
|
|
seconds |
|
|
|
} |
|
|
|
} |
|
|
|
/** |
|
|
|
@ 作者: 秦东 |
|
|
|
@ 时间: 2024-08-02 13:21:05 |
|
|
|
@ 功能: 计算当前时间戳是今年第几周 |
|
|
|
*/ |
|
|
|
const getYearWeek = (timestamp:number) => { |
|
|
|
const date = new Date(timestamp); |
|
|
|
const firstDayOfYear = new Date(date.getFullYear(), 0, 1); |
|
|
|
const pastDaysOfYear = (date - firstDayOfYear) / 86400000; |
|
|
|
const weekNumber = Math.ceil((pastDaysOfYear + firstDayOfYear.getDay() + 1) / 7); |
|
|
|
return weekNumber; |
|
|
|
} |
|
|
|
/** |
|
|
|
@ 作者: 秦东 |
|
|
|
@ 时间: 2024-08-02 13:42:22 |
|
|
|
@ 功能: 判断单选值 |
|
|
|
*/ |
|
|
|
const judgeRadio = (val:any,list:any) => { |
|
|
|
let valStr = "" |
|
|
|
if(Array.isArray(list)){ |
|
|
|
if(list.length > 0){ |
|
|
|
list.forEach((item) => { |
|
|
|
if(item.value == val){ |
|
|
|
valStr = item.label |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
return valStr |
|
|
|
} |
|
|
|
/** |
|
|
|
@ 作者: 秦东 |
|
|
|
@ 时间: 2024-08-02 13:42:22 |
|
|
|
@ 功能: 判断多选值 |
|
|
|
*/ |
|
|
|
const judgeCheckbox = (val:any,list:any) => { |
|
|
|
let valAry = [] |
|
|
|
if(Array.isArray(val)){ |
|
|
|
if(val.length > 0){ |
|
|
|
if(Array.isArray(list)){ |
|
|
|
val.forEach((item) => { |
|
|
|
list.forEach((ltem) => { |
|
|
|
if(item == ltem.value){ |
|
|
|
valAry.push(ltem.label) |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return valAry |
|
|
|
} |
|
|
|
</script> |
|
|
|
<template> |
|
|
|
|
|
|
|
@ -621,7 +788,22 @@ const judgeIsDisabled = (key:string) => { |
|
|
|
<span :style="getFormItemLableStyle(configStyle)" >{{ getLabel(data.item) }}</span> |
|
|
|
{{editDisabled}} |
|
|
|
</template> |
|
|
|
<div class="form-value" v-if="type === 4" v-html="value"></div> |
|
|
|
<div class="form-value" v-if="type === 4"> |
|
|
|
<div class="form-value" v-if="data.type === 'datePicker'" v-html="timeToString(value,data.control.type)"> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div class="form-value" v-else-if="data.type == 'timePicker'" v-html="timeToString(value,'timeCalss')"> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div class="form-value" v-else-if="data.type == 'radio'" v-html="judgeRadio(value,data.options)"> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div class="form-value" v-else-if="data.type == 'checkbox'" v-html="judgeCheckbox(value,data.options)"> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div class="form-value" v-else v-html="value"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<template v-else> |
|
|
|
<el-input |
|
|
|
v-bind="control" |
|
|
|
|