预览图片修改
continuous-integration/drone/push Build is passing Details

uat_us
caiyiling 2024-09-02 14:12:26 +08:00
parent 8f274aad89
commit f0eda2bc66
10 changed files with 137 additions and 141 deletions

View File

@ -28,25 +28,22 @@ Vue.use(permission)
import Viewer from 'v-viewer' import Viewer from 'v-viewer'
import './assets/css/viewer.css' import './assets/css/viewer.css'
Vue.use(Viewer)
Viewer.setDefaults({ Viewer.setDefaults({
Options: { // navbar: true, //底部缩略图
'inline': true, toolbar: {
'button': true, zoomIn: true,
'navbar': true, zoomOut: true,
'title': true, reset: true,
'toolbar': true, prev: true,
'tooltip': true, next: true,
'movable': true, rotateLeft: true,
'zoomable': true, rotateRight: true,
'rotatable': true, flipHorizontal: true,
'scalable': true, flipVertical: true,
'transition': true,
'keyboard': true,
'url': 'data-source'
} }
}) })
Vue.use(Viewer)
import hasPermi from './directive/permission' import hasPermi from './directive/permission'
Vue.use(hasPermi) Vue.use(hasPermi)

View File

@ -445,7 +445,6 @@ import SignForm from "@/views/trials/components/newSignForm";
import DicomEvent from "@/views/trials/trials-panel/reading/dicoms/components/DicomEvent"; import DicomEvent from "@/views/trials/trials-panel/reading/dicoms/components/DicomEvent";
// import store from '@/store' // import store from '@/store'
import { changeURLStatic } from "@/utils/history.js"; import { changeURLStatic } from "@/utils/history.js";
import Viewer from "v-viewer";
export default { export default {
name: "AdReview", name: "AdReview",
components: { SignForm }, components: { SignForm },
@ -532,7 +531,6 @@ export default {
// } // }
// }, // },
mounted() { mounted() {
this.initializeViewer();
this.criterionType = parseInt(this.$route.query.criterionType); this.criterionType = parseInt(this.$route.query.criterionType);
this.getAdInfo(); this.getAdInfo();
if (this.isReadingShowPreviousResults) { if (this.isReadingShowPreviousResults) {
@ -960,19 +958,7 @@ export default {
this.loading = false; this.loading = false;
console.log(e); console.log(e);
} }
}, }
initializeViewer() {
Viewer.setDefaults({
toolbar: {
zoomIn: true,
zoomOut: true,
rotateLeft: true,
rotateRight: true,
flipHorizontal: true,
flipVertical: true,
},
});
},
}, },
}; };
</script> </script>

View File

@ -276,7 +276,6 @@ import { submitTableQuestion, deleteReadingRowAnswer, getIsSuvMaxLesion } from '
// import { uploadPrintscreen } from '@/api/reading' // import { uploadPrintscreen } from '@/api/reading'
import DicomEvent from './../DicomEvent' import DicomEvent from './../DicomEvent'
import store from '@/store' import store from '@/store'
import Viewer from 'v-viewer'
export default { export default {
name: 'MeasurementForm', name: 'MeasurementForm',
props: { props: {
@ -353,7 +352,6 @@ export default {
} }
}, },
mounted() { mounted() {
this.initializeViewer()
this.trialId = this.$route.query.trialId this.trialId = this.$route.query.trialId
this.initForm() this.initForm()
DicomEvent.$on('handleImageQualityAbnormal', () => { DicomEvent.$on('handleImageQualityAbnormal', () => {
@ -380,11 +378,6 @@ export default {
} }
} }
}, },
initializeViewer() {
Viewer.setDefaults({
toolbar: { zoomIn: true, zoomOut: true, rotateLeft: true, rotateRight: true, flipHorizontal: true, flipVertical: true }
})
},
previewImage() { previewImage() {
this.$refs.viewer[0].$viewer.show() this.$refs.viewer[0].$viewer.show()
}, },

View File

@ -239,7 +239,7 @@
<!-- </span>--> <!-- </span>-->
<!-- </div>--> <!-- </div>-->
</el-upload> </el-upload>
<el-dialog <!-- <el-dialog
v-if="question.Type==='upload'" v-if="question.Type==='upload'"
append-to-body append-to-body
:visible.sync="imgVisible" :visible.sync="imgVisible"
@ -250,7 +250,20 @@
加载中<span class="dot">...</span> 加载中<span class="dot">...</span>
</div> </div>
</el-image> </el-image>
</el-dialog> </el-dialog> -->
<viewer
v-if="question.Type==='upload' && imgVisible"
:ref="imageUrl"
style="margin:0 10px;"
:images="[imageUrl]"
>
<img
v-show="false"
crossorigin="anonymous"
:src="imageUrl"
alt="Image"
>
</viewer>
</el-form-item> </el-form-item>
</template> </template>
@ -801,6 +814,9 @@ export default {
}else{ }else{
this.imageUrl = this.OSSclientConfig.basePath + file.url this.imageUrl = this.OSSclientConfig.basePath + file.url
this.imgVisible = true this.imgVisible = true
this.$nextTick(()=>{
this.$refs[this.imageUrl].$viewer.show()
})
} }
}, },
// //

