Compare commits

..

No commits in common. "d70cffe306b9e961a5f7438f9aef2ea038a06ddb" and "0cd44bf4c6a9834895cdb9e73e4df802f48dcc20" have entirely different histories.

14 changed files with 81 additions and 165 deletions

View File

@ -13,7 +13,6 @@
v-model="searchData[item.prop]"
:placeholder="item.placeholder"
size="mini"
clearable
:style="{ width: item.width }"
:readonly="item.readonly"
/>
@ -23,7 +22,6 @@
v-model="searchData[item.prop]"
:placeholder="item.placeholder"
size="mini"
clearable
:style="{ width: item.width }"
@change="item.change && item.change(that, searchData[item.prop])"
>
@ -39,7 +37,6 @@
v-model="searchData[item.prop]"
:placeholder="item.placeholder"
size="mini"
clearable
:style="{ width: item.width }"
@change="item.change && item.change(that, searchData[item.prop])"
>
@ -99,7 +96,6 @@
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
:picker-options="item.pickerOption"
clearable
/>
<!-- 时间 -->
<el-time-select
@ -108,7 +104,6 @@
:placeholder="item.placeholder"
type=""
:style="{ width: item.width }"
clearable
/>
<!-- 日期时间 -->
<el-date-picker
@ -119,7 +114,6 @@
value-format="yyyy-MM-dd HH:mm:ss"
:disabled="item.disable && item.disable(searchData[item.prop])"
:style="{ width: item.width }"
clearable
/>
<!-- 日期时间段 -->
<el-date-picker

View File

