阅片管理接口调试对接

main
wangxiaoshuang 2024-04-07 17:44:11 +08:00
parent bb04e1bc1d
commit d24bb92c07
10 changed files with 131 additions and 52 deletions

View File

@ -3524,3 +3524,11 @@ export function getTrialListHir(param) {
data: param data: param
}) })
} }
// 获取项目详情
export function getTrialInfoHir(id) {
return request({
url: `/Patient/getTrialInfo/${id}`,
method: 'get',
})
}

View File

@ -148,6 +148,7 @@
type="text" type="text"
@click.stop="detail(scope.row)" @click.stop="detail(scope.row)"
class="detail" class="detail"
disabled
>{{ $t("trials:trials-list:action:panel") }}</el-button >{{ $t("trials:trials-list:action:panel") }}</el-button
> >
</template> </template>
@ -404,10 +405,9 @@ export default {
console.log(err); console.log(err);
} }
}, },
// //
formatData() { formatData() {
if (this.tableSelectData.length <= 0) { if (this.tableSelectData.length <= 0) {
console.log(1111111111111111);
this.$message.warning( this.$message.warning(
this.$t("trials:inspection:formatData:notCheckStudy") this.$t("trials:inspection:formatData:notCheckStudy")
); );

View File

@ -60,10 +60,10 @@
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="140"
></el-table-column> ></el-table-column>
<!--受试者编号--> <!--访视数-->
<el-table-column <el-table-column
prop="Code" prop="Code"
:label="$t('trials:crcQuestion:table:subjectId')" :label="$t('trials:selftConsistencyAnalysis:table:visitNum')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="140"
></el-table-column> ></el-table-column>

View File

@ -109,7 +109,7 @@
$t("trials:inspection:button:image") $t("trials:inspection:button:image")
}}</el-button> }}</el-button>
<!-- 报告 --> <!-- 报告 -->
<el-button type="text" @click.stop="report(scope.row)">{{ <el-button type="text" @click.stop="report(scope.row)" disabled>{{
$t("trials:inspection:button:report") $t("trials:inspection:button:report")
}}</el-button> }}</el-button>
</template> </template>

View File

@ -32,9 +32,10 @@
<el-menu-item <el-menu-item
v-if="!hasPermi(['role:zys'])" v-if="!hasPermi(['role:zys'])"
index="2" index="2"
:disabled="TotalNeedSignSystemDocCount !== 0"
> >
<i class="el-icon-box" /> <i class="el-icon-box" />
<!-- 我的项目:disabled="TotalNeedSignSystemDocCount !== 0" --> <!-- 我的项目 -->
<span slot="title"> <span slot="title">
{{ $t("trials:tab:trials") }} {{ $t("trials:tab:trials") }}
</span> </span>

View File

@ -124,6 +124,7 @@ export default {
.sign-form-footer{ .sign-form-footer{
margin-top: 10px; margin-top: 10px;
text-align: right; text-align: right;
position: absolute;
} }
} }
</style> </style>

View File

