部分问题修复
parent
c102dbe9f2
commit
7c56ec3c6a
|
@ -4,6 +4,7 @@
|
|||
placeholder="请选择"
|
||||
@visible-change="selectChange"
|
||||
@change="handleChange"
|
||||
:disabled="disabled"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in list"
|
||||
|
@ -34,6 +35,9 @@ export default {
|
|||
return {};
|
||||
},
|
||||
},
|
||||
disabled: {
|
||||
default: false,
|
||||
},
|
||||
modelData: {
|
||||
required: true,
|
||||
},
|
||||
|
|
|
@ -4,7 +4,7 @@ import {
|
|||
} from 'element-ui/src/utils/resize-event'
|
||||
|
||||
// 设置表格高度
|
||||
const doResize = async(el, binding, vnode) => {
|
||||
const doResize = async (el, binding, vnode) => {
|
||||
// 获取表格Dom对象
|
||||
const { componentInstance: $table } = await vnode
|
||||
// 获取调用传递过来的数据
|
||||
|
@ -14,7 +14,10 @@ const doResize = async(el, binding, vnode) => {
|
|||
if (!$table) return
|
||||
// 计算列表高度并设置
|
||||
const height = window.innerHeight - el.getBoundingClientRect().top - bottomOffset
|
||||
// $table.layout.setMaxHeight(height)
|
||||
// $table.layout.setMaxHeight(height) bodyHeight
|
||||
console.log($table);
|
||||
console.log($table.layout.bodyHeight)
|
||||
$table.bodyWrapper.style.height = `${$table.layout.bodyHeight}px`
|
||||
$table.layout.setHeight(height)
|
||||
// $table.maxHeight = height
|
||||
$table.doLayout()
|
||||
|
@ -24,7 +27,7 @@ export default {
|
|||
// 初始化设置
|
||||
bind(el, binding, vnode) {
|
||||
// 设置resize监听方法
|
||||
el.resizeListener = async() => {
|
||||
el.resizeListener = async () => {
|
||||
await doResize(el, binding, vnode)
|
||||
}
|
||||
// 绑定监听方法到addResizeListener
|
||||
|
|
|
@ -141,6 +141,7 @@
|
|||
<!--切换访视-->
|
||||
<visitSelect
|
||||
:modelData.sync="scope.row.SubjectVisitId"
|
||||
:disabled="Number(scope.row.SubmitState) > 1"
|
||||
:loading="addLoading"
|
||||
:studyData="scope.row"
|
||||
:list="visitList"
|
||||
|
@ -169,7 +170,9 @@
|
|||
icon="el-icon-delete"
|
||||
:title="$t('common:button:remove')"
|
||||
@click.stop="remove(scope.row)"
|
||||
:disabled="!scope.row.SubjectVisitId"
|
||||
:disabled="
|
||||
!scope.row.SubjectVisitId || Number(scope.row.SubmitState) > 1
|
||||
"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -464,6 +467,7 @@ export default {
|
|||
let data = {
|
||||
TrialId: this.submitMessage.TrialId,
|
||||
SubjectVisitIdList: [],
|
||||
SubjectId: this.submitMessage.SubjectId,
|
||||
};
|
||||
this.tableSelectData.forEach((item) => {
|
||||
data.SubjectVisitIdList.push(item.SubjectVisitId);
|
||||
|
|
|
@ -1,79 +1,102 @@
|
|||
<template>
|
||||
<div class="notice-marquee_wrapper">
|
||||
<marquee ref="mar" hspace="0" direction="left" width="500" @mouseout="start()" @mouseover="stop()">
|
||||
<marquee
|
||||
ref="mar"
|
||||
hspace="0"
|
||||
direction="left"
|
||||
width="500"
|
||||
@mouseout="start()"
|
||||
@mouseover="stop()"
|
||||
>
|
||||
<!-- <i class="el-icon-message-solid" /> -->
|
||||
<svg-icon v-if="noticeList.length > 0" icon-class="speaker" />
|
||||
<span v-for="item in noticeList" :key="item.Id" style="cursor:pointer;" @click="showDetail(item)">
|
||||
<span
|
||||
v-for="item in noticeList"
|
||||
:key="item.Id"
|
||||
style="cursor: pointer"
|
||||
@click="showDetail(item)"
|
||||
>
|
||||
{{ item.Content }}
|
||||
</span>
|
||||
</marquee>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { setSystemNoticeHaveRead } from '@/api/global'
|
||||
import { getBasicDataSelects } from '@/api/dictionary/dictionary'
|
||||
import { setSystemNoticeHaveRead } from "@/api/global";
|
||||
import { getBasicDataSelects } from "@/api/dictionary/dictionary";
|
||||
export default {
|
||||
name: 'NoticeMarquee',
|
||||
name: "NoticeMarquee",
|
||||
data() {
|
||||
return {
|
||||
noteType: []
|
||||
}
|
||||
noteType: [],
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
noticeList() {
|
||||
return this.$store.state.global.noticeList || []
|
||||
}
|
||||
return this.$store.state.global.noticeList || [];
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.getDicData()
|
||||
this.getDicData();
|
||||
},
|
||||
methods: {
|
||||
start() {
|
||||
this.$refs['mar'].start()
|
||||
this.$refs["mar"].start();
|
||||
},
|
||||
stop() {
|
||||
this.$refs['mar'].stop()
|
||||
this.$refs["mar"].stop();
|
||||
},
|
||||
showDetail(item) {
|
||||
var currentNoticeType = ''
|
||||
const i = this.noteType.findIndex(note => note.Code * 1 === item.NoticeTypeEnum)
|
||||
var currentNoticeType = "";
|
||||
const i = this.noteType.findIndex(
|
||||
(note) => note.Code * 1 === item.NoticeTypeEnum
|
||||
);
|
||||
if (i > -1) {
|
||||
currentNoticeType = this.noteType[i].Value
|
||||
currentNoticeType = this.noteType[i].Value;
|
||||
}
|
||||
const h = this.$createElement
|
||||
const h = this.$createElement;
|
||||
this.$msgbox({
|
||||
title: currentNoticeType,
|
||||
message: h('span', null, item.Content),
|
||||
message: h("span", null, item.Content),
|
||||
beforeClose: (action, instance, done) => {
|
||||
if (action === 'confirm') {
|
||||
instance.confirmButtonLoading = true
|
||||
setSystemNoticeHaveRead(item.Id).then(async res => {
|
||||
if (res.IsSuccess) {
|
||||
await this.$store.dispatch('global/getNoticeList')
|
||||
}
|
||||
instance.confirmButtonLoading = false
|
||||
done()
|
||||
}).catch(() => { instance.confirmButtonLoading = false })
|
||||
if (action === "confirm") {
|
||||
instance.confirmButtonLoading = true;
|
||||
setSystemNoticeHaveRead(item.Id)
|
||||
.then(async (res) => {
|
||||
if (res.IsSuccess) {
|
||||
await this.$store.dispatch("global/getNoticeList");
|
||||
}
|
||||
instance.confirmButtonLoading = false;
|
||||
done();
|
||||
})
|
||||
.catch(() => {
|
||||
instance.confirmButtonLoading = false;
|
||||
});
|
||||
} else {
|
||||
done()
|
||||
done();
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
});
|
||||
},
|
||||
getDicData() {
|
||||
getBasicDataSelects(['NoteType']).then(res => {
|
||||
this.noteType = res.Result.NoteType
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
getBasicDataSelects(["NoteType"]).then((res) => {
|
||||
this.noteType = res.Result.NoteType;
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.notice-marquee_wrapper{
|
||||
>>>.el-dialog__header{
|
||||
.notice-marquee_wrapper {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
span {
|
||||
font-size: 20px;
|
||||
}
|
||||
>>> .el-dialog__header {
|
||||
padding: 10px;
|
||||
}
|
||||
>>>.el-dialog__body{
|
||||
>>> .el-dialog__body {
|
||||
padding: 10px 20px;
|
||||
line-height: 25px;
|
||||
}
|
||||
|
|
|
@ -154,7 +154,7 @@
|
|||
height="100"
|
||||
@selection-change="handleSelectChange"
|
||||
@sort-change="handleSortByColumn"
|
||||
:default-sort="{ prop: 'SubmitTime', order: 'descending' }"
|
||||
:default-sort="{ prop: 'StudyTime', order: 'ascending' }"
|
||||
>
|
||||
<el-table-column type="selection" align="center" width="45" />
|
||||
<!--患者编号-->
|
||||
|
@ -243,7 +243,7 @@ const defaultSearchData = () => {
|
|||
return {
|
||||
EarliestStudyTime: null,
|
||||
LatestStudyTime: null,
|
||||
Asc: false,
|
||||
Asc: true,
|
||||
SortField: "StudyTime",
|
||||
PatientIdStr: null,
|
||||
};
|
||||
|
|
|
@ -271,14 +271,14 @@
|
|||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<!--影像数据-->
|
||||
<el-dropdown-item
|
||||
<!-- <el-dropdown-item
|
||||
v-hasPermi="['trials:trials-panel:hirVisit:result']"
|
||||
disabled
|
||||
command="result"
|
||||
>{{
|
||||
$t("trials:trials-panel:hirVisit:ImageData")
|
||||
}}</el-dropdown-item
|
||||
>
|
||||
> -->
|
||||
<!--评估报告-->
|
||||
<el-dropdown-item
|
||||
v-hasPermi="['trials:trials-panel:hirVisit:result']"
|
||||
|
@ -456,6 +456,7 @@ export default {
|
|||
let data = {
|
||||
TrialId: this.$route.query.trialId,
|
||||
SubjectVisitIdList: [item.SubjectVisitId],
|
||||
SubjectId: item.SubjectId,
|
||||
};
|
||||
try {
|
||||
this.loading = true;
|
||||
|
|
|
@ -1,382 +1,396 @@
|
|||
<template>
|
||||
<BaseContainer>
|
||||
<div slot="search-container">
|
||||
<el-form :inline="true">
|
||||
<!-- 阅片标准 -->
|
||||
<el-form-item :label="$t('trials:auditRecord:table:criterion')">
|
||||
<el-select
|
||||
v-model="searchData.TrialReadingCriterionId"
|
||||
clearable
|
||||
style="width: 120px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item of trialCriterionList"
|
||||
:key="'TrialReadingCriterionId' + item.TrialReadingCriterionId"
|
||||
:value="item.TrialReadingCriterionId"
|
||||
:label="item.TrialReadingCriterionName"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 受试者编号 -->
|
||||
<el-form-item :label="$t('trials:reviewTrack:table:subjectCode')">
|
||||
<el-input v-model="searchData.SubjectCode" style="width: 100px" />
|
||||
</el-form-item>
|
||||
<!-- 任务名称 -->
|
||||
<el-form-item
|
||||
style="margin-bottom: 10px"
|
||||
:label="$t('trials:reviewTrack:table:taskName')"
|
||||
>
|
||||
<el-select
|
||||
v-model="searchData.TaskName"
|
||||
clearable
|
||||
filterable
|
||||
style="width: 120px"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) of siteOptions"
|
||||
:key="index"
|
||||
:label="item.TrialSiteCode"
|
||||
:value="item.SiteId"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 阅片人 -->
|
||||
<el-form-item
|
||||
style="margin-bottom: 10px"
|
||||
:label="$t('trials:reviewTrack:table:reader')"
|
||||
>
|
||||
<el-select
|
||||
v-model="searchData.DoctorUserId"
|
||||
clearable
|
||||
style="width: 120px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item of DoctorUserList"
|
||||
:key="'DoctorUserId' + item.DoctorUserId"
|
||||
:value="item.DoctorUserId"
|
||||
:label="`${item.UserName}(${item.FullName})`"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 任务状态 -->
|
||||
<el-form-item
|
||||
style="margin-bottom: 10px"
|
||||
:label="$t('trials:readTask:table:taskState')"
|
||||
>
|
||||
<el-select
|
||||
v-model="searchData.DoctorUserId"
|
||||
clearable
|
||||
style="width: 120px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item of DoctorUserList"
|
||||
:key="'DoctorUserId' + item.DoctorUserId"
|
||||
:value="item.DoctorUserId"
|
||||
:label="`${item.UserName}(${item.FullName})`"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 审核结果 -->
|
||||
<el-form-item
|
||||
style="margin-bottom: 10px"
|
||||
:label="$t('trials:auditRecord:table:auditResult')"
|
||||
>
|
||||
<el-select
|
||||
v-model="searchData.PIAuditState"
|
||||
clearable
|
||||
style="width: 120px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item of $d.PIAuditState"
|
||||
:key="'PIAuditState' + item.label"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 是否入组 -->
|
||||
<el-form-item
|
||||
style="margin-bottom: 10px"
|
||||
:label="$t('trials:auditRecord:table:isEnrollment')"
|
||||
>
|
||||
<el-select
|
||||
v-model="searchData.DoctorUserId"
|
||||
clearable
|
||||
style="width: 120px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item of DoctorUserList"
|
||||
:key="'DoctorUserId' + item.DoctorUserId"
|
||||
:value="item.DoctorUserId"
|
||||
:label="`${item.UserName}(${item.FullName})`"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 是否PD -->
|
||||
<el-form-item
|
||||
style="margin-bottom: 10px"
|
||||
:label="$t('trials:auditRecord:table:isPDConfirm')"
|
||||
>
|
||||
<el-select
|
||||
v-model="searchData.DoctorUserId"
|
||||
clearable
|
||||
style="width: 120px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item of DoctorUserList"
|
||||
:key="'DoctorUserId' + item.DoctorUserId"
|
||||
:value="item.DoctorUserId"
|
||||
:label="`${item.UserName}(${item.FullName})`"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="margin-bottom: 10px">
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
|
||||
{{ $t("common:button:search") }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-refresh-left"
|
||||
@click="handleReset"
|
||||
>
|
||||
{{ $t("common:button:reset") }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div slot="main-container">
|
||||
<el-table
|
||||
v-adaptive="{ bottomOffset: 75 }"
|
||||
v-loading="loading"
|
||||
:data="list"
|
||||
ref="myTable"
|
||||
stripe
|
||||
height="100"
|
||||
@sort-change="handleSortChange"
|
||||
<el-tabs v-model="TrialReadingCriterionId" type="border-card">
|
||||
<el-tab-pane
|
||||
v-for="item of trialCriterionList"
|
||||
:key="item.TrialReadingCriterionId"
|
||||
:label="item.TrialReadingCriterionName"
|
||||
:name="item.TrialReadingCriterionId"
|
||||
>
|
||||
<!-- 任务编号 -->
|
||||
<el-table-column
|
||||
prop="TaskCode"
|
||||
:label="$t('trials:reviewTrack:table:taskCode')"
|
||||
width="120"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 受试者编号 -->
|
||||
<el-table-column
|
||||
prop="SubjectCode"
|
||||
:label="$t('trials:reviewTrack:table:subjectCode')"
|
||||
min-width="120"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 任务名称 -->
|
||||
<el-table-column
|
||||
prop="VisitTaskNum"
|
||||
:label="$t('trials:reviewTrack:table:taskName')"
|
||||
width="140"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.TaskName }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 角色 -->
|
||||
<el-table-column
|
||||
prop="SubjectCode"
|
||||
:label="$t('trials:auditRecord:table:role')"
|
||||
min-width="120"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 阅片人 -->
|
||||
<el-table-column
|
||||
prop="UserName"
|
||||
:label="$t('trials:reviewTrack:table:reader')"
|
||||
width="130"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template v-if="scope.row.UserName" slot-scope="scope">
|
||||
{{ scope.row.UserName }}({{ scope.row.FullName }})
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 任务状态 -->
|
||||
<el-table-column
|
||||
prop="SubjectCode"
|
||||
:label="$t('trials:readTask:table:taskState')"
|
||||
min-width="120"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 阅片标准 -->
|
||||
<el-table-column
|
||||
prop="TrialReadingCriterionName"
|
||||
:label="$t('trials:reviewTrack:table:criterionName')"
|
||||
min-width="180"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 阅片完成时间 -->
|
||||
<el-table-column
|
||||
prop="SignTime"
|
||||
:label="$t('trials:reviewTrack:table:signTime')"
|
||||
min-width="180"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 创建人 -->
|
||||
<el-table-column
|
||||
prop="FirstAuditUserName"
|
||||
:label="$t('trials:auditRecord:table:creator')"
|
||||
width="130"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 创建时间 -->
|
||||
<el-table-column
|
||||
prop="FirstAuditTime"
|
||||
:label="$t('trials:auditRecord:table:createTime')"
|
||||
width="130"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 审核结果 -->
|
||||
<el-table-column
|
||||
prop="PIAuditState"
|
||||
:label="$t('trials:auditRecord:table:auditResult')"
|
||||
min-width="140"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.PIAuditState === 0" type="danger">{{
|
||||
$fd("PIAuditState", scope.row.PIAuditState)
|
||||
}}</el-tag>
|
||||
<el-tag v-else-if="scope.row.PIAuditState === 1" type="primary">{{
|
||||
$fd("PIAuditState", scope.row.PIAuditState)
|
||||
}}</el-tag>
|
||||
<el-tag v-else-if="scope.row.PIAuditState === 2" type="warning"
|
||||
>{{ $fd("PIAuditState", scope.row.PIAuditState) }}
|
||||
</el-tag>
|
||||
<span v-else>{{
|
||||
$fd("PIAuditState", scope.row.PIAuditState)
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="item.QuestionId"
|
||||
:label="item.QuestionName"
|
||||
min-width="140"
|
||||
v-for="(item, index) of QuestionList"
|
||||
:key="'QuestionId' + index"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{
|
||||
item.DictionaryCode
|
||||
? $fd(
|
||||
item.DictionaryCode,
|
||||
parseInt(
|
||||
scope.row.PIReadingResultList.find(
|
||||
(v) => v.QuestionId === item.QuestionId
|
||||
).Answer
|
||||
)
|
||||
)
|
||||
: scope.row.PIReadingResultList.find(
|
||||
(v) => v.QuestionId === item.QuestionId
|
||||
).Answer
|
||||
}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 是否入组 -->
|
||||
<el-table-column
|
||||
prop="IsEnrollment"
|
||||
:label="$t('trials:auditRecord:table:isEnrollment')"
|
||||
min-width="110"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.IsEnrollment === true" type="primary">
|
||||
{{ $fd("YesOrNo", scope.row.IsEnrollment) }}
|
||||
</el-tag>
|
||||
<el-tag
|
||||
v-else-if="scope.row.IsEnrollment === false"
|
||||
type="danger"
|
||||
>{{ $fd("YesOrNo", scope.row.IsEnrollment) }}</el-tag
|
||||
<div v-if="TrialReadingCriterionId === item.TrialReadingCriterionId">
|
||||
<div slot="search-container">
|
||||
<el-form :inline="true">
|
||||
<!-- 受试者编号 -->
|
||||
<el-form-item :label="$t('trials:reviewTrack:table:subjectCode')">
|
||||
<el-input
|
||||
v-model="searchData.SubjectCode"
|
||||
style="width: 100px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- 任务名称 -->
|
||||
<el-form-item
|
||||
style="margin-bottom: 10px"
|
||||
:label="$t('trials:reviewTrack:table:taskName')"
|
||||
>
|
||||
<el-select
|
||||
v-model="searchData.TaskName"
|
||||
clearable
|
||||
filterable
|
||||
style="width: 120px"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) of siteOptions"
|
||||
:key="index"
|
||||
:label="item.TrialSiteCode"
|
||||
:value="item.SiteId"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 阅片人 -->
|
||||
<el-form-item
|
||||
style="margin-bottom: 10px"
|
||||
:label="$t('trials:reviewTrack:table:reader')"
|
||||
>
|
||||
<el-select
|
||||
v-model="searchData.DoctorUserId"
|
||||
clearable
|
||||
style="width: 120px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item of DoctorUserList"
|
||||
:key="'DoctorUserId' + item.DoctorUserId"
|
||||
:value="item.DoctorUserId"
|
||||
:label="`${item.UserName}(${item.FullName})`"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 任务状态 -->
|
||||
<el-form-item
|
||||
style="margin-bottom: 10px"
|
||||
:label="$t('trials:readTask:table:taskState')"
|
||||
>
|
||||
<el-select
|
||||
v-model="searchData.DoctorUserId"
|
||||
clearable
|
||||
style="width: 120px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item of DoctorUserList"
|
||||
:key="'DoctorUserId' + item.DoctorUserId"
|
||||
:value="item.DoctorUserId"
|
||||
:label="`${item.UserName}(${item.FullName})`"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 审核结果 -->
|
||||
<el-form-item
|
||||
style="margin-bottom: 10px"
|
||||
:label="$t('trials:auditRecord:table:auditResult')"
|
||||
>
|
||||
<el-select
|
||||
v-model="searchData.PIAuditState"
|
||||
clearable
|
||||
style="width: 120px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item of $d.PIAuditState"
|
||||
:key="'PIAuditState' + item.label"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 是否入组 -->
|
||||
<el-form-item
|
||||
style="margin-bottom: 10px"
|
||||
:label="$t('trials:auditRecord:table:isEnrollment')"
|
||||
>
|
||||
<el-select
|
||||
v-model="searchData.DoctorUserId"
|
||||
clearable
|
||||
style="width: 120px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item of DoctorUserList"
|
||||
:key="'DoctorUserId' + item.DoctorUserId"
|
||||
:value="item.DoctorUserId"
|
||||
:label="`${item.UserName}(${item.FullName})`"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 是否PD -->
|
||||
<el-form-item
|
||||
style="margin-bottom: 10px"
|
||||
:label="$t('trials:auditRecord:table:isPDConfirm')"
|
||||
>
|
||||
<el-select
|
||||
v-model="searchData.DoctorUserId"
|
||||
clearable
|
||||
style="width: 120px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item of DoctorUserList"
|
||||
:key="'DoctorUserId' + item.DoctorUserId"
|
||||
:value="item.DoctorUserId"
|
||||
:label="`${item.UserName}(${item.FullName})`"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="margin-bottom: 10px">
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
@click="handleSearch"
|
||||
>
|
||||
{{ $t("common:button:search") }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-refresh-left"
|
||||
@click="handleReset"
|
||||
>
|
||||
{{ $t("common:button:reset") }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div slot="main-container">
|
||||
<el-table
|
||||
v-adaptive="{ bottomOffset: 75 }"
|
||||
v-loading="loading"
|
||||
:data="list"
|
||||
ref="myTable"
|
||||
stripe
|
||||
@sort-change="handleSortChange"
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 是否PD -->
|
||||
<el-table-column
|
||||
prop="IsPDConfirm"
|
||||
:label="$t('trials:auditRecord:table:isPDConfirm')"
|
||||
min-width="110"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.IsPDConfirm === true" type="primary">
|
||||
{{ $fd("YesOrNo", scope.row.IsPDConfirm) }}
|
||||
</el-tag>
|
||||
<el-tag v-else-if="scope.row.IsPDConfirm === false" type="danger">{{
|
||||
$fd("YesOrNo", scope.row.IsPDConfirm)
|
||||
}}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 最新回复人 -->
|
||||
<el-table-column
|
||||
prop="LatestReplyUserName"
|
||||
:label="$t('trials:auditRecord:table:latestReplyUserName')"
|
||||
width="130"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 最新回复时间 -->
|
||||
<el-table-column
|
||||
prop="LatestReplyTime"
|
||||
:label="$t('trials:auditRecord:table:latestReplyTime')"
|
||||
width="130"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
fixed="right"
|
||||
:label="$t('common:action:action')"
|
||||
width="200"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<!-- 阅片结果 -->
|
||||
<el-button
|
||||
circle
|
||||
icon="el-icon-view"
|
||||
:title="$t('trials:auditRecord:table:readingResult')"
|
||||
@click="handleView(scope.row)"
|
||||
<!-- 任务编号 -->
|
||||
<el-table-column
|
||||
prop="TaskCode"
|
||||
:label="$t('trials:reviewTrack:table:taskCode')"
|
||||
width="120"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 受试者编号 -->
|
||||
<el-table-column
|
||||
prop="SubjectCode"
|
||||
:label="$t('trials:reviewTrack:table:subjectCode')"
|
||||
min-width="120"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 任务名称 -->
|
||||
<el-table-column
|
||||
prop="VisitTaskNum"
|
||||
:label="$t('trials:reviewTrack:table:taskName')"
|
||||
width="140"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.TaskName }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 角色 -->
|
||||
<el-table-column
|
||||
prop="SubjectCode"
|
||||
:label="$t('trials:auditRecord:table:role')"
|
||||
min-width="120"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 阅片人 -->
|
||||
<el-table-column
|
||||
prop="UserName"
|
||||
:label="$t('trials:reviewTrack:table:reader')"
|
||||
width="130"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template v-if="scope.row.UserName" slot-scope="scope">
|
||||
{{ scope.row.UserName }}({{ scope.row.FullName }})
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 任务状态 -->
|
||||
<el-table-column
|
||||
prop="SubjectCode"
|
||||
:label="$t('trials:readTask:table:taskState')"
|
||||
min-width="120"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 阅片标准 -->
|
||||
<el-table-column
|
||||
prop="TrialReadingCriterionName"
|
||||
:label="$t('trials:reviewTrack:table:criterionName')"
|
||||
min-width="180"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 阅片完成时间 -->
|
||||
<el-table-column
|
||||
prop="SignTime"
|
||||
:label="$t('trials:reviewTrack:table:signTime')"
|
||||
min-width="180"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 创建人 -->
|
||||
<el-table-column
|
||||
prop="FirstAuditUserName"
|
||||
:label="$t('trials:auditRecord:table:creator')"
|
||||
width="130"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 创建时间 -->
|
||||
<el-table-column
|
||||
prop="FirstAuditTime"
|
||||
:label="$t('trials:auditRecord:table:createTime')"
|
||||
width="130"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 审核结果 -->
|
||||
<el-table-column
|
||||
prop="PIAuditState"
|
||||
:label="$t('trials:auditRecord:table:auditResult')"
|
||||
min-width="140"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.PIAuditState === 0" type="danger">{{
|
||||
$fd("PIAuditState", scope.row.PIAuditState)
|
||||
}}</el-tag>
|
||||
<el-tag
|
||||
v-else-if="scope.row.PIAuditState === 1"
|
||||
type="primary"
|
||||
>{{ $fd("PIAuditState", scope.row.PIAuditState) }}</el-tag
|
||||
>
|
||||
<el-tag
|
||||
v-else-if="scope.row.PIAuditState === 2"
|
||||
type="warning"
|
||||
>{{ $fd("PIAuditState", scope.row.PIAuditState) }}
|
||||
</el-tag>
|
||||
<span v-else>{{
|
||||
$fd("PIAuditState", scope.row.PIAuditState)
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
:label="$t('trials:globalReview:table:evaluationRes')"
|
||||
align="center"
|
||||
v-if="QuestionList.length > 0"
|
||||
>
|
||||
<el-table-column
|
||||
prop="item.QuestionId"
|
||||
:label="item.QuestionName"
|
||||
min-width="140"
|
||||
v-for="(item, index) of QuestionList"
|
||||
:key="'QuestionId' + index"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{
|
||||
item.DictionaryCode
|
||||
? $fd(
|
||||
item.DictionaryCode,
|
||||
parseInt(
|
||||
scope.row.PIReadingResultList.find(
|
||||
(v) => v.QuestionId === item.QuestionId
|
||||
).Answer
|
||||
)
|
||||
)
|
||||
: scope.row.PIReadingResultList.find(
|
||||
(v) => v.QuestionId === item.QuestionId
|
||||
).Answer
|
||||
}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<!-- 是否入组 -->
|
||||
<el-table-column
|
||||
prop="IsEnrollment"
|
||||
:label="$t('trials:auditRecord:table:isEnrollment')"
|
||||
min-width="110"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.IsEnrollment === true" type="primary">
|
||||
{{ $fd("YesOrNo", scope.row.IsEnrollment) }}
|
||||
</el-tag>
|
||||
<el-tag
|
||||
v-else-if="scope.row.IsEnrollment === false"
|
||||
type="danger"
|
||||
>{{ $fd("YesOrNo", scope.row.IsEnrollment) }}</el-tag
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 是否PD -->
|
||||
<el-table-column
|
||||
prop="IsPDConfirm"
|
||||
:label="$t('trials:auditRecord:table:isPDConfirm')"
|
||||
min-width="110"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.IsPDConfirm === true" type="primary">
|
||||
{{ $fd("YesOrNo", scope.row.IsPDConfirm) }}
|
||||
</el-tag>
|
||||
<el-tag
|
||||
v-else-if="scope.row.IsPDConfirm === false"
|
||||
type="danger"
|
||||
>{{ $fd("YesOrNo", scope.row.IsPDConfirm) }}</el-tag
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 最新回复人 -->
|
||||
<el-table-column
|
||||
prop="LatestReplyUserName"
|
||||
:label="$t('trials:auditRecord:table:latestReplyUserName')"
|
||||
width="130"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- 最新回复时间 -->
|
||||
<el-table-column
|
||||
prop="LatestReplyTime"
|
||||
:label="$t('trials:auditRecord:table:latestReplyTime')"
|
||||
width="130"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
fixed="right"
|
||||
:label="$t('common:action:action')"
|
||||
width="200"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<!-- 阅片结果 -->
|
||||
<el-button
|
||||
circle
|
||||
icon="el-icon-view"
|
||||
:title="$t('trials:auditRecord:table:readingResult')"
|
||||
@click="handleView(scope.row)"
|
||||
/>
|
||||
<!-- 审核记录 -->
|
||||
<el-button
|
||||
circle
|
||||
icon="el-icon-tickets"
|
||||
:disabled="
|
||||
scope.row.TaskState !== 0 || scope.row.PIAuditState === 0
|
||||
"
|
||||
:title="$t('trials:auditRecord:table:auditRecords')"
|
||||
@click="handleAuditRecords(scope.row)"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- 分页组件 -->
|
||||
<pagination
|
||||
class="page"
|
||||
:total="total"
|
||||
:page.sync="searchData.PageIndex"
|
||||
:limit.sync="searchData.PageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
<!-- 审核记录 -->
|
||||
<el-button
|
||||
circle
|
||||
icon="el-icon-tickets"
|
||||
:disabled="
|
||||
scope.row.TaskState !== 0 || scope.row.PIAuditState === 0
|
||||
"
|
||||
:title="$t('trials:auditRecord:table:auditRecords')"
|
||||
@click="handleAuditRecords(scope.row)"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- 分页组件 -->
|
||||
<pagination
|
||||
class="page"
|
||||
:total="total"
|
||||
:page.sync="searchData.PageIndex"
|
||||
:limit.sync="searchData.PageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<!-- 审核记录 -->
|
||||
<el-dialog
|
||||
v-if="auditRecordVisible"
|
||||
|
@ -453,13 +467,13 @@ export default {
|
|||
}
|
||||
},
|
||||
},
|
||||
beforeUpdate() {
|
||||
this.$nextTick(() => {
|
||||
if(this.$refs.myTable){
|
||||
this.$refs.myTable.doLayout();
|
||||
}
|
||||
});
|
||||
},
|
||||
// beforeUpdate() {
|
||||
// this.$nextTick(() => {
|
||||
// if (this.$refs.myTable) {
|
||||
// this.$refs.myTable.doLayout();
|
||||
// }
|
||||
// });
|
||||
// },
|
||||
mounted() {
|
||||
this.trialId = this.$route.query.trialId;
|
||||
this.getTrialCriterionList();
|
||||
|
@ -475,15 +489,8 @@ export default {
|
|||
.then((res) => {
|
||||
this.loading = false;
|
||||
this.QuestionList = res.OtherInfo.OtherObj;
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
this.list = res.Result.CurrentPageData;
|
||||
}, 100);
|
||||
this.total = res.Result.TotalCount;
|
||||
if(this.$refs.myTable){
|
||||
this.$refs.myTable.doLayout();
|
||||
}
|
||||
});
|
||||
this.list = res.Result.CurrentPageData;
|
||||
this.total = res.Result.TotalCount;
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
|
|
|
@ -708,7 +708,7 @@ export default {
|
|||
this.trialId = this.$route.query.trialId;
|
||||
this.getTrialCriterionList();
|
||||
// this.getList()
|
||||
this.getSite();
|
||||
// this.getSite();
|
||||
this.getDoctorUserSelectList();
|
||||
},
|
||||
methods: {
|
||||
|
|
|
@ -64,7 +64,9 @@
|
|||
</div>
|
||||
<div>
|
||||
<el-form-item :label="$t('trials:study:tabpane:bindPatient')">
|
||||
<span v-if="bindPatientTip">{{ bindPatientTip }}</span>
|
||||
<span v-if="bindPatientTip">{{
|
||||
bindPatientTip.map((item) => item.PatientIdStr).join(", ")
|
||||
}}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<!--患者-->
|
||||
|
@ -176,7 +178,7 @@ export default {
|
|||
}
|
||||
});
|
||||
if (PatientList.length <= 0) return false;
|
||||
return PatientList.map((item) => item.PatientIdStr).join(", ");
|
||||
return PatientList;
|
||||
},
|
||||
},
|
||||
created() {
|
||||
|
@ -220,7 +222,8 @@ export default {
|
|||
if (res.IsSuccess) {
|
||||
this.submitMessage.SubjectId = res.Result;
|
||||
this.submitMessage.TrialId = data.TrialId;
|
||||
this.Patient.PatientId = data.PatientIdList;
|
||||
let patient = this.bindPatientTip.map((item) => item.PatientId);
|
||||
this.Patient.PatientId = [...data.PatientIdList, ...patient];
|
||||
this.$message.success(this.$t("common:message:addedSuccessfully"));
|
||||
this.$emit("getList");
|
||||
this.status = "visit";
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<template slot="search-container">
|
||||
<el-form :inline="true">
|
||||
<!-- 受试者编号 -->
|
||||
<el-form-item :label="$t('trials:crcQuestion:table:subjectId')">
|
||||
<el-form-item :label="$t('trials:subject:table:subjectId')">
|
||||
<el-input v-model="searchData.Code" style="width: 130px" clearable />
|
||||
</el-form-item>
|
||||
<!-- 患者编号 -->
|
||||
|
@ -211,13 +211,13 @@
|
|||
@click="handleEdit(scope.row)"
|
||||
/>
|
||||
<!-- 修改状态 -->
|
||||
<!-- <el-button
|
||||
<el-button
|
||||
v-hasPermi="['trials:trials-panel:subject:status']"
|
||||
circle
|
||||
:title="$t('trials:subject:action:status')"
|
||||
icon="el-icon-edit"
|
||||
@click="handleEditStatus(scope.row)"
|
||||
/> -->
|
||||
/>
|
||||
<!-- 删除 -->
|
||||
<el-button
|
||||
v-hasPermi="['trials:trials-panel:subject:delete']"
|
||||
|
@ -333,7 +333,7 @@ export default {
|
|||
watch: {
|
||||
list() {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.subjectList&&this.$refs.subjectList.doLayout();
|
||||
this.$refs.subjectList && this.$refs.subjectList.doLayout();
|
||||
});
|
||||
},
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue