部分问题修复
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-12-31 10:09:53 +08:00
parent 8d0f0094ba
commit 2ffffd2bf0
3 changed files with 29 additions and 21 deletions

View File

@ -232,9 +232,9 @@ export default {
setReadingTools(data) { setReadingTools(data) {
let { readingTools, isNoneDicom } = data let { readingTools, isNoneDicom } = data
if (isNoneDicom) { if (isNoneDicom) {
this.readingTools = getCustomizeStandardsNoneDicomTools(readingTools).filter(item => item.toolName !== 'ArrowAnnotate') this.readingTools = getCustomizeStandardsNoneDicomTools(readingTools)
} else { } else {
this.readingTools = getCustomizeStandardsTools(readingTools).filter(item => item.toolName !== 'ArrowAnnotate') this.readingTools = getCustomizeStandardsTools(readingTools)
} }
}, },

View File

@ -6,9 +6,9 @@
<span>{{ data.Code }}</span> <span>{{ data.Code }}</span>
</el-form-item> </el-form-item>
<el-form-item :label="$t('subjectChart:table:CriterionType')"> <el-form-item :label="$t('subjectChart:table:CriterionType')">
<el-select v-model="CriterionType" clearable filterable @change="handleChange"> <el-select v-model="TrialReadingCriterionId" clearable filterable @change="handleChange">
<el-option v-for="(item) of trialCriterionList" :key="item.TrialReadingCriterionId" <el-option v-for="(item) of trialCriterionList" :key="item.TrialReadingCriterionId"
:label="item.TrialReadingCriterionName" :value="item.CriterionType" /> :label="item.TrialReadingCriterionName" :value="item.TrialReadingCriterionId" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -74,7 +74,7 @@ export default {
return { return {
loading: false, loading: false,
trialCriterionList: [], trialCriterionList: [],
CriterionType: null, TrialReadingCriterionId: null,
tableKey: [], tableKey: [],
tableList: [], tableList: [],
R1ChartList: [], R1ChartList: [],
@ -85,7 +85,7 @@ export default {
this.getTrialCriterionList() this.getTrialCriterionList()
}, },
methods: { methods: {
handleChange() { handleChange(v) {
this.getList() this.getList()
}, },
getTrialCriterionList() { getTrialCriterionList() {
@ -93,7 +93,7 @@ export default {
getTrialCriterionList(this.$route.query.trialId, false).then(res => { getTrialCriterionList(this.$route.query.trialId, false).then(res => {
this.trialCriterionList = res.Result this.trialCriterionList = res.Result
if (this.trialCriterionList.length > 0) { if (this.trialCriterionList.length > 0) {
this.CriterionType = this.trialCriterionList[0].CriterionType this.TrialReadingCriterionId = this.trialCriterionList[0].TrialReadingCriterionId
this.getList() this.getList()
this.loading = false this.loading = false
} }
@ -103,14 +103,13 @@ export default {
try { try {
let data = { let data = {
SubjectId: this.data.Id, SubjectId: this.data.Id,
CriterionType: this.CriterionType TrialCriterionId: this.TrialReadingCriterionId
} }
this.loading = true this.loading = true
let res = await getReportsChartSummary(data) let res = await getReportsChartSummary(data)
this.loading = false this.loading = false
if (res.IsSuccess) { if (res.IsSuccess) {
let Evaluation = res.Result.Evaluation.Evaluation let Evaluation = res.Result.Evaluation.Evaluation
let DictionaryCode = res.Result.Evaluation.DictionaryCode
this.tableKey = [ this.tableKey = [
{ {
title: this.$t(`subjectChart:table:label:visit`), title: this.$t(`subjectChart:table:label:visit`),
@ -119,8 +118,8 @@ export default {
] ]
Evaluation[0].forEach(key => { Evaluation[0].forEach(key => {
let obj = { let obj = {
title: key, title: key.Value,
key key: key.Value,
} }
this.tableKey.push(obj) this.tableKey.push(obj)
}) })
@ -128,14 +127,19 @@ export default {
if (Evaluation[1] && Evaluation[1].length > 0) { if (Evaluation[1] && Evaluation[1].length > 0) {
let obj = {} let obj = {}
this.tableKey.forEach((item, index) => { this.tableKey.forEach((item, index) => {
obj[item.key] = index === 0 ? 'R1' : DictionaryCode ? this.$fd(DictionaryCode, Evaluation[1][index - 1]) : Evaluation[1][index - 1] if (index === 0) {
obj[item.key] = 'R1'
} else {
console.log(Evaluation[1][index - 1].DictionaryCode, Evaluation[1][index - 1].Value)
obj[item.key] = Evaluation[1][index - 1].DictionaryCode ? this.$fd(Evaluation[1][index - 1].DictionaryCode, parseFloat(Evaluation[1][index - 1].Value)) : Evaluation[1][index - 1].Value
}
}) })
this.tableList.push(obj) this.tableList.push(obj)
} }
if (Evaluation[2] && Evaluation[2].length > 0) { if (Evaluation[2] && Evaluation[2].length > 0) {
let obj = {} let obj = {}
this.tableKey.forEach((item, index) => { this.tableKey.forEach((item, index) => {
obj[item.key] = index === 0 ? 'R2' : DictionaryCode ? this.$fd(DictionaryCode, Evaluation[2][index - 1]) : Evaluation[2][index - 1] obj[item.key] = index === 0 ? 'R2' : Evaluation[2][index - 1].DictionaryCode ? this.$fd(Evaluation[2][index - 1].DictionaryCode, parseFloat(Evaluation[2][index - 1].Value)) : Evaluation[2][index - 1].Value
}) })
this.tableList.push(obj) this.tableList.push(obj)
} }

View File

@ -18,8 +18,7 @@
<div class="chartBox" :style="{ height: isTumor ? '50%' : '100%' }"> <div class="chartBox" :style="{ height: isTumor ? '50%' : '100%' }">
<div ref="chartContainer_right" style="width: 100%; height: 100%;" v-loading="loading_right"></div> <div ref="chartContainer_right" style="width: 100%; height: 100%;" v-loading="loading_right"></div>
</div> </div>
<div class="chartBox" :style="{ position: 'relative', width: isHas_bottom_right ? '50%' : '100%' }" <div class="chartBox" :style="{ position: 'relative' }" v-if="isTumor">
v-if="isTumor">
<div ref="chartContainer_bottom" style="width: 100%; height: 100%;" v-loading="loading_bottom"></div> <div ref="chartContainer_bottom" style="width: 100%; height: 100%;" v-loading="loading_bottom"></div>
<span v-if="ORR" style="position: absolute;top: 0;right:20px">ORR: {{ ORR }}</span> <span v-if="ORR" style="position: absolute;top: 0;right:20px">ORR: {{ ORR }}</span>
</div> </div>
@ -127,9 +126,11 @@ export default {
let res = await getTrialVisitFinishedStatList(data) let res = await getTrialVisitFinishedStatList(data)
this.loading_left = false this.loading_left = false
if (res.IsSuccess) { if (res.IsSuccess) {
let arr = []
let obj = { let obj = {
titleText: this.$t("trials:reportForms:cjart:title:VisitFinishedStat"), titleText: this.$t("trials:reportForms:cjart:title:VisitFinishedStat"),
seriesData: [], seriesData: [],
max: 0,
legendData: [ legendData: [
this.$t("trials:reportForms:cjart:title:UploadedCount"), this.$t("trials:reportForms:cjart:title:UploadedCount"),
this.$t("trials:reportForms:cjart:title:QCFinishedCount"), this.$t("trials:reportForms:cjart:title:QCFinishedCount"),
@ -145,7 +146,9 @@ export default {
value: res.Result[keys[index]] value: res.Result[keys[index]]
} }
obj.seriesData.push(o) obj.seriesData.push(o)
arr.push(res.Result[keys[index]])
}) })
obj.max = Math.max(...arr)
this.initChart_left(obj) this.initChart_left(obj)
} }
} catch (err) { } catch (err) {
@ -180,17 +183,18 @@ export default {
name: 'Funnel', name: 'Funnel',
type: 'funnel', type: 'funnel',
left: '10%', left: '10%',
top: 60, top: 30,
bottom: 60, bottom: 40,
width: '80%', width: '80%',
min: 0, min: 0,
max: 100, max: obj.max ? obj.max : 100,
minSize: '0%', minSize: '0%',
maxSize: '100%', maxSize: '100%',
sort: 'descending', sort: 'descending',
gap: 2, gap: 2,
label: { label: {
show: true, show: true,
formatter: `{c}`,
position: 'inside', position: 'inside',
textStyle: { textStyle: {
fontSize: 14, // 14px fontSize: 14, // 14px
@ -348,10 +352,10 @@ export default {
obj2.seriesData.push(item.DaysDiff) obj2.seriesData.push(item.DaysDiff)
}) })
obj2.medianValue = this.calculateMedian(obj2.seriesData) obj2.medianValue = this.calculateMedian(obj2.seriesData)
this.$nextTick(() => {
this.initChart_bottom_right(obj2)
})
} }
this.$nextTick(() => {
this.initChart_bottom_right(obj2)
})
// else { // else {
// this.isHas_bottom_right = false // this.isHas_bottom_right = false
// } // }