|
|
|
@ -3,27 +3,30 @@ |
|
|
|
@ 时间: 2024-09-17 14:57:49 |
|
|
|
@ 备注: 解析上传文件问题 |
|
|
|
--> |
|
|
|
<script lang='ts' setup> |
|
|
|
import { AnalysisCss,AnalysisInputCss } from '@/components/DesignForm/public/form/calculate/cssInfo' |
|
|
|
<script lang="ts" setup> |
|
|
|
import { |
|
|
|
AnalysisCss, |
|
|
|
AnalysisInputCss, |
|
|
|
} from "@/components/DesignForm/public/form/calculate/cssInfo"; |
|
|
|
const props = defineProps({ |
|
|
|
imgList:{ |
|
|
|
type:String, |
|
|
|
default:"" |
|
|
|
}, |
|
|
|
data:{ |
|
|
|
type:Object, |
|
|
|
default(){ |
|
|
|
return {} |
|
|
|
} |
|
|
|
}, |
|
|
|
control:{ |
|
|
|
type:Object, |
|
|
|
default(){ |
|
|
|
return {} |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
const imgStr = ref<String>(props.imgList) |
|
|
|
imgList: { |
|
|
|
type: String, |
|
|
|
default: "", |
|
|
|
}, |
|
|
|
data: { |
|
|
|
type: Object, |
|
|
|
default() { |
|
|
|
return {}; |
|
|
|
}, |
|
|
|
}, |
|
|
|
control: { |
|
|
|
type: Object, |
|
|
|
default() { |
|
|
|
return {}; |
|
|
|
}, |
|
|
|
}, |
|
|
|
}); |
|
|
|
const imgStr = ref<String>(props.imgList); |
|
|
|
//组件css部分 |
|
|
|
|
|
|
|
/** |
|
|
|
@ -43,64 +46,79 @@ const imgStr = ref<String>(props.imgList) |
|
|
|
// return [] |
|
|
|
// } |
|
|
|
// } |
|
|
|
const imgAry =computed({ |
|
|
|
get: () => { |
|
|
|
if(props.imgList != "" && props.imgList != null && props.imgList != undefined && props.imgList != "undefined"){ |
|
|
|
// let zj = props.imgList |
|
|
|
// let img = zj.Split(","); |
|
|
|
let arr = props.imgList.match(/[^,]+/g); |
|
|
|
console.log("文件列表",arr) |
|
|
|
return arr |
|
|
|
}else{ |
|
|
|
return [] |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const imgAry = computed({ |
|
|
|
get: () => { |
|
|
|
if ( |
|
|
|
props.imgList != "" && |
|
|
|
props.imgList != null && |
|
|
|
props.imgList != undefined && |
|
|
|
props.imgList != "undefined" |
|
|
|
) { |
|
|
|
// let zj = props.imgList |
|
|
|
// let img = zj.Split(","); |
|
|
|
let arr = props.imgList.match(/[^,]+/g); |
|
|
|
console.log("文件列表", arr); |
|
|
|
return arr; |
|
|
|
} else { |
|
|
|
return []; |
|
|
|
} |
|
|
|
}, |
|
|
|
}); |
|
|
|
|
|
|
|
const listType = () => { |
|
|
|
if(props.control.listType){ |
|
|
|
return props.control.listType |
|
|
|
}else{ |
|
|
|
return "text" |
|
|
|
} |
|
|
|
} |
|
|
|
if (props.control.listType) { |
|
|
|
return props.control.listType; |
|
|
|
} else { |
|
|
|
return "text"; |
|
|
|
} |
|
|
|
}; |
|
|
|
//解析指定样式 |
|
|
|
const getFormItemInputStyle = (ele: any,sty:number) => { |
|
|
|
if(ele?.inputStyle){ |
|
|
|
console.log("返回栅格宽度4",AnalysisInputCss(ele?.inputStyle,sty)) |
|
|
|
return AnalysisInputCss(ele?.inputStyle,sty) |
|
|
|
} |
|
|
|
} |
|
|
|
const getFormItemInputStyle = (ele: any, sty: number) => { |
|
|
|
if (ele?.inputStyle) { |
|
|
|
console.log("返回栅格宽度4", AnalysisInputCss(ele?.inputStyle, sty)); |
|
|
|
return AnalysisInputCss(ele?.inputStyle, sty); |
|
|
|
} |
|
|
|
}; |
|
|
|
const configStyle = computed(() => { |
|
|
|
return props.data.styles || {} |
|
|
|
}) |
|
|
|
return props.data.styles || {}; |
|
|
|
}); |
|
|
|
</script> |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<div v-if="props.control.listType=='picture-card'"> |
|
|
|
<div v-for="item in imgAry"> |
|
|
|
<el-image class="imgCss" :style="getFormItemInputStyle(configStyle,2)" :src="item" :fit="fit" :preview-src-list="imgAry" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div v-else-if="props.control.listType=='picture'"> |
|
|
|
<div v-for="item in imgAry"> |
|
|
|
<el-image class="imgCss" :style="getFormItemInputStyle(configStyle,2)" :src="item" :fit="fit" :preview-src-list="imgAry" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div v-else> |
|
|
|
<div v-for="item in imgAry"> |
|
|
|
<el-link :underline="false" :href="item" target="_blank">{{ item }}</el-link><br> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div> |
|
|
|
{{ props.control.listType }} |
|
|
|
<div v-if="props.control.listType == 'picture-card'"> |
|
|
|
<div v-for="item in imgAry"> |
|
|
|
<el-image |
|
|
|
class="imgCss" |
|
|
|
:style="getFormItemInputStyle(configStyle, 2)" |
|
|
|
:src="item" |
|
|
|
:fit="fit" |
|
|
|
:preview-src-list="imgAry" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div v-else-if="props.control.listType == 'picture'"> |
|
|
|
<div v-for="item in imgAry"> |
|
|
|
<el-image |
|
|
|
class="imgCss" |
|
|
|
:style="getFormItemInputStyle(configStyle, 2)" |
|
|
|
:src="item" |
|
|
|
:fit="fit" |
|
|
|
:preview-src-list="imgAry" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div v-else> |
|
|
|
<div v-for="item in imgAry"> |
|
|
|
<el-link :underline="false" :href="item" target="_blank">{{ item }}</el-link |
|
|
|
><br /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
<style lang='scss' scoped> |
|
|
|
.imgCss{ |
|
|
|
width: 100px; |
|
|
|
height: 100px; |
|
|
|
<style lang="scss" scoped> |
|
|
|
.imgCss { |
|
|
|
width: 100px; |
|
|
|
height: 100px; |
|
|
|
} |
|
|
|
</style> |
|
|
|
|