Browse Source

打印:处理时间字段格式问题

lwx_v27
han2015 3 days ago
parent
commit
505bd90a7f
  1. 35
      src/components/DesignForm/printHtmlRender.vue

35
src/components/DesignForm/printHtmlRender.vue

@ -39,16 +39,19 @@ const props = withDefaults(defineProps<{
const qrdata=ref("")
const userName=useUserStore().nickname;
function parseDataPicker(val:string){
function parseDataPicker(val:string,vtype:string){
let str:string;
if(typeof(val)=="number"){
str=new Date(val).toLocaleString()
}else{
if(val==""|| val.match(/[a-z]/) ) return val;
}else{//"";2025-12-17;sheng1chan3ri4qi1;
if(val==""|| val.match(/[a-z-:.]/) ) return val;
str=new Date(parseInt(val)).toLocaleString()
}
return str.slice(0,10)+" "+str.slice(11,16)
if(vtype.startsWith("time")){
return str.slice(11,16)
}
return str.slice(0,10)
}
const generateQrCode= ()=>{
@ -100,7 +103,7 @@ const getStateText=(val:number)=>{
{{item.name}}
</span>
<span v-if="item.type !=='datePicker'" class="content">{{item.field}}</span>
<span v-else class="content">{{parseDataPicker(item.field)}}</span>
<span v-else class="content">{{parseDataPicker(item.field,item.type)}}</span>
</div>
</template>
</div>
@ -122,7 +125,14 @@ const getStateText=(val:number)=>{
<tbody>
<tr v-for="(dd, index) in group.data" :key="dd">
<template v-for="child in group.child">
<td v-if="child.checked!=2" >{{ dd[child.field]}}</td>
<td v-if="child.checked!=2">
<template v-if="child.type.includes('Picker')">
{{parseDataPicker(dd[child.field],child.type)}}
</template>
<template v-else>
{{dd[child.field]}}
</template>
</td>
</template>
</tr>
</tbody>
@ -138,7 +148,7 @@ const getStateText=(val:number)=>{
{{item.name}}
</span>
<span v-if="item.type !=='datePicker'" class="content">{{item.field}}</span>
<span v-else class="content">{{parseDataPicker(item.field)}}</span>
<span v-else class="content">{{parseDataPicker(item.field,item.type)}}</span>
</div>
</template>
</div>
@ -161,7 +171,14 @@ const getStateText=(val:number)=>{
<tbody>
<tr v-for="(dd, index) in tabs.data" :key="dd">
<template v-for="child in tabs.child">
<td v-if="child.checked!=2" >{{ dd[child.field]}}</td>
<td v-if="child.checked!=2" >
<template v-if="child.type.includes('Picker')">
{{parseDataPicker(dd[child.field],child.type)}}
</template>
<template v-else>
{{dd[child.field]}}
</template>
</td>
</template>
</tr>
</tbody>
@ -172,7 +189,7 @@ const getStateText=(val:number)=>{
{{tabs.name}}
</span>
<span v-if="tabs.type !=='datePicker'" class="content">{{tabs.field}}</span>
<span v-else class="content">{{parseDataPicker(tabs.field??'')}}</span>
<span v-else class="content">{{parseDataPicker(tabs.field??'',tabs.type)}}</span>
</div>
</div>

Loading…
Cancel
Save