【受试者】受试者创建时,受试者名称禁用特殊符号
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>
<el-form
ref="subjectForm"
v-loading="loading"
:model="form"
:rules="rules"
size="small"
label-width="200px"
>
<el-form ref="subjectForm" v-loading="loading" :model="form" :rules="rules" size="small" label-width="200px">
<div class="base-dialog-body">
<!-- Site -->
<el-form-item :label="$t('trials:subject:table:site')" prop="TrialSiteId">
<el-select
v-model="form.TrialSiteId"
clearable
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 v-model="form.TrialSiteId" clearable 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-form-item>
<!-- 受试者编号 -->
<el-form-item :label="$t('trials:subject:table:subjectId')" prop="Code">
<el-input v-model="form.Code" :disabled="form.StudyCount > 0 || isEdit" />
<span v-show="otherInfo.IsNoticeSubjectCodeRule" style="color:#F56C6C;font-size:12px;">{{ otherInfo.SubjectCodeRule }}</span>
<el-input v-model="form.Code" :disabled="form.StudyCount > 0 || isEdit" @input="
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 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-form-item>
<!-- 访视基准日期 -->
<el-form-item
v-show="otherInfo.IsHaveFirstGiveMedicineDate"
: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-form-item v-show="otherInfo.IsHaveFirstGiveMedicineDate"
: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-form-item>
<!-- Age -->
<el-form-item
v-if="otherInfo.IsHaveSubjectAge"
:label="$t('trials:subject:table:age')"
prop="Age"
>
<el-form-item 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-form-item>
<!-- Gender -->
@ -73,12 +50,7 @@
<div class="base-dialog-footer" style="text-align:right;margin-top:10px;">
<el-form-item>
<!-- 取消 -->
<el-button
:disabled="btnLoading"
size="small"
type="primary"
@click="handleCancel"
>
<el-button :disabled="btnLoading" size="small" type="primary" @click="handleCancel">
{{ $t('common:button:cancel') }}
</el-button>
<!-- 保存 -->