Merge branch 'main' of http://192.168.3.68:2000/XCKJ/irc_web
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
8e6b7d726b
|
@ -1909,7 +1909,11 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleCTSelectionChange(rows) {
|
handleCTSelectionChange(rows) {
|
||||||
this.ctSeriesInfo = rows[0]
|
if (rows.length > 0) {
|
||||||
|
this.ctSeriesInfo = rows[0]
|
||||||
|
} else {
|
||||||
|
this.ctSeriesInfo = {}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
handleCTSelect(selection) {
|
handleCTSelect(selection) {
|
||||||
if (selection.length > 1) {
|
if (selection.length > 1) {
|
||||||
|
@ -1924,7 +1928,11 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handlePTSelectionChange(rows) {
|
handlePTSelectionChange(rows) {
|
||||||
this.petSeriesInfo = rows[0]
|
if (rows.length > 0) {
|
||||||
|
this.petSeriesInfo = rows[0]
|
||||||
|
} else {
|
||||||
|
this.petSeriesInfo = {}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
handleSubmitFusionSeries() {
|
handleSubmitFusionSeries() {
|
||||||
this.$refs['fusionForm'].validate((valid) => {
|
this.$refs['fusionForm'].validate((valid) => {
|
||||||
|
|
|
@ -2056,7 +2056,8 @@ export default {
|
||||||
},
|
},
|
||||||
startTimer() {
|
startTimer() {
|
||||||
timerId = setTimeout(() => {
|
timerId = setTimeout(() => {
|
||||||
this.$confirm('当前pet-ct图像融合耗时过长,是否继续等待?', '提示', {
|
// '当前pet-ct图像融合耗时过长,是否继续等待?'
|
||||||
|
this.$confirm(this.$t('trials:lugano:message:fusionMsg'), this.$t('trials:lugano:message:fusiontip'), {
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
|
|
||||||
|
|
|
@ -742,7 +742,7 @@ export default {
|
||||||
// 普通靶病灶:长径大于10mm且不小于2倍层厚(基线校验)
|
// 普通靶病灶:长径大于10mm且不小于2倍层厚(基线校验)
|
||||||
// 淋巴结靶病灶:短径大于15mm且不小于2倍层厚(基线校验)
|
// 淋巴结靶病灶:短径大于15mm且不小于2倍层厚(基线校验)
|
||||||
var picturePath = ''
|
var picturePath = ''
|
||||||
if (val) {
|
if (val && otherMeasureData) {
|
||||||
var pictureObj = await this.uploadScreenshots(`${new Date().getTime()}`, val)
|
var pictureObj = await this.uploadScreenshots(`${new Date().getTime()}`, val)
|
||||||
|
|
||||||
picturePath = pictureObj.isSuccess ? pictureObj.result.url : ''
|
picturePath = pictureObj.isSuccess ? pictureObj.result.url : ''
|
||||||
|
|
|
@ -1962,7 +1962,7 @@ export default {
|
||||||
// 普通靶病灶:长径大于10mm且不小于2倍层厚(基线校验)
|
// 普通靶病灶:长径大于10mm且不小于2倍层厚(基线校验)
|
||||||
// 淋巴结靶病灶:短径大于15mm且不小于2倍层厚(基线校验)
|
// 淋巴结靶病灶:短径大于15mm且不小于2倍层厚(基线校验)
|
||||||
var picturePath = ''
|
var picturePath = ''
|
||||||
if (val) {
|
if (val && measureData) {
|
||||||
var pictureObj = await this.uploadScreenshots(`${new Date().getTime()}`, val)
|
var pictureObj = await this.uploadScreenshots(`${new Date().getTime()}`, val)
|
||||||
|
|
||||||
picturePath = pictureObj.isSuccess ? pictureObj.result.url : ''
|
picturePath = pictureObj.isSuccess ? pictureObj.result.url : ''
|
||||||
|
|
|
@ -177,32 +177,61 @@
|
||||||
{{ val }}
|
{{ val }}
|
||||||
</el-radio>
|
</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
<el-input
|
<template v-if="qs.QuestionMark === 20">
|
||||||
v-if="qs.Type==='calculation'"
|
<div style="display: flex;flex-direction: row;justify-content: flex-start;">
|
||||||
v-model="questionForm[qs.Id]"
|
<el-input
|
||||||
disabled
|
v-if="qs.Type==='calculation'"
|
||||||
@change="((val)=>{formItemChange(val, qs)})"
|
v-model="questionForm[qs.Id]"
|
||||||
>
|
disabled
|
||||||
<template v-if="qs.Unit" slot="append">
|
style="width:120px;"
|
||||||
{{ $fd('ValueUnit', parseInt(qs.Unit)) }}
|
@change="((val)=>{formItemChange(val, qs)})"
|
||||||
</template>
|
>
|
||||||
</el-input>
|
<template v-if="qs.Unit" slot="append">
|
||||||
|
{{ $fd('ValueUnit', parseInt(qs.Unit)) }}
|
||||||
|
</template>
|
||||||
|
</el-input>
|
||||||
|
<viewer
|
||||||
|
v-if="answers.OtherPicturePath"
|
||||||
|
ref="viewer"
|
||||||
|
style="margin:0 10px;"
|
||||||
|
:images="[answers.OtherPicturePath]"
|
||||||
|
>
|
||||||
|
<span style="color:#409eff;cursor: pointer" @click="previewImage()">
|
||||||
|
{{ $t('trials:lugano:button:suvscreenshot') }}
|
||||||
|
</span>
|
||||||
|
<img
|
||||||
|
v-show="false"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
:src="answers.OtherPicturePath"
|
||||||
|
alt="Image"
|
||||||
|
>
|
||||||
|
</viewer>
|
||||||
|
<!-- <img
|
||||||
|
v-if="answers.OtherPicturePath"
|
||||||
|
v-viewer
|
||||||
|
:options="{ toolbar: false }"
|
||||||
|
style="width: 25px; height: 25px; cursor: pointer;margin-left:10px;"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
:src="answers.OtherPicturePath"
|
||||||
|
alt="Image"
|
||||||
|
class="suv_viewer"
|
||||||
|
> -->
|
||||||
|
<!-- <el-link v-if="answers.OtherPicturePath" type="primary" style="margin-left:10px;" @click="previewImage(answers.OtherPicturePath)">截图</el-link> -->
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<el-input
|
||||||
|
v-if="qs.Type==='calculation'"
|
||||||
|
v-model="questionForm[qs.Id]"
|
||||||
|
disabled
|
||||||
|
@change="((val)=>{formItemChange(val, qs)})"
|
||||||
|
>
|
||||||
|
<template v-if="qs.Unit" slot="append">
|
||||||
|
{{ $fd('ValueUnit', parseInt(qs.Unit)) }}
|
||||||
|
</template>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
|
||||||
v-if="answers.OtherPicturePath"
|
|
||||||
label="SUV测量截图"
|
|
||||||
/>
|
|
||||||
<div v-if="answers.OtherPicturePath">
|
|
||||||
<img
|
|
||||||
v-viewer
|
|
||||||
:options="{ toolbar: false }"
|
|
||||||
style="width: 50px; height: 50px; cursor: pointer;"
|
|
||||||
crossorigin="anonymous"
|
|
||||||
:src="answers.OtherPicturePath"
|
|
||||||
alt="Image"
|
|
||||||
class="suv_viewer"
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="isCurrentTask && readingTaskState<2"
|
v-if="isCurrentTask && readingTaskState<2"
|
||||||
|
@ -333,6 +362,10 @@ export default {
|
||||||
toolbar: { zoomIn: true, zoomOut: true, rotateLeft: true, rotateRight: true, flipHorizontal: true, flipVertical: true }
|
toolbar: { zoomIn: true, zoomOut: true, rotateLeft: true, rotateRight: true, flipHorizontal: true, flipVertical: true }
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
previewImage() {
|
||||||
|
console.log(this.$refs.viewer[0])
|
||||||
|
this.$refs.viewer[0].$viewer.show()
|
||||||
|
},
|
||||||
async initForm() {
|
async initForm() {
|
||||||
const loading = this.$loading({ fullscreen: true })
|
const loading = this.$loading({ fullscreen: true })
|
||||||
this.questions.forEach(item => {
|
this.questions.forEach(item => {
|
||||||
|
@ -1546,7 +1579,7 @@ export default {
|
||||||
// 普通靶病灶:长径大于10mm且不小于2倍层厚(基线校验)
|
// 普通靶病灶:长径大于10mm且不小于2倍层厚(基线校验)
|
||||||
// 淋巴结靶病灶:短径大于15mm且不小于2倍层厚(基线校验)
|
// 淋巴结靶病灶:短径大于15mm且不小于2倍层厚(基线校验)
|
||||||
var picturePath = ''
|
var picturePath = ''
|
||||||
if (val) {
|
if (val && measureData) {
|
||||||
var pictureObj = await this.uploadScreenshots(`${new Date().getTime()}`, val)
|
var pictureObj = await this.uploadScreenshots(`${new Date().getTime()}`, val)
|
||||||
|
|
||||||
picturePath = pictureObj.isSuccess ? pictureObj.result.url : ''
|
picturePath = pictureObj.isSuccess ? pictureObj.result.url : ''
|
||||||
|
|
|
@ -692,7 +692,7 @@ export default {
|
||||||
const loading = this.$loading({ fullscreen: true })
|
const loading = this.$loading({ fullscreen: true })
|
||||||
DicomEvent.$emit('getScreenshots', async val => {
|
DicomEvent.$emit('getScreenshots', async val => {
|
||||||
var picturePath = ''
|
var picturePath = ''
|
||||||
if (val) {
|
if (val && measureData) {
|
||||||
var pictureObj = await this.uploadScreenshots(`${new Date().getTime()}`, val)
|
var pictureObj = await this.uploadScreenshots(`${new Date().getTime()}`, val)
|
||||||
picturePath = pictureObj.isSuccess ? pictureObj.result.url : ''
|
picturePath = pictureObj.isSuccess ? pictureObj.result.url : ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -1324,7 +1324,7 @@ export default {
|
||||||
// 普通靶病灶:长径大于10mm且不小于2倍层厚(基线校验)
|
// 普通靶病灶:长径大于10mm且不小于2倍层厚(基线校验)
|
||||||
// 淋巴结靶病灶:短径大于15mm且不小于2倍层厚(基线校验)
|
// 淋巴结靶病灶:短径大于15mm且不小于2倍层厚(基线校验)
|
||||||
var picturePath = ''
|
var picturePath = ''
|
||||||
if (val) {
|
if (val && measureData) {
|
||||||
var pictureObj = await this.uploadScreenshots(`${new Date().getTime()}`, val)
|
var pictureObj = await this.uploadScreenshots(`${new Date().getTime()}`, val)
|
||||||
|
|
||||||
picturePath = pictureObj.isSuccess ? pictureObj.result.url : ''
|
picturePath = pictureObj.isSuccess ? pictureObj.result.url : ''
|
||||||
|
|
|
@ -972,7 +972,7 @@ export default {
|
||||||
|
|
||||||
DicomEvent.$emit('getScreenshots', async val => {
|
DicomEvent.$emit('getScreenshots', async val => {
|
||||||
var picturePath = ''
|
var picturePath = ''
|
||||||
if (val) {
|
if (val && measureData) {
|
||||||
var pictureObj = await this.uploadScreenshots(`${new Date().getTime()}`, val)
|
var pictureObj = await this.uploadScreenshots(`${new Date().getTime()}`, val)
|
||||||
|
|
||||||
picturePath = pictureObj.isSuccess ? pictureObj.result.url : ''
|
picturePath = pictureObj.isSuccess ? pictureObj.result.url : ''
|
||||||
|
|
|
@ -368,7 +368,8 @@ export default {
|
||||||
if (isDiffer) {
|
if (isDiffer) {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
// '肿瘤学阅片结论不能为空!' this.$t('trials:oncologyReview:message:msg1'
|
// '肿瘤学阅片结论不能为空!' this.$t('trials:oncologyReview:message:msg1'
|
||||||
this.$confirm('肿瘤学阅片结果与影像学整体肿瘤评估不一致,请填写原因!', {
|
// '肿瘤学阅片结果与影像学整体肿瘤评估不一致,请填写原因!'
|
||||||
|
this.$confirm(this.$t('trials:oncologyReview:message:msg2'), {
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
distinguishCancelAndClose: true
|
distinguishCancelAndClose: true
|
||||||
})
|
})
|
||||||
|
|
|
@ -289,8 +289,33 @@
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
custom-class="base-dialog-wrapper"
|
custom-class="base-dialog-wrapper"
|
||||||
>
|
>
|
||||||
<div>
|
<div style="max-height: 500px;overflow-y: auto;padding: 0 20px">
|
||||||
{{ lookText }}
|
<div style="display: flex;justify-content: space-around;margin-bottom: 20px">
|
||||||
|
<span>{{$t('trials:uploadDicomList:table:FailedNumber')}}: {{lookText.Failed.length}}</span>
|
||||||
|
<span>{{$t('trials:uploadDicomList:table:ExistedNumber')}}: {{lookText.Existed.length}}</span>
|
||||||
|
<span>{{$t('trials:uploadDicomList:table:UploadedNumber')}}: {{lookText.Uploaded.length}}</span>
|
||||||
|
</div>
|
||||||
|
<div style="margin-bottom: 10px;font-size:12px">
|
||||||
|
<div style="font-size: 14px;margin-bottom: 5px">{{$t('trials:uploadDicomList:table:Failed')}}:</div>
|
||||||
|
<div v-if="lookText.Failed.length">
|
||||||
|
<div v-for="item of lookText.Failed">{{item}}</div>
|
||||||
|
</div>
|
||||||
|
<div v-else>无</div>
|
||||||
|
</div>
|
||||||
|
<div style="margin-bottom: 10px;font-size:12px">
|
||||||
|
<div style="font-size: 14px;margin-bottom: 5px">{{$t('trials:uploadDicomList:table:Existed')}}:</div>
|
||||||
|
<div v-if="lookText.Existed.length">
|
||||||
|
<div v-for="item of lookText.Existed">{{item}}</div>
|
||||||
|
</div>
|
||||||
|
<div v-else>无</div>
|
||||||
|
</div>
|
||||||
|
<div style="margin-bottom: 10px;font-size:12px">
|
||||||
|
<div style="font-size: 14px;margin-bottom: 5px">{{$t('trials:uploadDicomList:table:Uploaded')}}:</div>
|
||||||
|
<div v-if="lookText.Uploaded.length">
|
||||||
|
<div v-for="item of lookText.Uploaded">{{item}}</div>
|
||||||
|
</div>
|
||||||
|
<div v-else>无</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<!-- 取消 -->
|
<!-- 取消 -->
|
||||||
|
|
|
@ -136,6 +136,7 @@
|
||||||
<input
|
<input
|
||||||
type="file"
|
type="file"
|
||||||
name="file"
|
name="file"
|
||||||
|
ref="pathClear"
|
||||||
:disabled="btnLoading"
|
:disabled="btnLoading"
|
||||||
webkitdirectory
|
webkitdirectory
|
||||||
multiple
|
multiple
|
||||||
|
@ -277,27 +278,29 @@
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tooltip placement="top" v-if="scope.row.uploadState.record">
|
<el-tooltip placement="top" v-if="scope.row.uploadState.record">
|
||||||
<div slot="content">
|
<div slot="content">
|
||||||
{{$t('trials:uploadDicomList:table:Existed')}}
|
<div style="max-height: 500px;overflow-y: auto">
|
||||||
<div v-if="scope.row.uploadState.record.Existed.length">
|
{{$t('trials:uploadDicomList:table:Existed')}}
|
||||||
<span v-for="item of scope.row.uploadState.record.Existed">{{item}}</span>
|
<div v-if="scope.row.uploadState.record.Existed.length">
|
||||||
</div>
|
<span v-for="item of scope.row.uploadState.record.Existed">{{item}}</span>
|
||||||
<div v-else>
|
</div>
|
||||||
无
|
<div v-else>
|
||||||
</div>
|
无
|
||||||
{{$t('trials:uploadDicomList:table:Uploaded')}}
|
</div>
|
||||||
<div v-if="scope.row.uploadState.record.Uploaded.length">
|
{{$t('trials:uploadDicomList:table:Uploaded')}}
|
||||||
<span v-for="item of scope.row.uploadState.record.Uploaded">{{item}}</span>
|
<div v-if="scope.row.uploadState.record.Uploaded.length">
|
||||||
</div>
|
<span v-for="item of scope.row.uploadState.record.Uploaded">{{item}}</span>
|
||||||
<div v-else>
|
</div>
|
||||||
无
|
<div v-else>
|
||||||
</div>
|
无
|
||||||
<br>
|
</div>
|
||||||
{{$t('trials:uploadDicomList:table:Failed')}}
|
<br>
|
||||||
<div v-if="scope.row.uploadState.record.Failed.length">
|
{{$t('trials:uploadDicomList:table:Failed')}}
|
||||||
<span v-for="item of scope.row.uploadState.record.Failed">{{item}}</span>
|
<div v-if="scope.row.uploadState.record.Failed.length">
|
||||||
</div>
|
<span v-for="item of scope.row.uploadState.record.Failed">{{item}}</span>
|
||||||
<div v-else>
|
</div>
|
||||||
无
|
<div v-else>
|
||||||
|
无
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="cursor: pointer">{{ scope.row.uploadState.record.Existed.length }}/{{ scope.row.uploadState.record.Uploaded.length }}/{{ scope.row.uploadState.record.Failed.length }}</div>
|
<div style="cursor: pointer">{{ scope.row.uploadState.record.Existed.length }}/{{ scope.row.uploadState.record.Uploaded.length }}/{{ scope.row.uploadState.record.Failed.length }}</div>
|
||||||
|
@ -307,10 +310,11 @@
|
||||||
<el-table-column v-show="isScan" :label="$t('common:action:action')" width="200">
|
<el-table-column v-show="isScan" :label="$t('common:action:action')" width="200">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<!-- 预览 -->
|
<!-- 预览 -->
|
||||||
|
<!-- :disabled="scope.row.dicomInfo.failedFileCount < scope.row.dicomInfo.fileCount && scope.row.dicomInfo.failedFileCount !== 0"-->
|
||||||
<el-button
|
<el-button
|
||||||
icon="el-icon-view"
|
icon="el-icon-view"
|
||||||
circle
|
circle
|
||||||
:disabled="scope.row.dicomInfo.failedFileCount < scope.row.dicomInfo.fileCount && scope.row.dicomInfo.failedFileCount !== 0"
|
:disabled="scope.row.uploadState.stateCode !== '' && (scope.row.dicomInfo.failedFileCount < scope.row.dicomInfo.fileCount && !scope.row.uploadState.record)"
|
||||||
:title="$t('trials:uploadedDicoms:action:preview')"
|
:title="$t('trials:uploadedDicoms:action:preview')"
|
||||||
size="small"
|
size="small"
|
||||||
@click="handlePreview(scope.row.dicomInfo.studyUid)"
|
@click="handlePreview(scope.row.dicomInfo.studyUid)"
|
||||||
|
@ -321,7 +325,7 @@
|
||||||
circle
|
circle
|
||||||
:title="$t('trials:uploadedDicoms:action:delete')"
|
:title="$t('trials:uploadedDicoms:action:delete')"
|
||||||
size="small"
|
size="small"
|
||||||
:disabled="scope.row.uploadState.stateCode !== ''"
|
:disabled="scope.row.uploadState.stateCode !== '' && (scope.row.dicomInfo.failedFileCount < scope.row.dicomInfo.fileCount && !scope.row.uploadState.record)"
|
||||||
@click="handleDelete(scope.$index, scope.row)"
|
@click="handleDelete(scope.$index, scope.row)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
@ -960,7 +964,7 @@ export default {
|
||||||
this.uploadQueues = this.uploadQueues.filter(v => {
|
this.uploadQueues = this.uploadQueues.filter(v => {
|
||||||
return !!v.uploadState.record.Failed.length
|
return !!v.uploadState.record.Failed.length
|
||||||
})
|
})
|
||||||
console.log(this.uploadQueues)
|
this.$refs.pathClear.value = ''
|
||||||
this.btnLoading = false
|
this.btnLoading = false
|
||||||
}).catch(_ => { this.btnLoading = false })
|
}).catch(_ => { this.btnLoading = false })
|
||||||
},
|
},
|
||||||
|
@ -1046,9 +1050,9 @@ export default {
|
||||||
}, 5000)
|
}, 5000)
|
||||||
scope.myInterval.push(t)
|
scope.myInterval.push(t)
|
||||||
let Record = {
|
let Record = {
|
||||||
|
Failed: [],
|
||||||
Existed: [],
|
Existed: [],
|
||||||
Uploaded: [],
|
Uploaded: [],
|
||||||
Failed: [],
|
|
||||||
FileCount: 0
|
FileCount: 0
|
||||||
}
|
}
|
||||||
let params = {
|
let params = {
|
||||||
|
|
Loading…
Reference in New Issue