访视详情、检查自动绑定
parent
4c788d60cc
commit
39b9249ae7
|
@ -10,6 +10,15 @@ export function getPatientStudyBeforeConfirmList(data) {
|
|||
})
|
||||
}
|
||||
|
||||
// 检查列表->未提交->自动绑定
|
||||
export function autoBindingPatientStudyVisit(data) {
|
||||
return request({
|
||||
url: '/Patient/autoBindingPatientStudyVisit',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 检查列表->已提交
|
||||
export function getTrialPatientStudyList(data) {
|
||||
return request({
|
||||
|
|
|
@ -35,21 +35,15 @@
|
|||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="buttonBox" v-if="status === 'visit'">
|
||||
<!--确认-->
|
||||
<el-button
|
||||
type="primary"
|
||||
:loading="btnLoading2"
|
||||
@click="confirm"
|
||||
v-if="visitStatus === 'confirm'"
|
||||
>
|
||||
<!--确认v-if="visitStatus === 'confirm'"-->
|
||||
<el-button type="primary" :loading="btnLoading2" @click="confirm">
|
||||
{{ $t("trials:seletctedReviews:timeline:confirmation") }}
|
||||
</el-button>
|
||||
<!--确认提交-->
|
||||
<!--确认提交v-if="visitStatus === 'submit'"-->
|
||||
<el-button
|
||||
type="primary"
|
||||
:loading="btnLoading2"
|
||||
@click="confirmSubmit"
|
||||
v-if="visitStatus === 'submit'"
|
||||
>
|
||||
{{ $t("trials:inspection:button:confirmAndSubmit") }}
|
||||
</el-button>
|
||||
|
|
|
@ -0,0 +1,158 @@
|
|||
<template>
|
||||
<div class="currentStudy">
|
||||
<div class="functions" style="text-align: right">
|
||||
<!-- 预览 -->
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
:disabled="list.length === 0"
|
||||
icon="el-icon-view"
|
||||
@click="handlePreviewAllFiles"
|
||||
>
|
||||
{{ $t("trials:uploadedDicoms:action:preview") }}
|
||||
</el-button>
|
||||
</div>
|
||||
<!--当前检查--->
|
||||
<div class="topTable">
|
||||
<!--当前检查列表 @selection-change="handleSelectChange"--->
|
||||
<el-table
|
||||
ref="addTrialsList"
|
||||
v-loading="loading"
|
||||
:data="list"
|
||||
stripe
|
||||
height="300"
|
||||
>
|
||||
<!-- <el-table-column type="selection" align="center" width="45" /> -->
|
||||
<!--患者编号-->
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="PatientIdStr"
|
||||
:label="$t('trials:uploadDicomList:table:pId')"
|
||||
show-overflow-tooltip
|
||||
></el-table-column>
|
||||
<!--检查类型-->
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="Modalities"
|
||||
:label="$t('trials:audit:table:modality')"
|
||||
show-overflow-tooltip
|
||||
></el-table-column>
|
||||
<!--序列数量-->
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="SeriesCount"
|
||||
:label="$t('trials:audit:table:seriesCount')"
|
||||
show-overflow-tooltip
|
||||
></el-table-column>
|
||||
<!--图像数量-->
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="InstanceCount"
|
||||
:label="$t('trials:audit:table:instanceCount')"
|
||||
show-overflow-tooltip
|
||||
></el-table-column>
|
||||
<!--检查日期-->
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="StudyTime"
|
||||
:label="$t('trials:audit:table:studyDate')"
|
||||
show-overflow-tooltip
|
||||
></el-table-column>
|
||||
<!--所属访视-->
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="VisitName"
|
||||
:label="$t('trials:hirVisit:table:ownershipVisit')"
|
||||
show-overflow-tooltip
|
||||
></el-table-column>
|
||||
<!--操作-->
|
||||
<el-table-column
|
||||
:label="$t('common:action:action')"
|
||||
width="300"
|
||||
class-name="actionBox"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<!-- 预览 -->
|
||||
<el-button
|
||||
icon="el-icon-view"
|
||||
:disabled="scope.row.SeriesCount === 0 || scope.row.IsDeleted"
|
||||
:title="$t('trials:uploadedDicoms:action:preview')"
|
||||
circle
|
||||
@click="handleViewStudy(scope.row)"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getCurrentVisitPatientStudyList } from "@/api/trials/visit.js";
|
||||
import { getToken } from "@/utils/auth";
|
||||
export default {
|
||||
name: "currentStudy",
|
||||
props: {
|
||||
data: {
|
||||
required: true,
|
||||
default: () => {
|
||||
return {};
|
||||
},
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 当前检查列表
|
||||
list: [],
|
||||
loading: false,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
// 获取当前检查列表
|
||||
async getList() {
|
||||
try {
|
||||
let data = {
|
||||
SujectVisitId: this.data.SubjectVisitId,
|
||||
};
|
||||
this.loading = true;
|
||||
let res = await getCurrentVisitPatientStudyList(data);
|
||||
this.loading = false;
|
||||
if (res.IsSuccess) {
|
||||
this.list = res.Result;
|
||||
}
|
||||
} catch (err) {
|
||||
this.loading = false;
|
||||
console.log(err);
|
||||
}
|
||||
},
|
||||
// 预览所有影像
|
||||
handlePreviewAllFiles() {
|
||||
var tokenKey = getToken();
|
||||
const routeData = this.$router.resolve({
|
||||
path: `/showvisitdicoms?trialId=${this.data.TrialId}&visitInfo=${this.data.VisitName}(${this.data.VisitNum})&subjectVisitId=${this.data.Id}&TokenKey=${tokenKey}`,
|
||||
});
|
||||
var newWindow = window.open(routeData.href, "_blank");
|
||||
this.$emit("setOpenWindow", newWindow);
|
||||
},
|
||||
// 预览影像
|
||||
handleViewStudy(row) {
|
||||
var token = getToken();
|
||||
const routeData = this.$router.resolve({
|
||||
path: `/showdicom?studyId=${row.StudyId}&TokenKey=${token}&type=Study`,
|
||||
});
|
||||
var newWindow = window.open(routeData.href, "_blank");
|
||||
this.$emit("setOpenWindow", newWindow);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.currentStudy {
|
||||
.delete-row {
|
||||
text-decoration-line: line-through;
|
||||
color: #c0c4cc;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -98,11 +98,7 @@
|
|||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
getSubjectVisitUploadedStudyList,
|
||||
deleteStudyList,
|
||||
updateModality,
|
||||
} from "@/api/trials";
|
||||
import { getSubjectVisitUploadedStudyList } from "@/api/trials";
|
||||
import moment from "moment";
|
||||
import { getToken } from "@/utils/auth";
|
||||
export default {
|
||||
|
@ -195,7 +191,7 @@ export default {
|
|||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss">
|
||||
<style lang="scss" scoped>
|
||||
.study-info {
|
||||
.delete-row {
|
||||
text-decoration-line: line-through;
|
||||
|
|
|
@ -11,8 +11,9 @@
|
|||
<el-breadcrumb-item v-show="rowData.SubjectCode">{{
|
||||
rowData.SubjectCode
|
||||
}}</el-breadcrumb-item>
|
||||
<!-- (${rowData.VisitNum})-->
|
||||
<el-breadcrumb-item v-show="rowData.VisitName">{{
|
||||
`${rowData.VisitName} (${rowData.VisitNum})`
|
||||
`${rowData.VisitName}`
|
||||
}}</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
</span>
|
||||
|
@ -30,7 +31,7 @@
|
|||
<!-- 检查列表 -->
|
||||
<h4 class="box-title">{{ $t("trials:dicom-show:nowStudy") }}</h4>
|
||||
<el-card class="box-card">
|
||||
<StudyInfo
|
||||
<currentStudy
|
||||
v-if="rowData.SubjectId"
|
||||
:data="rowData"
|
||||
@getList="getList"
|
||||
|
@ -42,9 +43,10 @@
|
|||
</template>
|
||||
<script>
|
||||
import StudyInfo from "./studyInfo.vue";
|
||||
import currentStudy from "./current-study.vue";
|
||||
export default {
|
||||
name: "visitInfo",
|
||||
components: { StudyInfo },
|
||||
components: { StudyInfo, currentStudy },
|
||||
props: {
|
||||
visible: {
|
||||
required: true,
|
||||
|
|
|
@ -102,6 +102,15 @@
|
|||
>
|
||||
{{ $t("common:button:reset") }}
|
||||
</el-button>
|
||||
<!-- 自动绑定 -->
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="automaticBind"
|
||||
:loading="automaticBindLoading"
|
||||
v-if="activeName === 'notSubmit'"
|
||||
>
|
||||
{{ $t("trials:study:button:automaticBind") }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
|
@ -315,6 +324,7 @@ import editVisit from "./edit-visit";
|
|||
import {
|
||||
getPatientStudyBeforeConfirmList,
|
||||
getTrialPatientStudyList,
|
||||
autoBindingPatientStudyVisit,
|
||||
} from "@/api/trials/study.js";
|
||||
const defaultSearchData = () => {
|
||||
return {
|
||||
|
@ -356,12 +366,34 @@ export default {
|
|||
// 修改访视相关
|
||||
editVisitVisible: false,
|
||||
editVisitMessage: {},
|
||||
// 自动绑定
|
||||
automaticBindLoading: false,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
// 自动绑定
|
||||
async automaticBind() {
|
||||
try {
|
||||
let data = {
|
||||
TrialId: this.$route.query.trialId,
|
||||
};
|
||||
this.automaticBindLoading = true;
|
||||
let res = await autoBindingPatientStudyVisit(data);
|
||||
this.automaticBindLoading = false;
|
||||
if (res.IsSuccess) {
|
||||
this.$message.success(
|
||||
this.$t("trials:study:message:bindSuccessfully")
|
||||
);
|
||||
this.getList();
|
||||
}
|
||||
} catch (err) {
|
||||
this.automaticBindLoading = false;
|
||||
console.log(err);
|
||||
}
|
||||
},
|
||||
// 修改访视
|
||||
editVisitFn(item) {
|
||||
this.editVisitVisible = true;
|
||||
|
|
Loading…
Reference in New Issue