From 8c5297e401a48696a692197fa2bb6822b939d92a Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Thu, 7 Nov 2024 15:58:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=AF=E8=AF=AD=E9=85=8D=E7=BD=AE=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.js | 4 +- .../trial-config/components/logicalConfig.vue | 43 +++++++++++++++++++ .../trial-config/components/terminology.vue | 35 +++++++++++++-- 3 files changed, 77 insertions(+), 5 deletions(-) diff --git a/src/main.js b/src/main.js index 46612886..34c567a5 100644 --- a/src/main.js +++ b/src/main.js @@ -300,7 +300,9 @@ async function VueInit() { } let text = i18n.t(key) if (Array.isArray(store.state.trials.config.TrialObjectNameList) && store.state.trials.config.TrialObjectNameList.length > 0) { - store.state.trials.config.TrialObjectNameList.forEach(item => { + let arr = JSON.parse(JSON.stringify(store.state.trials.config.TrialObjectNameList)) + arr.sort((a, b) => b.Name.length - a.Name.length) + arr.forEach(item => { let test = new RegExp(item.Name, 'ig') text = text.replace(test, item.TrialName) }) diff --git a/src/views/trials/trials-panel/setting/trial-config/components/logicalConfig.vue b/src/views/trials/trials-panel/setting/trial-config/components/logicalConfig.vue index 58900386..15a51368 100644 --- a/src/views/trials/trials-panel/setting/trial-config/components/logicalConfig.vue +++ b/src/views/trials/trials-panel/setting/trial-config/components/logicalConfig.vue @@ -767,6 +767,35 @@ import ClinicalDataForm from './clinicalDataForm' import terminology from './terminology' import const_ from '@/const/sign-code' import BaseModel from '@/components/BaseModel' +const defaultDATA = () => { + return [ + { + Name: '受试者编号', + TrialName: '受试者编号', + IsDefault: true, + }, + { + Name: '访视基准日期', + TrialName: '访视基准日期', + IsDefault: true, + }, + { + Name: '拍片日期', + TrialName: '拍片日期', + IsDefault: true, + }, + { + Name: '阅片人', + TrialName: '阅片人', + IsDefault: true, + }, + { + Name: '独立阅片人', + TrialName: '独立阅片人', + IsDefault: true, + }, + ] +} export default { name: 'LogicalConfig', components: { SignForm, ClinicalDataForm, BaseModel, terminology }, @@ -1323,6 +1352,20 @@ export default { this.form[k] = res[k] } } + if ( + !this.form.TrialObjectNameList || + (Array.isArray(this.form.TrialObjectNameList) && + this.form.TrialObjectNameList.length <= 0) + ) { + // this.form.TrialObjectNameList = defaultDATA() + this.form.TrialObjectNameList = this.$d.Terminology.map((item) => { + return { + Name: item.label, + TrialName: item.label, + IsDefault: true, + } + }) + } let Modalitys = this.form.ModalityList.map((item) => { return this.$fd('Modality', item.trim()) }) diff --git a/src/views/trials/trials-panel/setting/trial-config/components/terminology.vue b/src/views/trials/trials-panel/setting/trial-config/components/terminology.vue index 51081857..19560ba0 100644 --- a/src/views/trials/trials-panel/setting/trial-config/components/terminology.vue +++ b/src/views/trials/trials-panel/setting/trial-config/components/terminology.vue @@ -9,14 +9,14 @@ :before-close="handleColse" width="900px" > -
{{ $t('common:button:add') }} -
+ --> @@ -72,7 +73,12 @@ :label="$t('trials:logincCfg:form:terminologyName')" prop="Name" > - + + { return { Name: null, TrialName: null, + IsDefault: false, } } export default { @@ -134,6 +146,22 @@ export default { message: this.$t('common:ruleMessage:specify'), trigger: 'blur', }, + { + validator: (rule, value, callback) => { + if ( + value && + this.DATA.find((item) => item.Name === value) && + this.status === 'add' + ) { + callback( + new Error(this.$t('trials:uploadDicomList:table:Existed')) + ) + } else { + callback() + } + }, + trigger: ['blur', 'change'], + }, ], TrialName: [ { @@ -158,7 +186,6 @@ export default { Object.keys(this.form).forEach((key) => { this.form[key] = row[key] }) - this.form.Id = row.Id } this.editVisible = true },