caiyiling 2024-05-08 13:15:10 +08:00
commit 4b915c152e
14 changed files with 153 additions and 122 deletions

View File

@ -342,7 +342,7 @@ export default {
this.user.RouteUrl = `${location.protocol}//${location.host}/email-recompose`; this.user.RouteUrl = `${location.protocol}//${location.host}/email-recompose`;
if (this.user.Id) { if (this.user.Id) {
if (this.user.IsZhiZhun) { if (this.user.IsZhiZhun) {
this.user.OrganizationName = THIS.hospitalName; this.user.OrganizationName = this.hospitalName;
} }
updateUser(this.user) updateUser(this.user)
.then((res) => { .then((res) => {

View File

@ -163,7 +163,7 @@
<!--操作--> <!--操作-->
<el-table-column <el-table-column
:label="$t('common:action:action')" :label="$t('common:action:action')"
width="100" min-width="100"
class-name="actionBox" class-name="actionBox"
> >
<template slot-scope="scope"> <template slot-scope="scope">

View File

@ -37,21 +37,21 @@
prop="ResearchProgramNo" prop="ResearchProgramNo"
:label="$t('trials:trials-list:table:researchNumber')" :label="$t('trials:trials-list:table:researchNumber')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="120"
></el-table-column> ></el-table-column>
<!--试验名称--> <!--试验名称-->
<el-table-column <el-table-column
prop="ExperimentName" prop="ExperimentName"
:label="$t('trials:trials-list:table:experimentName')" :label="$t('trials:trials-list:table:experimentName')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="120"
></el-table-column> ></el-table-column>
<!--申办方--> <!--申办方-->
<el-table-column <el-table-column
prop="Sponsor" prop="Sponsor"
:label="$t('trials:trials-list:table:sponsor')" :label="$t('trials:trials-list:table:sponsor')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="120"
></el-table-column> ></el-table-column>
<!--匹配受试者编号--> <!--匹配受试者编号-->
<el-table-column <el-table-column
@ -65,21 +65,21 @@
prop="ShortName" prop="ShortName"
:label="$t('trials:researchStaff:table:Name')" :label="$t('trials:researchStaff:table:Name')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="120"
></el-table-column> ></el-table-column>
<!--年龄--> <!--年龄-->
<el-table-column <el-table-column
prop="Age" prop="Age"
:label="$t('trials:subject:table:age')" :label="$t('trials:subject:table:age')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="120"
></el-table-column> ></el-table-column>
<!--性别--> <!--性别-->
<el-table-column <el-table-column
prop="Sex" prop="Sex"
:label="$t('trials:subject:table:gender')" :label="$t('trials:subject:table:gender')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="100"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ $fd("sex", scope.row.Sex) }}</span> <span>{{ $fd("sex", scope.row.Sex) }}</span>
@ -90,27 +90,19 @@
prop="TrialStatusStr" prop="TrialStatusStr"
:label="$t('trials:trials-list:table:status')" :label="$t('trials:trials-list:table:status')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="100"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag <el-tag
v-if="scope.row.TrialStatusStr === 'Initializing'" :type="
type="info" ['info', 'primary', 'warning', 'danger'][
['Initializing', 'Ongoing', 'Completed', 'Stopped'].indexOf(
scope.row.TrialStatusStr
)
]
"
>{{ $fd("TrialStatusEnum", scope.row.TrialStatusStr) }}</el-tag >{{ $fd("TrialStatusEnum", scope.row.TrialStatusStr) }}</el-tag
> >
<el-tag
v-if="scope.row.TrialStatusStr === 'Ongoing'"
type="primary"
>{{ $fd("TrialStatusEnum", scope.row.TrialStatusStr) }}</el-tag
>
<el-tag
v-if="scope.row.TrialStatusStr === 'Completed'"
type="warning"
>{{ $fd("TrialStatusEnum", scope.row.TrialStatusStr) }}</el-tag
>
<el-tag v-if="scope.row.TrialStatusStr === 'Stopped'" type="danger">{{
$fd("TrialStatusEnum", scope.row.TrialStatusStr)
}}</el-tag>
</template></el-table-column </template></el-table-column
> >
<!--加入时间--> <!--加入时间-->
@ -121,7 +113,7 @@
min-width="140" min-width="140"
></el-table-column> ></el-table-column>
<!--操作--> <!--操作-->
<el-table-column :label="$t('common:action:action')" width="250"> <el-table-column :label="$t('common:action:action')" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 详情 --> <!-- 详情 -->
<el-button <el-button

View File

@ -75,7 +75,7 @@
prop="Description" prop="Description"
:label="$t('trials:inspection:table:studyDescription')" :label="$t('trials:inspection:table:studyDescription')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="120"
sortable="custom" sortable="custom"
></el-table-column> ></el-table-column>
<!--检查类型--> <!--检查类型-->
@ -84,7 +84,7 @@
prop="Modalities" prop="Modalities"
:label="$t('trials:audit:table:modality')" :label="$t('trials:audit:table:modality')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="120"
sortable="custom" sortable="custom"
></el-table-column> ></el-table-column>
<!--Called AE--> <!--Called AE-->
@ -131,7 +131,7 @@
sortable="custom" sortable="custom"
></el-table-column> ></el-table-column>
<!--操作--> <!--操作-->
<el-table-column :label="$t('common:action:action')" width="250"> <el-table-column :label="$t('common:action:action')" min-width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 影像 --> <!-- 影像 -->
<el-button <el-button

View File

@ -113,7 +113,7 @@
prop="PatientIdStr" prop="PatientIdStr"
:label="$t('trials:uploadDicomList:table:pId')" :label="$t('trials:uploadDicomList:table:pId')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="120"
sortable="custom" sortable="custom"
></el-table-column> ></el-table-column>
<!--患者姓名--> <!--患者姓名-->
@ -121,7 +121,7 @@
prop="PatientName" prop="PatientName"
:label="$t('trials:uploadDicomList:table:patientName')" :label="$t('trials:uploadDicomList:table:patientName')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="120"
sortable="custom" sortable="custom"
></el-table-column> ></el-table-column>
<!--出生日期--> <!--出生日期-->
@ -129,7 +129,7 @@
prop="PatientBirthDate" prop="PatientBirthDate"
:label="$t('trials:inspection:table:birthdate')" :label="$t('trials:inspection:table:birthdate')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="120"
sortable="custom" sortable="custom"
></el-table-column> ></el-table-column>
<!--性别--> <!--性别-->
@ -137,7 +137,7 @@
prop="PatientSex" prop="PatientSex"
: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="100"
sortable="custom" sortable="custom"
> >
<template slot-scope="scope"> <template slot-scope="scope">
@ -149,7 +149,7 @@
prop="CalledAEList" prop="CalledAEList"
:label="$t('trials:inspection:table:CalledAE')" :label="$t('trials:inspection:table:CalledAE')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="120"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span <span
@ -166,7 +166,7 @@
prop="CallingAEList" prop="CallingAEList"
:label="$t('trials:inspection:table:CallingAE')" :label="$t('trials:inspection:table:CallingAE')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="120"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span <span
@ -185,7 +185,7 @@
prop="TrialList" prop="TrialList"
:label="$t('trials:trials-list:table:researchName')" :label="$t('trials:trials-list:table:researchName')"
show-overflow-tooltip show-overflow-tooltip
min-width="160" min-width="120"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -208,7 +208,7 @@
prop="StudyCount" prop="StudyCount"
:label="$t('trials:studyList:table:count')" :label="$t('trials:studyList:table:count')"
show-overflow-tooltip show-overflow-tooltip
min-width="160" min-width="100"
sortable="custom" sortable="custom"
> >
<template slot-scope="scope"> <template slot-scope="scope">
@ -227,11 +227,11 @@
prop="LatestPushTime" prop="LatestPushTime"
:label="$t('trials:inspection:table:latestReceiveTime')" :label="$t('trials:inspection:table:latestReceiveTime')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="180"
sortable="custom" sortable="custom"
></el-table-column> ></el-table-column>
<!--操作--> <!--操作-->
<el-table-column :label="$t('common:action:action')" width="250"> <el-table-column :label="$t('common:action:action')" min-width="100" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
circle circle

View File

@ -4,7 +4,7 @@
ref="mar" ref="mar"
hspace="0" hspace="0"
direction="left" direction="left"
max-width="500" width="500"
@mouseout="start()" @mouseout="start()"
@mouseover="stop()" @mouseover="stop()"
> >

View File

@ -249,6 +249,24 @@ export default {
message: this.$t("trials:trials-list:formRule:minMaxAuthorized"), message: this.$t("trials:trials-list:formRule:minMaxAuthorized"),
trigger: "blur", trigger: "blur",
}, },
{
validator: (rule, value, callback) => {
if (
value &&
(String(value).includes(".") ||
new RegExp(/\D/g).test(String(value)))
) {
callback(
new Error(
this.$t("trials:trials-list:formRule:notDecimalsAuthorized")
)
);
} else {
callback();
}
},
trigger: "blur",
},
], ],
// //
CriterionTypeList: [ CriterionTypeList: [

View File

@ -160,7 +160,7 @@
prop="ExperimentName" prop="ExperimentName"
:label="$t('trials:trials-list:table:experimentName')" :label="$t('trials:trials-list:table:experimentName')"
show-overflow-tooltip show-overflow-tooltip
min-width="100" min-width="140"
sortable="custom" sortable="custom"
/> />
@ -206,6 +206,7 @@
:label="$t('trials:trials-list:table:CriterionTypeList')" :label="$t('trials:trials-list:table:CriterionTypeList')"
show-overflow-tooltip show-overflow-tooltip
v-if="hasPermi(['role:pm', 'role:pi', 'role:sr'])" v-if="hasPermi(['role:pm', 'role:pi', 'role:sr'])"
min-width="140"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ <span>{{

View File

@ -96,13 +96,13 @@
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <!-- <el-table-column
prop="PublishUserName" prop="PublishUserName"
min-width="100" min-width="100"
:label="$t('trials:notice:table:publisher')" :label="$t('trials:notice:table:publisher')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> /> -->
<el-table-column <el-table-column
prop="PublishedTime" prop="PublishedTime"
min-width="100" min-width="100"
@ -117,7 +117,7 @@
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<el-table-column <!-- <el-table-column
prop="FileName" prop="FileName"
min-width="100" min-width="100"
:label="$t('trials:notice:table:appendix')" :label="$t('trials:notice:table:appendix')"
@ -132,7 +132,7 @@
>{{ scope.row.FileName }}</a >{{ scope.row.FileName }}</a
> >
</template> </template>
</el-table-column> </el-table-column> -->
<el-table-column <el-table-column
prop="IsRead" prop="IsRead"
min-width="100" min-width="100"
@ -222,11 +222,11 @@ export default {
}, },
showDetail(row) { showDetail(row) {
var currentNoticeType = this.$fd("NoteType", row.NoticeTypeEnum); var currentNoticeType = this.$fd("NoteType", row.NoticeTypeEnum);
if (row.IsRead || row.ActualNoticeStateEnum !== 1) { // if (row.IsRead || row.ActualNoticeStateEnum !== 1) {
this.$alert(row.NoticeContent, currentNoticeType, { // this.$alert(row.NoticeContent, currentNoticeType, {
showConfirmButton: false, // showConfirmButton: false,
}); // });
} else { // } else {
const h = this.$createElement; const h = this.$createElement;
let _this = this; let _this = this;
this.$msgbox({ this.$msgbox({
@ -280,7 +280,7 @@ export default {
} }
}, },
}); });
} // }
}, },
downLoadFile(filePath) { downLoadFile(filePath) {
if (!filePath) return; if (!filePath) return;

View File

@ -189,6 +189,7 @@
:label="$t('trials:researchStaff:table:Name')" :label="$t('trials:researchStaff:table:Name')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
min-width="120"
/> />
<!-- 任务名称 --> <!-- 任务名称 -->
<el-table-column <el-table-column

View File

@ -274,13 +274,13 @@
@click="handleReadImage(scope.row)" @click="handleReadImage(scope.row)"
/> />
<!-- 重阅 --> <!-- 重阅 -->
<!-- <el-button <el-button
v-hasPermi="['trials:readTask:reread']" v-hasPermi="['trials:readTask:reread']"
circle circle
:title="$t('trials:readTask:button:reread')" :title="$t('trials:readTask:button:reread')"
icon="el-icon-collection" icon="el-icon-collection"
@click="openApplyReReading(scope.row)" @click="openApplyReReading(scope.row)"
/> --> />
<!-- 下载报告 --> <!-- 下载报告 -->
<!-- <el-button <!-- <el-button
v-hasPermi="['trials:readTask:report']" v-hasPermi="['trials:readTask:report']"
@ -697,7 +697,7 @@ export default {
getList() { getList() {
this.loading = true; this.loading = true;
this.searchData.TrialId = this.trialId; this.searchData.TrialId = this.trialId;
this.searchData.TrialReadingCriterionId = this.TrialReadingCriterionId; // this.searchData.TrialReadingCriterionId = this.TrialReadingCriterionId;
if (this.dateValue && this.dateValue[0] && this.dateValue[1]) { if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
this.searchData.BeginSignDate = this.$moment(this.dateValue[0]).format( this.searchData.BeginSignDate = this.$moment(this.dateValue[0]).format(
"YYYY-MM-DD HH:mm:ss" "YYYY-MM-DD HH:mm:ss"
@ -751,22 +751,35 @@ export default {
var routeData = this.$router.resolve({ path }); var routeData = this.$router.resolve({ path });
this.openWindow = window.open(routeData.href, "_blank"); this.openWindow = window.open(routeData.href, "_blank");
}, },
openApplyReReading(row) { async openApplyReReading(row) {
this.rowData = { ...row }; try {
this.loading = true; let confirm = await this.$confirm(
getReReadingOrBackInfluenceTaskList(row.Id, true) this.$t("trials:readTask:message:msg2"),
.then((res) => { {
this.InfluenceTaskList = res.Result; type: "warning",
this.ApplyforReasonVisible = true; distinguishCancelAndClose: true,
this.ApplyforReasonForm = { }
Type: null, );
Remake: null, if (!confirm) return;
let params = {
TrialId: row.TrialId,
TrialReadingCriterionId: row.TrialReadingCriterionId,
VisitTaskId: row.Id,
}; };
this.loading = true;
let res = await aIRReReading(params);
this.loading = false; this.loading = false;
}) if (res.IsSuccess) {
.catch(() => { this.getList();
this.loading = false; this.$message({
message: this.$t("trials:readTask:message:msg3"),
type: "success",
}); });
}
} catch (err) {
console.log(err);
this.loading = false;
}
}, },
// //
applyReReading() { applyReReading() {

View File

@ -188,6 +188,7 @@
:label="$t('trials:researchStaff:table:Name')" :label="$t('trials:researchStaff:table:Name')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
min-width="120"
/> />
<!-- 任务名称 --> <!-- 任务名称 -->
<el-table-column <el-table-column

View File

@ -27,6 +27,10 @@
<el-form-item :label="$t('trials:staff:table:organization')"> <el-form-item :label="$t('trials:staff:table:organization')">
<el-input v-model="listQuery.OrganizationName" class="mr" clearable /> <el-input v-model="listQuery.OrganizationName" class="mr" clearable />
</el-form-item> </el-form-item>
<!-- 邮箱 -->
<el-form-item :label="$t('trials:staff:table:email')">
<el-input v-model="listQuery.Email" class="mr" clearable />
</el-form-item>
<!-- 状态 --> <!-- 状态 -->
<el-form-item :label="$t('trials:staff:table:status')"> <el-form-item :label="$t('trials:staff:table:status')">
<el-select v-model="listQuery.IsDeleted" clearable class="mr"> <el-select v-model="listQuery.IsDeleted" clearable class="mr">
@ -350,6 +354,7 @@ const getListQueryDefault = () => {
UserName: "", UserName: "",
UserTypeId: "", UserTypeId: "",
OrganizationName: "", OrganizationName: "",
Email: "",
IsDeleted: null, IsDeleted: null,
PageIndex: 1, PageIndex: 1,
PageSize: 20, PageSize: 20,

View File

@ -136,7 +136,7 @@
stripe stripe
height="100" height="100"
:default-sort="{ :default-sort="{
prop: 'TrialReadingCriterionName', prop: 'CreateTime',
order: 'descending', order: 'descending',
}" }"
> >
@ -1245,7 +1245,7 @@ export default {
data() { data() {
const searchDataDefault = () => { const searchDataDefault = () => {
return { return {
SortField: "TrialReadingCriterionName", SortField: "CreateTime",
Asc: false, Asc: false,
PageIndex: 1, PageIndex: 1,
PageSize: 20, PageSize: 20,