部分问题修复

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="请选择" placeholder="请选择"
@visible-change="selectChange" @visible-change="selectChange"
@change="handleChange" @change="handleChange"
:disabled="disabled"
> >
<el-option <el-option
v-for="item in list" v-for="item in list"
@ -34,6 +35,9 @@ export default {
return {}; return {};
}, },
}, },
disabled: {
default: false,
},
modelData: { modelData: {
required: true, required: true,
}, },

View File

@ -14,7 +14,10 @@ const doResize = async(el, binding, vnode) => {
if (!$table) return if (!$table) return
// 计算列表高度并设置 // 计算列表高度并设置
const height = window.innerHeight - el.getBoundingClientRect().top - bottomOffset 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.layout.setHeight(height)
// $table.maxHeight = height // $table.maxHeight = height
$table.doLayout() $table.doLayout()

View File

@ -141,6 +141,7 @@
<!--切换访视--> <!--切换访视-->
<visitSelect <visitSelect
:modelData.sync="scope.row.SubjectVisitId" :modelData.sync="scope.row.SubjectVisitId"
:disabled="Number(scope.row.SubmitState) > 1"
:loading="addLoading" :loading="addLoading"
:studyData="scope.row" :studyData="scope.row"
:list="visitList" :list="visitList"
@ -169,7 +170,9 @@
icon="el-icon-delete" icon="el-icon-delete"
:title="$t('common:button:remove')" :title="$t('common:button:remove')"
@click.stop="remove(scope.row)" @click.stop="remove(scope.row)"
:disabled="!scope.row.SubjectVisitId" :disabled="
!scope.row.SubjectVisitId || Number(scope.row.SubmitState) > 1
"
/> />
</template> </template>
</el-table-column> </el-table-column>
@ -464,6 +467,7 @@ export default {
let data = { let data = {
TrialId: this.submitMessage.TrialId, TrialId: this.submitMessage.TrialId,
SubjectVisitIdList: [], SubjectVisitIdList: [],
SubjectId: this.submitMessage.SubjectId,
}; };
this.tableSelectData.forEach((item) => { this.tableSelectData.forEach((item) => {
data.SubjectVisitIdList.push(item.SubjectVisitId); data.SubjectVisitIdList.push(item.SubjectVisitId);

View File

@ -1,75 +1,98 @@
<template> <template>
<div class="notice-marquee_wrapper"> <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" /> --> <!-- <i class="el-icon-message-solid" /> -->
<svg-icon v-if="noticeList.length > 0" icon-class="speaker" /> <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 }} {{ item.Content }}
</span> </span>
</marquee> </marquee>
</div> </div>
</template> </template>
<script> <script>
import { setSystemNoticeHaveRead } from '@/api/global' import { setSystemNoticeHaveRead } from "@/api/global";
import { getBasicDataSelects } from '@/api/dictionary/dictionary' import { getBasicDataSelects } from "@/api/dictionary/dictionary";
export default { export default {
name: 'NoticeMarquee', name: "NoticeMarquee",
data() { data() {
return { return {
noteType: [] noteType: [],
} };
}, },
computed: { computed: {
noticeList() { noticeList() {
return this.$store.state.global.noticeList || [] return this.$store.state.global.noticeList || [];
} },
}, },
mounted() { mounted() {
this.getDicData() this.getDicData();
}, },
methods: { methods: {
start() { start() {
this.$refs['mar'].start() this.$refs["mar"].start();
}, },
stop() { stop() {
this.$refs['mar'].stop() this.$refs["mar"].stop();
}, },
showDetail(item) { showDetail(item) {
var currentNoticeType = '' var currentNoticeType = "";
const i = this.noteType.findIndex(note => note.Code * 1 === item.NoticeTypeEnum) const i = this.noteType.findIndex(
(note) => note.Code * 1 === item.NoticeTypeEnum
);
if (i > -1) { if (i > -1) {
currentNoticeType = this.noteType[i].Value currentNoticeType = this.noteType[i].Value;
} }
const h = this.$createElement const h = this.$createElement;
this.$msgbox({ this.$msgbox({
title: currentNoticeType, title: currentNoticeType,
message: h('span', null, item.Content), message: h("span", null, item.Content),
beforeClose: (action, instance, done) => { beforeClose: (action, instance, done) => {
if (action === 'confirm') { if (action === "confirm") {
instance.confirmButtonLoading = true instance.confirmButtonLoading = true;
setSystemNoticeHaveRead(item.Id).then(async res => { setSystemNoticeHaveRead(item.Id)
.then(async (res) => {
if (res.IsSuccess) { if (res.IsSuccess) {
await this.$store.dispatch('global/getNoticeList') await this.$store.dispatch("global/getNoticeList");
}
instance.confirmButtonLoading = false
done()
}).catch(() => { instance.confirmButtonLoading = false })
} else {
done()
}
} }
instance.confirmButtonLoading = false;
done();
}) })
.catch(() => {
instance.confirmButtonLoading = false;
});
} else {
done();
}
},
});
}, },
getDicData() { getDicData() {
getBasicDataSelects(['NoteType']).then(res => { getBasicDataSelects(["NoteType"]).then((res) => {
this.noteType = res.Result.NoteType this.noteType = res.Result.NoteType;
}) });
} },
} },
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.notice-marquee_wrapper { .notice-marquee_wrapper {
display: flex;
align-items: center;
span {
font-size: 20px;
}
>>> .el-dialog__header { >>> .el-dialog__header {
padding: 10px; padding: 10px;
} }

View File

@ -154,7 +154,7 @@
height="100" height="100"
@selection-change="handleSelectChange" @selection-change="handleSelectChange"
@sort-change="handleSortByColumn" @sort-change="handleSortByColumn"
:default-sort="{ prop: 'SubmitTime', order: 'descending' }" :default-sort="{ prop: 'StudyTime', order: 'ascending' }"
> >
<el-table-column type="selection" align="center" width="45" /> <el-table-column type="selection" align="center" width="45" />
<!--患者编号--> <!--患者编号-->
@ -243,7 +243,7 @@ const defaultSearchData = () => {
return { return {
EarliestStudyTime: null, EarliestStudyTime: null,
LatestStudyTime: null, LatestStudyTime: null,
Asc: false, Asc: true,
SortField: "StudyTime", SortField: "StudyTime",
PatientIdStr: null, PatientIdStr: null,
}; };

View File

@ -271,14 +271,14 @@
</el-button> </el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<!--影像数据--> <!--影像数据-->
<el-dropdown-item <!-- <el-dropdown-item
v-hasPermi="['trials:trials-panel:hirVisit:result']" v-hasPermi="['trials:trials-panel:hirVisit:result']"
disabled disabled
command="result" command="result"
>{{ >{{
$t("trials:trials-panel:hirVisit:ImageData") $t("trials:trials-panel:hirVisit:ImageData")
}}</el-dropdown-item }}</el-dropdown-item
> > -->
<!--评估报告--> <!--评估报告-->
<el-dropdown-item <el-dropdown-item
v-hasPermi="['trials:trials-panel:hirVisit:result']" v-hasPermi="['trials:trials-panel:hirVisit:result']"
@ -456,6 +456,7 @@ export default {
let data = { let data = {
TrialId: this.$route.query.trialId, TrialId: this.$route.query.trialId,
SubjectVisitIdList: [item.SubjectVisitId], SubjectVisitIdList: [item.SubjectVisitId],
SubjectId: item.SubjectId,
}; };
try { try {
this.loading = true; this.loading = true;

View File

@ -1,25 +1,21 @@
<template> <template>
<BaseContainer> <BaseContainer>
<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"
>
<div v-if="TrialReadingCriterionId === item.TrialReadingCriterionId">
<div slot="search-container"> <div slot="search-container">
<el-form :inline="true"> <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-form-item :label="$t('trials:reviewTrack:table:subjectCode')">
<el-input v-model="searchData.SubjectCode" style="width: 100px" /> <el-input
v-model="searchData.SubjectCode"
style="width: 100px"
/>
</el-form-item> </el-form-item>
<!-- 任务名称 --> <!-- 任务名称 -->
<el-form-item <el-form-item
@ -131,7 +127,11 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item style="margin-bottom: 10px"> <el-form-item style="margin-bottom: 10px">
<el-button type="primary" icon="el-icon-search" @click="handleSearch"> <el-button
type="primary"
icon="el-icon-search"
@click="handleSearch"
>
{{ $t("common:button:search") }} {{ $t("common:button:search") }}
</el-button> </el-button>
<el-button <el-button
@ -151,7 +151,6 @@
:data="list" :data="list"
ref="myTable" ref="myTable"
stripe stripe
height="100"
@sort-change="handleSortChange" @sort-change="handleSortChange"
> >
<!-- 任务编号 --> <!-- 任务编号 -->
@ -254,10 +253,14 @@
<el-tag v-if="scope.row.PIAuditState === 0" type="danger">{{ <el-tag v-if="scope.row.PIAuditState === 0" type="danger">{{
$fd("PIAuditState", scope.row.PIAuditState) $fd("PIAuditState", scope.row.PIAuditState)
}}</el-tag> }}</el-tag>
<el-tag v-else-if="scope.row.PIAuditState === 1" type="primary">{{ <el-tag
$fd("PIAuditState", scope.row.PIAuditState) v-else-if="scope.row.PIAuditState === 1"
}}</el-tag> type="primary"
<el-tag v-else-if="scope.row.PIAuditState === 2" type="warning" >{{ $fd("PIAuditState", scope.row.PIAuditState) }}</el-tag
>
<el-tag
v-else-if="scope.row.PIAuditState === 2"
type="warning"
>{{ $fd("PIAuditState", scope.row.PIAuditState) }} >{{ $fd("PIAuditState", scope.row.PIAuditState) }}
</el-tag> </el-tag>
<span v-else>{{ <span v-else>{{
@ -265,6 +268,11 @@
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
:label="$t('trials:globalReview:table:evaluationRes')"
align="center"
v-if="QuestionList.length > 0"
>
<el-table-column <el-table-column
prop="item.QuestionId" prop="item.QuestionId"
:label="item.QuestionName" :label="item.QuestionName"
@ -290,6 +298,7 @@
}} }}
</template> </template>
</el-table-column> </el-table-column>
</el-table-column>
<!-- 是否入组 --> <!-- 是否入组 -->
<el-table-column <el-table-column
prop="IsEnrollment" prop="IsEnrollment"
@ -321,9 +330,11 @@
<el-tag v-if="scope.row.IsPDConfirm === true" type="primary"> <el-tag v-if="scope.row.IsPDConfirm === true" type="primary">
{{ $fd("YesOrNo", scope.row.IsPDConfirm) }} {{ $fd("YesOrNo", scope.row.IsPDConfirm) }}
</el-tag> </el-tag>
<el-tag v-else-if="scope.row.IsPDConfirm === false" type="danger">{{ <el-tag
$fd("YesOrNo", scope.row.IsPDConfirm) v-else-if="scope.row.IsPDConfirm === false"
}}</el-tag> type="danger"
>{{ $fd("YesOrNo", scope.row.IsPDConfirm) }}</el-tag
>
</template> </template>
</el-table-column> </el-table-column>
<!-- 最新回复人 --> <!-- 最新回复人 -->
@ -377,6 +388,9 @@
@pagination="getList" @pagination="getList"
/> />
</div> </div>
</div>
</el-tab-pane>
</el-tabs>
<!-- 审核记录 --> <!-- 审核记录 -->
<el-dialog <el-dialog
v-if="auditRecordVisible" v-if="auditRecordVisible"
@ -453,13 +467,13 @@ export default {
} }
}, },
}, },
beforeUpdate() { // beforeUpdate() {
this.$nextTick(() => { // this.$nextTick(() => {
if(this.$refs.myTable){ // if (this.$refs.myTable) {
this.$refs.myTable.doLayout(); // this.$refs.myTable.doLayout();
} // }
}); // });
}, // },
mounted() { mounted() {
this.trialId = this.$route.query.trialId; this.trialId = this.$route.query.trialId;
this.getTrialCriterionList(); this.getTrialCriterionList();
@ -475,15 +489,8 @@ export default {
.then((res) => { .then((res) => {
this.loading = false; this.loading = false;
this.QuestionList = res.OtherInfo.OtherObj; this.QuestionList = res.OtherInfo.OtherObj;
this.$nextTick(() => {
setTimeout(() => {
this.list = res.Result.CurrentPageData; this.list = res.Result.CurrentPageData;
}, 100);
this.total = res.Result.TotalCount; this.total = res.Result.TotalCount;
if(this.$refs.myTable){
this.$refs.myTable.doLayout();
}
});
}) })
.catch(() => { .catch(() => {
this.loading = false; this.loading = false;

View File

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

View File

@ -64,7 +64,9 @@
</div> </div>
<div> <div>
<el-form-item :label="$t('trials:study:tabpane:bindPatient')"> <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> </el-form-item>
</div> </div>
<!--患者--> <!--患者-->
@ -176,7 +178,7 @@ export default {
} }
}); });
if (PatientList.length <= 0) return false; if (PatientList.length <= 0) return false;
return PatientList.map((item) => item.PatientIdStr).join(", "); return PatientList;
}, },
}, },
created() { created() {
@ -220,7 +222,8 @@ export default {
if (res.IsSuccess) { if (res.IsSuccess) {
this.submitMessage.SubjectId = res.Result; this.submitMessage.SubjectId = res.Result;
this.submitMessage.TrialId = data.TrialId; 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.$message.success(this.$t("common:message:addedSuccessfully"));
this.$emit("getList"); this.$emit("getList");
this.status = "visit"; this.status = "visit";

View File

@ -4,7 +4,7 @@
<template slot="search-container"> <template slot="search-container">
<el-form :inline="true"> <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-input v-model="searchData.Code" style="width: 130px" clearable />
</el-form-item> </el-form-item>
<!-- 患者编号 --> <!-- 患者编号 -->
@ -211,13 +211,13 @@
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
/> />
<!-- 修改状态 --> <!-- 修改状态 -->
<!-- <el-button <el-button
v-hasPermi="['trials:trials-panel:subject:status']" v-hasPermi="['trials:trials-panel:subject:status']"
circle circle
:title="$t('trials:subject:action:status')" :title="$t('trials:subject:action:status')"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleEditStatus(scope.row)" @click="handleEditStatus(scope.row)"
/> --> />
<!-- 删除 --> <!-- 删除 -->
<el-button <el-button
v-hasPermi="['trials:trials-panel:subject:delete']" v-hasPermi="['trials:trials-panel:subject:delete']"