部分问题修复
parent
8bce382107
commit
7be972dd94
|
@ -0,0 +1,71 @@
|
||||||
|
<template>
|
||||||
|
<el-select
|
||||||
|
v-model="visit"
|
||||||
|
placeholder="请选择"
|
||||||
|
@visible-change="selectChange"
|
||||||
|
@change="handleChange"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in list"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
<p class="addVisit" @click.stop="add">
|
||||||
|
<i class="el-icon-plus" v-loading="loading"></i>
|
||||||
|
</p>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "visitSelect",
|
||||||
|
props: {
|
||||||
|
list: {
|
||||||
|
required: true,
|
||||||
|
default: () => {
|
||||||
|
return [];
|
||||||
|
},
|
||||||
|
},
|
||||||
|
modelData: {
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
loading: {
|
||||||
|
required: true,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visit: null,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
modelData: {
|
||||||
|
handler() {
|
||||||
|
this.visit = this.modelData;
|
||||||
|
},
|
||||||
|
immediate: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
add() {
|
||||||
|
this.$emit("add");
|
||||||
|
},
|
||||||
|
selectChange() {
|
||||||
|
this.$emit("selectChange");
|
||||||
|
},
|
||||||
|
handleChange() {
|
||||||
|
console.log(this.visit);
|
||||||
|
this.$emit("update:modelData", this.visit);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.addVisit {
|
||||||
|
margin: 0;
|
||||||
|
line-height: 34px;
|
||||||
|
text-align: center;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -208,7 +208,7 @@ export default {
|
||||||
this.status = "visit";
|
this.status = "visit";
|
||||||
this.$emit("getList");
|
this.$emit("getList");
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.confirmVisit.getList();
|
this.$refs.confirmVisit.getList(true);
|
||||||
this.$refs.confirmVisit.getSubjectVisitSelectList();
|
this.$refs.confirmVisit.getSubjectVisitSelectList();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,6 +78,7 @@
|
||||||
:label="$t('trials:uploadDicomList:table:pId')"
|
:label="$t('trials:uploadDicomList:table:pId')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!--患者姓名-->
|
<!--患者姓名-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -86,6 +87,7 @@
|
||||||
:label="$t('trials:uploadDicomList:table:patientName')"
|
:label="$t('trials:uploadDicomList:table:patientName')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!--检查描述-->
|
<!--检查描述-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -94,6 +96,7 @@
|
||||||
:label="$t('trials:inspection:table:studyDescription')"
|
:label="$t('trials:inspection:table:studyDescription')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!--检查类型-->
|
<!--检查类型-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -102,6 +105,7 @@
|
||||||
:label="$t('trials:audit:table:modality')"
|
:label="$t('trials:audit:table:modality')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!--序列数-->
|
<!--序列数-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -110,6 +114,16 @@
|
||||||
:label="$t('trials:audit:table:seriesCount')"
|
:label="$t('trials:audit:table:seriesCount')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
|
></el-table-column>
|
||||||
|
<!--图像数量-->
|
||||||
|
<el-table-column
|
||||||
|
align="center"
|
||||||
|
prop="InstanceCount"
|
||||||
|
:label="$t('trials:audit:table:instanceCount')"
|
||||||
|
show-overflow-tooltip
|
||||||
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!--检查日期-->
|
<!--检查日期-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -128,21 +142,13 @@
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<!--切换访视-->
|
<!--切换访视-->
|
||||||
<el-select
|
<visitSelect
|
||||||
v-model="scope.row.SubjectVisitId"
|
:modelData.sync="scope.row.SubjectVisitId"
|
||||||
placeholder="请选择"
|
:loading="addLoading"
|
||||||
@visible-change="selectChange"
|
:list="visitList"
|
||||||
>
|
@add="addVisit"
|
||||||
<el-option
|
@selectChange="selectChange"
|
||||||
v-for="item in visitList"
|
/>
|
||||||
:key="item.SubjectVisitId"
|
|
||||||
:label="item.VisitName"
|
|
||||||
:value="item.SubjectVisitId"
|
|
||||||
/>
|
|
||||||
<p class="addVisit" @click.stop="addVisit">
|
|
||||||
<i class="el-icon-plus" v-loading="addLoading"></i>
|
|
||||||
</p>
|
|
||||||
</el-select>
|
|
||||||
<!-- 详情 -->
|
<!-- 详情 -->
|
||||||
<el-button
|
<el-button
|
||||||
type="text"
|
type="text"
|
||||||
|
@ -167,6 +173,7 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import Pagination from "@/components/Pagination";
|
import Pagination from "@/components/Pagination";
|
||||||
|
import visitSelect from "@/components/visitSelect";
|
||||||
import {
|
import {
|
||||||
getVisitPatientStudyList,
|
getVisitPatientStudyList,
|
||||||
getSubjectVisitSelectList,
|
getSubjectVisitSelectList,
|
||||||
|
@ -187,7 +194,7 @@ const defaultSearchData = () => {
|
||||||
};
|
};
|
||||||
export default {
|
export default {
|
||||||
name: "confirmVisitList",
|
name: "confirmVisitList",
|
||||||
components: { Pagination },
|
components: { Pagination, visitSelect },
|
||||||
props: {
|
props: {
|
||||||
Patient: {
|
Patient: {
|
||||||
required: true,
|
required: true,
|
||||||
|
@ -248,6 +255,9 @@ export default {
|
||||||
this.visitRule = res.OtherInfo;
|
this.visitRule = res.OtherInfo;
|
||||||
this.visitList = res.Result.map((item) => {
|
this.visitList = res.Result.map((item) => {
|
||||||
item.SubjectVisitId = item.Id;
|
item.SubjectVisitId = item.Id;
|
||||||
|
item.id = item.Id;
|
||||||
|
item.label = item.VisitName;
|
||||||
|
item.value = item.Id;
|
||||||
return item;
|
return item;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -277,7 +287,7 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 获取列表
|
// 获取列表
|
||||||
async getList() {
|
async getList(flag = false) {
|
||||||
if (this.status === "trial") {
|
if (this.status === "trial") {
|
||||||
return this.$message.warning(
|
return this.$message.warning(
|
||||||
this.$t("trials:inspection:message:checkAddTrials")
|
this.$t("trials:inspection:message:checkAddTrials")
|
||||||
|
@ -307,6 +317,11 @@ export default {
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.list = res.Result.CurrentPageData;
|
this.list = res.Result.CurrentPageData;
|
||||||
this.total = res.Result.TotalCount;
|
this.total = res.Result.TotalCount;
|
||||||
|
if (flag) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.handleAllSelect();
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
|
@ -334,6 +349,10 @@ export default {
|
||||||
// console.log(selection);
|
// console.log(selection);
|
||||||
this.tableSelectData = selection;
|
this.tableSelectData = selection;
|
||||||
},
|
},
|
||||||
|
// 表格全选
|
||||||
|
handleAllSelect() {
|
||||||
|
this.$refs.confirmVisitList.toggleAllSelection();
|
||||||
|
},
|
||||||
// 表格排序
|
// 表格排序
|
||||||
handleSortByColumn(sort) {
|
handleSortByColumn(sort) {
|
||||||
this.searchData.SortField = sort.prop;
|
this.searchData.SortField = sort.prop;
|
||||||
|
@ -457,10 +476,4 @@ export default {
|
||||||
.detail {
|
.detail {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
.addVisit {
|
|
||||||
margin: 0;
|
|
||||||
line-height: 34px;
|
|
||||||
text-align: center;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
|
@ -73,7 +73,11 @@
|
||||||
:label="$t('trials:subject:table:gender')"
|
:label="$t('trials:subject:table:gender')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="140"
|
||||||
></el-table-column>
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ $fd("sex", Number(scope.row.Sex)) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!--申办方-->
|
<!--申办方-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="Sponsor"
|
prop="Sponsor"
|
||||||
|
|
|
@ -233,7 +233,7 @@ export default {
|
||||||
inputChange(v) {
|
inputChange(v) {
|
||||||
this.resultFilter = this.options.filter((o) => {
|
this.resultFilter = this.options.filter((o) => {
|
||||||
var reg = new RegExp(v, "ig");
|
var reg = new RegExp(v, "ig");
|
||||||
return reg.test(o.ResearchProgramNo) || reg.test(o.Indication);
|
return reg.test(o.ResearchProgramNo) || reg.test(o.ExperimentName)|| reg.test(o.SponsorName);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -75,6 +75,7 @@
|
||||||
:label="$t('trials:inspection:table:studyDescription')"
|
:label="$t('trials:inspection:table:studyDescription')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!--检查类型-->
|
<!--检查类型-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -83,14 +84,43 @@
|
||||||
:label="$t('trials:audit:table:modality')"
|
:label="$t('trials:audit:table:modality')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!--序列数-->
|
<!--Called AE-->
|
||||||
|
<el-table-column
|
||||||
|
prop="CalledAE"
|
||||||
|
label="Called AE"
|
||||||
|
show-overflow-tooltip
|
||||||
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<!--Calling AE-->
|
||||||
|
<el-table-column
|
||||||
|
prop="CallingAE"
|
||||||
|
label="Calling AE"
|
||||||
|
show-overflow-tooltip
|
||||||
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<!--序列数量-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
align="center"
|
align="center"
|
||||||
prop="SeriesCount"
|
prop="SeriesCount"
|
||||||
:label="$t('trials:audit:table:seriesCount')"
|
:label="$t('trials:audit:table:seriesCount')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
|
></el-table-column>
|
||||||
|
<!--图像数量-->
|
||||||
|
<el-table-column
|
||||||
|
align="center"
|
||||||
|
prop="InstanceCount"
|
||||||
|
:label="$t('trials:audit:table:instanceCount')"
|
||||||
|
show-overflow-tooltip
|
||||||
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!--检查日期-->
|
<!--检查日期-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
|
|
@ -82,6 +82,7 @@
|
||||||
:label="$t('trials:uploadDicomList:table:pId')"
|
:label="$t('trials:uploadDicomList:table:pId')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!--患者姓名-->
|
<!--患者姓名-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -89,6 +90,7 @@
|
||||||
:label="$t('trials:uploadDicomList:table:patientName')"
|
:label="$t('trials:uploadDicomList:table:patientName')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!--出生日期-->
|
<!--出生日期-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -96,6 +98,7 @@
|
||||||
:label="$t('trials:inspection:table:birthdate')"
|
:label="$t('trials:inspection:table:birthdate')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!--性别-->
|
<!--性别-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -103,13 +106,15 @@
|
||||||
:label="$t('trials:trials-myinfo:form:gender')"
|
:label="$t('trials:trials-myinfo:form:gender')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!--DICOM AE-->
|
<!--Called AE-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="CalledAEList"
|
prop="CalledAEList"
|
||||||
:label="$t('trials:inspection:table:DICOMAE')"
|
label="Called AE"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span
|
<span
|
||||||
|
@ -121,6 +126,26 @@
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<!--Calling AE-->
|
||||||
|
<el-table-column
|
||||||
|
prop="CallingAEList"
|
||||||
|
label="Calling AE"
|
||||||
|
show-overflow-tooltip
|
||||||
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span
|
||||||
|
v-for="(item, index) in scope.row.CallingAEList"
|
||||||
|
:key="`CallingAEList${index}`"
|
||||||
|
>{{
|
||||||
|
index === scope.row.CallingAEList.length - 1
|
||||||
|
? item
|
||||||
|
: `${item}, `
|
||||||
|
}}</span
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!-- 研究名称 -->
|
<!-- 研究名称 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="TrialList"
|
prop="TrialList"
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -29,7 +29,15 @@
|
||||||
:label="$t('trials:auditRecord:table:visit')"
|
:label="$t('trials:auditRecord:table:visit')"
|
||||||
prop="SubjectVisitId"
|
prop="SubjectVisitId"
|
||||||
>
|
>
|
||||||
<el-select v-model="form.SubjectVisitId" clearable>
|
<!--切换访视-->
|
||||||
|
<visitSelect
|
||||||
|
:modelData.sync="form.SubjectVisitId"
|
||||||
|
:loading="addLoading"
|
||||||
|
:list="visitList"
|
||||||
|
@add="addVisit"
|
||||||
|
@selectChange="selectChange"
|
||||||
|
/>
|
||||||
|
<!-- <el-select v-model="form.SubjectVisitId" clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of visitList"
|
v-for="item of visitList"
|
||||||
:key="item.SubjectVisitId"
|
:key="item.SubjectVisitId"
|
||||||
|
@ -37,7 +45,7 @@
|
||||||
:value="item.SubjectVisitId"
|
:value="item.SubjectVisitId"
|
||||||
>
|
>
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select> -->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
@ -70,9 +78,12 @@
|
||||||
import {
|
import {
|
||||||
getSubjectVisitSelectList,
|
getSubjectVisitSelectList,
|
||||||
addSubjectPatientStudyBinding,
|
addSubjectPatientStudyBinding,
|
||||||
|
addOrUpdateSubjectVisit,
|
||||||
} from "@/api/inspection.js";
|
} from "@/api/inspection.js";
|
||||||
|
import visitSelect from "@/components/visitSelect";
|
||||||
export default {
|
export default {
|
||||||
name: "editVisitDialog",
|
name: "editVisitDialog",
|
||||||
|
components: { visitSelect },
|
||||||
props: {
|
props: {
|
||||||
visible: {
|
visible: {
|
||||||
required: true,
|
required: true,
|
||||||
|
@ -101,6 +112,8 @@ export default {
|
||||||
},
|
},
|
||||||
btnLoading: false,
|
btnLoading: false,
|
||||||
visitList: [],
|
visitList: [],
|
||||||
|
visitRule: {},
|
||||||
|
addLoading: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
@ -145,6 +158,33 @@ export default {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// 下拉框出现刷新访视
|
||||||
|
selectChange(flag) {
|
||||||
|
if (flag) {
|
||||||
|
this.getSubjectVisitSelectList();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 新增访视
|
||||||
|
async addVisit() {
|
||||||
|
let data = {
|
||||||
|
TrialId: this.data.TrialId,
|
||||||
|
SubjectId: this.data.SubjectId,
|
||||||
|
};
|
||||||
|
data.VisitNum = this.visitList.length;
|
||||||
|
data.VisitName =
|
||||||
|
this.visitRule.BlindFollowUpPrefix + " " + this.visitList.length;
|
||||||
|
try {
|
||||||
|
this.addLoading = true;
|
||||||
|
let res = await addOrUpdateSubjectVisit(data);
|
||||||
|
this.addLoading = false;
|
||||||
|
if (res.IsSuccess) {
|
||||||
|
this.getSubjectVisitSelectList();
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
this.addLoading = false;
|
||||||
|
console.log(err);
|
||||||
|
}
|
||||||
|
},
|
||||||
// 获取已存在的访视
|
// 获取已存在的访视
|
||||||
async getSubjectVisitSelectList() {
|
async getSubjectVisitSelectList() {
|
||||||
let data = {
|
let data = {
|
||||||
|
@ -154,9 +194,12 @@ export default {
|
||||||
try {
|
try {
|
||||||
let res = await getSubjectVisitSelectList(data);
|
let res = await getSubjectVisitSelectList(data);
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
// this.visitRule = res.OtherInfo;
|
this.visitRule = res.OtherInfo;
|
||||||
this.visitList = res.Result.map((item) => {
|
this.visitList = res.Result.map((item) => {
|
||||||
item.SubjectVisitId = item.Id;
|
item.SubjectVisitId = item.Id;
|
||||||
|
item.id = item.Id;
|
||||||
|
item.label = item.VisitName;
|
||||||
|
item.value = item.Id;
|
||||||
return item;
|
return item;
|
||||||
});
|
});
|
||||||
this.form.SubjectVisitId = this.data.SubjectVisitId;
|
this.form.SubjectVisitId = this.data.SubjectVisitId;
|
||||||
|
|
|
@ -113,23 +113,11 @@
|
||||||
/>
|
/>
|
||||||
<!-- 患者编号 -->
|
<!-- 患者编号 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="PatientList.PatientIdStr"
|
prop="PatientIdStr"
|
||||||
:label="$t('trials:uploadDicomList:table:pId')"
|
:label="$t('trials:uploadDicomList:table:pId')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="100"
|
min-width="100"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
|
||||||
<span
|
|
||||||
v-for="(item, index) in scope.row.PatientList"
|
|
||||||
:key="item.PatientId"
|
|
||||||
>
|
|
||||||
{{
|
|
||||||
index === scope.row.PatientList.length - 1
|
|
||||||
? item.PatientIdStr
|
|
||||||
: `${item.PatientIdStr}, `
|
|
||||||
}}
|
|
||||||
</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- 姓名 -->
|
<!-- 姓名 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -159,6 +147,24 @@
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
min-width="100"
|
min-width="100"
|
||||||
/> -->
|
/> -->
|
||||||
|
<!--Called AE-->
|
||||||
|
<el-table-column
|
||||||
|
prop="CalledAE"
|
||||||
|
label="Called AE"
|
||||||
|
show-overflow-tooltip
|
||||||
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<!--Calling AE-->
|
||||||
|
<el-table-column
|
||||||
|
prop="CallingAE"
|
||||||
|
label="Calling AE"
|
||||||
|
show-overflow-tooltip
|
||||||
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
<!-- 检查设备 -->
|
<!-- 检查设备 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="Modalities"
|
prop="Modalities"
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 性别 -->
|
<!-- 性别 -->
|
||||||
<el-form-item :label="$t('trials:subject:table:gender')">
|
<el-form-item :label="$t('trials:subject:table:gender')">
|
||||||
<el-select v-model="searchData.PatientSex" clearable>
|
<el-select v-model="searchData.SubjectSex" clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of $d.sex"
|
v-for="item of $d.sex"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
|
|
|
@ -43,6 +43,10 @@
|
||||||
>
|
>
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
|
<p>
|
||||||
|
{{ this.$t("trials:subject:messge:patient") }}
|
||||||
|
<span></span>
|
||||||
|
</p>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
|
@ -56,15 +60,16 @@
|
||||||
<!--患者-->
|
<!--患者-->
|
||||||
<el-form-item :label="$t('trials:subject:messge:patient')">
|
<el-form-item :label="$t('trials:subject:messge:patient')">
|
||||||
<el-input
|
<el-input
|
||||||
:value="selectPatient.map((item) => item.PatientIdStr)"
|
:value="selectPatient.map((item) => item.PatientIdStr).join(', ')"
|
||||||
disabled
|
disabled
|
||||||
:title="selectPatient.map((item) => item.PatientIdStr)"
|
:title="selectPatient.map((item) => item.PatientIdStr).join(', ')"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="patient_model.visible = true"
|
@click.stop="openPatientList"
|
||||||
v-if="status === 'trial'"
|
v-if="status === 'trial'"
|
||||||
|
:disabled="!submitMessage.SubjectId"
|
||||||
>
|
>
|
||||||
{{ $t("common:button:add") }}
|
{{ $t("common:button:add") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
|
@ -81,6 +86,7 @@
|
||||||
<SubjectPatientList
|
<SubjectPatientList
|
||||||
@addPatient="addPatient"
|
@addPatient="addPatient"
|
||||||
:visible.sync="patient_model.visible"
|
:visible.sync="patient_model.visible"
|
||||||
|
:submitMessage="submitMessage"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</base-model>
|
</base-model>
|
||||||
|
@ -136,9 +142,8 @@ export default {
|
||||||
appendToBody: true,
|
appendToBody: true,
|
||||||
},
|
},
|
||||||
btnLoading: false,
|
btnLoading: false,
|
||||||
submitMessage: {},
|
submitMessage: { SubjectId: null },
|
||||||
selectPatient: [],
|
selectPatient: [],
|
||||||
tableSelectData: [],
|
|
||||||
subjectIdList: [],
|
subjectIdList: [],
|
||||||
rules: {
|
rules: {
|
||||||
SubjectId: [
|
SubjectId: [
|
||||||
|
@ -151,6 +156,17 @@ export default {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
bindPatientTip() {
|
||||||
|
if (!this.submitMessage.SubjectId) return false;
|
||||||
|
let PatientList = this.subjectIdList.map((item) => {
|
||||||
|
if (item.SubjectId === this.submitMessage.SubjectId) {
|
||||||
|
return item.PatientList;
|
||||||
|
}
|
||||||
|
})[0];
|
||||||
|
if (PatientList.length <= 0) return false;
|
||||||
|
},
|
||||||
|
},
|
||||||
created() {
|
created() {
|
||||||
this.researchProgramNo = this.$route.query.researchProgramNo;
|
this.researchProgramNo = this.$route.query.researchProgramNo;
|
||||||
this.getTrialSubejctSelectList(this.$route.query.trialId);
|
this.getTrialSubejctSelectList(this.$route.query.trialId);
|
||||||
|
@ -200,14 +216,11 @@ export default {
|
||||||
this.$refs.confirmVisit.getList();
|
this.$refs.confirmVisit.getList();
|
||||||
this.$refs.confirmVisit.getSubjectVisitSelectList();
|
this.$refs.confirmVisit.getSubjectVisitSelectList();
|
||||||
});
|
});
|
||||||
// this.$emit("update:visible", false);
|
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.btnLoading = false;
|
this.btnLoading = false;
|
||||||
console.log(err);
|
console.log(err);
|
||||||
}
|
}
|
||||||
// this.$emit("update:visible", false);
|
|
||||||
// this.$emit("handleOpenDialog", {}, "confirm");
|
|
||||||
},
|
},
|
||||||
// 获取受试者列表
|
// 获取受试者列表
|
||||||
async getTrialSubejctSelectList(id) {
|
async getTrialSubejctSelectList(id) {
|
||||||
|
@ -223,58 +236,14 @@ export default {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 获取列表
|
// 打开患者弹框
|
||||||
async getList() {
|
openPatientList() {
|
||||||
let data = {};
|
if (!this.submitMessage.SubjectId) {
|
||||||
Object.keys(this.searchData).forEach((key) => {
|
return this.$message.warning(
|
||||||
data[key] = this.searchData[key];
|
this.$t("trials:inscept:rules:selectOrInputSubject")
|
||||||
});
|
);
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
try {
|
this.patient_model.visible = true;
|
||||||
this.loading = true;
|
|
||||||
let res = await getPatientInitList(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);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// 查询
|
|
||||||
handleSearch() {
|
|
||||||
this.getList();
|
|
||||||
},
|
|
||||||
// 重置
|
|
||||||
handleReset() {
|
|
||||||
this.reset();
|
|
||||||
this.getList();
|
|
||||||
},
|
|
||||||
// 初始化
|
|
||||||
reset() {
|
|
||||||
this.searchData = defaultSearchData();
|
|
||||||
this.dateValue = [];
|
|
||||||
this.$refs.addSubjectList.clearSort();
|
|
||||||
},
|
|
||||||
// 表格选择
|
|
||||||
handleSelectChange(selection) {
|
|
||||||
this.tableSelectData = selection;
|
|
||||||
},
|
|
||||||
// 排序
|
|
||||||
handleSortByColumn() {
|
|
||||||
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();
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -107,12 +107,13 @@
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="140"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!--DICOM AE-->
|
<!--Called AE-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="CalledAEList"
|
prop="CalledAEList"
|
||||||
:label="$t('trials:inspection:table:DICOMAE')"
|
label="Called AE"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span
|
<span
|
||||||
|
@ -126,6 +127,26 @@
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<!--Calling AE-->
|
||||||
|
<el-table-column
|
||||||
|
prop="CallingAEList"
|
||||||
|
label="Calling AE"
|
||||||
|
show-overflow-tooltip
|
||||||
|
min-width="140"
|
||||||
|
sortable="custom"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span
|
||||||
|
v-for="(item, index) in scope.row.CallingAEList"
|
||||||
|
:key="`CallingAEList${index}`"
|
||||||
|
>{{
|
||||||
|
index === scope.row.CallingAEList.length - 1
|
||||||
|
? item
|
||||||
|
: `${item}, `
|
||||||
|
}}</span
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!--最新接收时间-->
|
<!--最新接收时间-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="LatestPushTime"
|
prop="LatestPushTime"
|
||||||
|
@ -171,6 +192,12 @@ export default {
|
||||||
required: true,
|
required: true,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
submitMessage: {
|
||||||
|
required: true,
|
||||||
|
default: () => {
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -203,6 +230,7 @@ export default {
|
||||||
data[key] = this.searchData[key];
|
data[key] = this.searchData[key];
|
||||||
});
|
});
|
||||||
data.TrialId = this.$route.query.trialId;
|
data.TrialId = this.$route.query.trialId;
|
||||||
|
data.SubjectId = this.submitMessage.SubjectId;
|
||||||
try {
|
try {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
let res = await getPatientInitList(data);
|
let res = await getPatientInitList(data);
|
||||||
|
|
|
@ -91,7 +91,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { getTrialInfo } from '@/api/trials'
|
import { getTrialInfoHir } from '@/api/trials'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -108,7 +108,7 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
initForm() {
|
initForm() {
|
||||||
this.formLoading = true
|
this.formLoading = true
|
||||||
getTrialInfo(this.trialId).then(res => {
|
getTrialInfoHir(this.trialId).then(res => {
|
||||||
this.formLoading = false
|
this.formLoading = false
|
||||||
this.trialInfo = res.Result
|
this.trialInfo = res.Result
|
||||||
this.trialInfo.ReviewTypeList = this.trialInfo.ReviewTypeList.length > 0 ? this.trialInfo.ReviewTypeList.join(', ') : ''
|
this.trialInfo.ReviewTypeList = this.trialInfo.ReviewTypeList.length > 0 ? this.trialInfo.ReviewTypeList.join(', ') : ''
|
||||||
|
|
Loading…
Reference in New Issue