diff --git a/src/api/trials.js b/src/api/trials.js index a2850c76..5f7674b2 100644 --- a/src/api/trials.js +++ b/src/api/trials.js @@ -3558,3 +3558,11 @@ export function resetAndAsyncCriterion(param) { data: param }) } + +export function batchSetCriterionJoinJoinAnalysis(param) { + return request({ + url: `/DoctorWorkload/batchSetCriterionJoinJoinAnalysis`, + method: 'post', + data: param + }) +} diff --git a/src/views/dictionary/template/components/CriterionDictionary.vue b/src/views/dictionary/template/components/CriterionDictionary.vue index 42b35fbd..a2cbdc69 100644 --- a/src/views/dictionary/template/components/CriterionDictionary.vue +++ b/src/views/dictionary/template/components/CriterionDictionary.vue @@ -7,6 +7,7 @@ @@ -59,12 +60,13 @@ show-overflow-tooltip > + + + + + + 0) { + if (ite) { + let item = row.CriterionCategoryList.find(v => v.TrialReadingCriterionId === ite.TrialReadingCriterionId) + if (item) { + params = [{ + Id: item.Id, + EnrollId: item.EnrollId, + TrialReadingCriterionId: item.TrialReadingCriterionId, + IsJoinAnalysis: value + }] + } + } else { + params = row.DoctorCriterionStatusList.map(v => { + return { + Id: v.Id, + EnrollId: v.EnrollId, + TrialReadingCriterionId: v.TrialReadingCriterionId, + IsJoinAnalysis: v.IsJoinAnalysis + } + }) + } + } else { + params = row.CriterionCategoryList.map(v => { + return { + EnrollId: v.EnrollId, + TrialReadingCriterionId: v.TrialReadingCriterionId, + IsJoinAnalysis: false + } + }) + } + batchSetCriterionJoinJoinAnalysis(params).then(res => { + if (showMessage) { + this.$message.success(this.$t('trials:enrolledReviews:message:batchSetCriterionJoinJoinAnalysis1')) + } + }) + }, go(path) { window.open(path) }, @@ -589,7 +647,27 @@ export default { this.listLoading = true getTrialEnrollmentWorkloadStats(this.listQuery).then((res) => { this.listLoading = false - this.list = res.Result.CurrentPageData + let resArray = res.Result.CurrentPageData + try { + resArray.forEach(v => { + if (v.DoctorCriterionStatusList && v.DoctorCriterionStatusList.length === 0) { + this.isConsistencyChange(v, null,false, false) + } + v.CriterionCategoryList.forEach(v1 => { + let o = v.DoctorCriterionStatusList.find(v2 => { + return v2.TrialReadingCriterionId === v1.TrialReadingCriterionId + }) + if (o) { + this.$set(v1, 'Id', o.Id) + this.$set(v1, 'IsJoinAnalysis', o.IsJoinAnalysis) + } + }) + v.DoctorCriterionStatusList.push({}) + }) + } catch (e) { + console.log(e) + } + this.list = resArray if (this.list.length > 0) { this.TrialReadingCriterionList = this.list[0].TrialReadingCriterionList } diff --git a/src/views/trials/trials-panel/reading/consistency-analysis/components/ReaderRulesForm.vue b/src/views/trials/trials-panel/reading/consistency-analysis/components/ReaderRulesForm.vue index f53c98ad..35127cb8 100644 --- a/src/views/trials/trials-panel/reading/consistency-analysis/components/ReaderRulesForm.vue +++ b/src/views/trials/trials-panel/reading/consistency-analysis/components/ReaderRulesForm.vue @@ -103,13 +103,13 @@ export default { form: { Id: null, TrialId: this.$route.query.trialId, - PlanSubjectCount: 0, - PlanVisitCount: 0, - IntervalWeeks: 0, + PlanSubjectCount: 10, + PlanVisitCount: 3, + IntervalWeeks: 3, IsHaveReadingPeriod: null, IsGenerateGlobalTask: null, BlindTrialSiteCode: '', - BlindSubjectNumberOfPlaces: 0, + BlindSubjectNumberOfPlaces: 3, IsEnable: true, Note: '' }, @@ -156,6 +156,7 @@ export default { this.loading = false this.btnLoading = false this.$message.success(this.$t('common:message:savedSuccessfully')) + this.$emit('close') this.$emit('getList') }).catch(() => { this.loading = false diff --git a/src/views/trials/trials-panel/reading/consistency-analysis/index.vue b/src/views/trials/trials-panel/reading/consistency-analysis/index.vue index 6dbb33c9..05ecd33c 100644 --- a/src/views/trials/trials-panel/reading/consistency-analysis/index.vue +++ b/src/views/trials/trials-panel/reading/consistency-analysis/index.vue @@ -825,7 +825,13 @@ export default { }, clickTab(tab, event) { this.loading = true + this.title = `${this.$t('trials:selftConsistencyAnalysis:button:config')}(${this.trialCriterionList.find(v => v.TrialReadingCriterionId === this.TrialReadingCriterionId).TrialReadingCriterionName})` getSelfConsistentDoctorStatList({TrialId: this.trialId, TrialReadingCriterionId: tab.name}).then(res => { + if (res.OtherInfo) { + this.ReaderRulesFormVisible = false + } else { + this.ReaderRulesFormVisible = true + } // this.ReaderRulesFormVisible = false // this.DoctorConsistentRuleSubjectTableVisible = false this.TaskConsistentRuleList = res.Result @@ -838,13 +844,20 @@ export default { }) }, openTaskConsistentRule(IsSelfAnalysis) { + if (this.trialCriterionList.length === 0) { + this.$alert(this.$t('trials:trials-panel:consistency-analysis:trialCriterionListLength')) + return + } this.loading = true if (IsSelfAnalysis) { // '配置自身一致性分析规则' - this.title = this.$t('trials:selftConsistencyAnalysis:button:config') - + this.title = `${this.$t('trials:selftConsistencyAnalysis:button:config')}(${this.trialCriterionList.find(v => v.TrialReadingCriterionId === this.TrialReadingCriterionId).TrialReadingCriterionName})` getSelfConsistentDoctorStatList({TrialId: this.trialId, TrialReadingCriterionId: this.TrialReadingCriterionId}).then(res => { - this.ReaderRulesFormVisible = false + if (res.OtherInfo) { + this.ReaderRulesFormVisible = false + } else { + this.ReaderRulesFormVisible = true + } this.DoctorConsistentRuleSubjectTableVisible = false this.TaskConsistentRuleList = res.Result this.IsSelfAnalysis = IsSelfAnalysis diff --git a/src/views/trials/trials-panel/setting/medical-audit/components/DefaultQS.vue b/src/views/trials/trials-panel/setting/medical-audit/components/DefaultQS.vue index 57ed4389..d69d4d4e 100644 --- a/src/views/trials/trials-panel/setting/medical-audit/components/DefaultQS.vue +++ b/src/views/trials/trials-panel/setting/medical-audit/components/DefaultQS.vue @@ -19,21 +19,21 @@ /> - - - - - + + + + + + + + + + + + + + + - - - - + + + + + + + + + + - - - - + + + + + + + + + + diff --git a/src/views/trials/trials-panel/setting/medical-audit/index.vue b/src/views/trials/trials-panel/setting/medical-audit/index.vue index b93e06d7..d205dfde 100644 --- a/src/views/trials/trials-panel/setting/medical-audit/index.vue +++ b/src/views/trials/trials-panel/setting/medical-audit/index.vue @@ -19,21 +19,21 @@ /> - - - - - + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + @@ -112,14 +112,6 @@ > {{ $t('trials:qcCfg:button:default') }} - - {{ $t('common:button:batchDelete') }} - {{ $t('trials:qcCfg:button:custom') }} + + {{ $t('common:button:batchDelete') }} + - - - - + + + + + + + + + + - - - - + + + + + + + + +
- + - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -253,7 +129,8 @@ export default { return { isSignSystemDoc: false, trialIdList: [], - tabList: {} + tabList: {}, + activeName: '' } }, mounted() {