View File

@ -138,27 +138,41 @@
> >
<i slot="default" class="el-icon-plus" /> <i slot="default" class="el-icon-plus" />
<div slot="file" slot-scope="{file}"> <div slot="file" slot-scope="{file}">
<img <viewer
class="el-upload-list__item-thumbnail" :ref="file.url"
:src="OSSclientConfig.basePath + file.url" :images="[imageUrl]"
alt="" style="
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
"
> >
<span class="el-upload-list__item-actions"> <img
<span class="el-upload-list__item-thumbnail"
class="el-upload-list__item-preview" :src="OSSclientConfig.basePath + file.url"
@click="handlePictureCardPreview(file)" crossOrigin="anonymous"
> alt=""
<i class="el-icon-zoom-in" /> style="max-width: 100%; max-height: 100%"
</span> />
<span class="el-upload-list__item-actions">
<span
class="el-upload-list__item-preview"
@click="handlePictureCardPreview(file)"
>
<i class="el-icon-zoom-in" />
</span>
<span <span
v-if="readingTaskState < 2" v-if="readingTaskState < 2"
class="el-upload-list__item-delete" class="el-upload-list__item-delete"
@click="handleRemove(file)" @click="handleRemove(file)"
> >
<i class="el-icon-delete" /> <i class="el-icon-delete" />
</span>
</span> </span>
</span> </viewer>
</div> </div>
</el-upload> </el-upload>
<el-dialog <el-dialog
@ -308,7 +322,7 @@ export default {
window.open(this.OSSclientConfig.basePath + file.url,'_blank') window.open(this.OSSclientConfig.basePath + file.url,'_blank')
}else{ }else{
this.imageUrl = this.OSSclientConfig.basePath + file.url this.imageUrl = this.OSSclientConfig.basePath + file.url
this.imgVisible = true this.$refs[file.url].$viewer.show();
} }
}, },
// //

View File

@ -148,27 +148,41 @@
> >
<i slot="default" class="el-icon-plus" /> <i slot="default" class="el-icon-plus" />
<div slot="file" slot-scope="{file}"> <div slot="file" slot-scope="{file}">
<img <viewer
class="el-upload-list__item-thumbnail" :ref="file.url"
:src="OSSclientConfig.basePath + file.url" :images="[imageUrl]"
alt="" style="
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
"
> >
<span class="el-upload-list__item-actions"> <img
<span class="el-upload-list__item-thumbnail"
class="el-upload-list__item-preview" :src="OSSclientConfig.basePath + file.url"
@click="handlePictureCardPreview(file)" crossOrigin="anonymous"
> alt=""
<i class="el-icon-zoom-in" /> style="max-width: 100%; max-height: 100%"
</span> />
<span class="el-upload-list__item-actions">
<span
class="el-upload-list__item-preview"
@click="handlePictureCardPreview(file)"
>
<i class="el-icon-zoom-in" />
</span>
<span <span
v-if="readingTaskState < 2" v-if="readingTaskState < 2"
class="el-upload-list__item-delete" class="el-upload-list__item-delete"
@click="handleRemove(file)" @click="handleRemove(file)"
> >
<i class="el-icon-delete" /> <i class="el-icon-delete" />
</span>
</span> </span>
</span> </viewer>
</div> </div>
</el-upload> </el-upload>
<el-dialog <el-dialog
@ -492,7 +506,8 @@ export default {
window.open(this.OSSclientConfig.basePath + file.url,'_blank') window.open(this.OSSclientConfig.basePath + file.url,'_blank')
}else{ }else{
this.imageUrl = this.OSSclientConfig.basePath + file.url this.imageUrl = this.OSSclientConfig.basePath + file.url
this.imgVisible = true // this.imgVisible = true
this.$refs[file.url].$viewer.show()
} }
}, },

View File

