Browse Source

修复完成时间控件回显问题

lwx_v4
超级管理员 1 year ago
parent
commit
7946ec9c2c
  1. 2
      src/components/DesignForm/public/form/formGroup.vue
  2. 184
      src/components/DesignForm/public/form/formItem.vue
  3. 2
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageList.vue

2
src/components/DesignForm/public/form/formGroup.vue

@ -420,7 +420,7 @@ function optionsValue3Get1(data: any,fieldName: string){
v-if="linksIf(element)"
>
<!-- {{element}} -->
<!--选项卡组件-->
<template v-if="element.type === 'tabs'">

184
src/components/DesignForm/public/form/formItem.vue

@ -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"

2
src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageList.vue

@ -990,7 +990,7 @@ const showCollapse = () => {
</template>
</el-table-column>
<el-table-column fixed="right" label="查询" width="55" align="center">
<template #default="scope">{{scope.row.isSearch}}
<template #default="scope">
<el-switch
v-model="scope.row.isSearch"
:active-action-icon="View"

Loading…
Cancel
Save