部分问题修复

main
wangxiaoshuang 2024-04-26 15:12:55 +08:00
parent 1e93a76838
commit a53312ed52
15 changed files with 175 additions and 98 deletions

View File

@ -15,6 +15,7 @@
size="mini" size="mini"
:style="{ width: item.width }" :style="{ width: item.width }"
:readonly="item.readonly" :readonly="item.readonly"
clearable
/> />
<!-- 下拉框 --> <!-- 下拉框 -->
<el-select <el-select
@ -22,6 +23,7 @@
v-model="searchData[item.prop]" v-model="searchData[item.prop]"
:placeholder="item.placeholder" :placeholder="item.placeholder"
size="mini" size="mini"
clearable
:style="{ width: item.width }" :style="{ width: item.width }"
@change="item.change && item.change(that, searchData[item.prop])" @change="item.change && item.change(that, searchData[item.prop])"
> >
@ -37,6 +39,7 @@
v-model="searchData[item.prop]" v-model="searchData[item.prop]"
:placeholder="item.placeholder" :placeholder="item.placeholder"
size="mini" size="mini"
clearable
:style="{ width: item.width }" :style="{ width: item.width }"
@change="item.change && item.change(that, searchData[item.prop])" @change="item.change && item.change(that, searchData[item.prop])"
> >
@ -96,6 +99,7 @@
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
format="yyyy-MM-dd" format="yyyy-MM-dd"
:picker-options="item.pickerOption" :picker-options="item.pickerOption"
clearable
/> />
<!-- 时间 --> <!-- 时间 -->
<el-time-select <el-time-select
@ -104,6 +108,7 @@
:placeholder="item.placeholder" :placeholder="item.placeholder"
type="" type=""
:style="{ width: item.width }" :style="{ width: item.width }"
clearable
/> />
<!-- 日期时间 --> <!-- 日期时间 -->
<el-date-picker <el-date-picker
@ -113,6 +118,7 @@
type="datetime" type="datetime"
:disabled="item.disable && item.disable(searchData[item.prop])" :disabled="item.disable && item.disable(searchData[item.prop])"
:style="{ width: item.width }" :style="{ width: item.width }"
clearable
/> />
<!-- 日期时间段 --> <!-- 日期时间段 -->
<el-date-picker <el-date-picker
@ -122,6 +128,7 @@
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
clearable
/> />
<!-- 滑块 --> <!-- 滑块 -->
<!-- <el-slider v-if="item.type==='Slider'" v-model="searchData[item.prop]"></el-slider> --> <!-- <el-slider v-if="item.type==='Slider'" v-model="searchData[item.prop]"></el-slider> -->

View File