@ -14,41 +14,43 @@
> >
<i slot="default" class="el-icon-plus" /> <i slot="default" class="el-icon-plus" />
<div slot="file" slot-scope="{file}"> <div slot="file" slot-scope="{file}">
<img <viewer
class="el-upload-list__item-thumbnail" :ref="file.url"
crossOrigin="Anonymous" :images="[imageUrl]"
:src="OSSclientConfig.basePath + file.url" style="
alt="" display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
"
> >
<span class="el-upload-list__item-actions"> <img
<span class="el-upload-list__item-thumbnail"
class="el-upload-list__item-preview" :src="OSSclientConfig.basePath + file.url"
@click="handlePictureCardPreview(file)" crossOrigin="anonymous"
> alt=""
<i class="el-icon-zoom-in" /> style="max-width: 100%; max-height: 100%"
</span> />
<span class="el-upload-list__item-actions">
<span
class="el-upload-list__item-preview"
@click="handlePictureCardPreview(file)"
>
<i class="el-icon-zoom-in" />
</span>
<span <span
v-if="readingTaskState < 2" v-if="readingTaskState < 2"
class="el-upload-list__item-delete" class="el-upload-list__item-delete"
@click="handleRemove(file)" @click="handleRemove(file)"
> >
<i class="el-icon-delete" /> <i class="el-icon-delete" />
</span> </span>
</span> </span>
</viewer>
</div> </div>
</el-upload> </el-upload>
<el-dialog
append-to-body
:visible.sync="imgVisible"
width="600px"
>
<el-image :src="imageUrl" width="100%" crossOrigin="Anonymous">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</el-dialog>
</div> </div>
</template> </template>
@ -142,7 +144,8 @@ name: "CustomizeReportPageUpload",
window.open(this.OSSclientConfig.basePath + file.url,'_blank') window.open(this.OSSclientConfig.basePath + file.url,'_blank')
}else{ }else{
this.imageUrl = this.OSSclientConfig.basePath + file.url this.imageUrl = this.OSSclientConfig.basePath + file.url
this.imgVisible = true // this.imgVisible = true
this.$refs[file.url].$viewer.show()
} }
}, },
// //

View File

@ -143,7 +143,6 @@ import { getMedicalReviewDialog } from '@/api/trials'
import FeedbackForm from './FeedbackForm' import FeedbackForm from './FeedbackForm'
import mimAvatar from '@/assets/MIM.png' import mimAvatar from '@/assets/MIM.png'
import irAvatar from '@/assets/IR.png' import irAvatar from '@/assets/IR.png'
import Viewer from 'v-viewer'
export default { export default {
name: 'ChatForm', name: 'ChatForm',
components: { FeedbackForm }, components: { FeedbackForm },
@ -177,7 +176,6 @@ export default {
} }
}, },
mounted() { mounted() {
this.initializeViewer()
this.getMessageList() this.getMessageList()
}, },
methods: { methods: {
@ -213,11 +211,6 @@ export default {
this.imagePath = `${this.OSSclientConfig.basePath}${path}` this.imagePath = `${this.OSSclientConfig.basePath}${path}`
this.previewDialog = true this.previewDialog = true
this.$refs[path][0].$viewer.show() this.$refs[path][0].$viewer.show()
},
initializeViewer() {
Viewer.setDefaults({
toolbar: { zoomIn: true, zoomOut: true, rotateLeft: true, rotateRight: true, flipHorizontal: true, flipVertical: true }
})
} }
} }

View File

@ -171,7 +171,6 @@ import { getMedicalReviewDialog, sendMedicalReviewDialog } from '@/api/trials'
import FeedbackForm from '@/views/trials/trials-panel/reading/medical-feedback/components/FeedbackForm' import FeedbackForm from '@/views/trials/trials-panel/reading/medical-feedback/components/FeedbackForm'
import mimAvatar from '@/assets/MIM.png' import mimAvatar from '@/assets/MIM.png'
import irAvatar from '@/assets/IR.png' import irAvatar from '@/assets/IR.png'
import Viewer from 'v-viewer'
export default { export default {
name: 'ChatForm', name: 'ChatForm',
components: { components: {
@ -207,7 +206,6 @@ export default {
} }
}, },
mounted() { mounted() {
this.initializeViewer()
this.getMessageList() this.getMessageList()
}, },
methods: { methods: {
@ -261,11 +259,6 @@ export default {
this.irFeedbackForm.title = this.$t('trials:medicalFeedback:title:feedback') this.irFeedbackForm.title = this.$t('trials:medicalFeedback:title:feedback')
this.irFeedbackForm.visible = true this.irFeedbackForm.visible = true
},
initializeViewer() {
Viewer.setDefaults({
toolbar: { zoomIn: true, zoomOut: true, rotateLeft: true, rotateRight: true, flipHorizontal: true, flipVertical: true }
})
} }
} }

View File

@ -197,7 +197,6 @@
import { saveMedicalReviewInfo } from "@/api/trials"; import { saveMedicalReviewInfo } from "@/api/trials";
import ChatForm from "./ChatForm"; import ChatForm from "./ChatForm";
import CloseQC from "./CloseQC"; import CloseQC from "./CloseQC";
import Viewer from "v-viewer";
export default { export default {
name: "AuditConclusions", name: "AuditConclusions",
components: { components: {
@ -253,7 +252,6 @@ export default {
}; };
}, },
mounted() { mounted() {
this.initializeViewer();
this.initForm(); this.initForm();
}, },
methods: { methods: {
@ -435,21 +433,9 @@ export default {
var idx = this.fileList.findIndex((i) => i.url === file.url); var idx = this.fileList.findIndex((i) => i.url === file.url);
if (idx === -1) return; if (idx === -1) return;
this.fileList.splice(idx, 1); this.fileList.splice(idx, 1);
}, }
initializeViewer() { }
Viewer.setDefaults({ }
toolbar: {
zoomIn: true,
zoomOut: true,
rotateLeft: true,
rotateRight: true,
flipHorizontal: true,
flipVertical: true,
},
});
},
},
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.conclusions { .conclusions {