Browse Source

图片

yunpan
liwenxuan 3 months ago
parent
commit
e6583fff6a
  1. 76
      src/components/lowCode/assistant/lowcodeImage.vue

76
src/components/lowCode/assistant/lowcodeImage.vue

@ -107,6 +107,7 @@ const getFormItemInputStyle = (ele: any,sty:number) => {
const fileUpload = ref(null);
// capture="camera"
const addCaptureAttribute = () => {
if (fileUpload.value) {
@ -118,8 +119,9 @@ const fileUpload = ref(null);
}
};
function selectFile(){
if(props.data.control.onSiteShot=='1'){
addCaptureAttribute()
}
fileUpload.value.$el.querySelector('input[type="file"]').click();
}
@ -137,7 +139,7 @@ const valueArr = computed(()=>{
const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {
console.log(uploadFile, uploadFiles)
//console.log(uploadFile, uploadFiles)
let arrStr = ''
uploadFiles.forEach((element) => {
@ -147,7 +149,7 @@ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {
arrStr = arrStr.slice(0, -1);
console.log(arrStr)
//console.log(arrStr)
emits("update:modelValue", arrStr);
@ -169,7 +171,7 @@ const handleAvatarSuccess1 = (response: any, uploadFile: any) => {
arrStr = arrStr.slice(0, -1);
console.log(arrStr)
//console.log(arrStr)
emits("update:modelValue", arrStr);
@ -180,12 +182,30 @@ const handleAvatarSuccess1 = (response: any, uploadFile: any) => {
const attrs = useAttrs()
/* onMounted(()=>{
if(props.data.control.useDefaultImg){
emits("update:modelValue", props.data.control.imgUrl);
}else{
}
}) */
onMounted(()=>{
setTimeout(()=>{
if(attrs.types==2){
console.log(value.value)
if(attrs.types==2){//
props.data.control.uploadedImgs = completionImageDetails(value.value)
if(props.data.control.useDefaultImg==false&&props.data.control.onSiteShot==""){
toShow.value = true
}
}else if(attrs.types==1){//
emits("update:modelValue", props.data.control.imgUrl);
}/*
if(props.data.control.useDefaultImg){
emits("update:modelValue", props.data.control.imgUrl);
}else{
} */
},100)
})
@ -247,15 +267,38 @@ function completionImageDetails(urlString:string) {
return mobileRegex.test(navigator.userAgent)
}
const toShow = ref(false)
</script>
<template>
<!-- {{ checkIsMobile() }} -->
<img
<!-- <img
v-if="props.data.control.useDefaultImg"
:src="value"
class="avatar"
:style="getFormItemInputStyle(configStyle, 2)"
/> -->
<el-upload
v-bind="$props"
class="upload-demo"
:action="uploadUrl"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
v-loading="imgLoading"
>
<img
v-if="props.data.control.useDefaultImg"
:src="props.modelValue"
class="avatar"
:style="getFormItemInputStyle(configStyle, 2)"
/>
</el-upload>
<!-- <el-upload
v-bind="$props"
class="upload-demo"
@ -283,7 +326,7 @@ function completionImageDetails(urlString:string) {
<el-upload
ref="fileUpload"
v-if="!props.data.control.useDefaultImg&&(attrs.types!=2&&props.data.control.onSiteShot=='1')"
v-show="!props.data.control.useDefaultImg&&attrs.types!=2||toShow"
class="upload-demo"
:auto-upload="true"
v-model:file-list="props.data.control.uploadedImgs"
@ -311,7 +354,22 @@ function completionImageDetails(urlString:string) {
</el-dialog>
<!-- 详情页略缩图列表 -->
<div v-if ="!props.data.control.useDefaultImg&&attrs.types!=1" v-for="url in valueArr" class="demo-image__preview">
<div v-if ="!props.data.control.useDefaultImg&&attrs.types==3" v-for="url in valueArr" class="demo-image__preview">
<el-image
style="width: 100px; height: 100px;margin: 4px;border: #DCDFE6 1px solid; border-radius: 8px;"
:src="url"
:zoom-rate="1.2"
:max-scale="7"
:min-scale="0.2"
:preview-src-list="valueArr"
show-progress
:initial-index="4"
fit="cover"
/>
</div>
<div v-if ="!props.data.control.useDefaultImg&&attrs.types==2&&props.data.control.onSiteShot==1" v-for="url in valueArr" class="demo-image__preview">
<el-image
style="width: 100px; height: 100px;margin: 4px;border: #DCDFE6 1px solid; border-radius: 8px;"
:src="url"

Loading…
Cancel
Save