部分问题修复
continuous-integration/drone/push Build encountered an error Details

uat
wangxiaoshuang 2025-12-17 13:46:10 +08:00
parent 4efcaa915c
commit 691a3721a0
7 changed files with 77 additions and 60 deletions

View File

@ -10,21 +10,21 @@
)"></div> )"></div>
</div> </div>
</div> </div>
<!--检查列表--> <!--检查列表 @sort-change="handleSortByColumn"-->
<el-table :data="list" style="width: 100%" v-adaptive="{ bottomOffset: 60 }" :loading="loading" <el-table :data="list" style="width: 100%" v-adaptive="{ bottomOffset: 60 }" :loading="loading"
@sort-change="handleSortByColumn" :default-sort="{ prop: 'TaskBlindName', order: 'descending' }"> :default-sort="{ prop: 'TaskBlindName', order: 'descending' }">
<!--受试者--> <!--受试者 sortable="custom"-->
<el-table-column prop="SubjectCode" :label="$t('upload:nonedicom:table:subject')" /> <el-table-column prop="SubjectCode" :label="$t('upload:nonedicom:table:subject')" />
<!--访视名称--> <!--访视名称-->
<el-table-column prop="VisitName" :label="$t('upload:nonedicom:table:VisitName')" sortable="custom" <el-table-column prop="VisitName" :label="$t('upload:nonedicom:table:VisitName')" sortable
v-if="IsImageSegment" /> v-if="IsImageSegment" />
<!--任务名称--> <!--任务名称-->
<el-table-column prop="TaskBlindName" :label="$t('upload:nonedicom:table:taskName')" sortable="custom" v-else /> <el-table-column prop="TaskBlindName" :label="$t('upload:nonedicom:table:taskName')" sortable v-else />
<!--检查类型--> <!--检查类型-->
<el-table-column prop="Modality" :label="$t('upload:nonedicom:table:molityType')" sortable="custom"> <el-table-column prop="Modality" :label="$t('upload:nonedicom:table:molityType')" sortable>
</el-table-column> </el-table-column>
<!--检查部位--> <!--检查部位-->
<el-table-column prop="BodyPart" :label="$t('upload:nonedicom:table:bodyPart')" sortable="custom"> <el-table-column prop="BodyPart" :label="$t('upload:nonedicom:table:bodyPart')" sortable>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ getBodyPart(scope.row.BodyPart, scope.row.BodyPartForEditOther) }}</span> <span>{{ getBodyPart(scope.row.BodyPart, scope.row.BodyPartForEditOther) }}</span>
</template> </template>
@ -228,8 +228,8 @@ let defaultSearchData = () => {
SubjectId: null, SubjectId: null,
TrialReadingCriterionId: null, TrialReadingCriterionId: null,
SubjectCode: null, SubjectCode: null,
Asc: false, // Asc: false,
SortField: 'TaskBlindName', // SortField: 'TaskBlindName',
} }
} }
export default { export default {
@ -506,16 +506,16 @@ export default {
} }
}, },
// //
handleSortByColumn(column) { // handleSortByColumn(column) {
if (column.order === 'ascending') { // if (column.order === 'ascending') {
this.searchData.Asc = true // this.searchData.Asc = true
} else { // } else {
this.searchData.Asc = false // this.searchData.Asc = false
} // }
this.searchData.SortField = column.prop // this.searchData.SortField = column.prop
this.searchData.PageIndex = 1 // this.searchData.PageIndex = 1
this.getList() // this.getList()
}, // },
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.selectArr = selection this.selectArr = selection

View File

