受试者新增添加访视入口
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-09-24 14:21:34 +08:00
parent 3b8c2de88b
commit 7ca7b4c378
2 changed files with 60 additions and 70 deletions

View File

@ -1,7 +1,7 @@
<template>
<div>
<div class="search">
<p class="line">{{ $t("trials:inspection:message:confirmVisit") }}</p>
<p class="line" v-if="showTitle">{{ $t("trials:inspection:message:confirmVisit") }}</p>
<div class="form">
<el-form :inline="true" class="base-search-form">
<!-- 检查日期 -->
@ -140,6 +140,10 @@ export default {
require: true,
default: "trial",
},
showTitle: {
type: Boolean,
default: true
}
},
data() {
return {

View File

@ -1,79 +1,51 @@
<template>
<el-dialog
v-dialogDrag
:visible.sync="visible"
:close-on-click-modal="false"
custom-class="upload-dialog"
:before-close="beforeClosePitentDig"
>
<span slot="title">{{ this.$t("trials:subject:title:studyList") }}</span>
<el-table
ref="patientStudyList"
v-loading="loading"
:data="list"
stripe
height="300px"
>
<el-dialog v-dialogDrag :visible.sync="visible" :close-on-click-modal="false" custom-class="upload-dialog"
:fullscreen="true" :before-close="beforeClosePitentDig">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane :label="$t('trials:subject:title:studyList')" name="patient">
<!-- <span slot="title">{{ this.$t("trials:subject:title:studyList") }}</span> -->
<el-table ref="patientStudyList" v-loading="loading" :data="list" stripe height="300px">
<el-table-column type="index" width="40" />
<!--患者ID-->
<el-table-column
prop="PatientIdStr"
:label="$t('trials:uploadDicomList:table:pId')"
show-overflow-tooltip
min-width="140"
sortable="custom"
></el-table-column>
<el-table-column prop="PatientIdStr" :label="$t('trials:uploadDicomList:table:pId')" show-overflow-tooltip
min-width="140" sortable="custom"></el-table-column>
<!--患者姓名-->
<el-table-column
prop="PatientName"
:label="$t('trials:uploadDicomList:table:patientName')"
show-overflow-tooltip
min-width="140"
sortable="custom"
></el-table-column>
<el-table-column prop="PatientName" :label="$t('trials:uploadDicomList:table:patientName')"
show-overflow-tooltip min-width="140" sortable="custom"></el-table-column>
<!--出生日期-->
<el-table-column
prop="PatientBirthDate"
:label="$t('trials:inspection:table:birthdate')"
show-overflow-tooltip
min-width="140"
sortable="custom"
></el-table-column>
<el-table-column prop="PatientBirthDate" :label="$t('trials:inspection:table:birthdate')"
show-overflow-tooltip min-width="140" sortable="custom"></el-table-column>
<!--性别-->
<el-table-column
prop="PatientSex"
:label="$t('trials:trials-myinfo:form:gender')"
show-overflow-tooltip
min-width="140"
sortable="custom"
>
<el-table-column prop="PatientSex" :label="$t('trials:trials-myinfo:form:gender')" show-overflow-tooltip
min-width="140" sortable="custom">
<template slot-scope="scope">
<span>{{ $fd("Sex", scope.row.PatientSex) }}</span>
</template>
</el-table-column>
<!--操作-->
<el-table-column
:label="$t('common:action:action')"
width="80"
v-if="hasPermi(['trials:trials-panel:subject:delPatient'])"
>
<el-table-column :label="$t('common:action:action')" width="80"
v-if="hasPermi(['trials:trials-panel:subject:delPatient'])">
<template slot-scope="scope">
<el-button
v-hasPermi="['trials:trials-panel:subject:delPatient']"
circle
icon="el-icon-delete"
:title="$t('trials:subject:patientStudyList:button:delete')"
@click.stop="remove(scope.row)"
/>
<el-button v-hasPermi="['trials:trials-panel:subject:delPatient']" circle icon="el-icon-delete"
:title="$t('trials:subject:patientStudyList:button:delete')" @click.stop="remove(scope.row)" />
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane :label="$t('trials:subject:title:confirmVistList')" name="confirmVistList">
<confirmVistList v-if="activeName === 'confirmVistList'" ref="confirmVisit" :Patient="Patient"
:submitMessage="submitMessage" :status="status" :showTitle="false" @close="beforeClosePitentDig" />
</el-tab-pane>
</el-tabs>
</el-dialog>
</template>
<script>
import { deleteSubjectPatientBinding } from "@/api/inspection.js";
import confirmVistList from "@/views/trials/trials-inspection/components/confirm-visit-list.vue";
export default {
name: "patientStudyList",
components: { confirmVistList },
props: {
visible: {
required: true,
@ -93,9 +65,23 @@ export default {
data() {
return {
loading: false,
activeName: 'patient',
submitMessage: { SubjectId: null, TrialId: null, TrialCode: null, ResearchProgramNo: null },
status: "visit", // trial visit 访
Patient: {},
};
},
methods: {
handleClick(v) {
this.activeName = v.name
if (v.name === 'confirmVistList') {
this.submitMessage.TrialId = this.$route.query.trialId
this.submitMessage.TrialCode = this.$route.query.trialCode
this.submitMessage.ResearchProgramNo = this.$route.query.researchProgramNo
this.submitMessage.SubjectId = this.SubjectId
this.Patient.PatientId = this.list.map(item => item.PatientId)
}
},
beforeClosePitentDig() {
this.$emit("update:visible", false);
},