【受试者】受试者创建时,受试者名称禁用特殊符号
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2026-08-06 09:52:03 +08:00
parent fcd6efaa39
commit aa92776b31
1 changed files with 18 additions and 46 deletions

View File

@ -1,58 +1,35 @@
<template> <template>
<el-form <el-form ref="subjectForm" v-loading="loading" :model="form" :rules="rules" size="small" label-width="200px">
ref="subjectForm"
v-loading="loading"
:model="form"
:rules="rules"
size="small"
label-width="200px"
>
<div class="base-dialog-body"> <div class="base-dialog-body">
<!-- Site --> <!-- Site -->
<el-form-item :label="$t('trials:subject:table:site')" prop="TrialSiteId"> <el-form-item :label="$t('trials:subject:table:site')" prop="TrialSiteId">
<el-select <el-select v-model="form.TrialSiteId" clearable filterable style="width:100%"
v-model="form.TrialSiteId" :disabled="form.StudyCount > 0 || isEdit">
clearable <el-option v-for="item of siteOptions" :key="item.Id" :label="item.TrialSiteCode" :value="item.TrialSiteId" />
filterable
style="width:100%"
:disabled="form.StudyCount>0 || isEdit"
>
<el-option
v-for="item of siteOptions"
:key="item.Id"
:label="item.TrialSiteCode"
:value="item.TrialSiteId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 受试者编号 --> <!-- 受试者编号 -->
<el-form-item :label="$t('trials:subject:table:subjectId')" prop="Code"> <el-form-item :label="$t('trials:subject:table:subjectId')" prop="Code">
<el-input v-model="form.Code" :disabled="form.StudyCount > 0 || isEdit" /> <el-input v-model="form.Code" :disabled="form.StudyCount > 0 || isEdit" @input="
<span v-show="otherInfo.IsNoticeSubjectCodeRule" style="color:#F56C6C;font-size:12px;">{{ otherInfo.SubjectCodeRule }}</span> form.Code =
form.Code.replace(/[^0-9a-zA-Z\_\-]/g, '')
" />
<span v-show="otherInfo.IsNoticeSubjectCodeRule" style="color:#F56C6C;font-size:12px;">{{
otherInfo.SubjectCodeRule }}</span>
</el-form-item> </el-form-item>
<!-- 受试者第二编号 --> <!-- 受试者第二编号 -->
<el-form-item v-if="otherInfo.IsSubjectSecondCodeView" :label="$t('trials:subject:table:medicalNo')" prop="MedicalNo"> <el-form-item v-if="otherInfo.IsSubjectSecondCodeView" :label="$t('trials:subject:table:medicalNo')"
prop="MedicalNo">
<el-input v-model="form.MedicalNo" :disabled="form.StudyCount > 0 || isEdit" /> <el-input v-model="form.MedicalNo" :disabled="form.StudyCount > 0 || isEdit" />
</el-form-item> </el-form-item>
<!-- 访视基准日期 --> <!-- 访视基准日期 -->
<el-form-item <el-form-item v-show="otherInfo.IsHaveFirstGiveMedicineDate"
v-show="otherInfo.IsHaveFirstGiveMedicineDate" :label="$t('trials:subject:table:firstGiveMedicineTime')">
:label="$t('trials:subject:table:firstGiveMedicineTime')" <el-date-picker v-model="form.FirstGiveMedicineTime" type="date" :picker-options="pickerOption"
> value-format="yyyy-MM-dd" format="yyyy-MM-dd" />
<el-date-picker
v-model="form.FirstGiveMedicineTime"
type="date"
:picker-options="pickerOption"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
/>
</el-form-item> </el-form-item>
<!-- Age --> <!-- Age -->
<el-form-item <el-form-item v-if="otherInfo.IsHaveSubjectAge" :label="$t('trials:subject:table:age')" prop="Age">
v-if="otherInfo.IsHaveSubjectAge"
:label="$t('trials:subject:table:age')"
prop="Age"
>
<el-input-number v-model="form.Age" controls-position="right" :min="0" /> <el-input-number v-model="form.Age" controls-position="right" :min="0" />
</el-form-item> </el-form-item>
<!-- Gender --> <!-- Gender -->
@ -73,12 +50,7 @@
<div class="base-dialog-footer" style="text-align:right;margin-top:10px;"> <div class="base-dialog-footer" style="text-align:right;margin-top:10px;">
<el-form-item> <el-form-item>
<!-- 取消 --> <!-- 取消 -->
<el-button <el-button :disabled="btnLoading" size="small" type="primary" @click="handleCancel">
:disabled="btnLoading"
size="small"
type="primary"
@click="handleCancel"
>
{{ $t('common:button:cancel') }} {{ $t('common:button:cancel') }}
</el-button> </el-button>
<!-- 保存 --> <!-- 保存 -->