Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is running Details

main
caiyiling 2026-01-30 18:06:28 +08:00
commit 742b60bba2
10 changed files with 141 additions and 359 deletions

BIN
src/assets/mp4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

BIN
src/assets/system.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

View File

@ -24,7 +24,10 @@
<div v-if="NODE_ENV === 'usa'">
<svg-icon icon-class="login-logo" style="width: 300px; height: 94px" />
</div>
<div class="title" v-else>{{ $t('login:title:system') }}</div>
<div class="title" v-else>
<img src="@/assets/system.png" alt="" :style="{ width: isEN ? '180px' : '200px', height: isEN ? '60px' : '65px' }" />
<div :style="`font-size:${isEN ? '28px' : '35px'}`">{{ $t('login:title:system') }}</div>
</div>
</div>
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" auto-complete="on"
label-position="left">
@ -250,6 +253,9 @@ export default {
// return window.location.host
return 'elevateimaging.ai '
},
isEN() {
return this.$i18n.locale !== 'zh'
}
},
watch: {
'$i18n.locale': {
@ -697,7 +703,7 @@ $light_gray: #606266;
.login-form {
position: absolute;
top: 55%;
top: 60%;
// transform: translateY(-50%);
left: 50%;
transform: translate(-50%, -50%);

View File

@ -49,6 +49,9 @@
<el-image v-else-if="
item.FileType === 'application/x-zip-compressed'
" style="width: 100%; height: 100%" :src="zip" fit="contain" crossorigin="anonymous" />
<el-image v-else-if="
!!~item.FileType.indexOf('mp4')
" style="width: 100%; height: 100%" :src="mp4" fit="contain" crossorigin="anonymous" />
</div>
<div v-if="item.FileName.length < 15" class="img-text">
{{ `${j + 1}. ${item.FileName}` }}
@ -102,6 +105,7 @@ import { getNoneDicomStudyList, setNodicomStudyState } from '@/api/trials'
import store from '@/store'
import pdf from '@/assets/pdf.png'
import zip from '@/assets/zip.jpg'
import mp4 from '@/assets/mp4.png'
import { changeURLStatic } from '@/utils/history.js'
import Preview from './components/preview'
import PreviewFile from '@/components/PreviewFile'
@ -118,6 +122,7 @@ export default {
return {
pdf,
zip,
mp4,
activeName: 'first',
currentFileId: '',
currentStudyIndex: 0,
@ -341,10 +346,15 @@ export default {
this.pdfFile.type = 'pdf'
this.showPDF = true
return true
} else if (!!~file.FileType.indexOf('mp4')) {
this.pdfFile.path = file.Path || file.FullFilePath
this.pdfFile.type = file.FileType
this.showPDF = true
return true
} else {
this.showPDF = false
}
console.log(this.pdfFile)
this.currentStudyIndex = studyIndex
this.previewImage.imgList =
this.studyList[studyIndex].NoneDicomStudyFileList

View File

@ -4,176 +4,79 @@
<el-form :inline="true">
<!-- Name -->
<el-form-item :label="$t('trials:seletctedReviews:table:name')">
<el-input
v-model="listQuery.Name"
size="small"
clearable
style="width: 120px"
/>
<el-input v-model="listQuery.Name" size="small" clearable style="width: 120px" />
</el-form-item>
<!-- Modality -->
<el-form-item :label="$t('trials:seletctedReviews:form:modality')">
<el-select
v-model="listQuery.ReadingTypeIdList"
class="handle-select"
clearable
multiple
collapse-tags
style="width: 160px"
>
<el-option
v-for="item of $d.ReadingType"
:key="item.id"
:label="item.label"
:value="item.id"
/>
<el-select v-model="listQuery.ReadingTypeIdList" class="handle-select" clearable multiple collapse-tags
style="width: 160px">
<el-option v-for="item of $d.ReadingType" :key="item.id" :label="item.label" :value="item.id" />
</el-select>
</el-form-item>
<!-- Subspeciality -->
<el-form-item :label="$t('trials:seletctedReviews:form:subspeciality')">
<el-select
v-model="listQuery.SubspecialityIdList"
class="handle-select"
clearable
multiple
collapse-tags
style="width: 160px"
>
<el-option
v-for="item of $d.Subspeciality"
:key="item.id"
:label="item.label"
:value="item.id"
/>
<el-select v-model="listQuery.SubspecialityIdList" class="handle-select" clearable multiple collapse-tags
style="width: 160px">
<el-option v-for="item of $d.Subspeciality" :key="item.id" :label="item.label" :value="item.id" />
</el-select>
</el-form-item>
<!-- Position -->
<el-form-item :label="$t('trials:seletctedReviews:form:position')">
<el-select
v-model="listQuery.PositionId"
class="handle-select"
clearable
style="width: 160px"
>
<el-option
v-for="item of $d.Position"
:key="item.id"
:label="item.label"
:value="item.id"
/>
<el-select v-model="listQuery.PositionId" class="handle-select" clearable style="width: 160px">
<el-option v-for="item of $d.Position" :key="item.id" :label="item.label" :value="item.id" />
</el-select>
</el-form-item>
<!-- Rank -->
<el-form-item :label="$t('trials:seletctedReviews:form:rank')">
<el-select
v-model="listQuery.RankId"
class="handle-select"
style="width: 160px"
clearable
>
<el-option
v-for="item of $d.Rank"
:key="item.id"
:label="item.label"
:value="item.id"
/>
<el-select v-model="listQuery.RankId" class="handle-select" style="width: 160px" clearable>
<el-option v-for="item of $d.Rank" :key="item.id" :label="item.label" :value="item.id" />
</el-select>
</el-form-item>
<!-- Institution -->
<el-form-item :label="$t('trials:seletctedReviews:form:institution')">
<el-select
v-model="listQuery.HospitalId"
class="handle-select mr10"
clearable
style="width: 160px"
>
<el-option
v-for="(item, index) in hospitalList"
:key="index"
:label="item.HospitalName"
:value="item.Id"
/>
<el-select v-model="listQuery.HospitalId" class="handle-select mr10" clearable style="width: 160px">
<el-option v-for="(item, index) in hospitalList" :key="index" :label="item.HospitalName" :value="item.Id" />
</el-select>
</el-form-item>
<!-- 查询 -->
<el-button
type="primary"
icon="el-icon-search"
:loading="loading"
@click="handleSearch"
>
<el-button type="primary" icon="el-icon-search" :loading="loading" @click="handleSearch">
{{ $t('common:button:search') }}
</el-button>
<!-- 重置 -->
<el-button
type="primary"
icon="el-icon-refresh-left"
:loading="loading"
@click="handleReset"
>
<el-button type="primary" icon="el-icon-refresh-left" :loading="loading" @click="handleReset">
{{ $t('common:button:reset') }}
</el-button>
<el-button
v-if="hasPermi(['role:pm'])"
type="primary"
:disabled="selectIdArr.length == 0"
icon="el-icon-check"
:loading="loading"
@click="handleApply"
>
<el-button v-if="hasPermi(['role:pm'])" type="primary" :disabled="selectIdArr.length == 0" icon="el-icon-check"
:loading="loading" @click="handleApply">
{{ $t('trials:seletctedReviews:button:select') }}
</el-button>
<!---简历采集-->
<el-button
type="primary"
@click="resumeCollection"
v-hasPermi="['trials:trials-panel:attachments:enrollment:viewer']"
>
<el-button type="primary" @click="resumeCollection"
v-hasPermi="['trials:trials-panel:attachments:enrollment:viewer']">
{{ $t('trials:seletctedReviews:button:resumeCollection') }}
</el-button>
<!---添加阅片人-->
<el-button
icon="el-icon-plus"
type="primary"
@click="openViewer('add')"
v-hasPermi="['trials:trials-panel:attachments:enrollment:viewer']"
>
<el-button icon="el-icon-plus" type="primary" @click="openViewer('add')"
v-hasPermi="['trials:trials-panel:attachments:enrollment:viewer']">
{{ $t('trials:seletctedReviews:button:addViewer') }}
</el-button>
</el-form>
</template>
<template slot="main-container">
<el-table
ref="selectionList"
v-loading="listLoading"
v-adaptive="{ bottomOffset: 65 }"
height="100"
:data="list"
class="table"
:row-class-name="handleHighLighRow"
@sort-change="handleSortChange"
@selection-change="handleSelectionChange"
>
<el-table ref="selectionList" v-loading="listLoading" v-adaptive="{ bottomOffset: 65 }" height="100" :data="list"
class="table" :row-class-name="handleHighLighRow" @sort-change="handleSortChange"
@selection-change="handleSelectionChange">
<el-table-column type="selection" :selectable="handleSelectTable" />
<el-table-column type="index" width="40" />
<!-- Name -->
<el-table-column
prop="LastName"
:label="$t('trials:seletctedReviews:table:name')"
show-overflow-tooltip
width="120"
sortable="custom"
>
<el-table-column prop="LastName" :label="$t('trials:seletctedReviews:table:name')" show-overflow-tooltip
width="120" sortable="custom">
<template slot-scope="scope">
<span
style="color: #428bca; cursor: pointer"
@click="
go(
`/trialsResume?doctorId=${scope.row.Id}&trialId=${$route.query.trialId}&token=${token}`
)
"
>{{ scope.row.LastName }} / {{ scope.row.FirstName }}</span
>
<span style="color: #428bca; cursor: pointer" @click="
go(
`/trialsResume?doctorId=${scope.row.Id}&trialId=${$route.query.trialId}&token=${token}`
)
">{{ scope.row.LastName }} / {{ scope.row.FirstName }}</span>
<!-- <el-button type="text" @click="go(`/trialsResume?doctorId=${scope.row.Id}&token=${token}`)">{{ scope.row.LastName }} / {{ scope.row.FirstName }}</el-button> -->
<!-- <router-link-->
<!-- style="color: #428bca;"-->
@ -186,28 +89,13 @@
</template>
</el-table-column>
<!-- Name CN -->
<el-table-column
v-if="!isEN"
prop="ChineseName"
:label="$t('trials:seletctedReviews:table:nameCN')"
show-overflow-tooltip
sortable="custom"
width="120"
/>
<el-table-column v-if="!isEN" prop="ChineseName" :label="$t('trials:seletctedReviews:table:nameCN')"
show-overflow-tooltip sortable="custom" width="120" />
<el-table-column
prop="DoctorUserName"
:label="$t('trials:seletctedReviews:table:doctorUserName')"
show-overflow-tooltip
sortable="custom"
width="120"
/>
<el-table-column prop="DoctorUserName" :label="$t('trials:seletctedReviews:table:doctorUserName')"
show-overflow-tooltip sortable="custom" width="120" />
<!-- Status -->
<el-table-column
prop="DoctorTrialState"
:label="$t('trials:seletctedReviews:table:status')"
width="120"
>
<el-table-column prop="DoctorTrialState" :label="$t('trials:seletctedReviews:table:status')" width="120">
<template slot-scope="scope">
<el-tag v-if="scope.row.DoctorTrialState === 1" type="primary">{{
$fd('DoctorTrialState', 16)
@ -215,35 +103,16 @@
</template>
</el-table-column>
<!-- Submitted -->
<el-table-column
prop="Submitted"
:label="$t('trials:seletctedReviews:table:submitted')"
show-overflow-tooltip
sortable="custom"
width="140"
/>
<el-table-column prop="Submitted" :label="$t('trials:seletctedReviews:table:submitted')" show-overflow-tooltip
sortable="custom" width="140" />
<!-- Approved -->
<el-table-column
prop="Approved"
:label="$t('trials:seletctedReviews:table:approved')"
show-overflow-tooltip
sortable="custom"
width="120"
/>
<el-table-column prop="Approved" :label="$t('trials:seletctedReviews:table:approved')" show-overflow-tooltip
sortable="custom" width="120" />
<!-- Reading -->
<el-table-column
prop="Reading"
:label="$t('trials:seletctedReviews:table:reading')"
show-overflow-tooltip
sortable="custom"
width="120"
/>
<el-table-column
prop="Speciality"
:label="$t('trials:seletctedReviews:form:modality')"
show-overflow-tooltip
min-width="120"
>
<el-table-column prop="Reading" :label="$t('trials:seletctedReviews:table:reading')" show-overflow-tooltip
sortable="custom" width="120" />
<el-table-column prop="Speciality" :label="$t('trials:seletctedReviews:form:modality')" show-overflow-tooltip
min-width="120">
<template slot-scope="scope">
{{
scope.row.ReadingTypeIds.map((v) => {
@ -253,12 +122,8 @@
</template>
</el-table-column>
<!-- Specialty -->
<el-table-column
prop="Speciality"
:label="$t('trials:seletctedReviews:table:specialty')"
show-overflow-tooltip
min-width="120"
>
<el-table-column prop="Speciality" :label="$t('trials:seletctedReviews:table:specialty')" show-overflow-tooltip
min-width="120">
<template slot-scope="scope">
{{
scope.row.SpecialityId === otherId
@ -270,12 +135,8 @@
</template>
</el-table-column>
<!-- Subspecialty -->
<el-table-column
prop="Subspeciality"
:label="$t('trials:seletctedReviews:table:subspecialty')"
show-overflow-tooltip
min-width="150"
>
<el-table-column prop="Subspeciality" :label="$t('trials:seletctedReviews:table:subspecialty')"
show-overflow-tooltip min-width="150">
<template slot-scope="scope">
{{
scope.row.SubspecialityIds.map((v) => {
@ -286,76 +147,42 @@
</template>
</el-table-column>
<!-- Institution -->
<el-table-column
prop="HospitalName"
:label="$t('trials:seletctedReviews:table:institution')"
show-overflow-tooltip
width="150"
>
<template slot-scope="scope">
<span>{{ isEN?scope.row.HospitalName:scope.row.HospitalNameCN }}</span>
</template>
</el-table-column>
<!-- City -->
<el-table-column
prop="City"
:label="$t('trials:seletctedReviews:table:city')"
show-overflow-tooltip
width="150"
>
<template slot-scope="scope">
<span>{{ isEN?scope.row.City:scope.row.CityCN }}</span>
</template>
</el-table-column>
<!-- Country -->
<el-table-column
prop="Country"
:label="$t('trials:seletctedReviews:table:country')"
show-overflow-tooltip
width="150"
>
<template slot-scope="scope">
<span>{{ isEN?scope.row.Country:scope.row.CountryCN }}</span>
</template>
</el-table-column>
<!-- Selector -->
<el-table-column
prop="OptUserName"
:label="$t('trials:seletctedReviews:table:selector')"
width="150"
/>
<!-- Selection Time -->
<el-table-column
prop="OptTimeStr"
:label="$t('trials:seletctedReviews:table:selectionTime')"
width="150"
/>
<el-table-column
fixed="right"
prop="OptTimeStr"
:label="$t('common:action:action')"
width="150"
v-if="hasPermi(['trials:trials-panel:attachments:enrollment:viewer'])"
>
<el-table-column prop="HospitalName" :label="$t('trials:seletctedReviews:table:institution')"
show-overflow-tooltip width="150">
<template slot-scope="scope">
<el-button
icon="el-icon-edit-outline"
:title="$t('common:button:edit')"
<span>{{ isEN ? scope.row.HospitalName : scope.row.HospitalNameCN }}</span>
</template>
</el-table-column>
<!-- City -->
<el-table-column prop="City" :label="$t('trials:seletctedReviews:table:city')" show-overflow-tooltip
width="150">
<template slot-scope="scope">
<span>{{ isEN ? scope.row.City : scope.row.CityCN }}</span>
</template>
</el-table-column>
<!-- Country -->
<el-table-column prop="Country" :label="$t('trials:seletctedReviews:table:country')" show-overflow-tooltip
width="150">
<template slot-scope="scope">
<span>{{ isEN ? scope.row.Country : scope.row.CountryCN }}</span>
</template>
</el-table-column>
<!-- Selector -->
<el-table-column prop="OptUserName" :label="$t('trials:seletctedReviews:table:selector')" width="150" />
<!-- Selection Time -->
<el-table-column prop="OptTimeStr" :label="$t('trials:seletctedReviews:table:selectionTime')" width="150" />
<el-table-column fixed="right" prop="OptTimeStr" :label="$t('common:action:action')" width="150"
v-if="hasPermi(['trials:trials-panel:attachments:enrollment:viewer'])">
<template slot-scope="scope">
<el-button icon="el-icon-edit-outline" :title="$t('common:button:edit')"
@click.stop="openViewer('edit', scope.row)"
v-hasPermi="['trials:trials-panel:attachments:enrollment:viewer']"
:disabled="scope.row.IsEnroll"
circle
/>
v-hasPermi="['trials:trials-panel:attachments:enrollment:viewer']" :disabled="scope.row.IsEnroll"
circle />
</template>
</el-table-column>
</el-table>
<pagination
class="page"
:total="total"
:page.sync="listQuery.PageIndex"
:limit.sync="listQuery.PageSize"
@pagination="getList"
/>
<pagination class="page" :total="total" :page.sync="listQuery.PageIndex" :limit.sync="listQuery.PageSize"
@pagination="getList" />
</template>
<!--简历采集-->
<base-model :config="share_model">
@ -365,14 +192,8 @@
<span>{{ $t('reviewers-list:message:msg1') }}</span>
</div>
<div style="margin: 10px 0">
<span style="">{{ $t('reviewers-list:message:msg2') }}</span
><el-input
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
v-model="shareLink"
readonly
style="width: 100%; margin-top: 10px"
/>
<span style="">{{ $t('reviewers-list:message:msg2') }}</span><el-input type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }" v-model="shareLink" readonly style="width: 100%; margin-top: 10px" />
</div>
<div>
<el-button type="primary" round @click="copyCode">{{
@ -380,80 +201,34 @@
}}</el-button>
</div>
<div class="sendEmailBox">
<el-input
v-model="email"
clearable
:placeholder="$t('reviewers-list:placeholder:sendEmail')"
></el-input>
<el-button
type="primary"
round
:disabled="!email"
@click="sendEmail"
:loading="emailLoading"
style="margin-left: 10px"
>
<el-input v-model="email" clearable :placeholder="$t('reviewers-list:placeholder:sendEmail')"></el-input>
<el-button type="primary" round :disabled="!email" @click="sendEmail" :loading="emailLoading"
style="margin-left: 10px">
{{ $t('reviewers-list:button:sendEmail') }}
</el-button>
</div>
</template>
</base-model>
<!--新增或修改简历-->
<el-dialog
:title="$t('curriculumVitae:content:title')"
:visible.sync="visible"
fullscreen
v-if="visible"
appendToBody
:before-close="beforeClose"
>
<el-dialog :title="$t('curriculumVitae:content:title')" :visible.sync="visible" fullscreen v-if="visible"
appendToBody :before-close="beforeClose">
<curriculumVitae :reviewerId="reviewerId" />
</el-dialog>
<!--新增阅片人输入邮箱--->
<el-dialog
:title="$t('curriculumVitae:content:title')"
:visible.sync="emailVisible"
v-if="emailVisible"
appendToBody
:close-on-click-modal="false"
v-dialogDrag
width="400px"
>
<el-form
v-if="emailVisible"
ref="emailForm"
:model="emailForm"
:rules="emailRule"
class="demo-form-inline"
label-width="80px"
>
<el-form-item
:label="$t('trials:trials-panel:attachments:enrollment:form:email')"
prop="EmailOrPhone"
>
<el-input
v-model="emailForm.EmailOrPhone"
clearable
:maxlength="400"
></el-input>
<el-input
style="display: none"
v-model="emailForm.EmailOrPhone"
clearable
:maxlength="400"
></el-input>
<el-dialog :title="$t('curriculumVitae:content:title')" :visible.sync="emailVisible" v-if="emailVisible"
appendToBody :close-on-click-modal="false" v-dialogDrag width="400px">
<el-form v-if="emailVisible" ref="emailForm" :model="emailForm" :rules="emailRule" class="demo-form-inline"
label-width="80px">
<el-form-item :label="$t('trials:trials-panel:attachments:enrollment:form:email')" prop="EmailOrPhone">
<el-input v-model="emailForm.EmailOrPhone" clearable :maxlength="400"></el-input>
<el-input style="display: none" v-model="emailForm.EmailOrPhone" clearable :maxlength="400"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" type="primary" @click="handleCancle">
{{ $t('common:button:cancel') }}
</el-button>
<el-button
size="small"
type="primary"
@click="handleSave"
:loading="emailLoading"
>
<el-button size="small" type="primary" @click="handleSave" :loading="emailLoading">
{{ $t('common:button:save') }}
</el-button>
</span>
@ -483,7 +258,7 @@ const getListQueryDefault = () => {
Asc: false,
SortField: '',
AcceptingNewTrial: true,
InformationConfirmed: true,
// InformationConfirmed: true,
ContractorStatus: 1,
}
}
@ -583,7 +358,7 @@ export default {
},
copyCode() {
this.$copyText(
`${this.$t('reviewers-list:message:msg1')}: ${this.shareLink}`
`${this.$t('reviewers-list:message:msg2')}: ${this.shareLink}`
)
.then((res) => {
this.$message.success(
@ -707,7 +482,7 @@ export default {
}
},
handleSelectTable(row) {
return row.DoctorTrialState !== 1
return row.DoctorTrialState !== 1 && row.ResumeStatus === 1 && row.AcceptingNewTrial && !row.IsVirtual && !row.IsVacation && row.CooperateStatus === 1
},
handleDetail(row) {
const { href } = this.$router.resolve({
@ -733,8 +508,8 @@ export default {
align-items: center;
justify-content: space-between;
}
::v-deep .el-card__body {
padding: 20px !important;
}
</style>

View File

@ -1042,7 +1042,7 @@ export default {
seriesArr.push(seriesList[0], seriesList[0])
activeStudyIndex = seriesList[0].StudyIndex
activeSeriesIndex = seriesList[0].SeriesIndex
} else if (seriesArr.length > 1) {
} else if (seriesList.length > 1) {
seriesArr.push(seriesList[0], seriesList[1])
activeStudyIndex = seriesList[1].StudyIndex
activeSeriesIndex = seriesList[1].SeriesIndex

View File

@ -1,18 +1,13 @@
/* eslint-disable */
<template>
<el-form
ref="taskAllocationRuleDataForm"
v-loading="loading"
:model="form"
size="small"
:rules="rules"
label-width="130px"
>
<el-form ref="taskAllocationRuleDataForm" v-loading="loading" :model="form" size="small" :rules="rules"
label-width="130px">
<div class="base-dialog-body">
<!-- 阅片人 -->
<el-form-item :label="$t('trials:reviewAssign:allocationRules:table:reader')" prop="DoctorUserId">
<el-select v-model="form.DoctorUserId" :disabled="!!form.Id" clearable>
<el-option v-for="item of doctorUserList" :key="item.DoctorUserId" :label="`${item.UserName}(${item.FullName})`" :value="item.DoctorUserId" />
<el-option v-for="item of doctorUserList" :key="item.DoctorUser.UserId"
:label="`${item.DoctorUser.UserName}(${item.DoctorUser.FullName})`" :value="item.DoctorUser.UserId" />
</el-select>
</el-form-item>
<!-- 计划受试者数量 -->
@ -22,30 +17,21 @@
</div>
</el-form-item>
<!-- 状态 -->
<el-form-item :label="$t('trials:reviewAssign:allocationRules:table:status')" >
<el-form-item :label="$t('trials:reviewAssign:allocationRules:table:status')">
<el-radio-group v-model="form.IsEnable">
<el-radio v-for="item of $d.IsEnable" :key="'form.IsEnable' + item.value" :label="item.value">{{ item.label }}</el-radio>
<el-radio v-for="item of $d.IsEnable" :key="'form.IsEnable' + item.value" :label="item.value">{{ item.label
}}</el-radio>
</el-radio-group>
</el-form-item>
<!-- 备注 -->
<el-form-item :label="$t('trials:reviewAssign:allocationRules:table:remark')">
<el-input
v-model="form.Note"
type="textarea"
maxlength="100"
show-word-limit
/>
<el-input v-model="form.Note" type="textarea" maxlength="100" show-word-limit />
</el-form-item>
</div>
<div class="base-dialog-footer" style="text-align:right;margin-top:10px;">
<el-form-item>
<!-- 取消 -->
<el-button
:disabled="btnLoading"
size="small"
type="primary"
@click="close"
>
<el-button :disabled="btnLoading" size="small" type="primary" @click="close">
{{ $t('common:button:cancel') }}
</el-button>
<!-- 保存 -->
@ -128,5 +114,4 @@ export default {
}
}
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped></style>

View File

@ -317,7 +317,7 @@
<el-dialog v-if="taskAllocationRuleVisible" :title="title" :visible.sync="taskAllocationRuleVisible"
width="600px" :close-on-click-modal="false">
<AddOrEditTaskAllocationRule :data="rowData" :TaskAllocationRuleList="TaskAllocationRuleList"
:doctor-user-list="DoctorUserList" @close="() => { taskAllocationRuleVisible = false }"
:doctor-user-list="TaskAllocationRuleList" @close="() => { taskAllocationRuleVisible = false }"
@getList="openAllocationConfigVisible" />
</el-dialog>
<!--分配阅片人 -->

View File

@ -1057,7 +1057,7 @@ export default {
//
return
}
this.$emit('getMarkedFileIds', { type: "remove", visitTaskId: this.taskInfo.VisitTaskId, fileId: annotation.noneDicomFileId})
if (annotation.visitTaskId === this.taskInfo.VisitTaskId) {
this.$emit('getEcrf', { type: "verifyAnnotationIsBound", VisitTaskId: annotation.visitTaskId, annotation })
this.$nextTick(async () => {
@ -1102,7 +1102,6 @@ export default {
viewport.render()
}
}
this.$emit('getMarkedFileIds', { type: "remove", visitTaskId: this.taskInfo.VisitTaskId, fileId: annotation.noneDicomFileId})
// else {
// console.log(1234567)
// const errorMsg = { message: 'annotation Not allowed to operate' }

View File

@ -41,13 +41,18 @@
fit="contain" crossorigin="anonymous" />
<el-image v-else-if="k.FileType === 'application/pdf'" style="width: 100%;height: 100%;" :src="pdf"
fit="contain" crossorigin="anonymous" />
<el-image v-else-if="
!!~k.FileType.indexOf('mp4')
" style="width: 100%; height: 100%" :src="mp4" fit="contain" crossorigin="anonymous" />
</div>
<div class="file-text" :title="k.FileName">
{{ k.FileName }}
</div>
<div>
<i v-if="visitTaskInfo.ReadingTaskState < 2 && (currentMarkedFiles[k.Id] && currentMarkedFiles[k.Id].count > 0)" class="el-icon-star-on" style="font-size: 12px;color: #ff5722;" />
<i v-else-if="visitTaskInfo.ReadingTaskState >= 2 && k.IsBeMark" class="el-icon-star-on" style="font-size: 12px;color: #ff5722;" />
<i v-if="visitTaskInfo.ReadingTaskState < 2 && (currentMarkedFiles[k.Id] && currentMarkedFiles[k.Id].count > 0)"
class="el-icon-star-on" style="font-size: 12px;color: #ff5722;" />
<i v-else-if="visitTaskInfo.ReadingTaskState >= 2 && k.IsBeMark" class="el-icon-star-on"
style="font-size: 12px;color: #ff5722;" />
</div>
</div>
</div>
@ -59,6 +64,7 @@
</template>
<script>
import pdf from '@/assets/pdf.png'
import mp4 from '@/assets/mp4.png'
export default {
name: 'StudyList',
props: {
@ -78,6 +84,7 @@ export default {
taskInfo: null,
studyList: [],
pdf,
mp4,
BodyPart: {},
currentMarkedFiles: {}
}
@ -181,11 +188,11 @@ export default {
} else {
this.currentMarkedFiles[fileId].count++
}
}
},
initCurrentMaredFiles() {
this.visitTaskInfo.Annotations.map(i=>{
this.visitTaskInfo.Annotations.map(i => {
if (!Object.hasOwn(this.currentMarkedFiles, i.NoneDicomFileId)) {
this.$set(this.currentMarkedFiles, i.NoneDicomFileId, { count: 1 })
} else {