部分问题修复

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,5 +1,6 @@
<template> <template>
<div class="trial-information"> <div class="trial-information">
<div>
<el-descriptions :column="2" border style="width: 1200px"> <el-descriptions :column="2" border style="width: 1200px">
<!--项目类型--> <!--项目类型-->
<el-descriptions-item :label="$t('trials:trials-list:form:trialType')"> <el-descriptions-item :label="$t('trials:trials-list:form:trialType')">
@ -39,8 +40,8 @@
</el-descriptions-item> </el-descriptions-item>
<!--阅片标准--> <!--阅片标准-->
<el-descriptions-item <el-descriptions-item
:span="2"
:label="$t('trials:trials-list:form:criterion')" :label="$t('trials:trials-list:form:criterion')"
:span="2"
> >
{{ {{
trialInfo.CriterionTypeList trialInfo.CriterionTypeList
@ -76,16 +77,19 @@
{{ trialInfo.ContactPhone }} {{ trialInfo.ContactPhone }}
</el-descriptions-item> </el-descriptions-item>
<!--项目周期--> <!--项目周期-->
<el-descriptions-item :label="$t('trials:trials-list:form:projectCycle')"> <el-descriptions-item
:label="$t('trials:trials-list:form:projectCycle')"
>
{{ trialInfo.AuthorizationDuration }} {{ trialInfo.AuthorizationDuration }}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </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,7 +128,7 @@
> >
{{ otherInfo.AuthorizationDeadLineDate }} {{ otherInfo.AuthorizationDeadLineDate }}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> <div slot="extra">
<el-button <el-button
type="primary" type="primary"
size="small" size="small"
@ -133,6 +137,8 @@
>{{ $t("trials:activate:renewalAuthorization") }}</el-button >{{ $t("trials:activate:renewalAuthorization") }}</el-button
> >
</div> </div>
</el-descriptions>
</div>
<activate-project <activate-project
v-if="activateVisible" v-if="activateVisible"
:visible.sync="activateVisible" :visible.sync="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>