页面优化
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-09-23 11:35:16 +08:00
parent f20212cefe
commit 5c90d74e08
1 changed files with 44 additions and 132 deletions

View File

@ -4,184 +4,91 @@
<div class="filter-container"> <div class="filter-container">
<!-- 患者ID/患者姓名 --> <!-- 患者ID/患者姓名 -->
<span>{{ $t("trials:uploadDicomList:table:pId") }}:</span> <span>{{ $t("trials:uploadDicomList:table:pId") }}:</span>
<el-input <el-input v-model="searchData.PatientIdStr" size="mini" class="mr" clearable />
v-model="searchData.PatientIdStr"
size="mini"
class="mr"
clearable
/>
<span>{{ $t("trials:uploadDicomList:table:patientName") }}:</span> <span>{{ $t("trials:uploadDicomList:table:patientName") }}:</span>
<el-input <el-input v-model="searchData.PatientName" size="mini" class="mr" clearable />
v-model="searchData.PatientName"
size="mini"
class="mr"
clearable
/>
<!-- Called AE --> <!-- Called AE -->
<span>{{ $t("trials:subject:table:CalledAE") }}</span> <span>{{ $t("trials:subject:table:CalledAE") }}</span>
<el-select <el-select v-model="searchData.CalledAEList" clearable multiple class="mr">
v-model="searchData.CalledAEList" <el-option v-for="(item, index) of calledAeList" :key="index" :label="item" :value="item">
clearable
multiple
class="mr"
>
<el-option
v-for="(item, index) of calledAeList"
:key="index"
:label="item"
:value="item"
>
</el-option> </el-option>
</el-select> </el-select>
<!-- Calling AE --> <!-- Calling AE -->
<span>{{ $t("trials:subject:table:CallingAE") }}</span> <span>{{ $t("trials:subject:table:CallingAE") }}</span>
<el-select v-model="searchData.callingAE" clearable class="mr"> <el-select v-model="searchData.callingAE" clearable class="mr">
<el-option <el-option v-for="(item, index) of callingAeList" :key="index" :label="item" :value="item">
v-for="(item, index) of callingAeList"
:key="index"
:label="item"
:value="item"
>
</el-option> </el-option>
</el-select> </el-select>
<!-- 查询 --> <!-- 查询 -->
<el-button <el-button type="primary" size="mini" icon="el-icon-search" @click="handleSearch">
type="primary"
size="mini"
icon="el-icon-search"
@click="handleSearch"
>
{{ $t("common:button:search") }} {{ $t("common:button:search") }}
</el-button> </el-button>
<!-- 重置 --> <!-- 重置 -->
<el-button <el-button size="mini" type="primary" icon="el-icon-refresh-left" @click="handleReset">
size="mini"
type="primary"
icon="el-icon-refresh-left"
@click="handleReset"
>
{{ $t("common:button:reset") }} {{ $t("common:button:reset") }}
</el-button> </el-button>
<el-button <el-button type="primary" size="mini" style="margin-left: auto" :disabled="tableSelectData.length === 0"
type="primary" :loading="btnLoading" icon="el-icon-plus" @click="handleAssign">
size="mini"
style="margin-left: auto"
:disabled="tableSelectData.length === 0"
:loading="btnLoading"
icon="el-icon-plus"
@click="handleAssign"
>
{{ $t("common:button:add") }} {{ $t("common:button:add") }}
</el-button> </el-button>
</div> </div>
</el-header> </el-header>
<el-main> <el-main>
<div class="data-table"> <div class="data-table">
<el-table <el-table ref="subjectPatientList" v-loading="loading" :data="list" stripe height="400"
ref="subjectPatientList" @selection-change="handleSelectChange" @sort-change="handleSortByColumn"
v-loading="loading" :default-sort="{ prop: 'LatestPushTime', order: 'descending' }">
:data="list"
stripe
height="400"
@selection-change="handleSelectChange"
@sort-change="handleSortByColumn"
:default-sort="{ prop: 'LatestPushTime', order: 'descending' }"
>
<el-table-column type="selection" align="center" width="45" /> <el-table-column type="selection" align="center" width="45" />
<el-table-column type="index" width="40" /> <el-table-column type="index" width="40" />
<!--患者ID--> <!--患者ID-->
<el-table-column <el-table-column prop="PatientIdStr" :label="$t('trials:uploadDicomList:table:pId')" show-overflow-tooltip
prop="PatientIdStr" min-width="140" sortable="custom"></el-table-column>
:label="$t('trials:uploadDicomList:table:pId')"
show-overflow-tooltip
min-width="140"
sortable="custom"
></el-table-column>
<!--患者姓名--> <!--患者姓名-->
<el-table-column <el-table-column prop="PatientName" :label="$t('trials:uploadDicomList:table:patientName')"
prop="PatientName" show-overflow-tooltip min-width="140" sortable="custom"></el-table-column>
:label="$t('trials:uploadDicomList:table:patientName')"
show-overflow-tooltip
min-width="140"
sortable="custom"
></el-table-column>
<!--出生日期--> <!--出生日期-->
<el-table-column <el-table-column prop="PatientBirthDate" :label="$t('trials:inspection:table:birthdate')"
prop="PatientBirthDate" show-overflow-tooltip min-width="140" sortable="custom"></el-table-column>
:label="$t('trials:inspection:table:birthdate')"
show-overflow-tooltip
min-width="140"
sortable="custom"
></el-table-column>
<!--性别--> <!--性别-->
<el-table-column <el-table-column prop="PatientSex" :label="$t('trials:trials-myinfo:form:gender')" show-overflow-tooltip
prop="PatientSex" min-width="140" sortable="custom">
:label="$t('trials:trials-myinfo:form:gender')"
show-overflow-tooltip
min-width="140"
sortable="custom"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ $fd("Sex", scope.row.PatientSex) }}</span> <span>{{ $fd("Sex", scope.row.PatientSex) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<!--Called AE--> <!--Called AE-->
<el-table-column <el-table-column prop="CalledAEList" label="Called AE" show-overflow-tooltip min-width="140">
prop="CalledAEList"
label="Called AE"
show-overflow-tooltip
min-width="140"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span <span v-for="(item, index) in scope.row.CalledAEList" :key="`CalledAEList${index}`">{{
v-for="(item, index) in scope.row.CalledAEList" index === scope.row.CalledAEList.length - 1
:key="`CalledAEList${index}`" ? item
>{{ : `${item}, `
index === scope.row.CalledAEList.length - 1 }}</span>
? item
: `${item}, `
}}</span
>
</template> </template>
</el-table-column> </el-table-column>
<!--Calling AE--> <!--Calling AE-->
<el-table-column <el-table-column prop="CallingAEList" label="Calling AE" show-overflow-tooltip min-width="140">
prop="CallingAEList"
label="Calling AE"
show-overflow-tooltip
min-width="140"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span <span v-for="(item, index) in scope.row.CallingAEList" :key="`CallingAEList${index}`">{{
v-for="(item, index) in scope.row.CallingAEList" index === scope.row.CallingAEList.length - 1
:key="`CallingAEList${index}`" ? item
>{{ : `${item}, `
index === scope.row.CallingAEList.length - 1 }}</span>
? item
: `${item}, `
}}</span
>
</template> </template>
</el-table-column> </el-table-column>
<!--检查数量-->
<el-table-column prop="SCPStudyCount" :label="$t('trials:inspection:table:SCPStudyCount')"
show-overflow-tooltip min-width="140" sortable="custom"></el-table-column>
<!--最新接收时间--> <!--最新接收时间-->
<el-table-column <el-table-column prop="LatestPushTime" :label="$t('trials:inspection:table:latestReceiveTime')"
prop="LatestPushTime" show-overflow-tooltip min-width="140" sortable="custom"></el-table-column>
:label="$t('trials:inspection:table:latestReceiveTime')"
show-overflow-tooltip
min-width="140"
sortable="custom"
></el-table-column>
</el-table> </el-table>
</div> </div>
</el-main> </el-main>
<div class="pagination" style="text-align: right; margin-top: 5px"> <div class="pagination" style="text-align: right; margin-top: 5px">
<pagination <pagination :total="total" :page.sync="searchData.PageIndex" :limit.sync="searchData.PageSize"
:total="total" @pagination="getList" />
:page.sync="searchData.PageIndex"
:limit.sync="searchData.PageSize"
@pagination="getList"
/>
</div> </div>
</el-container> </el-container>
</template> </template>
@ -322,23 +229,28 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.participant-container { .participant-container {
height: 100%; height: 100%;
.el-header { .el-header {
.filter-container { .filter-container {
display: flex; display: flex;
align-items: center; align-items: center;
span { span {
font-size: 13px; font-size: 13px;
margin-right: 5px; margin-right: 5px;
} }
.mr { .mr {
margin-right: 5px; margin-right: 5px;
width: 120px; width: 120px;
} }
} }
} }
.el-main { .el-main {
padding: 0px; padding: 0px;
} }
.el-footer { .el-footer {
padding: 0 20px; padding: 0 20px;
} }