Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/hir_web into main
commit
4b915c152e
|
@ -342,7 +342,7 @@ export default {
|
|||
this.user.RouteUrl = `${location.protocol}//${location.host}/email-recompose`;
|
||||
if (this.user.Id) {
|
||||
if (this.user.IsZhiZhun) {
|
||||
this.user.OrganizationName = THIS.hospitalName;
|
||||
this.user.OrganizationName = this.hospitalName;
|
||||
}
|
||||
updateUser(this.user)
|
||||
.then((res) => {
|
||||
|
|
|
@ -163,7 +163,7 @@
|
|||
<!--操作-->
|
||||
<el-table-column
|
||||
:label="$t('common:action:action')"
|
||||
width="100"
|
||||
min-width="100"
|
||||
class-name="actionBox"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
|
|
|
@ -37,21 +37,21 @@
|
|||
prop="ResearchProgramNo"
|
||||
:label="$t('trials:trials-list:table:researchNumber')"
|
||||
show-overflow-tooltip
|
||||
min-width="140"
|
||||
min-width="120"
|
||||
></el-table-column>
|
||||
<!--试验名称-->
|
||||
<el-table-column
|
||||
prop="ExperimentName"
|
||||
:label="$t('trials:trials-list:table:experimentName')"
|
||||
show-overflow-tooltip
|
||||
min-width="140"
|
||||
min-width="120"
|
||||
></el-table-column>
|
||||
<!--申办方-->
|
||||
<el-table-column
|
||||
prop="Sponsor"
|
||||
:label="$t('trials:trials-list:table:sponsor')"
|
||||
show-overflow-tooltip
|
||||
min-width="140"
|
||||
min-width="120"
|
||||
></el-table-column>
|
||||
<!--匹配受试者编号-->
|
||||
<el-table-column
|
||||
|
@ -65,21 +65,21 @@
|
|||
prop="ShortName"
|
||||
:label="$t('trials:researchStaff:table:Name')"
|
||||
show-overflow-tooltip
|
||||
min-width="140"
|
||||
min-width="120"
|
||||
></el-table-column>
|
||||
<!--年龄-->
|
||||
<el-table-column
|
||||
prop="Age"
|
||||
:label="$t('trials:subject:table:age')"
|
||||
show-overflow-tooltip
|
||||
min-width="140"
|
||||
min-width="120"
|
||||
></el-table-column>
|
||||
<!--性别-->
|
||||
<el-table-column
|
||||
prop="Sex"
|
||||
:label="$t('trials:subject:table:gender')"
|
||||
show-overflow-tooltip
|
||||
min-width="140"
|
||||
min-width="100"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ $fd("sex", scope.row.Sex) }}</span>
|
||||
|
@ -90,27 +90,19 @@
|
|||
prop="TrialStatusStr"
|
||||
:label="$t('trials:trials-list:table:status')"
|
||||
show-overflow-tooltip
|
||||
min-width="140"
|
||||
min-width="100"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-tag
|
||||
v-if="scope.row.TrialStatusStr === 'Initializing'"
|
||||
type="info"
|
||||
:type="
|
||||
['info', 'primary', 'warning', 'danger'][
|
||||
['Initializing', 'Ongoing', 'Completed', 'Stopped'].indexOf(
|
||||
scope.row.TrialStatusStr
|
||||
)
|
||||
]
|
||||
"
|
||||
>{{ $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
|
||||
>
|
||||
<!--加入时间-->
|
||||
|
@ -121,7 +113,7 @@
|
|||
min-width="140"
|
||||
></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">
|
||||
<!-- 详情 -->
|
||||
<el-button
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
prop="Description"
|
||||
:label="$t('trials:inspection:table:studyDescription')"
|
||||
show-overflow-tooltip
|
||||
min-width="140"
|
||||
min-width="120"
|
||||
sortable="custom"
|
||||
></el-table-column>
|
||||
<!--检查类型-->
|
||||
|
@ -84,7 +84,7 @@
|
|||
prop="Modalities"
|
||||
:label="$t('trials:audit:table:modality')"
|
||||
show-overflow-tooltip
|
||||
min-width="140"
|
||||
min-width="120"
|
||||
sortable="custom"
|
||||
></el-table-column>
|
||||
<!--Called AE-->
|
||||
|
@ -131,7 +131,7 @@
|
|||
sortable="custom"
|
||||
></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">
|
||||
<!-- 影像 -->
|
||||
<el-button
|
||||
|
|
|
@ -113,7 +113,7 @@
|
|||
prop="PatientIdStr"
|
||||
:label="$t('trials:uploadDicomList:table:pId')"
|
||||
show-overflow-tooltip
|
||||
min-width="140"
|
||||
min-width="120"
|
||||
sortable="custom"
|
||||
></el-table-column>
|
||||
<!--患者姓名-->
|
||||
|
@ -121,7 +121,7 @@
|
|||
prop="PatientName"
|
||||
:label="$t('trials:uploadDicomList:table:patientName')"
|
||||
show-overflow-tooltip
|
||||
min-width="140"
|
||||
min-width="120"
|
||||
sortable="custom"
|
||||
></el-table-column>
|
||||
<!--出生日期-->
|
||||
|
@ -129,7 +129,7 @@
|
|||
prop="PatientBirthDate"
|
||||
:label="$t('trials:inspection:table:birthdate')"
|
||||
show-overflow-tooltip
|
||||
min-width="140"
|
||||
min-width="120"
|
||||
sortable="custom"
|
||||
></el-table-column>
|
||||
<!--性别-->
|
||||
|
@ -137,7 +137,7 @@
|
|||
prop="PatientSex"
|
||||
:label="$t('trials:trials-myinfo:form:gender')"
|
||||
show-overflow-tooltip
|
||||
min-width="140"
|
||||
min-width="100"
|
||||
sortable="custom"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
|
@ -149,7 +149,7 @@
|
|||
prop="CalledAEList"
|
||||
:label="$t('trials:inspection:table:CalledAE')"
|
||||
show-overflow-tooltip
|
||||
min-width="140"
|
||||
min-width="120"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
|
@ -166,7 +166,7 @@
|
|||
prop="CallingAEList"
|
||||
:label="$t('trials:inspection:table:CallingAE')"
|
||||
show-overflow-tooltip
|
||||
min-width="140"
|
||||
min-width="120"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
|
@ -185,7 +185,7 @@
|
|||
prop="TrialList"
|
||||
:label="$t('trials:trials-list:table:researchName')"
|
||||
show-overflow-tooltip
|
||||
min-width="160"
|
||||
min-width="120"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
|
@ -208,7 +208,7 @@
|
|||
prop="StudyCount"
|
||||
:label="$t('trials:studyList:table:count')"
|
||||
show-overflow-tooltip
|
||||
min-width="160"
|
||||
min-width="100"
|
||||
sortable="custom"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
|
@ -227,11 +227,11 @@
|
|||
prop="LatestPushTime"
|
||||
:label="$t('trials:inspection:table:latestReceiveTime')"
|
||||
show-overflow-tooltip
|
||||
min-width="140"
|
||||
min-width="180"
|
||||
sortable="custom"
|
||||
></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">
|
||||
<el-button
|
||||
circle
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
ref="mar"
|
||||
hspace="0"
|
||||
direction="left"
|
||||
max-width="500"
|
||||
width="500"
|
||||
@mouseout="start()"
|
||||
@mouseover="stop()"
|
||||
>
|
||||
|
|
|
@ -249,6 +249,24 @@ export default {
|
|||
message: this.$t("trials:trials-list:formRule:minMaxAuthorized"),
|
||||
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: [
|
||||
|
|
|
@ -160,7 +160,7 @@
|
|||
prop="ExperimentName"
|
||||
:label="$t('trials:trials-list:table:experimentName')"
|
||||
show-overflow-tooltip
|
||||
min-width="100"
|
||||
min-width="140"
|
||||
sortable="custom"
|
||||
/>
|
||||
|
||||
|
@ -206,6 +206,7 @@
|
|||
:label="$t('trials:trials-list:table:CriterionTypeList')"
|
||||
show-overflow-tooltip
|
||||
v-if="hasPermi(['role:pm', 'role:pi', 'role:sr'])"
|
||||
min-width="140"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{
|
||||
|
|
|
@ -96,13 +96,13 @@
|
|||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
<!-- <el-table-column
|
||||
prop="PublishUserName"
|
||||
min-width="100"
|
||||
:label="$t('trials:notice:table:publisher')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
/>
|
||||
/> -->
|
||||
<el-table-column
|
||||
prop="PublishedTime"
|
||||
min-width="100"
|
||||
|
@ -117,7 +117,7 @@
|
|||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
/>
|
||||
<el-table-column
|
||||
<!-- <el-table-column
|
||||
prop="FileName"
|
||||
min-width="100"
|
||||
:label="$t('trials:notice:table:appendix')"
|
||||
|
@ -132,7 +132,7 @@
|
|||
>{{ scope.row.FileName }}</a
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<el-table-column
|
||||
prop="IsRead"
|
||||
min-width="100"
|
||||
|
@ -222,65 +222,65 @@ export default {
|
|||
},
|
||||
showDetail(row) {
|
||||
var currentNoticeType = this.$fd("NoteType", row.NoticeTypeEnum);
|
||||
if (row.IsRead || row.ActualNoticeStateEnum !== 1) {
|
||||
this.$alert(row.NoticeContent, currentNoticeType, {
|
||||
showConfirmButton: false,
|
||||
});
|
||||
} else {
|
||||
const h = this.$createElement;
|
||||
let _this = this;
|
||||
this.$msgbox({
|
||||
title: currentNoticeType,
|
||||
message: h("div", null, [
|
||||
h("span", null, row.NoticeContent),
|
||||
row.Path
|
||||
? h(
|
||||
"div",
|
||||
{
|
||||
style: {
|
||||
marginTop: "10px",
|
||||
},
|
||||
// if (row.IsRead || row.ActualNoticeStateEnum !== 1) {
|
||||
// this.$alert(row.NoticeContent, currentNoticeType, {
|
||||
// showConfirmButton: false,
|
||||
// });
|
||||
// } else {
|
||||
const h = this.$createElement;
|
||||
let _this = this;
|
||||
this.$msgbox({
|
||||
title: currentNoticeType,
|
||||
message: h("div", null, [
|
||||
h("span", null, row.NoticeContent),
|
||||
row.Path
|
||||
? h(
|
||||
"div",
|
||||
{
|
||||
style: {
|
||||
marginTop: "10px",
|
||||
},
|
||||
_this.$t("trials:notice:message:tipTitle")
|
||||
)
|
||||
: "",
|
||||
row.Path
|
||||
? h(
|
||||
"a",
|
||||
{
|
||||
attrs: {
|
||||
href: _this.OSSclientConfig.basePath + row.Path,
|
||||
target: "_blank",
|
||||
},
|
||||
style: {
|
||||
color: "#428bca",
|
||||
},
|
||||
},
|
||||
_this.$t("trials:notice:message:tipTitle")
|
||||
)
|
||||
: "",
|
||||
row.Path
|
||||
? h(
|
||||
"a",
|
||||
{
|
||||
attrs: {
|
||||
href: _this.OSSclientConfig.basePath + row.Path,
|
||||
target: "_blank",
|
||||
},
|
||||
row.FileName
|
||||
)
|
||||
: "",
|
||||
]),
|
||||
beforeClose: (action, instance, done) => {
|
||||
if (action === "confirm") {
|
||||
instance.confirmButtonLoading = true;
|
||||
setSystemNoticeHaveRead(row.Id)
|
||||
.then(async (res) => {
|
||||
if (res.IsSuccess) {
|
||||
await this.$store.dispatch("global/getNoticeList");
|
||||
this.getList();
|
||||
}
|
||||
instance.confirmButtonLoading = false;
|
||||
done();
|
||||
})
|
||||
.catch(() => {
|
||||
instance.confirmButtonLoading = false;
|
||||
});
|
||||
} else {
|
||||
done();
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
style: {
|
||||
color: "#428bca",
|
||||
},
|
||||
},
|
||||
row.FileName
|
||||
)
|
||||
: "",
|
||||
]),
|
||||
beforeClose: (action, instance, done) => {
|
||||
if (action === "confirm") {
|
||||
instance.confirmButtonLoading = true;
|
||||
setSystemNoticeHaveRead(row.Id)
|
||||
.then(async (res) => {
|
||||
if (res.IsSuccess) {
|
||||
await this.$store.dispatch("global/getNoticeList");
|
||||
this.getList();
|
||||
}
|
||||
instance.confirmButtonLoading = false;
|
||||
done();
|
||||
})
|
||||
.catch(() => {
|
||||
instance.confirmButtonLoading = false;
|
||||
});
|
||||
} else {
|
||||
done();
|
||||
}
|
||||
},
|
||||
});
|
||||
// }
|
||||
},
|
||||
downLoadFile(filePath) {
|
||||
if (!filePath) return;
|
||||
|
|
|
@ -189,6 +189,7 @@
|
|||
:label="$t('trials:researchStaff:table:Name')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="120"
|
||||
/>
|
||||
<!-- 任务名称 -->
|
||||
<el-table-column
|
||||
|
|
|
@ -274,13 +274,13 @@
|
|||
@click="handleReadImage(scope.row)"
|
||||
/>
|
||||
<!-- 重阅 -->
|
||||
<!-- <el-button
|
||||
<el-button
|
||||
v-hasPermi="['trials:readTask:reread']"
|
||||
circle
|
||||
:title="$t('trials:readTask:button:reread')"
|
||||
icon="el-icon-collection"
|
||||
@click="openApplyReReading(scope.row)"
|
||||
/> -->
|
||||
/>
|
||||
<!-- 下载报告 -->
|
||||
<!-- <el-button
|
||||
v-hasPermi="['trials:readTask:report']"
|
||||
|
@ -697,7 +697,7 @@ export default {
|
|||
getList() {
|
||||
this.loading = true;
|
||||
this.searchData.TrialId = this.trialId;
|
||||
this.searchData.TrialReadingCriterionId = this.TrialReadingCriterionId;
|
||||
// this.searchData.TrialReadingCriterionId = this.TrialReadingCriterionId;
|
||||
if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
|
||||
this.searchData.BeginSignDate = this.$moment(this.dateValue[0]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
|
@ -751,22 +751,35 @@ export default {
|
|||
var routeData = this.$router.resolve({ path });
|
||||
this.openWindow = window.open(routeData.href, "_blank");
|
||||
},
|
||||
openApplyReReading(row) {
|
||||
this.rowData = { ...row };
|
||||
this.loading = true;
|
||||
getReReadingOrBackInfluenceTaskList(row.Id, true)
|
||||
.then((res) => {
|
||||
this.InfluenceTaskList = res.Result;
|
||||
this.ApplyforReasonVisible = true;
|
||||
this.ApplyforReasonForm = {
|
||||
Type: null,
|
||||
Remake: null,
|
||||
};
|
||||
this.loading = false;
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
async openApplyReReading(row) {
|
||||
try {
|
||||
let confirm = await this.$confirm(
|
||||
this.$t("trials:readTask:message:msg2"),
|
||||
{
|
||||
type: "warning",
|
||||
distinguishCancelAndClose: true,
|
||||
}
|
||||
);
|
||||
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;
|
||||
if (res.IsSuccess) {
|
||||
this.getList();
|
||||
this.$message({
|
||||
message: this.$t("trials:readTask:message:msg3"),
|
||||
type: "success",
|
||||
});
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
this.loading = false;
|
||||
}
|
||||
},
|
||||
// 申请重阅
|
||||
applyReReading() {
|
||||
|
|
|
@ -188,6 +188,7 @@
|
|||
:label="$t('trials:researchStaff:table:Name')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="120"
|
||||
/>
|
||||
<!-- 任务名称 -->
|
||||
<el-table-column
|
||||
|
|
|
@ -27,6 +27,10 @@
|
|||
<el-form-item :label="$t('trials:staff:table:organization')">
|
||||
<el-input v-model="listQuery.OrganizationName" class="mr" clearable />
|
||||
</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-select v-model="listQuery.IsDeleted" clearable class="mr">
|
||||
|
@ -350,6 +354,7 @@ const getListQueryDefault = () => {
|
|||
UserName: "",
|
||||
UserTypeId: "",
|
||||
OrganizationName: "",
|
||||
Email: "",
|
||||
IsDeleted: null,
|
||||
PageIndex: 1,
|
||||
PageSize: 20,
|
||||
|
|
|
@ -136,7 +136,7 @@
|
|||
stripe
|
||||
height="100"
|
||||
:default-sort="{
|
||||
prop: 'TrialReadingCriterionName',
|
||||
prop: 'CreateTime',
|
||||
order: 'descending',
|
||||
}"
|
||||
>
|
||||
|
@ -1245,7 +1245,7 @@ export default {
|
|||
data() {
|
||||
const searchDataDefault = () => {
|
||||
return {
|
||||
SortField: "TrialReadingCriterionName",
|
||||
SortField: "CreateTime",
|
||||
Asc: false,
|
||||
PageIndex: 1,
|
||||
PageSize: 20,
|
||||
|
|
Loading…
Reference in New Issue