@ -503,18 +503,6 @@ export default {
this.loginByRole(this.$store.state.user.roles[0].Id)
return
}
if (
Array.isArray(this.$store.state.user.roles) &&
this.$store.state.user.roles.filter((item) => item.IsUserRoleDisabled)
.length ===
this.$store.state.user.roles.length - 1
) {
let role = this.$store.state.user.roles.find(
(item) => !item.IsUserRoleDisabled
)
this.loginByRole(role.Id)
return
}
return (this.toggleRoleVisible = true)
},
cancel() {

View File

@ -73,8 +73,7 @@
</el-form-item>
<el-form-item
:label="$t('system:userlist:table:UserType')"
prop="Roles"
v-if="type === 0"
prop="UserTypeId"
>
<div style="display: flex; align-items: center">
<el-select
@ -86,6 +85,7 @@
style="width: 100%"
:disabled="user.CanEditUserType === false || type === 1"
@change="handleChange"
v-if="type === 0"
>
<template v-for="userType of userTypeOptions">
<el-option
@ -96,14 +96,6 @@
/>
</template>
</el-select>
</div>
</el-form-item>
<el-form-item
:label="$t('system:userlist:table:UserType')"
prop="userTypeId"
v-else
>
<div style="display: flex; align-items: center">
<el-select
ref="userType"
v-model="Roles"
@ -113,6 +105,7 @@
style="width: 100%"
:disabled="user.CanEditUserType === false || type === 1"
@change="handleChange"
v-else
>
<template v-for="userType of userTypeOptions">
<el-option

View File

@ -71,8 +71,6 @@ export default {
<style lang="scss" scoped>
.notice-marquee_wrapper{
width: 100%;
display: flex;
align-items: center;
/deep/ .el-dialog__header{
padding: 10px;
}

View File

@ -139,11 +139,7 @@ export default {
return this.$store.state.user.roles
},
hasRole() {
return (
this.roles &&
this.roles.length > 1 &&
this.roles.filter((item) => !item.IsUserRoleDisabled).length > 1
)
return this.roles && this.roles.length > 1
},
},
watch: {

View File

@ -119,7 +119,7 @@
v-for="item in roles"
:key="item.Id"
:label="item.Id"
:disabled="item.IsUserRoleDisabled"
:disabled="item.isUserRoleDisabled"
style="margin-bottom: 10px"
>
{{ item.UserTypeShortName }}

View File

@ -17,7 +17,7 @@
<el-form-item :label="$t('trials:notice:table:notificationContent')">
<el-input
v-model="searchData.NoticeContent"
style="width: 100px"
style="width:100px;"
clearable
/>
</el-form-item>
@ -36,11 +36,7 @@
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
{{ $t('common:button:search') }}
</el-button>
<el-button
type="primary"
icon="el-icon-refresh-left"
@click="handleReset"
>
<el-button type="primary" icon="el-icon-refresh-left" @click="handleReset">
{{ $t('common:button:reset') }}
</el-button>
</el-form-item>
@ -83,15 +79,7 @@
sortable="custom"
>
<template slot-scope="scope">
<el-tag
:type="
scope.row.ActualNoticeStateEnum === 0
? 'info'
: scope.row.ActualNoticeStateEnum === 1
? 'success'
: 'error'
"
>
<el-tag :type="scope.row.ActualNoticeStateEnum === 0 ? 'info' : scope.row.ActualNoticeStateEnum === 1 ? 'success' : 'error'">
{{ $fd('NoticeState', scope.row.ActualNoticeStateEnum) }}
</el-tag>
</template>
@ -125,12 +113,7 @@
sortable="custom"
>
<template slot-scope="scope">
<a
:href="OSSclientConfig.basePath + scope.row.Path"
target="_blank"
style="color: #428bca"
>{{ scope.row.FileName }}</a
>
<a :href="OSSclientConfig.basePath + scope.row.Path" target="_blank" style="color:#428bca">{{ scope.row.FileName }}</a>
</template>
</el-table-column>
<el-table-column
@ -141,19 +124,11 @@
sortable="custom"
>
<template slot-scope="scope">
<el-tag v-if="scope.row.IsRead">{{
$fd('YesOrNo', scope.row.IsRead)
}}</el-tag>
<el-tag v-else type="danger">{{
$fd('YesOrNo', scope.row.IsRead)
}}</el-tag>
<el-tag v-if="scope.row.IsRead">{{ $fd('YesOrNo', scope.row.IsRead) }}</el-tag>
<el-tag v-else type="danger">{{ $fd('YesOrNo', scope.row.IsRead) }}</el-tag>
</template>
</el-table-column>
<el-table-column
:label="$t('common:action:action')"
min-width="100"
fixed="right"
>
<el-table-column :label="$t('common:action:action')" min-width="100" fixed="right">
<template slot-scope="scope">
<el-button
circle
@ -161,17 +136,12 @@
icon="el-icon-info"
@click="showDetail(scope.row)"
/>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination
class="page"
:total="total"
:page.sync="searchData.PageIndex"
:limit.sync="searchData.PageSize"
@pagination="getList"
/>
<pagination class="page" :total="total" :page.sync="searchData.PageIndex" :limit.sync="searchData.PageSize" @pagination="getList" />
</template>
</BaseContainer>
</template>
@ -187,10 +157,9 @@ const searchDataDefault = () => {
ApplicableProjectEnum: null,
NoticeModeEnum: null,
NoticeStateEnum: null,
Asc: false,
SortField: 'PublishedTime',
Asc: true,
PageIndex: 1,
PageSize: 20,
PageSize: 20
}
}
export default {
@ -202,7 +171,7 @@ export default {
searchData: searchDataDefault(),
list: [],
total: 0,
loading: false,
loading: false
}
},
mounted() {
@ -211,21 +180,17 @@ export default {
methods: {
getList() {
this.loading = true
getUserSystemNoticeList(this.searchData)
.then((res) => {
getUserSystemNoticeList(this.searchData).then(res => {
this.loading = false
this.list = res.Result.CurrentPageData
this.total = res.Result.TotalCount
})
.catch(() => {
this.loading = false
})
}).catch(() => { this.loading = false })
},
showDetail(row) {
var currentNoticeType = this.$fd('NoteType', row.NoticeTypeEnum)
if (row.IsRead || row.ActualNoticeStateEnum !== 1) {
this.$alert(row.NoticeContent, currentNoticeType, {
showConfirmButton: false,
showConfirmButton: false
})
} else {
const h = this.$createElement
@ -235,22 +200,18 @@ export default {
beforeClose: (action, instance, done) => {
if (action === 'confirm') {
instance.confirmButtonLoading = true
setSystemNoticeHaveRead(row.Id)
.then(async (res) => {
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
})
}).catch(() => { instance.confirmButtonLoading = false })
} else {
done()
}
},
}
})
}
},
@ -276,9 +237,10 @@ export default {
this.searchData.SortField = column.prop
this.searchData.PageIndex = 1
this.getList()
},
},
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -11,7 +11,12 @@
<span>({{ record.CreateTime }}) </span>
</p>
<div class="info-content">
<template v-if="[14, 30].includes(record.UserTypeEnumInt) && record.Questioning">
<template v-if="[14, 30].includes(record.UserTypeEnumInt) && (record.MedicalDialogCloseEnum!== null || record.Content)">
<div>{{ $t('trials:medicalFeedback:title:closeReasonEnum') }}{{ $fd('MedicalDialogCloseEnum',record.MedicalDialogCloseEnum) }}</div>
<div v-if="record.Content">{{ $t('trials:medicalFeedback:title:closereasonRemarks') }}{{ record.Content }}</div>
</template>
<template v-else-if="[14, 30].includes(record.UserTypeEnumInt) && record.Questioning">
<div>
<!-- 您好根据医学审核反馈该阅片任务的评估有如下问题需要您确认或澄清 -->
{{ $t('trials:medicalFeedback:message:msg1') }}
@ -55,14 +60,11 @@
{{ $t('trials:medicalFeedback:message:msg4') }}
</div>
</template>
<template v-if="[14, 30].includes(record.UserTypeEnumInt) && record.MedicalDialogCloseEnum!== null">
<div>{{ $t('trials:medicalFeedback:title:closeReasonEnum') }}{{ $fd('MedicalDialogCloseEnum',record.MedicalDialogCloseEnum) }}</div>
</template>
<template v-if="[14, 30].includes(record.UserTypeEnumInt) && record.Content ">
<template v-else-if="[14, 30].includes(record.UserTypeEnumInt)">
<div>{{ record.Content }}</div>
</template>
<template v-if="[13].includes(record.UserTypeEnumInt)">
<template v-else-if="[13].includes(record.UserTypeEnumInt)">
<div>
{{ $t('trials:medicalFeedback:title:isEndorse') }}{{ $fd('MedicalReviewDoctorUserIdea', record.DoctorUserIdeaEnum) }}
</div>

