Compare commits

...

2 Commits

Author SHA1 Message Date
caiyiling de16944fd6 Merge branch 'uat' of https://gitea.frp.extimaging.com/XCKJ/irc_web into uat
continuous-integration/drone/push Build is passing Details
2024-07-16 11:22:33 +08:00
caiyiling be96158a73 医学审核更改 2024-07-16 11:22:18 +08:00
3 changed files with 63 additions and 44 deletions

View File

@ -29,11 +29,22 @@
{{ $t('trials:medicalFeedback:message:msg2') }} {{ $t('trials:medicalFeedback:message:msg2') }}
<ol> <ol>
<li v-for="file in record.FileList" :key="file.ImagePath" style="list-style: none;"> <li v-for="file in record.FileList" :key="file.ImagePath" style="list-style: none;">
<el-button <viewer
type="text" v-if="file.ImagePath"
size="mini" :ref="file.ImagePath"
@click="previewImage(file.ImagePath)" style="margin:0 10px;"
>{{ file.FileName }}</el-button> :images="[`${OSSclientConfig.basePath}${file.ImagePath}`]"
>
<el-button type="text" @click="previewImage(file.ImagePath)">
{{ file.FileName }}
</el-button>
<img
v-show="false"
crossorigin="anonymous"
:src="`${OSSclientConfig.basePath}${file.ImagePath}`"
alt="Image"
>
</viewer>
</li> </li>
</ol> </ol>
</div> </div>
@ -97,22 +108,6 @@
</div> </div>
</div> </div>
<el-dialog
v-if="previewDialog"
append-to-body
:close-on-click-modal="false"
:visible.sync="previewDialog"
width="600px"
>
<!-- <img width="100%" :src="imagePath" alt="图片未找到"> -->
<el-image :src="imagePath" crossorigin="anonymous" width="100%">
<div slot="placeholder" class="image-slot">
<!-- 加载中 -->
{{ $t('trials:medicalFeedback:message:loading') }}<span class="dot">...</span>
</div>
</el-image>
</el-dialog>
<el-dialog <el-dialog
v-if="irFeedbackForm.visible" v-if="irFeedbackForm.visible"
@ -137,6 +132,7 @@ 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 },
@ -170,6 +166,7 @@ export default {
} }
}, },
mounted() { mounted() {
this.initializeViewer()
this.getMessageList() this.getMessageList()
}, },
methods: { methods: {
@ -204,6 +201,12 @@ export default {
previewImage(path) { previewImage(path) {
this.imagePath = `${this.OSSclientConfig.basePath}${path}` this.imagePath = `${this.OSSclientConfig.basePath}${path}`
this.previewDialog = true this.previewDialog = true
this.$refs[path][0].$viewer.show()
},
initializeViewer() {
Viewer.setDefaults({
toolbar: { zoomIn: true, zoomOut: true, rotateLeft: true, rotateRight: true, flipHorizontal: true, flipVertical: true }
})
} }
} }

View File

@ -29,11 +29,22 @@
{{ $t('trials:medicalFeedback:message:msg2') }} {{ $t('trials:medicalFeedback:message:msg2') }}
<ol> <ol>
<li v-for="file in record.FileList" :key="file.ImagePath" style="list-style: none;"> <li v-for="file in record.FileList" :key="file.ImagePath" style="list-style: none;">
<el-button <viewer
type="text" v-if="file.ImagePath"
size="mini" :ref="file.ImagePath"
@click="previewImage(file.ImagePath)" style="margin:0 10px;"
>{{ file.FileName }}</el-button> :images="[`${OSSclientConfig.basePath}${file.ImagePath}`]"
>
<el-button type="text" @click="previewImage(file.ImagePath)">
{{ file.FileName }}
</el-button>
<img
v-show="false"
crossorigin="anonymous"
:src="`${OSSclientConfig.basePath}${file.ImagePath}`"
alt="Image"
>
</viewer>
</li> </li>
</ol> </ol>
</div> </div>
@ -125,19 +136,6 @@
</div> </div>
</div> </div>
<el-dialog
append-to-body
:visible.sync="previewDialog"
width="600px"
>
<!-- <img width="100%" :src="imagePath" alt="图片未找到"> -->
<el-image :src="OSSclientConfig.basePath + imagePath" width="100%" crossorigin="anonymous">
<div slot="placeholder" class="image-slot">
{{ $t('trials:medicalFeedback:message:loading') }}<span class="dot">...</span>
</div>
</el-image>
</el-dialog>
<el-dialog <el-dialog
v-if="irFeedbackForm.visible" v-if="irFeedbackForm.visible"
:visible.sync="irFeedbackForm.visible" :visible.sync="irFeedbackForm.visible"
@ -154,6 +152,7 @@
@close="irFeedbackForm.visible = false" @close="irFeedbackForm.visible = false"
/> />
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
@ -161,6 +160,7 @@ 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: {
@ -196,6 +196,7 @@ export default {
} }
}, },
mounted() { mounted() {
this.initializeViewer()
this.getMessageList() this.getMessageList()
}, },
methods: { methods: {
@ -242,12 +243,18 @@ export default {
previewImage(path) { previewImage(path) {
this.imagePath = `${path}` this.imagePath = `${path}`
this.previewDialog = true this.previewDialog = true
this.$refs[path][0].$viewer.show()
}, },
handleIRReply() { handleIRReply() {
// '' // ''
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

@ -116,22 +116,23 @@
</span> </span>
</div> </div>
</el-upload> </el-upload>
<el-dialog <!-- <el-dialog
append-to-body append-to-body
:visible.sync="imgVisible" :visible.sync="imgVisible"
width="600px" width="600px"
> >
<!-- <img width="100%" :src="imageUrl" alt="图片未找到"> -->
<el-image :src="imageUrl" width="100%" crossorigin="anonymous"> <el-image :src="imageUrl" width="100%" crossorigin="anonymous">
<div slot="placeholder" class="image-slot"> <div slot="placeholder" class="image-slot">
{{ $t('trials:medicalFeedback:message:loading') }}<span class="dot">...</span> {{ $t('trials:medicalFeedback:message:loading') }}<span class="dot">...</span>
</div> </div>
</el-image> </el-image>
</el-dialog> </el-dialog> -->
</el-form-item> </el-form-item>
</el-form> </el-form>
<viewer v-if="imgVisible" :images="[imageUrl]" ref="viewer">
<img :src="imageUrl" crossorigin="anonymous" alt="">
</viewer>
<el-dialog <el-dialog
v-if="chatVisible" v-if="chatVisible"
:visible.sync="chatVisible" :visible.sync="chatVisible"
@ -170,6 +171,7 @@
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: {
@ -224,6 +226,7 @@ export default {
} }
}, },
mounted() { mounted() {
this.initializeViewer()
this.initForm() this.initForm()
}, },
methods: { methods: {
@ -381,12 +384,18 @@ export default {
handlePictureCardPreview(file) { handlePictureCardPreview(file) {
this.imageUrl = this.OSSclientConfig.basePath + file.url this.imageUrl = this.OSSclientConfig.basePath + file.url
this.imgVisible = true this.imgVisible = true
this.$refs.viewer.$viewer.show()
}, },
// //
handleRemove(file, fileList) { handleRemove(file, fileList) {
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 }
})
} }
} }
} }