@ -163,8 +163,8 @@ const actions = {
commit('SET_USERNAME', zzSessionStorage.getItem('userName')) commit('SET_USERNAME', zzSessionStorage.getItem('userName'))
commit('SET_NEED_SIGN_SYSTEM_DOC_COUNT', parseInt(zzSessionStorage.getItem('TotalNeedSignSystemDocCount'))) commit('SET_NEED_SIGN_SYSTEM_DOC_COUNT', parseInt(zzSessionStorage.getItem('TotalNeedSignSystemDocCount')))
commit('SET_NEED_SIGN_TRIALS_DOC_COUNT', parseInt(zzSessionStorage.getItem('TotalNeedSignTrialDocCount'))) commit('SET_NEED_SIGN_TRIALS_DOC_COUNT', parseInt(zzSessionStorage.getItem('TotalNeedSignTrialDocCount')))
console.log( zzSessionStorage.getItem('TotalNeedSignSystemDocCount')) console.log(zzSessionStorage.getItem('TotalNeedSignSystemDocCount'))
console.log( zzSessionStorage.getItem('TotalNeedSignTrialDocCount')) console.log(zzSessionStorage.getItem('TotalNeedSignTrialDocCount'))
zzSessionStorage.setItem('userName', user.name) zzSessionStorage.setItem('userName', user.name)
zzSessionStorage.setItem('userId', user.id) zzSessionStorage.setItem('userId', user.id)
zzSessionStorage.setItem('userTypeShortName', user.userTypeShortName) zzSessionStorage.setItem('userTypeShortName', user.userTypeShortName)

View File

@ -7,6 +7,7 @@
custom-class="base-dialog-wrapper" custom-class="base-dialog-wrapper"
append-to-body append-to-body
:before-close="handleCancel" :before-close="handleCancel"
v-dialogDrag
> >
<el-form <el-form
ref="editVisitForm" ref="editVisitForm"
@ -18,15 +19,15 @@
<div class="base-dialog-body"> <div class="base-dialog-body">
<!--AE Title--> <!--AE Title-->
<el-form-item :label="$t('system:dicom:form:AETitle')" prop="CalledAE"> <el-form-item :label="$t('system:dicom:form:AETitle')" prop="CalledAE">
<el-input v-model="form.CalledAE" clearable /> <el-input v-model.trim="form.CalledAE" clearable maxlength="16" />
</el-form-item> </el-form-item>
<!--IP--> <!--IP-->
<el-form-item :label="$t('system:dicom:form:IP')" prop="IP"> <el-form-item :label="$t('system:dicom:form:IP')" prop="IP">
<el-input v-model="form.IP" clearable /> <el-input v-model.trim="form.IP" clearable />
</el-form-item> </el-form-item>
<!--Port--> <!--Port-->
<el-form-item :label="$t('system:dicom:form:Port')" prop="Port"> <el-form-item :label="$t('system:dicom:form:Port')" prop="Port">
<el-input v-model="form.Port" type="number" clearable /> <el-input v-model.number="form.Port" type="number" clearable />
</el-form-item> </el-form-item>
<!--Modality--> <!--Modality-->
<el-form-item :label="$t('system:dicom:form:Modality')" prop="Modality"> <el-form-item :label="$t('system:dicom:form:Modality')" prop="Modality">
@ -103,6 +104,17 @@ export default {
message: this.$t("common:ruleMessage:specify"), message: this.$t("common:ruleMessage:specify"),
trigger: "blur", trigger: "blur",
}, },
{
pattern: /[a-zA-Z]/,
message: this.$t("common:ruleMessage:CalledAEPattern"),
trigger: "blur",
},
{
min: 1,
max: 16,
message: this.$t("common:ruleMessage:CalledAEPattern"),
trigger: "blur",
},
], ],
IP: [ IP: [
{ {
@ -110,6 +122,27 @@ export default {
message: this.$t("common:ruleMessage:specify"), message: this.$t("common:ruleMessage:specify"),
trigger: "blur", trigger: "blur",
}, },
{
validator: (rule, value, callback) => {
if (
value === "" ||
typeof value === "undefined" ||
value == null
) {
callback(new Error(this.$t("common:ruleMessage:ipPattern")));
} else {
const reg =
/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
if (!reg.test(value) && value !== "") {
callback(new Error(this.$t("common:ruleMessage:ipPattern")));
} else {
callback();
}
}
},
message: this.$t("common:ruleMessage:ipPattern"),
trigger: "blur",
},
], ],
Port: [ Port: [
{ {
@ -117,6 +150,13 @@ export default {
message: this.$t("common:ruleMessage:specify"), message: this.$t("common:ruleMessage:specify"),
trigger: "blur", trigger: "blur",
}, },
{
type: "number",
min: 0,
max: 65535,
message: this.$t("common:ruleMessage:portPattern"),
trigger: "blur",
},
], ],
}, },
btnLoading: false, btnLoading: false,

View File

@ -36,6 +36,10 @@ export default {
message: this.$t("trials:adRules:message:msg7"), message: this.$t("trials:adRules:message:msg7"),
type: "success", type: "success",
}); });
let msg = this.$t("system:userlist:message:ResetPassword2");
msg = msg.replace("xxx", params("userName"));
msg = msg.replace("yyy", params("email"));
this.$alert(decodeURIComponent(msg));
} }
}); });
}); });

View File