View File

@ -11,8 +11,12 @@
<span>({{ record.CreateTime }}) </span>
</p>
<div class="info-content">
<template v-if="[14, 30].includes(record.UserTypeEnumInt) && (record.MedicalDialogCloseEnum!== null || record.Content)">
<div>{{ $t('trials:medicalFeedback:title:closeReasonEnum') }}{{ $fd('MedicalDialogCloseEnum',record.MedicalDialogCloseEnum) }}</div>
<div v-if="record.Content">{{ $t('trials:medicalFeedback:title:closereasonRemarks') }}{{ record.Content }}</div>
<template v-if="[14, 30].includes(record.UserTypeEnumInt) && record.Questioning">
</template>
<template v-else-if="[14, 30].includes(record.UserTypeEnumInt) && record.Questioning">
<div>
<!-- 您好根据医学审核反馈该阅片任务的评估有如下问题需要您确认或澄清 -->
{{ $t('trials:medicalFeedback:message:msg1') }}
@ -56,14 +60,11 @@
{{ $t('trials:medicalFeedback:message:msg4') }}
</div>
</template>
<template v-if="[14, 30].includes(record.UserTypeEnumInt) && record.MedicalDialogCloseEnum!== null">
<div>{{ $t('trials:medicalFeedback:title:closeReasonEnum') }}{{ $fd('MedicalDialogCloseEnum',record.MedicalDialogCloseEnum) }}</div>
</template>
<template v-if="[14, 30].includes(record.UserTypeEnumInt) && record.Content">
<template v-else-if="[14, 30].includes(record.UserTypeEnumInt)">
<div>{{ record.Content }}</div>
</template>
<template v-if="[13].includes(record.UserTypeEnumInt)">
<template v-else-if="[13].includes(record.UserTypeEnumInt)">
<div>
{{ $t('trials:medicalFeedback:title:isEndorse') }}{{ $fd('MedicalReviewDoctorUserIdea', record.DoctorUserIdeaEnum) }}
</div>

View File

