样式调整
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-03-31 14:42:04 +08:00
parent ed9a200ae0
commit 448d626fc0
3 changed files with 52 additions and 110 deletions

View File

@ -19,7 +19,7 @@
:model="submitMessage" :model="submitMessage"
class="demo-form-inline" class="demo-form-inline"
:rules="rules" :rules="rules"
:label-width="isEN?'200px':'130px'" :label-width="isEN?'170px':'130px'"
> >
<div> <div>
<!--项目--> <!--项目-->

View File

@ -1,89 +1,41 @@
<template> <template>
<el-dialog <el-dialog :visible.sync="visible" :close-on-click-modal="false" :fullscreen="true" custom-class="upload-dialog"
:visible.sync="visible" :before-close="beforeCloseStudyDig">
:close-on-click-modal="false" <span slot="title">{{ $t("trials:subject:title:addSubject") }}{{
:fullscreen="true" $t("trials:trials-list:table:researchNumber")
custom-class="upload-dialog" }}{{ researchProgramNo }}</span>
:before-close="beforeCloseStudyDig"
>
<span slot="title"
>{{ $t("trials:subject:title:addSubject") }}{{
$t("trials:trials-list:table:researchNumber")
}}{{ researchProgramNo }}</span
>
<div class="top"> <div class="top">
<p class="line">{{ $t("trials:inspection:subject:checkAddPatient") }}</p> <p class="line">{{ $t("trials:inspection:subject:checkAddPatient") }}</p>
<el-form <el-form :inline="true" :model="submitMessage" class="demo-form-inline topForm" :rules="rules"
:inline="true" ref="addSubjectForm" :label-width="isEN ? '170px' : '130px'">
:model="submitMessage"
class="demo-form-inline topForm"
:rules="rules"
ref="addSubjectForm"
label-width="130px"
>
<div> <div>
<!--受试者编号--> <!--受试者编号-->
<el-form-item <el-form-item :label="$t('trials:addSubject:search:subjectId')" prop="SubjectId" class="SubjectId">
:label="$t('trials:addSubject:search:subjectId')" <el-select v-model="submitMessage.SubjectId" filterable clearable :disabled="status === 'visit'"
prop="SubjectId" style="width: 300px">
class="SubjectId" <el-option v-for="item in subjectIdList" :key="item.SubejctId" :label="item.ShortName || item.Sex
> ? `${item.SubjectCode}${item.ShortName}${item.Sex ? $fd('Sex', item.Sex) : ''
<el-select }`
v-model="submitMessage.SubjectId" : item.SubjectCode
filterable " :value="item.SubejctId">
clearable
:disabled="status === 'visit'"
style="width: 300px"
>
<el-option
v-for="item in subjectIdList"
:key="item.SubejctId"
:label="
item.ShortName || item.Sex
? `${item.SubjectCode}${item.ShortName}${
item.Sex ? $fd('Sex', item.Sex) : ''
}`
: item.SubjectCode
"
:value="item.SubejctId"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!--添加受试者--> <!--添加受试者-->
<el-button <el-button type="primary" v-if="status === 'trial'" @click="addSubject_model.visible = true">
type="primary"
v-if="status === 'trial'"
@click="addSubject_model.visible = true"
>
{{ $t("trials:selectSubject:button:add") }} {{ $t("trials:selectSubject:button:add") }}
</el-button> </el-button>
<!--患者--> <!--患者-->
<el-form-item <el-form-item :label="$t('trials:addSubject:search:patient')">
:label="$t('trials:addSubject:search:patient')" <el-input :value="selectPatient.map((item) => item.PatientIdStr).join(', ')" disabled
label-width="100px" :title="selectPatient.map((item) => item.PatientIdStr).join(', ')" />
>
<el-input
:value="selectPatient.map((item) => item.PatientIdStr).join(', ')"
disabled
:title="selectPatient.map((item) => item.PatientIdStr).join(', ')"
/>
</el-form-item> </el-form-item>
<el-button <el-button type="primary" @click.stop="openPatientList" v-if="status === 'trial'"
type="primary" :disabled="!submitMessage.SubjectId">
@click.stop="openPatientList"
v-if="status === 'trial'"
:disabled="!submitMessage.SubjectId"
>
{{ $t("common:button:check") }} {{ $t("common:button:check") }}
</el-button> </el-button>
<div class="btnBox"> <div class="btnBox">
<el-button <el-button type="primary" @click="save" :loading="btnLoading" v-if="status === 'trial'">
type="primary"
@click="save"
:loading="btnLoading"
v-if="status === 'trial'"
>
{{ $t("trials:addRP:button:confirmAddPR") }} {{ $t("trials:addRP:button:confirmAddPR") }}
</el-button> </el-button>
<!-- <el-button <!-- <el-button
@ -97,10 +49,7 @@
</div> </div>
</div> </div>
<div> <div>
<el-form-item <el-form-item :label="$t('trials:study:tabpane:bindPatient')" :style="{ opacity: bindPatientTip ? 1 : 0 }">
:label="$t('trials:study:tabpane:bindPatient')"
:style="{ opacity: bindPatientTip ? 1 : 0 }"
>
<span v-if="bindPatientTip">{{ <span v-if="bindPatientTip">{{
bindPatientTip.map((item) => item.PatientIdStr).join(", ") bindPatientTip.map((item) => item.PatientIdStr).join(", ")
}}</span> }}</span>
@ -108,47 +57,24 @@
</div> </div>
</el-form> </el-form>
</div> </div>
<confirmVistList <confirmVistList ref="confirmVisit" :Patient="Patient" :submitMessage="submitMessage" :status="status"
ref="confirmVisit" @close="beforeCloseStudyDig" />
:Patient="Patient"
:submitMessage="submitMessage"
:status="status"
@close="beforeCloseStudyDig"
/>
<base-model v-if="patient_model.visible" :config="patient_model"> <base-model v-if="patient_model.visible" :config="patient_model">
<template slot="dialog-body"> <template slot="dialog-body">
<SubjectPatientList <SubjectPatientList @addPatient="addPatient" :visible.sync="patient_model.visible"
@addPatient="addPatient" :submitMessage="submitMessage" />
:visible.sync="patient_model.visible"
:submitMessage="submitMessage"
/>
</template> </template>
</base-model> </base-model>
<base-model v-if="addSubject_model.visible" :config="addSubject_model"> <base-model v-if="addSubject_model.visible" :config="addSubject_model">
<template slot="dialog-body"> <template slot="dialog-body">
<el-form <el-form ref="addSubjectForm2" :inline="true" :model="addSubjectForm2" class="demo-form-inline"
ref="addSubjectForm2" :rules="addSubjectrules">
:inline="true"
:model="addSubjectForm2"
class="demo-form-inline"
:rules="addSubjectrules"
>
<!--受试者编号--> <!--受试者编号-->
<el-form-item <el-form-item :label="$t('trials:addSuject:form:subjectCode')" prop="SubjectCode" label-width="150px">
:label="$t('trials:addSuject:form:subjectCode')" <el-input v-model="addSubjectForm2.SubjectCode" :maxlength="14" clearable @input="
prop="SubjectCode" addSubjectForm2.SubjectCode =
label-width="150px" addSubjectForm2.SubjectCode.replace(/[^0-9a-zA-Z\_\-]/g, '')
> " @focus="errMessage = null"></el-input>
<el-input
v-model="addSubjectForm2.SubjectCode"
:maxlength="14"
clearable
@input="
addSubjectForm2.SubjectCode =
addSubjectForm2.SubjectCode.replace(/[^0-9a-zA-Z\_\-]/g, '')
"
@focus="errMessage = null"
></el-input>
<span class="errTip" v-if="errMessage">{{ errMessage }}</span> <span class="errTip" v-if="errMessage">{{ errMessage }}</span>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -281,6 +207,9 @@ export default {
if (PatientList.length <= 0) return false; if (PatientList.length <= 0) return false;
return PatientList; return PatientList;
}, },
isEN() {
return this.$i18n.locale !== 'zh'
}
}, },
watch: { watch: {
"addSubject_model.visible": { "addSubject_model.visible": {
@ -451,28 +380,34 @@ export default {
top: 100%; top: 100%;
left: 0; left: 0;
} }
.top { .top {
padding-top: 20px; padding-top: 20px;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
flex-wrap: wrap; flex-wrap: wrap;
.topForm { .topForm {
width: 100%; width: 100%;
} }
} }
.btnBox { .btnBox {
float: right; float: right;
} }
.search { .search {
display: flex; display: flex;
align-items: center; align-items: center;
flex-wrap: wrap; flex-wrap: wrap;
p { p {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
&::after { &::after {
display: block; display: block;
content: ""; content: "";
@ -481,6 +416,7 @@ export default {
border-top: 1px solid #ddd; border-top: 1px solid #ddd;
} }
} }
.form { .form {
width: 100%; width: 100%;
display: flex; display: flex;
@ -488,11 +424,13 @@ export default {
justify-content: space-between; justify-content: space-between;
} }
} }
.line { .line {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
&::after { &::after {
display: block; display: block;
content: ""; content: "";
@ -501,16 +439,19 @@ export default {
border-top: 1px solid #ddd; border-top: 1px solid #ddd;
} }
} }
.selectAndBtn { .selectAndBtn {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: flex-start; align-items: flex-start;
justify-content: space-between; justify-content: space-between;
} }
.patientBox { .patientBox {
display: flex; display: flex;
align-items: flex-start; align-items: flex-start;
justify-content: space-between; justify-content: space-between;
p { p {
flex: 1; flex: 1;
padding: 0; padding: 0;

View File

@ -86,9 +86,10 @@
<div <div
v-if="otherInfo && otherInfo.TrialId && isRight" v-if="otherInfo && otherInfo.TrialId && isRight"
v-hasPermi="['trials:trials-list:activate']" v-hasPermi="['trials:trials-list:activate']"
style="margin-top: 40px;"
> >
<el-descriptions :column="2" border style="width: 1200px"> <el-descriptions :column="2" border style="width: 1200px">
<p slot="title">{{$t('trials:trials-list:activate:title')}}</p> <p slot="title" style="margin: 0;">{{$t('trials:trials-list:activate:title')}}</p>
<!--单位名称--> <!--单位名称-->
<el-descriptions-item <el-descriptions-item
:label="$t('trials:trials-list:activate:organizationName')" :label="$t('trials:trials-list:activate:organizationName')"