部分问题修复

main
wangxiaoshuang 2024-04-19 11:09:02 +08:00
parent c102dbe9f2
commit 7c56ec3c6a
10 changed files with 489 additions and 444 deletions

View File

@ -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,
},

View File

@ -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

View File

@ -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);

View File

@ -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;
}

View File

@ -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,
};

View File

@ -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;

View File

@ -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;

View File

@ -708,7 +708,7 @@ export default {
this.trialId = this.$route.query.trialId;
this.getTrialCriterionList();
// this.getList()
this.getSite();
// this.getSite();
this.getDoctorUserSelectList();
},
methods: {

View File

@ -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";

View File

@ -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();
});
},
},