@ -148,12 +148,14 @@
:label="$t('trials:trials-list:table:durationAuthorized')" :label="$t('trials:trials-list:table:durationAuthorized')"
prop="AuthorizationYear" prop="AuthorizationYear"
> >
<el-input <div style="position: relative;">
v-model="trialForm.AuthorizationYear" <el-input
type="number" v-model="trialForm.AuthorizationYear"
clearable type="number"
/> clearable
/>
<span style="position: absolute;right:-20px;top:0"></span>
</div>
</el-form-item> </el-form-item>
<!-- 授权时间 --> <!-- 授权时间 -->
<el-form-item <el-form-item
@ -214,7 +216,7 @@
<script> <script>
// import store from "@/store"; // import store from "@/store";
import { mapGetters, mapState } from "vuex"; import { mapGetters, mapState } from "vuex";
import { getTrialInfo, addOrUpdateTrialHir } from "@/api/trials"; import { getTrialInfoHir, addOrUpdateTrialHir } from "@/api/trials";
import { getBasicDataSelects } from "@/api/dictionary/dictionary"; import { getBasicDataSelects } from "@/api/dictionary/dictionary";
export default { export default {
name: "TrialForm", name: "TrialForm",
@ -368,7 +370,7 @@ export default {
methods: { methods: {
initForm() { initForm() {
this.loading = true; this.loading = true;
getTrialInfo(this.trialId) getTrialInfoHir(this.trialId)
.then((res) => { .then((res) => {
this.loading = false; this.loading = false;
if (res.IsSuccess) { if (res.IsSuccess) {

View File

@ -93,6 +93,7 @@
stripe stripe
height="100" height="100"
@sort-change="handleSortByColumn" @sort-change="handleSortByColumn"
:default-sort="{ prop: 'SubmitTime', order: 'descending' }"
> >
<el-table-column width="40"> <el-table-column width="40">
<template> <template>
@ -132,7 +133,7 @@
<!-- 患者姓名 --> <!-- 患者姓名 -->
<el-table-column <el-table-column
prop="SubjectShortName" prop="SubjectShortName"
:label="$t('trials:uploadDicomList:table:patientName')" :label="$t('trials:researchStaff:table:Name')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 性别 --> <!-- 性别 -->
@ -226,6 +227,7 @@
type="text" type="text"
v-hasPermi="['trials:trials-panel:hirVisit:remove']" v-hasPermi="['trials:trials-panel:hirVisit:remove']"
@click.stop="remove(scope.row)" @click.stop="remove(scope.row)"
disabled
>{{ $t("common:button:delete") }}</el-button >{{ $t("common:button:delete") }}</el-button
> >
<!--评估结果--> <!--评估结果-->
@ -233,6 +235,7 @@
type="text" type="text"
v-hasPermi="['trials:trials-panel:hirVisit:result']" v-hasPermi="['trials:trials-panel:hirVisit:result']"
@click.stop="result(scope.row)" @click.stop="result(scope.row)"
disabled
>{{ $t("trials:adReview:title:result") }}</el-button >{{ $t("trials:adReview:title:result") }}</el-button
> >
<!--下载影像--> <!--下载影像-->
@ -247,6 +250,7 @@
type="text" type="text"
v-hasPermi="['trials:trials-panel:hirVisit:download']" v-hasPermi="['trials:trials-panel:hirVisit:download']"
@click.stop="downloadReport(scope.row)" @click.stop="downloadReport(scope.row)"
disabled
>{{ $t("trials:reading:button:uploadReport") }}</el-button >{{ $t("trials:reading:button:uploadReport") }}</el-button
> >
</template> </template>

View File

@ -40,7 +40,7 @@
style="width: 150px" style="width: 150px"
> >
<el-option <el-option
v-for="item of visitOptions" v-for="item of $d.TaskState"
:key="item.id" :key="item.id"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
@ -56,7 +56,7 @@
style="width: 150px" style="width: 150px"
> >
<el-option <el-option
v-for="item of visitOptions" v-for="item of $d.ReadModuleEnum"
:key="item.id" :key="item.id"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
@ -100,40 +100,57 @@
stripe stripe
height="100" height="100"
@sort-change="handleSortByColumn" @sort-change="handleSortByColumn"
ref="redManagenentTable"
:default-sort="{ prop: 'CreateTime', order: 'descending' }"
> >
<el-table-column type="index" width="40" />
<!-- 受试者编号 --> <!-- 受试者编号 -->
<el-table-column <el-table-column
prop="StudyCode" prop="SubjectCode"
:label="$t('trials:uploadMonitor:table:subjectId')" :label="$t('trials:uploadMonitor:table:subjectId')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 患者编号 --> <!-- 患者编号 -->
<el-table-column <el-table-column
prop="StudyCode" prop="StudyCode"
:label="$t('trials:uploadMonitor:table:subjectId')" :label="$t('trials:uploadDicomList:table:pId')"
show-overflow-tooltip show-overflow-tooltip
/> >
<template slot-scope="scope">
<span
v-for="(item, index) in scope.row.PatientList"
:key="`${index}${item.PatientId}`"
>
{{
index === scope.row.PatientList.length - 1
? item.PatientIdStr
: `${item.PatientIdStr}, `
}}
</span>
</template></el-table-column
>
<!-- 患者姓名 --> <!-- 患者姓名 -->
<el-table-column <el-table-column
prop="StudyCode" prop="StudyCode"
:label="$t('trials:uploadDicomList:table:patientName')" :label="$t('trials:researchStaff:table:Name')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 访视名称 --> <!-- 任务名称 -->
<el-table-column <el-table-column
prop="StudyCode" prop="TaskBlindName"
:label="$t('trials:uploadMonitor:table:visitName')" :label="$t('trials:auditRecord:table:taskName')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 任务创建时间 --> <!-- 任务创建时间 -->
<el-table-column <el-table-column
prop="StudyCode" prop="CreateTime"
:label="$t('trials:reviewTrack:table:createTime')" :label="$t('trials:reviewTrack:table:createTime')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom"
/> />
<!-- 任务状态 --> <!-- 任务状态 -->
<el-table-column <el-table-column
prop="StudyCode" prop="TaskState"
:label="$t('trials:readTask:table:taskState')" :label="$t('trials:readTask:table:taskState')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
@ -147,18 +164,18 @@
/> />
<!-- 阅片标准 --> <!-- 阅片标准 -->
<el-table-column <el-table-column
prop="StudyCode" prop="TrialReadingCriterionName"
:label="$t('trials:processCfg:form:criterion')" :label="$t('trials:processCfg:form:criterion')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<!-- 建议完成时间 --> <!-- 建议完成时间 -->
<el-table-column <!-- <el-table-column
prop="StudyCode" prop="StudyCode"
:label="$t('trials:consistencyAnalysis:table:suggesteFinishedTime')" :label="$t('trials:consistencyAnalysis:table:suggesteFinishedTime')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> /> -->
<!--操作--> <!--操作-->
<el-table-column <el-table-column
:label="$t('common:action:action')" :label="$t('common:action:action')"
@ -167,13 +184,16 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<!--阅片结果--> <!--阅片结果-->
<el-button type="text" @click="readResult(scope.row)">{{ <el-button type="text" @click="readResult(scope.row)" disabled>{{
$t("trials:auditRecord:table:readingResult") $t("trials:auditRecord:table:readingResult")
}}</el-button> }}</el-button>
<!--下载报告--> <!--下载报告-->
<el-button type="text" @click="downloadReport(scope.row)">{{ <el-button
$t("trials:reading:button:uploadReport") type="text"
}}</el-button> @click="downloadReport(scope.row)"
disabled
>{{ $t("trials:reading:button:uploadReport") }}</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -197,12 +217,12 @@ const defaultSearchData = () => {
return { return {
SubjectCode: null, SubjectCode: null,
ReadingCategory: 1, ReadingCategory: 1,
ReadingTaskState: 0, ReadingTaskState: null,
TaskState: 0, TaskState: null,
BeginSignTime: null, BeginSignTime: null,
EndSignTime: null, EndSignTime: null,
PageIndex: 0, PageIndex: 1,
PageSize: 0, PageSize: 20,
Asc: false, Asc: false,
SortField: "CreateTime", SortField: "CreateTime",
}; };
@ -213,29 +233,69 @@ export default {
data() { data() {
return { return {
// //
searchData: {}, searchData: defaultSearchData(),
visitOptions: [], dateValue: [],
// //
list: [ list: [],
{
StudyCode: 1,
},
],
loading: false, loading: false,
total: 0, total: 0,
// //
editStudyVisible: false,
}; };
}, },
created() {
this.getList();
},
methods: { methods: {
// //
handleSearch() {}, handleSearch() {
this.getList();
},
// //
handleSearch() {}, handleReset() {
this.reset();
this.getList();
},
//
reset() {
this.searchData = defaultSearchData();
this.dateValue = [];
this.$refs.redManagenentTable.clearSort();
},
// //
handleSortByColumn() {}, handleSortByColumn(sort) {
this.searchData.SortField = sort.prop;
if (sort.order === "ascending") this.searchData.Asc = true;
if (sort.order === "descending") this.searchData.Asc = false;
if (!sort.order) this.searchData.SortField = null;
this.getList();
},
// //
async getList() {}, async getList() {
try {
let data = {};
Object.keys(this.searchData).forEach((key) => {
data[key] = this.searchData[key];
});
data.TrialId = this.$route.query.trialId;
if (this.dateValue[0] && this.dateValue[1]) {
data.earliestStudyTime = this.dateValue[0].toISOString();
data.latestStudyTime = this.dateValue[1].toISOString();
} else {
data.EarliestStudyTime = null;
data.LatestStudyTime = null;
}
this.loading = true;
let res = await getPatientVisitTaskList(data);
this.loading = false;
if (res.IsSuccess) {
this.list = res.Result.CurrentPageData;
this.total = res.Result.TotalCount;
}
} catch (err) {
this.loading = false;
console.log(err);
}
},
// //
downloadReport() {}, downloadReport() {},
// //

View File

@ -202,9 +202,12 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 查看 --> <!-- 查看 -->
<el-button type="text" @click="handleViewStudy(scope.row)">{{ <el-button
$t("trials:studyList:button:view") type="text"
}}</el-button> @click="handleViewStudy(scope.row)"
disabled
>{{ $t("trials:studyList:button:view") }}</el-button
>
<!-- 修改访视 --> <!-- 修改访视 -->
<el-button <el-button
type="text" type="text"