阅片人-同意入项记录优化
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
134bc697e2
commit
d20d8ba68c
|
@ -7,66 +7,29 @@
|
||||||
<div class="search" style="position: relative">
|
<div class="search" style="position: relative">
|
||||||
<el-form :inline="true" class="base-search-form">
|
<el-form :inline="true" class="base-search-form">
|
||||||
<!--阅片人-->
|
<!--阅片人-->
|
||||||
<el-form-item
|
<el-form-item :label="$t('trials:trialDocument:entryRecord:search:viewer')">
|
||||||
:label="$t('trials:trialDocument:entryRecord:search:viewer')"
|
<el-input v-model="searchData.Code" style="width: 100px" placeholder="" clearable />
|
||||||
>
|
|
||||||
<el-input
|
|
||||||
v-model="searchData.Code"
|
|
||||||
style="width: 100px"
|
|
||||||
placeholder=""
|
|
||||||
clearable
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!--审核人-->
|
<!--审核人-->
|
||||||
<el-form-item
|
<el-form-item :label="$t('trials:trialDocument:entryRecord:search:auditor')">
|
||||||
:label="$t('trials:trialDocument:entryRecord:search:auditor')"
|
<el-input v-model="searchData.OptUserName" style="width: 100px" placeholder="" clearable />
|
||||||
>
|
|
||||||
<el-input
|
|
||||||
v-model="searchData.OptUserName"
|
|
||||||
style="width: 100px"
|
|
||||||
placeholder=""
|
|
||||||
clearable
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!--审核人角色-->
|
<!--审核人角色-->
|
||||||
<el-form-item
|
<el-form-item :label="$t('trials:trialDocument:entryRecord:search:auditorRole')">
|
||||||
:label="$t('trials:trialDocument:entryRecord:search:auditorRole')"
|
<el-select v-model="searchData.UserTypeEnum" style="width: 100px" placeholder="" clearable>
|
||||||
>
|
<el-option v-for="item in $d.UserType" :key="item.id" :label="item.label" :value="item.value" />
|
||||||
<el-select
|
|
||||||
v-model="searchData.UserTypeEnum"
|
|
||||||
style="width: 100px"
|
|
||||||
placeholder=""
|
|
||||||
clearable
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in $d.UserType"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.label"
|
|
||||||
:value="item.value"
|
|
||||||
/>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item :label="$t('trials:trialDocument:entryRecord:search:confirmTime')">
|
||||||
:label="$t('trials:trialDocument:entryRecord:search:confirmTime')"
|
<el-date-picker v-model="timeList" @change="changeTimeList" value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
>
|
:default-time="['00:00:00', '23:59:59']" type="datetimerange">
|
||||||
<el-date-picker
|
|
||||||
v-model="timeList"
|
|
||||||
@change="changeTimeList"
|
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
|
||||||
:default-time="['00:00:00', '23:59:59']"
|
|
||||||
type="datetimerange"
|
|
||||||
>
|
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
|
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
|
||||||
{{ $t('common:button:search') }}
|
{{ $t('common:button:search') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button type="primary" icon="el-icon-refresh-left" @click="handleReset">
|
||||||
type="primary"
|
|
||||||
icon="el-icon-refresh-left"
|
|
||||||
@click="handleReset"
|
|
||||||
>
|
|
||||||
{{ $t('common:button:reset') }}
|
{{ $t('common:button:reset') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -78,38 +41,20 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-table
|
<el-table v-loading="loading" v-adaptive="{ bottomOffset: 75 }" :data="list" stripe height="100"
|
||||||
v-loading="loading"
|
style="width: 100%">
|
||||||
v-adaptive="{ bottomOffset: 75 }"
|
|
||||||
:data="list"
|
|
||||||
stripe
|
|
||||||
height="100"
|
|
||||||
style="width: 100%"
|
|
||||||
>
|
|
||||||
<el-table-column type="index" />
|
<el-table-column type="index" />
|
||||||
<!--姓名-->
|
<!--姓名-->
|
||||||
<el-table-column
|
<el-table-column prop="BlindName" :label="$t('trials:trialDocument:entryRecord:table:name')" show-overflow-tooltip
|
||||||
prop="BlindName"
|
sortable="custom">
|
||||||
:label="$t('trials:trialDocument:entryRecord:table:name')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
sortable="custom"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span>{{ isEN ? scope.row.BlindName : scope.row.BlindNameCN }}</span>
|
<span>{{ isEN ? scope.row.BlindName : scope.row.BlindNameCN }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column prop="Code" :label="$t('trials:trialDocument:entryRecord:table:userName')" show-overflow-tooltip
|
||||||
prop="Code"
|
sortable="custom" />
|
||||||
:label="$t('trials:trialDocument:entryRecord:table:userName')"
|
<el-table-column prop="Speciality" :label="$t('trials:trialDocument:entryRecord:table:status')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip sortable="custom">
|
||||||
sortable="custom"
|
|
||||||
/>
|
|
||||||
<el-table-column
|
|
||||||
prop="Speciality"
|
|
||||||
:label="$t('trials:trialDocument:entryRecord:table:status')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
sortable="custom"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag v-if="scope.row.DoctorTrialState === 10" type="primary">{{
|
<el-tag v-if="scope.row.DoctorTrialState === 10" type="primary">{{
|
||||||
$fd('DoctorTrialState', scope.row.DoctorTrialState)
|
$fd('DoctorTrialState', scope.row.DoctorTrialState)
|
||||||
|
@ -122,56 +67,39 @@
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column prop="AuditUserName" :label="$t('trials:trialDocument:entryRecord:table:auditor')"
|
||||||
prop="OptUserName"
|
show-overflow-tooltip sortable="custom" />
|
||||||
:label="$t('trials:trialDocument:entryRecord:table:auditor')"
|
<el-table-column prop="AuditTypeEnum" :label="$t('trials:trialDocument:entryRecord:table:auditorRole')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip sortable="custom">
|
||||||
sortable="custom"
|
<template slot-scope="scope">
|
||||||
/>
|
<span>{{ $fd('UserType', scope.row.AuditTypeEnum) }}</span>
|
||||||
<el-table-column
|
</template>
|
||||||
prop="UserTypeEnum"
|
</el-table-column>
|
||||||
:label="$t('trials:trialDocument:entryRecord:table:auditorRole')"
|
<el-table-column prop="AuditTimeStr" :label="$t('trials:trialDocument:entryRecord:table:auditorTime')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip sortable="custom" />
|
||||||
sortable="custom"
|
<el-table-column prop="OptUserName" :label="$t('trials:trialDocument:entryRecord:table:Opter')"
|
||||||
>
|
show-overflow-tooltip sortable="custom" />
|
||||||
|
<el-table-column prop="UserTypeEnum" :label="$t('trials:trialDocument:entryRecord:table:OptRole')"
|
||||||
|
show-overflow-tooltip sortable="custom">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span>{{ $fd('UserType', scope.row.UserTypeEnum) }}</span>
|
<span>{{ $fd('UserType', scope.row.UserTypeEnum) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column prop="OptTimeStr" :label="$t('trials:trialDocument:entryRecord:table:submmitTime')"
|
||||||
prop="OptTimeStr"
|
show-overflow-tooltip sortable="custom" />
|
||||||
:label="$t('trials:trialDocument:entryRecord:table:submmitTime')"
|
<el-table-column :label="$t('common:action:action')" width="100">
|
||||||
show-overflow-tooltip
|
|
||||||
sortable="custom"
|
|
||||||
/>
|
|
||||||
<el-table-column :label="$t('common:action:action')" width="200">
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button icon="el-icon-view" :title="$t('common:button:view')" circle @click.stop="preview(scope.row)" />
|
||||||
icon="el-icon-view"
|
|
||||||
:title="$t('common:button:view')"
|
|
||||||
circle
|
|
||||||
@click.stop="preview(scope.row)"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<!-- 分页组件 -->
|
<!-- 分页组件 -->
|
||||||
<pagination
|
<pagination class="page" :total="total" :page.sync="searchData.PageIndex" :limit.sync="searchData.PageSize"
|
||||||
class="page"
|
@pagination="getList" />
|
||||||
:total="total"
|
|
||||||
:page.sync="searchData.PageIndex"
|
|
||||||
:limit.sync="searchData.PageSize"
|
|
||||||
@pagination="getList"
|
|
||||||
/>
|
|
||||||
<el-dialog :visible.sync="preview_visible" fullscreen>
|
<el-dialog :visible.sync="preview_visible" fullscreen>
|
||||||
<div style="height: 100%; overflow: auto">
|
<div style="height: 100%; overflow: auto">
|
||||||
<preview
|
<preview :isEN="isEN" :isAll="isAll" :reviewerId.sync="reviewerId" v-if="preview_visible" />
|
||||||
:isEN="isEN"
|
|
||||||
:isAll="isAll"
|
|
||||||
:reviewerId.sync="reviewerId"
|
|
||||||
v-if="preview_visible"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<!-- <upload-files
|
<!-- <upload-files
|
||||||
|
@ -190,18 +118,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="file" v-if="file.FileName">
|
<div class="file" v-if="file.FileName">
|
||||||
<div class="name">{{ file.FileName }}</div>
|
<div class="name">{{ file.FileName }}</div>
|
||||||
<i
|
<i v-if="hasDownLoad && (isManage || isInspect)" class="el-icon-download"
|
||||||
v-if="hasDownLoad && (isManage || isInspect)"
|
:title="$t('common:button:download')" @click.stop="downLoad(file)" />
|
||||||
class="el-icon-download"
|
<i v-if="hasDel && isManage && !viewStatus" class="el-icon-delete" :title="$t('common:button:delete')"
|
||||||
:title="$t('common:button:download')"
|
@click.stop="handleRemoveFile" />
|
||||||
@click.stop="downLoad(file)"
|
|
||||||
/>
|
|
||||||
<i
|
|
||||||
v-if="hasDel && isManage && !viewStatus"
|
|
||||||
class="el-icon-delete"
|
|
||||||
:title="$t('common:button:delete')"
|
|
||||||
@click.stop="handleRemoveFile"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="btnBox">
|
<div class="btnBox">
|
||||||
<!-- <el-button
|
<!-- <el-button
|
||||||
|
@ -211,16 +131,9 @@
|
||||||
>
|
>
|
||||||
{{ $t('trials:trialDocument:entryRecord:button:uploadFile') }}
|
{{ $t('trials:trialDocument:entryRecord:button:uploadFile') }}
|
||||||
</el-button> -->
|
</el-button> -->
|
||||||
<el-upload
|
<el-upload v-if="hasEdit && isManage && !viewStatus" class="upload-demo" action
|
||||||
v-if="hasEdit && isManage && !viewStatus"
|
:before-upload="(param) => beforeUpload(param, '.zip')" :show-file-list="false"
|
||||||
class="upload-demo"
|
:http-request="handleUploadFile" :limit="1" accept=".zip">
|
||||||
action
|
|
||||||
:before-upload="(param) => beforeUpload(param, '.zip')"
|
|
||||||
:show-file-list="false"
|
|
||||||
:http-request="handleUploadFile"
|
|
||||||
:limit="1"
|
|
||||||
accept=".zip"
|
|
||||||
>
|
|
||||||
<el-button size="small" type="primary" :disabled="!!file.FileName">
|
<el-button size="small" type="primary" :disabled="!!file.FileName">
|
||||||
{{ $t('trials:trialDocument:entryRecord:button:uploadFile') }}
|
{{ $t('trials:trialDocument:entryRecord:button:uploadFile') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
|
@ -230,7 +143,7 @@
|
||||||
</base-model>
|
</base-model>
|
||||||
</box-content>
|
</box-content>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { getConfirmationReviewerList } from '@/api/trials'
|
import { getConfirmationReviewerList } from '@/api/trials'
|
||||||
import {
|
import {
|
||||||
uploadTrialFileTypeFile,
|
uploadTrialFileTypeFile,
|
||||||
|
@ -340,7 +253,7 @@ export default {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
.catch((action) => {})
|
.catch((action) => { })
|
||||||
},
|
},
|
||||||
async handleUploadFile(param) {
|
async handleUploadFile(param) {
|
||||||
try {
|
try {
|
||||||
|
@ -561,9 +474,8 @@ export default {
|
||||||
])
|
])
|
||||||
},
|
},
|
||||||
TITLE() {
|
TITLE() {
|
||||||
return `${this.$fd('ArchiveType', this.ArchiveTypeEnum)} — ${
|
return `${this.$fd('ArchiveType', this.ArchiveTypeEnum)} — ${this.isEN ? this.rowData.Name : this.rowData.NameCN
|
||||||
this.isEN ? this.rowData.Name : this.rowData.NameCN
|
}`
|
||||||
}`
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -574,54 +486,70 @@ export default {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fileName {
|
.fileName {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
white-space: nowrap; /* 文本不换行 */
|
white-space: nowrap;
|
||||||
overflow: hidden; /* 超出部分隐藏 */
|
/* 文本不换行 */
|
||||||
|
overflow: hidden;
|
||||||
|
/* 超出部分隐藏 */
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fileBtnBox {
|
.fileBtnBox {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
|
|
||||||
i {
|
i {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: #409eff;
|
color: #409eff;
|
||||||
margin-right: 3px;
|
margin-right: 3px;
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.topForm {
|
.topForm {
|
||||||
.el-form-item {
|
.el-form-item {
|
||||||
margin-right: 30px;
|
margin-right: 30px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.file_title {
|
.file_title {
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.file {
|
.file {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
|
|
||||||
.name {
|
.name {
|
||||||
max-width: 90%;
|
max-width: 90%;
|
||||||
white-space: nowrap; /* 文本不会换行,会在同一行内继续,直到遇到<br>标签为止 */
|
white-space: nowrap;
|
||||||
text-overflow: ellipsis; /* 当文本溢出包含它的容器时,显示省略号(...)来表示被截断的文本 */
|
/* 文本不会换行,会在同一行内继续,直到遇到<br>标签为止 */
|
||||||
overflow: hidden; /* 隐藏溢出容器的文本 */
|
text-overflow: ellipsis;
|
||||||
|
/* 当文本溢出包含它的容器时,显示省略号(...)来表示被截断的文本 */
|
||||||
|
overflow: hidden;
|
||||||
|
/* 隐藏溢出容器的文本 */
|
||||||
}
|
}
|
||||||
|
|
||||||
i {
|
i {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
margin: 3px;
|
margin: 3px;
|
||||||
color: #409eff;
|
color: #409eff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.disable {
|
.disable {
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
color: #909399;
|
color: #909399;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnBox {
|
.btnBox {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
Loading…
Reference in New Issue