@ -9,11 +9,11 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 是否加急 --> <!-- 是否加急 -->
<el-form-item :label="$t('dictionary:email:label:IsUrgent')" v-if="!systemLevel"> <!-- <el-form-item :label="$t('dictionary:email:label:IsUrgent')" v-if="!systemLevel">
<el-select v-model="searchData.IsUrgent" clearable style="width: 100px"> <el-select v-model="searchData.IsUrgent" clearable style="width: 100px">
<el-option v-for="item of $d.EmailUrgent" :value="item.value" :label="item.label" :key="item.id" /> <el-option v-for="item of $d.YesOrNo" :value="item.value" :label="item.label" :key="item.id" />
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<!-- 是否启用 --> <!-- 是否启用 -->
<el-form-item :label="$t('trials:emailManageCfg:table:IsEnable')" v-if="!systemLevel"> <el-form-item :label="$t('trials:emailManageCfg:table:IsEnable')" v-if="!systemLevel">
<el-select v-model="searchData.IsEnable" clearable style="width: 100px"> <el-select v-model="searchData.IsEnable" clearable style="width: 100px">
@ -41,7 +41,7 @@
<el-option v-for="item of UserTypeList" :value="item.value" :label="item.label" :key="item.id" /> <el-option v-for="item of UserTypeList" :value="item.value" :label="item.label" :key="item.id" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('trials:emailManageCfg:form:EmailUrgent')" v-if="systemLevel === 1"> <el-form-item :label="$t('trials:emailManageCfg:form:EmailUrgent')">
<el-select v-model="searchData.EmailUrgentEnum" clearable style="width: 100px"> <el-select v-model="searchData.EmailUrgentEnum" clearable style="width: 100px">
<el-option v-for="item of $d.EmailUrgent" :value="item.value" :label="item.label" :key="item.id" /> <el-option v-for="item of $d.EmailUrgent" :value="item.value" :label="item.label" :key="item.id" />
</el-select> </el-select>
@ -86,7 +86,7 @@
:label="$t('trials:reviewTrack:table:criterionName')" show-overflow-tooltip sortable="custom" min-width="120"> :label="$t('trials:reviewTrack:table:criterionName')" show-overflow-tooltip sortable="custom" min-width="120">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.CriterionTypeList ? scope.row.CriterionTypeList.map(item => $fd('CriterionType', item)).join(', ') {{scope.row.CriterionTypeList ? scope.row.CriterionTypeList.map(item => $fd('CriterionType', item)).join(', ')
: ''}} : ''}}
</template> </template>
</el-table-column> </el-table-column>
<!-- 邮件主题中文 --> <!-- 邮件主题中文 -->

View File

