简历时间选择、输入国际化、其它选项国际化
continuous-integration/drone/push Build is passing Details

uat_us
wangxiaoshuang 2024-12-04 11:31:00 +08:00
parent 5e520a94c1
commit 4e06b5ef87
9 changed files with 184 additions and 53 deletions

View File

@ -117,7 +117,10 @@
:label="item.Value" :label="item.Value"
:value="item.Id" :value="item.Id"
/> />
<el-option label="Other" :value="otherId" /> <el-option
:label="$t('curriculumVitae:selectLabel:Other')"
:value="otherId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -186,8 +189,8 @@
<el-col :span="5"> <el-col :span="5">
<el-form-item <el-form-item
v-if=" v-if="
$fd('Rank', employmentForm.RankId, 'id') === '其它' || $fd('Rank', employmentForm.RankId, 'id') ===
$fd('Rank', employmentForm.RankId, 'id') === 'Other' $t('curriculumVitae:selectLabel:Other')
" "
class="other-item" class="other-item"
prop="RankOther" prop="RankOther"
@ -204,8 +207,8 @@
<el-col :span="5"> <el-col :span="5">
<el-form-item <el-form-item
v-if=" v-if="
$fd('Rank', employmentForm.RankId, 'id') === '其它' || $fd('Rank', employmentForm.RankId, 'id') ===
$fd('Rank', employmentForm.RankId, 'id') === 'Other' $t('curriculumVitae:selectLabel:Other')
" "
class="other-item" class="other-item"
prop="RankOtherCN" prop="RankOtherCN"
@ -286,7 +289,7 @@ export default {
}, },
data() { data() {
const RankIndication = (rule, value, callback) => { const RankIndication = (rule, value, callback) => {
if (value === '其它' || value === 'Other') { if (value === this.$t('curriculumVitae:selectLabel:Other')) {
if (!this.trialForm.IndicationOther) { if (!this.trialForm.IndicationOther) {
return callback(new Error('请输入适应症')) return callback(new Error('请输入适应症'))
} }
@ -294,7 +297,7 @@ export default {
callback() callback()
} }
const PhysicianIndication = (rule, value, callback) => { const PhysicianIndication = (rule, value, callback) => {
if (value === '其它' || value === 'Other') { if (value === this.$t('curriculumVitae:selectLabel:Other')) {
if (!this.trialForm.IndicationOther) { if (!this.trialForm.IndicationOther) {
return callback(new Error('请输入适应症')) return callback(new Error('请输入适应症'))
} }
@ -448,7 +451,7 @@ export default {
var o = this.$d.Rank.find((v) => { var o = this.$d.Rank.find((v) => {
return v.id === val return v.id === val
}) })
if (o.label === '其它' || o.label === 'Other') { if (o.label === this.$t('curriculumVitae:selectLabel:Other')) {
this.employmentForm.RankOther = '' this.employmentForm.RankOther = ''
this.employmentForm.RankOtherCN = '' this.employmentForm.RankOtherCN = ''
} else { } else {
@ -460,7 +463,7 @@ export default {
var o = this.$d.PhysicianOriginal.find((v) => { var o = this.$d.PhysicianOriginal.find((v) => {
return v.id === val return v.id === val
}) })
if (o.label === '其它' || o.label === 'Other') { if (o.label === this.$t('curriculumVitae:selectLabel:Other')) {
this.employmentForm.Physician = '' this.employmentForm.Physician = ''
this.employmentForm.PhysicianCN = '' this.employmentForm.PhysicianCN = ''
} else { } else {

View File

@ -35,7 +35,10 @@
:label="item.Value" :label="item.Value"
:value="item.Id" :value="item.Id"
/> />
<el-option label="Other" :value="otherId" /> <el-option
:label="$t('curriculumVitae:selectLabel:Other')"
:value="otherId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -96,7 +99,10 @@
:label="item.Value" :label="item.Value"
:value="item.Id" :value="item.Id"
/> />
<el-option label="Other" :value="otherId" /> <el-option
:label="$t('curriculumVitae:selectLabel:Other')"
:value="otherId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -164,7 +170,10 @@
:label="item.Value" :label="item.Value"
:value="item.Id" :value="item.Id"
/> />
<el-option label="Other" :value="otherId" /> <el-option
:label="$t('curriculumVitae:selectLabel:Other')"
:value="otherId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>

View File

@ -459,7 +459,7 @@ export default {
selectId: '00000000-0000-0000-0000-000000000000', selectId: '00000000-0000-0000-0000-000000000000',
dictionaryList: {}, dictionaryList: {},
// otherId: 'ef84e9cb-f1a6-49d7-b6da-34be2c12abd5', // otherId: 'ef84e9cb-f1a6-49d7-b6da-34be2c12abd5',
otherId:'00000000-0000-0000-0000-000000000000', otherId: '00000000-0000-0000-0000-000000000000',
GCPData: {}, GCPData: {},
} }
}, },
@ -491,14 +491,14 @@ export default {
let value = this.$d.Indication.find( let value = this.$d.Indication.find(
(item) => item.value === this.clinicalTrialForm.IndicationEnum (item) => item.value === this.clinicalTrialForm.IndicationEnum
).label ).label
return value === '其它' || value === 'Other' return value === this.$t('curriculumVitae:selectLabel:Other')
}, },
Trial_Phase_isOther() { Trial_Phase_isOther() {
if (!this.clinicalTrialForm.PhaseId) return false if (!this.clinicalTrialForm.PhaseId) return false
let value = this.dictionaryList.Trial_Phase.find( let value = this.dictionaryList.Trial_Phase.find(
(item) => item.Id === this.clinicalTrialForm.PhaseId (item) => item.Id === this.clinicalTrialForm.PhaseId
).Value ).Value
return value === '其它' || value === 'Other' return value === this.$t('curriculumVitae:selectLabel:Other')
}, },
ReadingStandard_isOther() { ReadingStandard_isOther() {
if ( if (
@ -516,7 +516,7 @@ export default {
...this.dictionaryList.CriterionType, ...this.dictionaryList.CriterionType,
{ {
Id: this.otherId, Id: this.otherId,
Value: 'Other', Value: this.$t('curriculumVitae:selectLabel:Other'),
}, },
] ]
}, },

View File

@ -230,23 +230,45 @@
:maxlength="400" :maxlength="400"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item <!-- <el-form-item
:label="$t('curriculumVitae:clinicalTrials:form:time')" :label="$t('curriculumVitae:clinicalTrials:form:time')"
prop="BeginDate" prop="BeginDate"
> >
<el-date-picker <el-date-picker
clearable clearable
v-model="daterange" v-model="daterange"
type="daterange" type="monthrange"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
format="yyyy-MM-dd" format="yyyy"
:range-separator="$t('curriculumVitae:daterange:rangeSeparator')" :range-separator="$t('curriculumVitae:daterange:rangeSeparator')"
:start-placeholder="$t('curriculumVitae:daterange:startTime')" :start-placeholder="$t('curriculumVitae:daterange:startTime')"
:end-placeholder="$t('curriculumVitae:daterange:endTime')" :end-placeholder="$t('curriculumVitae:daterange:endTime')"
@change="changeTimeList" @change="changeTimeList"
> >
</el-date-picker </el-date-picker
></el-form-item> ></el-form-item> -->
<el-form-item
:label="$t('system:TrialExperience:label:Start Time')"
prop="StartTime"
>
<el-date-picker
v-model="form.StartTime"
type="year"
value-format="yyyy-MM-DD"
>
</el-date-picker>
</el-form-item>
<el-form-item
:label="$t('system:TrialExperience:label:End Time')"
prop="EndTime"
>
<el-date-picker
v-model="form.EndTime"
type="year"
value-format="yyyy-MM-DD"
>
</el-date-picker>
</el-form-item>
<el-form-item <el-form-item
:label="$t('curriculumVitae:clinicalTrials:form:viewingVolumeNum')" :label="$t('curriculumVitae:clinicalTrials:form:viewingVolumeNum')"
prop="VisitReadingCount" prop="VisitReadingCount"
@ -500,6 +522,7 @@ import {
saveAttachments, saveAttachments,
getAttachmentByType, getAttachmentByType,
} from '@/api/attachment' } from '@/api/attachment'
import moment from 'moment'
const defaultForm = () => { const defaultForm = () => {
return { return {
PhaseId: '', PhaseId: '',
@ -581,10 +604,18 @@ export default {
}, },
], ],
VisitReadingCount: [ VisitReadingCount: [
{ required: true, message:this.$t('common:ruleMessage:specify'), trigger: 'blur' }, {
required: true,
message: this.$t('common:ruleMessage:specify'),
trigger: 'blur',
},
], ],
EvaluationContent: [ EvaluationContent: [
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, {
required: true,
message: this.$t('common:ruleMessage:specify'),
trigger: 'blur',
},
{ {
max: 400, max: 400,
message: this.$t('form:rules:maxLength:400'), message: this.$t('form:rules:maxLength:400'),
@ -604,6 +635,44 @@ export default {
message: this.$t('common:ruleMessage:specify'), message: this.$t('common:ruleMessage:specify'),
trigger: 'blur', trigger: 'blur',
}, },
{
validator: (rule, value, callback) => {
if (
value &&
this.form.EndTime &&
moment(value).isAfter(moment(this.form.EndTime))
) {
callback(
new Error(
this.$t('system:TrialExperience:rule:startBeforeEnd')
)
)
} else {
callback()
}
},
trigger: 'blur',
},
],
EndTime: [
{
validator: (rule, value, callback) => {
if (
value &&
this.form.StartTime &&
moment(value).isBefore(moment(this.form.StartTime))
) {
callback(
new Error(
this.$t('system:TrialExperience:rule:endBeforeStart')
)
)
} else {
callback()
}
},
trigger: 'blur',
},
], ],
OtherStages: [ OtherStages: [
{ {
@ -693,7 +762,7 @@ export default {
}, },
dictionaryList: {}, dictionaryList: {},
// otherId: 'ef84e9cb-f1a6-49d7-b6da-34be2c12abd5', // otherId: 'ef84e9cb-f1a6-49d7-b6da-34be2c12abd5',
otherId:'00000000-0000-0000-0000-000000000000', otherId: '00000000-0000-0000-0000-000000000000',
} }
}, },
watch: { watch: {
@ -753,14 +822,14 @@ export default {
let value = this.$d.Indication.find( let value = this.$d.Indication.find(
(item) => item.value === this.form.IndicationEnum (item) => item.value === this.form.IndicationEnum
).label ).label
return value === '其它' || value === 'Other' return value === this.$t('curriculumVitae:selectLabel:Other')
}, },
Trial_Phase_isOther() { Trial_Phase_isOther() {
if (!this.form.PhaseId) return false if (!this.form.PhaseId) return false
let value = this.dictionaryList.Trial_Phase.find( let value = this.dictionaryList.Trial_Phase.find(
(item) => item.Id === this.form.PhaseId (item) => item.Id === this.form.PhaseId
).Value ).Value
return value === '其它' || value === 'Other' return value === this.$t('curriculumVitae:selectLabel:Other')
}, },
ReadingStandard_isOther() { ReadingStandard_isOther() {
if ( if (
@ -776,7 +845,7 @@ export default {
...this.dictionaryList.CriterionType, ...this.dictionaryList.CriterionType,
{ {
Id: this.otherId, Id: this.otherId,
Value: 'Other', Value: this.$t('curriculumVitae:selectLabel:Other'),
}, },
] ]
}, },
@ -865,7 +934,7 @@ export default {
let validate = await this.$refs.otherAboutFrom.validate() let validate = await this.$refs.otherAboutFrom.validate()
if (!validate) return false if (!validate) return false
this.otherForm.DoctorId = this.reviewerId this.otherForm.DoctorId = this.reviewerId
if(this.trialId){ if (this.trialId) {
this.otherForm.TrialId = this.trialId this.otherForm.TrialId = this.trialId
} }
this.loading = true this.loading = true

View File

@ -93,9 +93,9 @@
<el-date-picker <el-date-picker
clearable clearable
v-model="daterange" v-model="daterange"
type="daterange" type="monthrange"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
format="yyyy-MM-dd" format="yyyy-MM"
:range-separator="$t('curriculumVitae:daterange:rangeSeparator')" :range-separator="$t('curriculumVitae:daterange:rangeSeparator')"
:start-placeholder="$t('curriculumVitae:daterange:startTime')" :start-placeholder="$t('curriculumVitae:daterange:startTime')"
:end-placeholder="$t('curriculumVitae:daterange:endTime')" :end-placeholder="$t('curriculumVitae:daterange:endTime')"

View File

@ -101,9 +101,9 @@
<el-date-picker <el-date-picker
clearable clearable
v-model="daterange" v-model="daterange"
type="daterange" type="monthrange"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
format="yyyy-MM-dd" format="yyyy-MM"
:range-separator="$t('curriculumVitae:daterange:rangeSeparator')" :range-separator="$t('curriculumVitae:daterange:rangeSeparator')"
:start-placeholder="$t('curriculumVitae:daterange:startTime')" :start-placeholder="$t('curriculumVitae:daterange:startTime')"
:end-placeholder="$t('curriculumVitae:daterange:endTime')" :end-placeholder="$t('curriculumVitae:daterange:endTime')"

View File

@ -34,6 +34,10 @@
<span v-if="isEN">{{ DATA.Department }}</span> <span v-if="isEN">{{ DATA.Department }}</span>
<span v-else>{{ DATA.DepartmentCN }}</span> <span v-else>{{ DATA.DepartmentCN }}</span>
</span> </span>
<span class="el-icon-first-aid-kit" v-else>
<span v-if="isEN">{{ DATA.DepartmentOther }}</span>
<span v-else>{{ DATA.DepartmentOtherCN }}</span>
</span>
<span class="el-icon-user" v-if="DATA.Rank || DATA.RankCN"> <span class="el-icon-user" v-if="DATA.Rank || DATA.RankCN">
<span v-if="isEN">{{ DATA.Rank }}</span> <span v-if="isEN">{{ DATA.Rank }}</span>
<span v-else>{{ DATA.RankCN }}</span> <span v-else>{{ DATA.RankCN }}</span>
@ -273,11 +277,14 @@
:label="item.Value" :label="item.Value"
:value="item.Id" :value="item.Id"
/> />
<el-option label="Other" :value="otherId" /> <el-option
:label="$t('curriculumVitae:selectLabel:Other')"
:value="otherId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-if="form.DepartmentId === otherId" v-if="form.DepartmentId === otherId && isEN"
class="other-item" class="other-item"
prop="DepartmentOther" prop="DepartmentOther"
> >
@ -291,7 +298,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-if="form.DepartmentId === otherId" v-if="form.DepartmentId === otherId && !isEN"
class="other-item" class="other-item"
prop="DepartmentOtherCN" prop="DepartmentOtherCN"
> >
@ -319,8 +326,8 @@
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-if=" v-if="
$fd('Rank', form.RankId, 'id') === '其它' || $fd('Rank', form.RankId, 'id') ===
$fd('Rank', form.RankId, 'id') === 'Other' $t('curriculumVitae:selectLabel:Other') && isEN
" "
class="other-item" class="other-item"
prop="RankOther" prop="RankOther"
@ -336,8 +343,8 @@
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-if=" v-if="
$fd('Rank', form.RankId, 'id') === '其它' || $fd('Rank', form.RankId, 'id') ===
$fd('Rank', form.RankId, 'id') === 'Other' $t('curriculumVitae:selectLabel:Other') && !isEN
" "
class="other-item" class="other-item"
prop="RankOtherCN" prop="RankOtherCN"

View File

@ -88,11 +88,14 @@
:label="item.Value" :label="item.Value"
:value="item.Id" :value="item.Id"
/> />
<el-option label="Other" :value="otherId" /> <el-option
:label="$t('curriculumVitae:selectLabel:Other')"
:value="otherId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-if="form.SpecialityId == otherId" v-if="form.SpecialityId == otherId && isEN"
class="other-item" class="other-item"
prop="SpecialityOther" prop="SpecialityOther"
> >
@ -106,7 +109,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-if="form.SpecialityId == otherId" v-if="form.SpecialityId == otherId && !isEN"
prop="SpecialityOtherCN" prop="SpecialityOtherCN"
class="other-item" class="other-item"
> >
@ -140,7 +143,8 @@
<el-form-item <el-form-item
v-if=" v-if="
form.SubspecialityIds && form.SubspecialityIds &&
form.SubspecialityIds.indexOf(otherId) > -1 form.SubspecialityIds.indexOf(otherId) > -1 &&
isEN
" "
class="other-item" class="other-item"
prop="SubspecialityOther" prop="SubspecialityOther"
@ -157,7 +161,8 @@
<el-form-item <el-form-item
v-if=" v-if="
form.SubspecialityIds && form.SubspecialityIds &&
form.SubspecialityIds.indexOf(otherId) > -1 form.SubspecialityIds.indexOf(otherId) > -1 &&
!isEN
" "
class="other-item" class="other-item"
prop="SubspecialityOtherCN" prop="SubspecialityOtherCN"
@ -191,7 +196,9 @@
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-if=" v-if="
form.ReadingTypeIds && form.ReadingTypeIds.indexOf(otherId) > -1 form.ReadingTypeIds &&
form.ReadingTypeIds.indexOf(otherId) > -1 &&
isEN
" "
prop="ReadingTypeOther" prop="ReadingTypeOther"
class="other-item" class="other-item"
@ -207,7 +214,9 @@
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-if=" v-if="
form.ReadingTypeIds && form.ReadingTypeIds.indexOf(otherId) > -1 form.ReadingTypeIds &&
form.ReadingTypeIds.indexOf(otherId) > -1 &&
!isEN
" "
prop="ReadingTypeOtherCN" prop="ReadingTypeOtherCN"
class="other-item" class="other-item"
@ -302,7 +311,11 @@ export default {
}, },
], ],
SpecialityOther: [ SpecialityOther: [
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, {
required: true,
message: this.$t('common:ruleMessage:specify'),
trigger: 'blur',
},
{ {
max: 400, max: 400,
message: this.$t('form:rules:maxLength:400'), message: this.$t('form:rules:maxLength:400'),
@ -324,7 +337,11 @@ export default {
}, },
], ],
ReadingTypeOther: [ ReadingTypeOther: [
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, {
required: true,
message: this.$t('common:ruleMessage:specify'),
trigger: 'blur',
},
{ {
max: 400, max: 400,
message: this.$t('form:rules:maxLength:400'), message: this.$t('form:rules:maxLength:400'),
@ -332,7 +349,11 @@ export default {
}, },
], ],
ReadingTypeOtherCN: [ ReadingTypeOtherCN: [
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, {
required: true,
message: this.$t('common:ruleMessage:specify'),
trigger: 'blur',
},
{ {
max: 400, max: 400,
message: this.$t('form:rules:maxLength:400'), message: this.$t('form:rules:maxLength:400'),
@ -347,7 +368,11 @@ export default {
}, },
], ],
SubspecialityOther: [ SubspecialityOther: [
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, {
required: true,
message: this.$t('common:ruleMessage:specify'),
trigger: 'blur',
},
{ {
max: 400, max: 400,
message: this.$t('form:rules:maxLength:400'), message: this.$t('form:rules:maxLength:400'),
@ -355,7 +380,11 @@ export default {
}, },
], ],
SubspecialityOtherCN: [ SubspecialityOtherCN: [
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, {
required: true,
message: this.$t('common:ruleMessage:specify'),
trigger: 'blur',
},
{ {
max: 400, max: 400,
message: this.$t('form:rules:maxLength:400'), message: this.$t('form:rules:maxLength:400'),
@ -381,7 +410,7 @@ export default {
...this.dictionaryList.Subspeciality, ...this.dictionaryList.Subspeciality,
{ {
Id: this.otherId, Id: this.otherId,
Value: 'Other', Value: this.$t('curriculumVitae:selectLabel:Other'),
}, },
] ]
}, },
@ -390,7 +419,7 @@ export default {
...this.dictionaryList.ReadingType, ...this.dictionaryList.ReadingType,
{ {
Id: this.otherId, Id: this.otherId,
Value: 'Other', Value: this.$t('curriculumVitae:selectLabel:Other'),
}, },
] ]
}, },

View File

@ -51,12 +51,26 @@
</span> </span>
</div> </div>
<div class="userTitle"> <div class="userTitle">
<span class="el-icon-first-aid-kit"> <span
class="el-icon-first-aid-kit"
v-if="
reviewerData.EmploymentView.Department ||
reviewerData.EmploymentView.DepartmentCN
"
>
<span v-if="isEN">{{ <span v-if="isEN">{{
reviewerData.EmploymentView.Department reviewerData.EmploymentView.Department
}}</span> }}</span>
<span v-else>{{ reviewerData.EmploymentView.DepartmentCN }}</span> <span v-else>{{ reviewerData.EmploymentView.DepartmentCN }}</span>
</span> </span>
<span class="el-icon-first-aid-kit" v-else>
<span v-if="isEN">{{
reviewerData.EmploymentView.DepartmentOther
}}</span>
<span v-else>{{
reviewerData.EmploymentView.DepartmentOtherCN
}}</span>
</span>
<span class="el-icon-user" <span class="el-icon-user"
><span v-if="isEN">{{ reviewerData.EmploymentView.Rank }}</span> ><span v-if="isEN">{{ reviewerData.EmploymentView.Rank }}</span>
<span v-else>{{ reviewerData.EmploymentView.RankCN }}</span></span <span v-else>{{ reviewerData.EmploymentView.RankCN }}</span></span