@ -339,6 +339,9 @@ export default {
this.user.BaseUrl = `${location.protocol}//${location.host}/login`; this.user.BaseUrl = `${location.protocol}//${location.host}/login`;
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) {
this.user.OrganizationName = THIS.hospitalName;
}
updateUser(this.user) updateUser(this.user)
.then((res) => { .then((res) => {
this.isDisabled = false; this.isDisabled = false;

View File

@ -89,7 +89,7 @@
<!--Called AE--> <!--Called AE-->
<el-table-column <el-table-column
prop="CalledAE" prop="CalledAE"
label="Called AE" :label="$t('trials:inspection:table:CalledAE')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="140"
> >
@ -97,7 +97,7 @@
<!--Calling AE--> <!--Calling AE-->
<el-table-column <el-table-column
prop="CallingAE" prop="CallingAE"
label="Calling AE" :label="$t('trials:inspection:table:CallingAE')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="140"
> >

View File

@ -19,7 +19,10 @@
/> />
</el-form-item> </el-form-item>
<!-- Called AE --> <!-- Called AE -->
<el-form-item class="my_multiple" label="Called AE"> <el-form-item
class="my_multiple"
:label="$t('trials:inspection:search:CalledAE')"
>
<el-select <el-select
v-model="searchData.CalledAEList" v-model="searchData.CalledAEList"
clearable clearable
@ -36,7 +39,10 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- Calling AE --> <!-- Calling AE -->
<el-form-item class="my_multiple" label="Calling AE"> <el-form-item
class="my_multiple"
:label="$t('trials:inspection:search:CallingAE')"
>
<el-select <el-select
v-model="searchData.callingAE" v-model="searchData.callingAE"
clearable clearable
@ -140,7 +146,7 @@
<!--Called AE--> <!--Called AE-->
<el-table-column <el-table-column
prop="CalledAEList" prop="CalledAEList"
label="Called AE" :label="$t('trials:inspection:table:CalledAE')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="140"
> >
@ -157,7 +163,7 @@
<!--Calling AE--> <!--Calling AE-->
<el-table-column <el-table-column
prop="CallingAEList" prop="CallingAEList"
label="Calling AE" :label="$t('trials:inspection:table:CallingAE')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="140"
> >

View File

@ -44,7 +44,11 @@
:label="$t('trials:trials-list:form:researchNumber')" :label="$t('trials:trials-list:form:researchNumber')"
prop="ResearchProgramNo" prop="ResearchProgramNo"
> >
<el-input v-model="trialForm.ResearchProgramNo" clearable /> <el-input
v-model="trialForm.ResearchProgramNo"
clearable
:disabled="TrialStatusStr === 'Ongoing'"
/>
</el-form-item> </el-form-item>
<!-- 研究名称 --> <!-- 研究名称 -->
<el-form-item <el-form-item

View File

@ -36,7 +36,7 @@
style="margin-bottom: 5px" style="margin-bottom: 5px"
prop="CheckCode" prop="CheckCode"
> >
<!-- <span>{{ user.UserName }}</span> --> <span>{{ user.CheckCode }}</span>
</el-form-item> </el-form-item>
<el-form-item label="" style="position: relative" prop="CheckCode"> <el-form-item label="" style="position: relative" prop="CheckCode">
<el-input <el-input

View File

@ -21,6 +21,7 @@
:user="user" :user="user"
:userTypeOptions="userTypeOptions" :userTypeOptions="userTypeOptions"
v-if="activeIndex === '1'" v-if="activeIndex === '1'"
@getUserInfo="getUserInfo"
/> />
<account <account
:user="user" :user="user"

View File

@ -43,6 +43,7 @@
prop="OrganizationName" prop="OrganizationName"
> >
<el-input <el-input
:disabled="user.IsZhiZhun"
v-model="user.OrganizationName" v-model="user.OrganizationName"
:placeholder="$t('trials:trials-myinfo:form:organization')" :placeholder="$t('trials:trials-myinfo:form:organization')"
/> />
@ -184,7 +185,7 @@ export default {
this.$message.success( this.$message.success(
this.$t("trials:trials-myinfo:message:updateSuccessfully") this.$t("trials:trials-myinfo:message:updateSuccessfully")
); );
this.getUserInfo(); this.$emit("getUserInfo");
}) })
.catch(() => { .catch(() => {
this.isDisabled = false; this.isDisabled = false;

View File

@ -378,7 +378,6 @@ export default {
let href = this.OSSclientConfig.basePath + res.Result; let href = this.OSSclientConfig.basePath + res.Result;
let fileName = let fileName =
res.Result.split("/")[res.Result.split("/").length - 1]; res.Result.split("/")[res.Result.split("/").length - 1];
a.download = fileName;
this.fileData = { this.fileData = {
path:href, path:href,
name:fileName name:fileName

View File

@ -29,7 +29,7 @@
</el-form-item> </el-form-item>
<!-- 患者姓名 --> <!-- 患者姓名 -->
<el-form-item :label="$t('trials:uploadDicomList:table:patientName')"> <el-form-item :label="$t('trials:uploadDicomList:table:patientName')">
<el-input v-model="searchData.PatientName" style="width: 140px" /> <el-input v-model="searchData.SubjectName" style="width: 140px" />
</el-form-item> </el-form-item>
<!-- 任务创建时间 --> <!-- 任务创建时间 -->
<el-form-item :label="$t('trials:reviewTrack:table:createTime')"> <el-form-item :label="$t('trials:reviewTrack:table:createTime')">
@ -143,7 +143,7 @@
> >
<!-- 患者姓名 --> <!-- 患者姓名 -->
<el-table-column <el-table-column
prop="SubjectShortName" prop="SubjectName"
:label="$t('trials:researchStaff:table:Name')" :label="$t('trials:researchStaff:table:Name')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
@ -300,6 +300,7 @@ const defaultSearchData = () => {
PatientSex: null, PatientSex: null,
BeginTaskCreateTime: null, BeginTaskCreateTime: null,
EndTaskCreateTime: null, EndTaskCreateTime: null,
SubjectName: null,
}; };
}; };
export default { export default {

View File

@ -18,7 +18,7 @@
clearable clearable
/> />
<!-- Called AE --> <!-- Called AE -->
<span>Called AE:</span> <span>{{ $t("trials:subject:table:CalledAE") }}</span>
<el-select <el-select
v-model="searchData.CalledAEList" v-model="searchData.CalledAEList"
clearable clearable
@ -34,7 +34,7 @@
</el-option> </el-option>
</el-select> </el-select>
<!-- Calling AE --> <!-- Calling AE -->
<span>Calling AE:</span> <span>{{ $t("trials:subject:table:CallingAE") }}</span>
<el-select v-model="searchData.callingAE" clearable class="mr"> <el-select v-model="searchData.callingAE" clearable class="mr">
<el-option <el-option
v-for="(item, index) of callingAeList" v-for="(item, index) of callingAeList"

View File

@ -1,61 +1,62 @@
<template> <template>
<div class="trial-information"> <div class="trial-information">
<el-descriptions :column="2" border style="width: 1200px"> <div>
<!--项目类型--> <el-descriptions :column="2" border style="width: 1200px">
<el-descriptions-item :label="$t('trials:trials-list:form:trialType')"> <!--项目类型-->
{{ $fd("TrialType", trialInfo.TrialType) }} <el-descriptions-item :label="$t('trials:trials-list:form:trialType')">
</el-descriptions-item> {{ $fd("TrialType", trialInfo.TrialType) }}
<!--研究方案号--> </el-descriptions-item>
<el-descriptions-item <!--研究方案号-->
:label="$t('trials:trials-list:form:researchNumber')" <el-descriptions-item
> :label="$t('trials:trials-list:form:researchNumber')"
{{ trialInfo.ResearchProgramNo }} >
</el-descriptions-item> {{ trialInfo.ResearchProgramNo }}
<!--试验名称--> </el-descriptions-item>
<el-descriptions-item <!--试验名称-->
:label="$t('trials:trials-list:form:experimentName')" <el-descriptions-item
> :label="$t('trials:trials-list:form:experimentName')"
{{ trialInfo.ExperimentName }} >
</el-descriptions-item> {{ trialInfo.ExperimentName }}
<!--药物/器械名称--> </el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:message:D/Dname')"> <!--药物/器械名称-->
{{ trialInfo.MedicineName }} <el-descriptions-item :label="$t('trials:trials-list:message:D/Dname')">
</el-descriptions-item> {{ trialInfo.MedicineName }}
<!--申办方--> </el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:form:sponsor')"> <!--申办方-->
{{ trialInfo.Sponsor }} <el-descriptions-item :label="$t('trials:trials-list:form:sponsor')">
</el-descriptions-item> {{ trialInfo.Sponsor }}
<!--主要研究者--> </el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:form:pi')"> <!--主要研究者-->
{{ trialInfo.HeadPI }} <el-descriptions-item :label="$t('trials:trials-list:form:pi')">
</el-descriptions-item> {{ trialInfo.HeadPI }}
<!--临床分期--> </el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:form:phase')"> <!--临床分期-->
{{ $fd("Trial_Phase", trialInfo.PhaseId, "id") }} <el-descriptions-item :label="$t('trials:trials-list:form:phase')">
</el-descriptions-item> {{ $fd("Trial_Phase", trialInfo.PhaseId, "id") }}
<!--适应症--> </el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:form:indication')"> <!--适应症-->
{{ trialInfo.Indication }} <el-descriptions-item :label="$t('trials:trials-list:form:indication')">
</el-descriptions-item> {{ trialInfo.Indication }}
<!--阅片标准--> </el-descriptions-item>
<el-descriptions-item <!--阅片标准-->
:span="2" <el-descriptions-item
:label="$t('trials:trials-list:form:criterion')" :label="$t('trials:trials-list:form:criterion')"
> :span="2"
{{ >
trialInfo.CriterionTypeList {{
? trialInfo.CriterionTypeList.map((item) => trialInfo.CriterionTypeList
$fd("CriterionType", item) ? trialInfo.CriterionTypeList.map((item) =>
).join(", ") $fd("CriterionType", item)
: "" ).join(", ")
}} : ""
</el-descriptions-item> }}
<!--CRO--> </el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:form:cro')"> <!--CRO-->
{{ trialInfo.CRO }} <el-descriptions-item :label="$t('trials:trials-list:form:cro')">
</el-descriptions-item> {{ trialInfo.CRO }}
<!--项目编号--> </el-descriptions-item>
<!-- <el-descriptions-item :label="$t('trials:trials-list:form:trialId')"> <!--项目编号-->
<!-- <el-descriptions-item :label="$t('trials:trials-list:form:trialId')">
{{ trialInfo.TrialCode }} {{ trialInfo.TrialCode }}
<el-tag <el-tag
v-show="trialInfo.TrialStatusStr" v-show="trialInfo.TrialStatusStr"
@ -65,27 +66,30 @@
( {{ $fd("TrialStatusEnum", trialInfo.TrialStatusStr) }} ) ( {{ $fd("TrialStatusEnum", trialInfo.TrialStatusStr) }} )
</el-tag> </el-tag>
</el-descriptions-item> --> </el-descriptions-item> -->
<!--联系人--> <!--联系人-->
<el-descriptions-item <el-descriptions-item
:label="$t('trials:researchRecord:table:contactor')" :label="$t('trials:researchRecord:table:contactor')"
> >
{{ trialInfo.ContactUser }} {{ trialInfo.ContactUser }}
</el-descriptions-item> </el-descriptions-item>
<!--电话--> <!--电话-->
<el-descriptions-item :label="$t('trials:trials-myinfo:form:phone')"> <el-descriptions-item :label="$t('trials:trials-myinfo:form:phone')">
{{ trialInfo.ContactPhone }} {{ trialInfo.ContactPhone }}
</el-descriptions-item> </el-descriptions-item>
<!--项目周期--> <!--项目周期-->
<el-descriptions-item :label="$t('trials:trials-list:form:projectCycle')"> <el-descriptions-item
{{ trialInfo.AuthorizationDuration }} :label="$t('trials:trials-list:form:projectCycle')"
</el-descriptions-item> >
</el-descriptions> {{ trialInfo.AuthorizationDuration }}
</el-descriptions-item>
</el-descriptions>
</div>
<div <div
v-if="otherInfo && otherInfo.TrialId" v-if="otherInfo && otherInfo.TrialId"
v-hasPermi="['trials:trials-list:activate']" v-hasPermi="['trials:trials-list:activate']"
> >
<p>项目授权信息</p>
<el-descriptions :column="2" border style="width: 1200px"> <el-descriptions :column="2" border style="width: 1200px">
<p slot="title">项目授权信息</p>
<!--单位名称--> <!--单位名称-->
<el-descriptions-item <el-descriptions-item
:label="$t('trials:trials-list:activate:organizationName')" :label="$t('trials:trials-list:activate:organizationName')"
@ -124,14 +128,16 @@
> >
{{ otherInfo.AuthorizationDeadLineDate }} {{ otherInfo.AuthorizationDeadLineDate }}
</el-descriptions-item> </el-descriptions-item>
<div slot="extra">
<el-button
type="primary"
size="small"
style="margin-top: 10px"
@click.stop="putActivate"
>{{ $t("trials:activate:renewalAuthorization") }}</el-button
>
</div>
</el-descriptions> </el-descriptions>
<el-button
type="primary"
size="small"
style="margin-top: 10px"
@click.stop="putActivate"
>{{ $t("trials:activate:renewalAuthorization") }}</el-button
>
</div> </div>
<activate-project <activate-project
v-if="activateVisible" v-if="activateVisible"
@ -202,3 +208,8 @@ export default {
background: #fff; background: #fff;
} }
</style> </style>
<style scoped>
::v-deep .el-descriptions--medium.is-bordered .el-descriptions-item__cell {
width: 10%;
}
</style>