@ -37,7 +37,8 @@
<div class="add-icon" @click.prevent="downloadTpl"> <div class="add-icon" @click.prevent="downloadTpl">
<i class="el-icon-download" /> <i class="el-icon-download" />
</div> </div>
<div class="add-icon" style="margin: 0 5px;" @click.prevent="uploadTpl(item.LesionType, item.QuestionName)"> <div class="add-icon" style="margin: 0 5px;"
@click.prevent="uploadTpl(item.LesionType, item.QuestionName)">
<i class="el-icon-upload2" /> <i class="el-icon-upload2" />
</div> </div>
<div class="add-icon" @click.prevent="handleAddOrEdit('add', item)"> <div class="add-icon" @click.prevent="handleAddOrEdit('add', item)">
@ -71,13 +72,14 @@
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-if="readingTaskState < 2 && item.LesionType === 102" <el-table-column v-if="readingTaskState < 2 && (item.LesionType === 102 || item.LesionType === 103)"
:label="$t('common:action:action')" width="90px" fixed="right"> :label="$t('common:action:action')" width="90px" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="mini" @click="handleAddOrEdit('edit', item, scope.$index)"> <el-button type="text" size="mini" @click="handleAddOrEdit('edit', item, scope.$index)">
{{ $t('common:button:edit') }} {{ $t('common:button:edit') }}
</el-button> </el-button>
<el-button type="text" size="mini" @click="handleDelete(item, scope.$index)"> <el-button type="text" size="mini" @click="handleDelete(item, scope.$index)"
v-if="item.LesionType === 102">
{{ $t('common:button:delete') }} {{ $t('common:button:delete') }}
</el-button> </el-button>
</template> </template>
@ -174,7 +176,8 @@
<!-- 导入 --> <!-- 导入 -->
<el-dialog v-if="upload.visible" :visible.sync="upload.visible" :close-on-click-modal="false" <el-dialog v-if="upload.visible" :visible.sync="upload.visible" :close-on-click-modal="false"
:title="upload.title" width="500px"> :title="upload.title" width="500px">
<UploadExcel :visit-task-id="visitTaskId" :TableName="upload.TableName" @close="uploadDlgClose" /> <UploadExcel :visit-task-id="visitTaskId" :TableName="upload.TableName" :lesion-type="upload.lesionType"
@close="uploadDlgClose" />
</el-dialog> </el-dialog>
</div> </div>
</div> </div>
@ -232,8 +235,8 @@ export default {
questionForm: {}, questionForm: {},
formChanged: false, formChanged: false,
digitPlaces: 2, digitPlaces: 2,
addOrEdit: { visible: false, title: '' }, addOrEdit: { visible: false, title: '', lesionType: null },
upload: { visible: false, title: '', TableName: '' }, upload: { visible: false, title: '', TableName: '', lesionType: null },
qsList: [], qsList: [],
answersList: [], answersList: [],
qsForm: {}, qsForm: {},
@ -595,6 +598,7 @@ export default {
this.$set(this.qsForm, i.Id, v) this.$set(this.qsForm, i.Id, v)
}) })
this.addOrEdit.visible = true this.addOrEdit.visible = true
this.addOrEdit.lesionType = row.LesionType
}, },
async saveFormData() { async saveFormData() {
const valid = await this.$refs.tableQsForm.validate() const valid = await this.$refs.tableQsForm.validate()
@ -619,6 +623,9 @@ export default {
trialId: this.trialId, trialId: this.trialId,
answerList: answers answerList: answers
} }
if (this.addOrEdit.lesionType === 103) {
params.computationTrigger = 9
}
const res = await submitTableQuestion(params) const res = await submitTableQuestion(params)
if (res.IsSuccess) { if (res.IsSuccess) {
// this.refreshQuestions() // this.refreshQuestions()
@ -669,6 +676,7 @@ export default {
} }
}, },
uploadTpl(lesionType, TableName) { uploadTpl(lesionType, TableName) {
this.upload.lesionType = lesionType
this.upload.TableName = TableName this.upload.TableName = TableName
this.upload.title = `导入( ${this.$fd('LesionType', lesionType)} ` this.upload.title = `导入( ${this.$fd('LesionType', lesionType)} `
this.upload.visible = true this.upload.visible = true

View File

@ -1,30 +1,15 @@
<template> <template>
<el-form <el-form ref="uploadExcel" class="upload-excel-file">
ref="uploadExcel"
class="upload-excel-file"
>
<!-- 文件 --> <!-- 文件 -->
<el-form-item :label="$t('trials:consistencyCheck:label:file')"> <el-form-item :label="$t('trials:consistencyCheck:label:file')">
<div class="upload-container"> <div class="upload-container">
<el-upload <el-upload class="upload-demo" action accept=".xlsx,.xls,.csv" :before-upload="beforeUpload"
class="upload-demo" :http-request="handleUploadFile" :on-preview="handlePreview" :show-file-list="true" :limit="1"
action :on-exceed="handleExceed">
accept=".xlsx,.xls,.csv"
:before-upload="beforeUpload"
:http-request="handleUploadFile"
:on-preview="handlePreview"
:show-file-list="true"
:limit="1"
:on-exceed="handleExceed"
>
<el-button size="small" type="primary"> <el-button size="small" type="primary">
{{ $t('trials:consistencyCheck:dialogButton:upload') }} {{ $t('trials:consistencyCheck:dialogButton:upload') }}
</el-button> </el-button>
<span <span slot="tip" style="margin-left:10px;" class="el-upload__tip">
slot="tip"
style="margin-left:10px;"
class="el-upload__tip"
>
({{ $t('trials:consistencyCheck:message:excelFileOnly') }}) ({{ $t('trials:consistencyCheck:message:excelFileOnly') }})
</span> </span>
</el-upload> </el-upload>
@ -40,6 +25,10 @@ export default {
type: String, type: String,
required: true required: true
}, },
lesionType: {
type: Number,
required: true
},
TableName: { TableName: {
type: String, type: String,
default: '' default: ''
@ -101,21 +90,24 @@ export default {
</script> </script>
<style lang="scss"> <style lang="scss">
.upload-excel-file{ .upload-excel-file {
.upload-container .el-upload--text { .upload-container .el-upload--text {
border: none; border: none;
width: 80px; width: 80px;
height: 40px; height: 40px;
} }
.upload-container .el-input--small { .upload-container .el-input--small {
margin-bottom: 5px; margin-bottom: 5px;
} }
.upload-container .el-icon-circle-check { .upload-container .el-icon-circle-check {
color: #428bca; color: #428bca;
font-size: 13px; font-size: 13px;
} }
.account_item_clear{
.el-tag__close{ .account_item_clear {
.el-tag__close {
display: none !important; display: none !important;
} }
} }

View File

@ -64,7 +64,7 @@
data: { data: {
TableQuestionId: qs.Id, TableQuestionId: qs.Id,
RowIndex: qsForm.RowIndex, RowIndex: qsForm.RowIndex,
QuestionName: question.QuestionName QuestionName: qs.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -69,7 +69,20 @@
width="350px" width="350px"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.QuestionName" :style="{color: ((scope.row.isLymphNodes === 1 && scope.row.QuestionMark === 1) || (scope.row.isLymphNodes === 0 && scope.row.QuestionMark === 0)) && (scope.row.LesionType === 0 || scope.row.LesionType === 5) ? '#f66' : '#fff'}">{{ scope.row.QuestionName }}</span> <span v-if="scope.row.QuestionName" :style="{color: ((scope.row.isLymphNodes === 1 && scope.row.QuestionMark === 1) || (scope.row.isLymphNodes === 0 && scope.row.QuestionMark === 0)) && (scope.row.LesionType === 0 || scope.row.LesionType === 5) ? '#f66' : '#fff'}">{{ scope.row.QuestionName }}
<svg-icon
v-if="scope.row.ShowChartTypeEnum > 0 || (scope.row.LesionType === 0 && scope.row.ReportLayType === 1) || (scope.row.LesionType === 4 && scope.row.ReportLayType === 1)"
icon-class="readingChart" class="svg-icon svg-readingChart-mini" @click.stop="(e) => handleReadingChart({
e,
data: {
QuestionId: scope.row.RowIndex ? null : scope.row.QuestionId,
TableQuestionId: scope.row.RowIndex ? scope.row.TableQuestionId : null,
RowIndex: scope.row.RowIndex ? scope.row.RowIndex : null,
ReportChartTypeEnum: (scope.row.LesionType === 0 && scope.row.ReportLayType === 1) ? 0 : (scope.row.LesionType === 4 && scope.row.ReportLayType === 1) ? 1 : null,
QuestionName: scope.row.QuestionName
}
})" />
</span>
<span <span
v-else v-else
style="font-weight: bold;font-size: 16px;color: #f44336;" style="font-weight: bold;font-size: 16px;color: #f44336;"

View File

@ -46,15 +46,19 @@
sortable="custom" /> --> sortable="custom" /> -->
<!-- 标记访视数量 --> <!-- 标记访视数量 -->
<el-table-column prop="MarkVisitCount" :label="$t('trials:pendingReadingTasks:table:MarkVisitCount')" <el-table-column prop="MarkVisitCount" :label="$t('trials:pendingReadingTasks:table:MarkVisitCount')"
show-overflow-tooltip sortable="custom" /> show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ `${scope.row.MarkIVUSVisitCount || 0}/${scope.row.MarkOCTVisitCount || 0}` }}</span>
</template>
</el-table-column>
<!-- 标记dicom检查数量 --> <!-- 标记dicom检查数量 -->
<el-table-column prop="MarkDicomStudyCount" <!-- <el-table-column prop="MarkDicomStudyCount"
:label="$t('trials:pendingReadingTasks:table:MarkDicomStudyCount')" show-overflow-tooltip :label="$t('trials:pendingReadingTasks:table:MarkDicomStudyCount')" show-overflow-tooltip
sortable="custom" /> sortable="custom" /> -->
<!-- 标记非dicom检查数量 --> <!-- 标记非dicom检查数量 -->
<el-table-column prop="MarkNoneDicomStudyCount" <!-- <el-table-column prop="MarkNoneDicomStudyCount"
:label="$t('trials:pendingReadingTasks:table:MarkNoneDicomStudyCount')" show-overflow-tooltip :label="$t('trials:pendingReadingTasks:table:MarkNoneDicomStudyCount')" show-overflow-tooltip
sortable="custom" /> sortable="custom" /> -->
<el-table-column :label="$t('common:action:action')" width="100" fixed="right"> <el-table-column :label="$t('common:action:action')" width="100" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 阅片 --> <!-- 阅片 -->