@ -260,11 +260,7 @@ export default {
if (Object.keys(this.medicalReviewInfo).length > 0) {
for (const k in this.form) {
if (this.medicalReviewInfo.hasOwnProperty(k)) {
if (k === 'IsHaveQuestion' && this.medicalReviewInfo.AuditState === 0) {
this.form[k] = null
} else {
this.form[k] = this.medicalReviewInfo[k]
}
this.form[k] = this.medicalReviewInfo[k];
}
}
this.fileList = [];

View File

@ -22,15 +22,12 @@
<el-table-column
v-for="item in exportInfo.DicList"
:key="item.Code"
:label="$i18n.locale === 'zh' ? item.ValueCN : item.Value"
>
:label="$i18n.locale === 'zh' ? item.ValueCN : item.Value">
<template v-slot="scope">
<el-checkbox
@change="() => changeState(scope, item.Code)"
:checked="getCheckState(scope, item.Code)"
:disabled="getDisabledState(scope.row, item)"
v-show="!scope.row.IsGroup || !scope.row.HasChildren"
>
</el-checkbox>
</template>
@ -46,7 +43,6 @@
v-model="scope.row.CDISCCode"
size="mini"
:disabled="scope.row.HasChildren || scope.row.IsTableQuestion"
v-show="!scope.row.IsGroup || !scope.row.HasChildren"
>
</el-input>
</template>
@ -95,7 +91,29 @@ export default {
async submit() {
this.loading = true
try {
let params = this.filterQuestions(this.exportInfo.QuestionList)
let params= {
questionList: [],
tableQuestionList: []
}
params.questionList = this.exportInfo.QuestionList.map(i => {
return {
questionId: i.QuestionId,
tableQuestionId: i.TableQuestionId,
exportResult: i.ExportResult,
CDISCCode: i.CDISCCode
}
})
this.exportInfo.QuestionList.forEach(i => {
let childlist = i.Children.map(k => {
return {
questionId: i.QuestionId,
tableQuestionId: k.TableQuestionId,
exportResult: k.ExportResult,
CDISCCode: k.CDISCCode
}
})
params.tableQuestionList = params.tableQuestionList.concat(childlist)
})
let res = await setTrialQuestionExportResult(params)
if (res.IsSuccess) {
this.$message.success(this.$t('common:message:savedSuccessfully'))
@ -106,36 +124,6 @@ export default {
console.log(e)
}
},
filterQuestions(arr) {
let params= {
questionList: [],
tableQuestionList: []
}
for (let i of arr) {
if (!i.IsGroup && !i.IsTableQuestion) {
params.questionList.push({
questionId: i.QuestionId,
tableQuestionId: i.TableQuestionId,
exportResult: i.ExportResult,
CDISCCode: i.CDISCCode
})
}
if (i.TableQuestionId) {
params.tableQuestionList.push({
questionId: i.QuestionId,
tableQuestionId: i.TableQuestionId,
exportResult: i.ExportResult,
CDISCCode: i.CDISCCode
})
}
if (i.Children && i.Children.length > 0) {
const childResults = this.filterQuestions(i.Children)
params.questionList = params.questionList.concat(childResults.questionList)
params.tableQuestionList = params.tableQuestionList.concat(childResults.tableQuestionList)
}
}
return params;
},
//
getCheckState(item, code) {
return item.row.ExportResult.indexOf(code) > -1

View File

@ -24,7 +24,6 @@
<el-button
size="mini"
type="primary"
style="margin-right: 10px"
icon="el-icon-refresh-left"
@click="handleReset"
>
@ -492,7 +491,6 @@ export default {
.participant-container {
height: 100%;
.el-header {
padding-right: 5px;
.filter-container {
display: flex;
align-items: center;

View File

@ -59,7 +59,7 @@
/>
<el-table-column
:label="$t('trials:sysDocBeSigned:table:uploadTime')"
prop="CreateTime"
prop="UpdateTime"
show-overflow-tooltip
sortable="custom"
/>
@ -168,7 +168,7 @@ const searchDataDefault = () => {
pageIndex: 1,
pageSize: 20,
asc: false,
sortField: 'CreateTime',
sortField: 'UpdateTime',
}
}
export default {

View File

@ -38,7 +38,7 @@
/>
<el-table-column
:label="$t('trials:sysDocBeSigned:table:uploadTime')"
prop="CreateTime"
prop="UpdateTime"
show-overflow-tooltip
sortable="custom"
/>
@ -130,7 +130,7 @@ const searchDataDefault = () => {
pageIndex: 1,
pageSize: 20,
asc: false,
sortField: 'CreateTime'
sortField: 'UpdateTime'
}
}
export default {