Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9d8db73c4f | |||
| 7fa26be9d1 | |||
| 389a0b281e | |||
| 94d7f370d3 | |||
| 6151a73104 | |||
| 52e6863df7 | |||
| dd7e39faee | |||
| 88cf1f5752 | |||
| cf36795651 | |||
| b9804432d4 | |||
| a8fcf315c4 | |||
| 3ea8b8b771 | |||
| 017d0198fe | |||
| 4d7971b30b | |||
| fc2ad8f5ba | |||
| a0ec05e665 | |||
| 08181b9aa2 | |||
| ab27f86b68 | |||
| 95987af7cc |
+2
-2
@@ -81,11 +81,11 @@ export function verifyIRStudyAllowUpload(data) {
|
||||
})
|
||||
}
|
||||
// 影像下载成功确认
|
||||
export function downloadImageSuccess(params) {
|
||||
export function downloadImageSuccess(data) {
|
||||
return request({
|
||||
url: '/DownloadAndUpload/downloadImageSuccess',
|
||||
method: 'post',
|
||||
params
|
||||
data
|
||||
})
|
||||
}
|
||||
// 影像下载记录列表
|
||||
|
||||
+16
-1
@@ -213,6 +213,14 @@ export function getIVUSTemplate(param) {
|
||||
data: param
|
||||
})
|
||||
}
|
||||
export function getIVUSTemplatesZip(param) {
|
||||
return requestDownload({
|
||||
url: '/IVUSCalculate/getIVUSTemplatesZip',
|
||||
method: 'post',
|
||||
responseType: 'blob',
|
||||
data: param
|
||||
})
|
||||
}
|
||||
export function uploadIVUSTemplate(param) {
|
||||
return request({
|
||||
url: `/IVUSCalculate/uploadIVUSTemplate`,
|
||||
@@ -229,7 +237,14 @@ export function getOCTFCTTemplate(param) {
|
||||
data: param
|
||||
})
|
||||
}
|
||||
|
||||
export function getOCTFCTTemplatesZip(param) {
|
||||
return requestDownload({
|
||||
url: '/OCTCalculate/getOCTFCTTemplatesZip',
|
||||
method: 'post',
|
||||
responseType: 'blob',
|
||||
data: param
|
||||
})
|
||||
}
|
||||
export function uploadOCTFCTTemplate(param) {
|
||||
return request({
|
||||
url: `/OCTCalculate/uploadOCTFCTTemplate`,
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<!--上传列表@selection-change="handleSelectionChange" @sort-change="handleSortByColumn"-->
|
||||
<el-table ref="dicomFilesTable" v-adaptive="{ bottomOffset: 85 }" height="100" :data="list" :loading="loading"
|
||||
class="dicomFiles-table" :default-sort="{ prop: 'TaskBlindName', order: 'descending' }">
|
||||
class="dicomFiles-table" :default-sort="{ prop: 'TaskBlindName', order: 'ascending' }">
|
||||
<!-- <el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
@@ -32,8 +32,8 @@
|
||||
/> -->
|
||||
<el-table-column type="index" width="40" />
|
||||
<!--受试者-->
|
||||
<el-table-column :label="$t('download:table:subjectCode')" min-width="130" prop="SubjectCode"
|
||||
show-overflow-tooltip v-if="isReadingTaskViewInOrder !== 0" />
|
||||
<el-table-column :label="$t('download:table:subjectCode')" prop="SubjectCode" show-overflow-tooltip
|
||||
v-if="isReadingTaskViewInOrder !== 0 || IsImageSegment" />
|
||||
<!--访视名称-->
|
||||
<el-table-column prop="VisitName" :label="$t('download:table:VisitName')" sortable v-if="IsImageSegment" />
|
||||
<!--任务名称-->
|
||||
@@ -67,8 +67,8 @@
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('common:action:action')" fixed="right" width="150">
|
||||
<template slot-scope="scope">
|
||||
<!--预览--->
|
||||
<el-button circle icon="el-icon-view" :title="$t('download:button:preview')" :disabled="forbid"
|
||||
<!--预览:disabled="forbid"--->
|
||||
<el-button circle icon="el-icon-view" :title="$t('download:button:preview')"
|
||||
@click.stop="preview(scope.row)" />
|
||||
<!--下载--->
|
||||
<el-button circle icon="el-icon-download" :title="$t('download:button:download')"
|
||||
@@ -297,7 +297,7 @@ export default {
|
||||
if (res.IsSuccess) {
|
||||
this.downloadId = res.OtherInfo.PreDownloadId
|
||||
this.IsReadingTaskViewInOrder = res.OtherInfo.IsReadingTaskViewInOrder
|
||||
this.downloadImage(res.Result)
|
||||
this.downloadImage(res.Result, data.SubjectVisitTaskList)
|
||||
}
|
||||
} catch (err) {
|
||||
this.btnLoading = false
|
||||
@@ -305,12 +305,12 @@ export default {
|
||||
}
|
||||
},
|
||||
// 打包下载
|
||||
async downloadImage(data) {
|
||||
async downloadImage(data, params) {
|
||||
try {
|
||||
let { files, name, fileType } = this.formatDownloadFile(data)
|
||||
let res = await downLoadFile(files, name, 'zip')
|
||||
if (res && this.downloadId) {
|
||||
this.downloadImageSuccess()
|
||||
this.downloadImageSuccess(params)
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
@@ -449,13 +449,13 @@ export default {
|
||||
return { files, name }
|
||||
},
|
||||
// 影像下载成功确认
|
||||
async downloadImageSuccess() {
|
||||
async downloadImageSuccess(data) {
|
||||
try {
|
||||
let params = {
|
||||
TrialImageDownloadId: this.downloadId,
|
||||
}
|
||||
if (this.isReading) {
|
||||
params.VisitTaskId = this.TaskId
|
||||
params.VisitTaskIdList = data.map(item => item.TaskId)
|
||||
}
|
||||
await downloadImageSuccess(params)
|
||||
} catch (err) {
|
||||
|
||||
@@ -8,10 +8,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<!--检查列表-->
|
||||
<el-table :data="list" style="width: 100%" height="300" :loading="loading">
|
||||
<el-table :data="list" style="width: 100%" height="300" :loading="loading"
|
||||
:default-sort="{ prop: 'TaskBlindName', order: 'ascending' }">
|
||||
<!--受试者-->
|
||||
<el-table-column prop="SubjectCode" :label="$t('upload:dicom:table:subjectCode')" sortable
|
||||
v-if="isReadingTaskViewInOrder !== 0" />
|
||||
v-if="isReadingTaskViewInOrder !== 0 || IsImageSegment" />
|
||||
<!--访视名称-->
|
||||
<el-table-column prop="VisitName" :label="$t('download:table:VisitName')" v-if="IsImageSegment" sortable />
|
||||
<!--任务名称-->
|
||||
@@ -43,8 +44,10 @@
|
||||
<template slot-scope="scope">
|
||||
<div class="btnBox">
|
||||
<!--上传--->
|
||||
<form id="inputForm" :ref="`uploadForm_${scope.row.Id}`" enctype="multipart/form-data"
|
||||
v-if="!forbid && (!isReading || isDownloaded)">
|
||||
<form id="inputForm" :ref="`uploadForm_${scope.row.Id}`" enctype="multipart/form-data" v-if="hasPermi(['role:ir']) && !forbid && (!isReading || scope.row.IsIRImageDownloaded || (!scope.row.IsIRImageDownloaded && Criterion && Criterion.CriterionType &&
|
||||
Criterion.CriterionType != 19 &&
|
||||
Criterion.CriterionType != 20
|
||||
)) && scope.row.ReadingTaskState < 2">
|
||||
<div class="form-group" style="margin-right: 10px">
|
||||
<div :id="`directoryInputWrapper_${scope.row.Id}`" class="btn btn-link file-input">
|
||||
<el-button circle icon="el-icon-upload2" :disabled="btnLoading" :loading="btnLoading"
|
||||
@@ -64,16 +67,17 @@
|
||||
<el-button circle :disabled="!scope.row.UploadStudyList ||
|
||||
scope.row.UploadStudyList.length <= 0 ||
|
||||
scope.row.ReadingTaskState === 2
|
||||
" icon="el-icon-delete" :title="$t('upload:dicom:button:delete')" @click.stop="remove(scope.row)" />
|
||||
" v-if="hasPermi(['role:ir'])" icon="el-icon-delete" :title="$t('upload:dicom:button:delete')"
|
||||
@click.stop="remove(scope.row)" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="margin: 10px 0" class="top">
|
||||
<span>{{ $t('upload:dicom:uploadTitle') }}</span>
|
||||
<div class="btnBox" v-if="!forbid && (!isReading || isDownloaded)">
|
||||
<div class="btnBox" v-if="!forbid">
|
||||
<span style="margin-right: 10px">{{ $store.state.trials.uploadTip }}</span>
|
||||
<form id="inputForm" ref="uploadForm" enctype="multipart/form-data">
|
||||
<form id="inputForm" ref="uploadForm" enctype="multipart/form-data" v-if="!isReading">
|
||||
<div class="form-group">
|
||||
<div id="directoryInputWrapper" class="btn btn-link file-input">
|
||||
<el-button type="primary" :disabled="btnLoading" :loading="btnLoading" size="mini">{{
|
||||
|
||||
@@ -12,10 +12,10 @@
|
||||
</div>
|
||||
<!--检查列表 @sort-change="handleSortByColumn"-->
|
||||
<el-table :data="list" style="width: 100%" v-adaptive="{ bottomOffset: 60 }" :loading="loading"
|
||||
:default-sort="{ prop: 'TaskBlindName', order: 'descending' }">
|
||||
:default-sort="{ prop: 'TaskBlindName', order: 'ascending' }">
|
||||
<!--受试者 sortable="custom"-->
|
||||
<el-table-column prop="SubjectCode" :label="$t('upload:nonedicom:table:subject')"
|
||||
v-if="isReadingTaskViewInOrder !== 0" />
|
||||
v-if="isReadingTaskViewInOrder !== 0 || IsImageSegment" />
|
||||
<!--访视名称-->
|
||||
<el-table-column prop="VisitName" :label="$t('upload:nonedicom:table:VisitName')" sortable
|
||||
v-if="IsImageSegment" />
|
||||
@@ -110,12 +110,16 @@
|
||||
<el-button circle :disabled="scope.row.UploadedFileCount <= 0" icon="el-icon-view"
|
||||
:title="$t('upload:nonedicom:button:preview')" @click.stop="handlePreviewNoneDicomFiles(scope.row)" />
|
||||
<!--上传--->
|
||||
<el-button circle icon="el-icon-upload2" :title="$t('upload:nonedicom:button:upload')" v-if="!forbid"
|
||||
@click.native.prevent="handleUpload(scope.row)" :disabled="isReading && !isDownloaded" />
|
||||
<el-button circle icon="el-icon-upload2" :title="$t('upload:nonedicom:button:upload')" v-if="hasPermi(['role:ir']) && !forbid && (!isReading || scope.row.IsIRImageDownloaded || (!scope.row.IsIRImageDownloaded && Criterion && Criterion.CriterionType &&
|
||||
Criterion.CriterionType != 19 &&
|
||||
Criterion.CriterionType != 20
|
||||
)) && scope.row.ReadingTaskState < 2" @click.native.prevent="handleUpload(scope.row)" />
|
||||
<!-- <el-button circle icon="el-icon-upload2" :title="$t('upload:nonedicom:button:upload')"
|
||||
@click.native.prevent="handleUpload(scope.row)" /> -->
|
||||
<!--删除--->
|
||||
<el-button :disabled="scope.row.UploadedFileCount <= 0 ||
|
||||
scope.row.ReadingTaskState === 2
|
||||
" circle icon="el-icon-delete" :title="$t('upload:nonedicom:button:delete')"
|
||||
" v-if="hasPermi(['role:ir'])" circle icon="el-icon-delete" :title="$t('upload:nonedicom:button:delete')"
|
||||
@click.stop="remove(scope.row)" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -397,7 +401,7 @@ export default {
|
||||
}
|
||||
},
|
||||
// 扫描待上传文件
|
||||
beginScanFiles(e) {
|
||||
async beginScanFiles(e) {
|
||||
var files = [...e.target.files]
|
||||
var sameFiles = [], zipFiles = [], f = false
|
||||
files.forEach((file) => {
|
||||
@@ -405,7 +409,7 @@ export default {
|
||||
.substring(file.name.lastIndexOf('.'))
|
||||
.toLocaleLowerCase()
|
||||
if (extendName === '.zip' && this.IsImageSegment) {
|
||||
if (file.name.indexOf('筛选期') > -1 || file.name.indexOf('研究结束') > -1) f = true
|
||||
if (file.name.indexOf(this.$t("trials:uploadNonDicoms:checkValue:SelectionPeriod")) > -1 || file.name.indexOf("trials:uploadNonDicoms:checkValue:researchOver") > -1) f = true
|
||||
zipFiles.push(file)
|
||||
}
|
||||
if (
|
||||
@@ -416,11 +420,13 @@ export default {
|
||||
}
|
||||
})
|
||||
if (zipFiles.length > 0) {
|
||||
zipFiles.forEach(async file => {
|
||||
for (let i = 0; i < zipFiles.length; i++) {
|
||||
let file = zipFiles[i]
|
||||
let list = await this.readZipFileListRaw(file)
|
||||
if (!f) f = list.some(i => i.path.indexOf('筛选期') > -1 || i.path.indexOf('研究结束') > -1)
|
||||
if (!f) f = list.some(i => i.path.indexOf(this.$t("trials:uploadNonDicoms:checkValue:SelectionPeriod")) > -1 || i.path.indexOf(this.$t("trials:uploadNonDicoms:checkValue:researchOver")) > -1)
|
||||
list = null
|
||||
})
|
||||
if (f) break
|
||||
}
|
||||
}
|
||||
if (f) return this.$confirm(this.$t("trials:uploadNonDicoms:confirm:zipNameNonCompliant"), '', {
|
||||
type: "warning"
|
||||
@@ -684,8 +690,8 @@ export default {
|
||||
},
|
||||
(percentage, checkpoint, lastPer) => {
|
||||
item.uploadFileSize += checkpoint.size * (percentage - lastPer)
|
||||
if (item.uploadFileSize > file.fileSize) {
|
||||
item.uploadFileSize = file.fileSize > 0 ? file.fileSize : 1
|
||||
if (item.uploadFileSize > file.size) {
|
||||
item.uploadFileSize = file.size > 0 ? file.size : 1
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1787639576282" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5836" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M511.974687 0.000434A511.992298 511.992298 0 1 1 0.00047 511.992732 511.30523 511.30523 0 0 1 511.974687 0.000434z m93.350858 188.979888l-87.366133 153.053459-295.168071 0.090404c-28.567568 0-51.728995 19.147503-51.728995 42.760949s23.161427 42.760949 51.728995 42.760948h246.331994l-93.911361 164.643213h-152.420633c-28.567568 0-51.728995 19.147503-51.728995 42.760949s23.125266 42.79711 51.728995 42.79711h103.584556l-39.416012 69.19499a34.498051 34.498051 0 1 0 59.919571 34.172597l58.852806-103.385668h395.027995c28.567568 0 51.728995-19.147503 51.728995-42.760948s-23.161427-42.760949-51.728995-42.760949H454.58642l93.983684-164.661294h252.190153c28.567568 0 51.728995-19.147503 51.728995-42.760948s-23.161427-42.760949-51.728995-42.760949l-203.372157-0.090404 67.893176-118.862781a34.485394 34.485394 0 1 0-59.901489-34.190678z" fill="#1296db" p-id="5837"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -396,7 +396,12 @@
|
||||
:label="$t('trials:readingTracking:config:questionName')"
|
||||
show-overflow-tooltip
|
||||
width="600"
|
||||
/>
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<svg-icon v-show="scope.row.IsTriggerJudge" icon-class="notEqual" class="svg-icon"/>
|
||||
{{ scope.row.QuestionName }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="judgeResult"
|
||||
:label="$t('trials:adReview:title:result')"
|
||||
@@ -435,7 +440,7 @@
|
||||
<el-radio-group
|
||||
v-show="!(scope.row.Type === 'class' || scope.row.DataSource === 1)"
|
||||
v-model="judgeSelectedArmMap[scope.row.ReadingQuestionId]"
|
||||
:disabled="readingTaskState >= 2"
|
||||
:disabled="readingTaskState >= 2 || !scope.row.IsTriggerJudge"
|
||||
@change="(val) => handleJudgeArmChange(scope.row, val)"
|
||||
>
|
||||
<el-radio :label="1">
|
||||
@@ -834,10 +839,22 @@ export default {
|
||||
// this.judgeQs = QuestionList
|
||||
this.$set(this.judgeForm, 'judgeResultRemark', res.Result.JudgeResultRemark || '')
|
||||
QuestionList.map((item) => {
|
||||
let val = null
|
||||
if (!item.Answer && item.Type === 'number' && !item.IsTriggerJudge) {
|
||||
val = this.getJudgeAnswerAverageValue(item)
|
||||
} else if (!item.Answer && !item.IsTriggerJudge) {
|
||||
const row = this.judgeAnswers.find(v => {
|
||||
return v.ReadingQuestionId === item.ReadingQuestionId
|
||||
})
|
||||
if (!row) return null
|
||||
val = row.R1Answer
|
||||
} else {
|
||||
val = item.Answer
|
||||
}
|
||||
this.$set(
|
||||
this.judgeForm,
|
||||
item.ReadingQuestionId,
|
||||
item.Answer
|
||||
val
|
||||
)
|
||||
if (item.Type === 'class') {
|
||||
this.classArr.push({ triggerId: item.ClassifyQuestionId, classId: item.ReadingQuestionId, classifyAlgorithms: item.ClassifyAlgorithms, classifyType: item.ClassifyType })
|
||||
@@ -869,6 +886,13 @@ export default {
|
||||
handleJudgeArmChange(question, armEnum) {
|
||||
this.$set(this.judgeSelectedArmMap, question.ReadingQuestionId, armEnum)
|
||||
let val = this.getJudgeAnswerValue(question, armEnum)
|
||||
|
||||
// if (armEnum === 1 || armEnum === 2) {
|
||||
// val = this.getJudgeAnswerValue(question, armEnum)
|
||||
// } else if (armEnum === 3) {
|
||||
// val = this.getJudgeAnswerAverageValue(question, armEnum)
|
||||
// }
|
||||
|
||||
this.$set(
|
||||
this.judgeForm,
|
||||
question.ReadingQuestionId,
|
||||
@@ -886,7 +910,7 @@ export default {
|
||||
parseFloat(val) < parseFloat(v.lt)
|
||||
)
|
||||
})
|
||||
answer = o ? o.label : null
|
||||
answer = o ? o.label : 'NE'
|
||||
} else if (i.classifyType === 1) {
|
||||
const o = list.find(v => {
|
||||
return v.val.includes(val)
|
||||
@@ -1152,6 +1176,19 @@ export default {
|
||||
if (!row) return null
|
||||
return armEnum === 1 ? row.R1Answer : row.R2Answer
|
||||
},
|
||||
getJudgeAnswerAverageValue(question) {
|
||||
const row = this.judgeAnswers.find((item) => {
|
||||
return item.ReadingQuestionId === question.ReadingQuestionId
|
||||
})
|
||||
if (!row) return null
|
||||
let val = ((Number(row.R1Answer) + Number(row.R2Answer)) / 2)
|
||||
let digitPlaces = parseInt(this.taskInfo.DigitPlaces)
|
||||
if (digitPlaces > -1) {
|
||||
return val.toFixed(digitPlaces)
|
||||
} else {
|
||||
return val
|
||||
}
|
||||
},
|
||||
validateJudgeSelections() {
|
||||
const missingQuestion = this.judgeQs.find((question) => {
|
||||
const answer = this.judgeForm[question.ReadingQuestionId]
|
||||
|
||||
@@ -236,7 +236,7 @@
|
||||
</template>
|
||||
<script>
|
||||
import { saveTaskQuestion, submitTableQuestion, deleteReadingRowAnswer } from '@/api/trials'
|
||||
import { resetReadingTask, getIVUSTemplate } from '@/api/reading'
|
||||
import { resetReadingTask, getIVUSTemplatesZip } from '@/api/reading'
|
||||
import { getToken } from '@/utils/auth'
|
||||
import DicomEvent from './../DicomEvent'
|
||||
import store from '@/store'
|
||||
@@ -867,7 +867,7 @@ export default {
|
||||
const params = {
|
||||
visitTaskId: this.visitTaskId
|
||||
}
|
||||
await getIVUSTemplate(params)
|
||||
await getIVUSTemplatesZip(params)
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
|
||||
@@ -235,7 +235,7 @@
|
||||
</template>
|
||||
<script>
|
||||
import { saveTaskQuestion, submitTableQuestion, deleteReadingRowAnswer } from '@/api/trials'
|
||||
import { resetReadingTask, getOCTFCTTemplate, getOCTLipidAngleTemplate } from '@/api/reading'
|
||||
import { resetReadingTask, getOCTFCTTemplatesZip, getOCTLipidAngleTemplate } from '@/api/reading'
|
||||
import DicomEvent from './../DicomEvent'
|
||||
import store from '@/store'
|
||||
import { getToken } from '@/utils/auth'
|
||||
@@ -890,7 +890,7 @@ export default {
|
||||
visitTaskId: this.visitTaskId
|
||||
}
|
||||
if (lesionType === 104) {
|
||||
await getOCTFCTTemplate(params)
|
||||
await getOCTFCTTemplatesZip(params)
|
||||
} else {
|
||||
await getOCTLipidAngleTemplate(params)
|
||||
}
|
||||
|
||||
+1
-1
@@ -434,7 +434,7 @@ export default {
|
||||
parseFloat(obj.val) < parseFloat(v.lt)
|
||||
)
|
||||
})
|
||||
answer = o ? o.label : null
|
||||
answer = o ? o.label : 'NE'
|
||||
} else if (i.classifyType === 1) {
|
||||
let o = list.find(v => {
|
||||
return v.val.includes(obj.val)
|
||||
|
||||
+1
-1
@@ -234,7 +234,7 @@ export default {
|
||||
parseFloat(obj.val) < parseFloat(v.lt)
|
||||
)
|
||||
})
|
||||
answer = o ? o.label : null
|
||||
answer = o ? o.label : 'NE'
|
||||
} else if (i.classifyType === 1) {
|
||||
let o = list.find(v => {
|
||||
return v.val.includes(obj.val)
|
||||
|
||||
+1
-1
@@ -757,7 +757,7 @@ export default {
|
||||
parseFloat(obj.val) < parseFloat(v.lt)
|
||||
)
|
||||
})
|
||||
answer = o ? o.label : null
|
||||
answer = o ? o.label : 'NE'
|
||||
} else if (i.classifyType === 1) {
|
||||
let o = list.find(v => {
|
||||
return v.val.includes(obj.val)
|
||||
|
||||
+2
-2
@@ -453,7 +453,7 @@ export default {
|
||||
parseFloat(obj.val) < parseFloat(v.lt)
|
||||
)
|
||||
})
|
||||
answer = o ? o.label : null
|
||||
answer = o ? o.label : 'NE'
|
||||
} else if (i.classifyType === 1) {
|
||||
const o = list.find(v => {
|
||||
return v.val.includes(obj.val)
|
||||
@@ -1268,7 +1268,7 @@ export default {
|
||||
parseFloat(val) < parseFloat(v.lt)
|
||||
)
|
||||
})
|
||||
answer = o ? o.label : null
|
||||
answer = o ? o.label : 'NE'
|
||||
} else if (i.classifyType === 1) {
|
||||
const o = list.find(v => {
|
||||
return v.val.includes(val)
|
||||
|
||||
@@ -378,7 +378,7 @@ export default {
|
||||
parseFloat(obj.val) < parseFloat(v.lt)
|
||||
)
|
||||
})
|
||||
answer = o ? o.label : null
|
||||
answer = o ? o.label : 'NE'
|
||||
} else if (i.classifyType === 1) {
|
||||
let o = list.find(v => {
|
||||
return v.val.includes(obj.val)
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
:label="$t('trials:pendingReadingTasks:table:NoneDicomStudyCount')" show-overflow-tooltip
|
||||
sortable="custom" /> -->
|
||||
<!-- 标记访视数量 -->
|
||||
<el-table-column prop="MarkVisitCount"
|
||||
<el-table-column prop="MarkIVUSVisitCount"
|
||||
:label="$t('trials:pendingReadingTasks:table:MarkVisitCount')" show-overflow-tooltip
|
||||
sortable="custom">
|
||||
<template slot-scope="scope">
|
||||
@@ -59,7 +59,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 标记访视数量 -->
|
||||
<el-table-column prop="MarkVisitCount"
|
||||
<el-table-column prop="MarkOCTVisitCount"
|
||||
:label="$t('trials:pendingReadingTasks:table:MarkOCTVisitCount')"
|
||||
show-overflow-tooltip sortable="custom">
|
||||
<template slot-scope="scope">
|
||||
|
||||
@@ -311,7 +311,7 @@ export default {
|
||||
parseFloat(obj.val) < parseFloat(v.lt)
|
||||
)
|
||||
})
|
||||
answer = o ? o.label : null
|
||||
answer = o ? o.label : 'NE'
|
||||
} else if (i.classifyType === 1) {
|
||||
const o = list.find(v => {
|
||||
return v.val.includes(obj.val)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<el-form v-loading="loading" :label-width="'100px'">
|
||||
<!-- 仲裁对象 -->
|
||||
<el-form-item :label="$t('trials:adRules:title:arbitrationRule')">
|
||||
<el-radio-group v-model="JudgyInfo.ArbitrationRule" :disabled="isSign">
|
||||
<el-radio-group v-model="JudgyInfo.ArbitrationRule" :disabled="isSign || !hasPermi(['trials:trials-panel:setting:reading-unit:edit'])">
|
||||
<el-radio v-for="item of $d.ArbitrationRule" :key="item.id"
|
||||
:disabled="!JudgyInfo.IsReadingTaskViewInOrder || true" :label="item.value" @change="changeArbitrationRule">
|
||||
{{ item.label }}
|
||||
@@ -15,7 +15,7 @@
|
||||
</el-form-item>
|
||||
<!-- 仲裁模式JudgeModeEnum 整体结果择一判定;指标组合判定-->
|
||||
<el-form-item :label="$t('trials:adRules:title:judgeMode')">
|
||||
<el-radio-group v-model="JudgyInfo.JudgeModeEnum" :disabled="isSign">
|
||||
<el-radio-group v-model="JudgyInfo.JudgeModeEnum" :disabled="isSign || !hasPermi(['trials:trials-panel:setting:reading-unit:edit'])">
|
||||
<el-radio
|
||||
v-for="item of $d.JudgeMode"
|
||||
:key="item.id"
|
||||
@@ -28,7 +28,7 @@
|
||||
</el-form-item>
|
||||
<!-- 裁判规则JudgeRuleEnum 访视一致规则;访视差异规则-->
|
||||
<el-form-item :label="$t('trials:adRules:title:judgeRule')">
|
||||
<el-radio-group v-model="JudgyInfo.JudgeRuleEnum" :disabled="isSign">
|
||||
<el-radio-group v-model="JudgyInfo.JudgeRuleEnum" :disabled="isSign || !hasPermi(['trials:trials-panel:setting:reading-unit:edit'])">
|
||||
<el-radio
|
||||
v-for="item of $d.JudgeRule"
|
||||
:key="item.id"
|
||||
|
||||
@@ -761,7 +761,7 @@ export default {
|
||||
parseFloat(obj.val) < parseFloat(v.lt)
|
||||
)
|
||||
})
|
||||
answer = o ? o.label : null
|
||||
answer = o ? o.label : 'NE'
|
||||
} else if (i.classifyType === 1) {
|
||||
let o = list.find(v => {
|
||||
return v.val.includes(obj.val)
|
||||
|
||||
@@ -197,7 +197,7 @@ export default {
|
||||
parseFloat(obj.val) < parseFloat(v.lt)
|
||||
)
|
||||
})
|
||||
answer = o ? o.label : null
|
||||
answer = o ? o.label : 'NE'
|
||||
} else if (i.classifyType === 1) {
|
||||
let o = list.find(v => {
|
||||
return v.val.includes(obj.val)
|
||||
|
||||
+2
-2
@@ -354,8 +354,8 @@ export default {
|
||||
},
|
||||
(percentage, checkpoint, lastPer) => {
|
||||
item.uploadFileSize += checkpoint.size * (percentage - lastPer)
|
||||
if (item.uploadFileSize > file.fileSize) {
|
||||
item.uploadFileSize = file.fileSize > 0 ? file.fileSize : 1
|
||||
if (item.uploadFileSize > file.size) {
|
||||
item.uploadFileSize = file.size > 0 ? file.size : 1
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
@@ -882,8 +882,8 @@ export default {
|
||||
},
|
||||
(percentage, checkpoint, lastPer) => {
|
||||
item.uploadFileSize += checkpoint.size * (percentage - lastPer)
|
||||
if (item.uploadFileSize > file.fileSize) {
|
||||
item.uploadFileSize = file.fileSize > 0 ? file.fileSize : 1
|
||||
if (item.uploadFileSize > file.size) {
|
||||
item.uploadFileSize = file.size > 0 ? file.size : 1
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user