Merge branch 'main' into uat_us
commit
d70cffe306
|
@ -13,6 +13,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 }"
|
||||||
:readonly="item.readonly"
|
:readonly="item.readonly"
|
||||||
/>
|
/>
|
||||||
|
@ -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
|
||||||
|
@ -114,6 +119,7 @@
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
: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
|
||||||
|
|
|
@ -503,6 +503,18 @@ export default {
|
||||||
this.loginByRole(this.$store.state.user.roles[0].Id)
|
this.loginByRole(this.$store.state.user.roles[0].Id)
|
||||||
return
|
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)
|
return (this.toggleRoleVisible = true)
|
||||||
},
|
},
|
||||||
cancel() {
|
cancel() {
|
||||||
|
|
|
@ -73,7 +73,8 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('system:userlist:table:UserType')"
|
:label="$t('system:userlist:table:UserType')"
|
||||||
prop="UserTypeId"
|
prop="Roles"
|
||||||
|
v-if="type === 0"
|
||||||
>
|
>
|
||||||
<div style="display: flex; align-items: center">
|
<div style="display: flex; align-items: center">
|
||||||
<el-select
|
<el-select
|
||||||
|
@ -85,7 +86,6 @@
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:disabled="user.CanEditUserType === false || type === 1"
|
:disabled="user.CanEditUserType === false || type === 1"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
v-if="type === 0"
|
|
||||||
>
|
>
|
||||||
<template v-for="userType of userTypeOptions">
|
<template v-for="userType of userTypeOptions">
|
||||||
<el-option
|
<el-option
|
||||||
|
@ -96,6 +96,14 @@
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</el-select>
|
</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
|
<el-select
|
||||||
ref="userType"
|
ref="userType"
|
||||||
v-model="Roles"
|
v-model="Roles"
|
||||||
|
@ -105,7 +113,6 @@
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:disabled="user.CanEditUserType === false || type === 1"
|
:disabled="user.CanEditUserType === false || type === 1"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
v-else
|
|
||||||
>
|
>
|
||||||
<template v-for="userType of userTypeOptions">
|
<template v-for="userType of userTypeOptions">
|
||||||
<el-option
|
<el-option
|
||||||
|
|
|
@ -71,6 +71,8 @@ export default {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.notice-marquee_wrapper{
|
.notice-marquee_wrapper{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
/deep/ .el-dialog__header{
|
/deep/ .el-dialog__header{
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,7 +139,11 @@ export default {
|
||||||
return this.$store.state.user.roles
|
return this.$store.state.user.roles
|
||||||
},
|
},
|
||||||
hasRole() {
|
hasRole() {
|
||||||
return this.roles && this.roles.length > 1
|
return (
|
||||||
|
this.roles &&
|
||||||
|
this.roles.length > 1 &&
|
||||||
|
this.roles.filter((item) => !item.IsUserRoleDisabled).length > 1
|
||||||
|
)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
|
|
@ -119,7 +119,7 @@
|
||||||
v-for="item in roles"
|
v-for="item in roles"
|
||||||
:key="item.Id"
|
:key="item.Id"
|
||||||
:label="item.Id"
|
:label="item.Id"
|
||||||
:disabled="item.isUserRoleDisabled"
|
:disabled="item.IsUserRoleDisabled"
|
||||||
style="margin-bottom: 10px"
|
style="margin-bottom: 10px"
|
||||||
>
|
>
|
||||||
{{ item.UserTypeShortName }}
|
{{ item.UserTypeShortName }}
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<el-form-item :label="$t('trials:notice:table:notificationContent')">
|
<el-form-item :label="$t('trials:notice:table:notificationContent')">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="searchData.NoticeContent"
|
v-model="searchData.NoticeContent"
|
||||||
style="width:100px;"
|
style="width: 100px"
|
||||||
clearable
|
clearable
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -36,7 +36,11 @@
|
||||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
|
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
|
||||||
{{ $t('common:button:search') }}
|
{{ $t('common:button:search') }}
|
||||||
</el-button>
|
</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') }}
|
{{ $t('common:button:reset') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -44,7 +48,7 @@
|
||||||
</template>
|
</template>
|
||||||
<template slot="main-container">
|
<template slot="main-container">
|
||||||
<el-table
|
<el-table
|
||||||
v-adaptive="{bottomOffset:60}"
|
v-adaptive="{ bottomOffset: 60 }"
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
:data="list"
|
:data="list"
|
||||||
stripe
|
stripe
|
||||||
|
@ -79,7 +83,15 @@
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<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) }}
|
{{ $fd('NoticeState', scope.row.ActualNoticeStateEnum) }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
</template>
|
</template>
|
||||||
|
@ -113,7 +125,12 @@
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<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>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -124,11 +141,19 @@
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag v-if="scope.row.IsRead">{{ $fd('YesOrNo', scope.row.IsRead) }}</el-tag>
|
<el-tag v-if="scope.row.IsRead">{{
|
||||||
<el-tag v-else type="danger">{{ $fd('YesOrNo', scope.row.IsRead) }}</el-tag>
|
$fd('YesOrNo', scope.row.IsRead)
|
||||||
|
}}</el-tag>
|
||||||
|
<el-tag v-else type="danger">{{
|
||||||
|
$fd('YesOrNo', scope.row.IsRead)
|
||||||
|
}}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
circle
|
circle
|
||||||
|
@ -136,12 +161,17 @@
|
||||||
icon="el-icon-info"
|
icon="el-icon-info"
|
||||||
@click="showDetail(scope.row)"
|
@click="showDetail(scope.row)"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</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>
|
</template>
|
||||||
</BaseContainer>
|
</BaseContainer>
|
||||||
</template>
|
</template>
|
||||||
|
@ -157,9 +187,10 @@ const searchDataDefault = () => {
|
||||||
ApplicableProjectEnum: null,
|
ApplicableProjectEnum: null,
|
||||||
NoticeModeEnum: null,
|
NoticeModeEnum: null,
|
||||||
NoticeStateEnum: null,
|
NoticeStateEnum: null,
|
||||||
Asc: true,
|
Asc: false,
|
||||||
|
SortField: 'PublishedTime',
|
||||||
PageIndex: 1,
|
PageIndex: 1,
|
||||||
PageSize: 20
|
PageSize: 20,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export default {
|
export default {
|
||||||
|
@ -171,7 +202,7 @@ export default {
|
||||||
searchData: searchDataDefault(),
|
searchData: searchDataDefault(),
|
||||||
list: [],
|
list: [],
|
||||||
total: 0,
|
total: 0,
|
||||||
loading: false
|
loading: false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
@ -180,17 +211,21 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
getUserSystemNoticeList(this.searchData).then(res => {
|
getUserSystemNoticeList(this.searchData)
|
||||||
this.loading = false
|
.then((res) => {
|
||||||
this.list = res.Result.CurrentPageData
|
this.loading = false
|
||||||
this.total = res.Result.TotalCount
|
this.list = res.Result.CurrentPageData
|
||||||
}).catch(() => { this.loading = false })
|
this.total = res.Result.TotalCount
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
},
|
},
|
||||||
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
|
||||||
|
@ -200,18 +235,22 @@ export default {
|
||||||
beforeClose: (action, instance, done) => {
|
beforeClose: (action, instance, done) => {
|
||||||
if (action === 'confirm') {
|
if (action === 'confirm') {
|
||||||
instance.confirmButtonLoading = true
|
instance.confirmButtonLoading = true
|
||||||
setSystemNoticeHaveRead(row.Id).then(async res => {
|
setSystemNoticeHaveRead(row.Id)
|
||||||
if (res.IsSuccess) {
|
.then(async (res) => {
|
||||||
await this.$store.dispatch('global/getNoticeList')
|
if (res.IsSuccess) {
|
||||||
this.getList()
|
await this.$store.dispatch('global/getNoticeList')
|
||||||
}
|
this.getList()
|
||||||
instance.confirmButtonLoading = false
|
}
|
||||||
done()
|
instance.confirmButtonLoading = false
|
||||||
}).catch(() => { instance.confirmButtonLoading = false })
|
done()
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
instance.confirmButtonLoading = false
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
done()
|
done()
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -237,10 +276,9 @@ export default {
|
||||||
this.searchData.SortField = column.prop
|
this.searchData.SortField = column.prop
|
||||||
this.searchData.PageIndex = 1
|
this.searchData.PageIndex = 1
|
||||||
this.getList()
|
this.getList()
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -11,12 +11,7 @@
|
||||||
<span>({{ record.CreateTime }}) </span>
|
<span>({{ record.CreateTime }}) </span>
|
||||||
</p>
|
</p>
|
||||||
<div class="info-content">
|
<div class="info-content">
|
||||||
<template v-if="[14, 30].includes(record.UserTypeEnumInt) && (record.MedicalDialogCloseEnum!== null || record.Content)">
|
<template v-if="[14, 30].includes(record.UserTypeEnumInt) && record.Questioning">
|
||||||
<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>
|
<div>
|
||||||
<!-- 您好,根据医学审核反馈,该阅片任务的评估有如下问题需要您确认或澄清: -->
|
<!-- 您好,根据医学审核反馈,该阅片任务的评估有如下问题需要您确认或澄清: -->
|
||||||
{{ $t('trials:medicalFeedback:message:msg1') }}
|
{{ $t('trials:medicalFeedback:message:msg1') }}
|
||||||
|
@ -60,11 +55,14 @@
|
||||||
{{ $t('trials:medicalFeedback:message:msg4') }}
|
{{ $t('trials:medicalFeedback:message:msg4') }}
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="[14, 30].includes(record.UserTypeEnumInt)">
|
<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 ">
|
||||||
<div>{{ record.Content }}</div>
|
<div>{{ record.Content }}</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template v-else-if="[13].includes(record.UserTypeEnumInt)">
|
<template v-if="[13].includes(record.UserTypeEnumInt)">
|
||||||
<div>
|
<div>
|
||||||
{{ $t('trials:medicalFeedback:title:isEndorse') }}{{ $fd('MedicalReviewDoctorUserIdea', record.DoctorUserIdeaEnum) }}
|
{{ $t('trials:medicalFeedback:title:isEndorse') }}{{ $fd('MedicalReviewDoctorUserIdea', record.DoctorUserIdeaEnum) }}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -11,12 +11,8 @@
|
||||||
<span>({{ record.CreateTime }}) </span>
|
<span>({{ record.CreateTime }}) </span>
|
||||||
</p>
|
</p>
|
||||||
<div class="info-content">
|
<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>
|
<template v-if="[14, 30].includes(record.UserTypeEnumInt) && record.Questioning">
|
||||||
<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>
|
<div>
|
||||||
<!-- 您好,根据医学审核反馈,该阅片任务的评估有如下问题需要您确认或澄清: -->
|
<!-- 您好,根据医学审核反馈,该阅片任务的评估有如下问题需要您确认或澄清: -->
|
||||||
{{ $t('trials:medicalFeedback:message:msg1') }}
|
{{ $t('trials:medicalFeedback:message:msg1') }}
|
||||||
|
@ -60,11 +56,14 @@
|
||||||
{{ $t('trials:medicalFeedback:message:msg4') }}
|
{{ $t('trials:medicalFeedback:message:msg4') }}
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="[14, 30].includes(record.UserTypeEnumInt)">
|
<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">
|
||||||
<div>{{ record.Content }}</div>
|
<div>{{ record.Content }}</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template v-else-if="[13].includes(record.UserTypeEnumInt)">
|
<template v-if="[13].includes(record.UserTypeEnumInt)">
|
||||||
<div>
|
<div>
|
||||||
{{ $t('trials:medicalFeedback:title:isEndorse') }}{{ $fd('MedicalReviewDoctorUserIdea', record.DoctorUserIdeaEnum) }}
|
{{ $t('trials:medicalFeedback:title:isEndorse') }}{{ $fd('MedicalReviewDoctorUserIdea', record.DoctorUserIdeaEnum) }}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -260,7 +260,11 @@ export default {
|
||||||
if (Object.keys(this.medicalReviewInfo).length > 0) {
|
if (Object.keys(this.medicalReviewInfo).length > 0) {
|
||||||
for (const k in this.form) {
|
for (const k in this.form) {
|
||||||
if (this.medicalReviewInfo.hasOwnProperty(k)) {
|
if (this.medicalReviewInfo.hasOwnProperty(k)) {
|
||||||
this.form[k] = this.medicalReviewInfo[k];
|
if (k === 'IsHaveQuestion' && this.medicalReviewInfo.AuditState === 0) {
|
||||||
|
this.form[k] = null
|
||||||
|
} else {
|
||||||
|
this.form[k] = this.medicalReviewInfo[k]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.fileList = [];
|
this.fileList = [];
|
||||||
|
|
|
@ -22,12 +22,15 @@
|
||||||
<el-table-column
|
<el-table-column
|
||||||
v-for="item in exportInfo.DicList"
|
v-for="item in exportInfo.DicList"
|
||||||
:key="item.Code"
|
:key="item.Code"
|
||||||
:label="$i18n.locale === 'zh' ? item.ValueCN : item.Value">
|
:label="$i18n.locale === 'zh' ? item.ValueCN : item.Value"
|
||||||
|
|
||||||
|
>
|
||||||
<template v-slot="scope">
|
<template v-slot="scope">
|
||||||
<el-checkbox
|
<el-checkbox
|
||||||
@change="() => changeState(scope, item.Code)"
|
@change="() => changeState(scope, item.Code)"
|
||||||
:checked="getCheckState(scope, item.Code)"
|
:checked="getCheckState(scope, item.Code)"
|
||||||
:disabled="getDisabledState(scope.row, item)"
|
:disabled="getDisabledState(scope.row, item)"
|
||||||
|
v-show="!scope.row.IsGroup || !scope.row.HasChildren"
|
||||||
>
|
>
|
||||||
</el-checkbox>
|
</el-checkbox>
|
||||||
</template>
|
</template>
|
||||||
|
@ -43,6 +46,7 @@
|
||||||
v-model="scope.row.CDISCCode"
|
v-model="scope.row.CDISCCode"
|
||||||
size="mini"
|
size="mini"
|
||||||
:disabled="scope.row.HasChildren || scope.row.IsTableQuestion"
|
:disabled="scope.row.HasChildren || scope.row.IsTableQuestion"
|
||||||
|
v-show="!scope.row.IsGroup || !scope.row.HasChildren"
|
||||||
>
|
>
|
||||||
</el-input>
|
</el-input>
|
||||||
</template>
|
</template>
|
||||||
|
@ -91,29 +95,7 @@ export default {
|
||||||
async submit() {
|
async submit() {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
try {
|
try {
|
||||||
let params= {
|
let params = this.filterQuestions(this.exportInfo.QuestionList)
|
||||||
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)
|
let res = await setTrialQuestionExportResult(params)
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
||||||
|
@ -124,6 +106,36 @@ export default {
|
||||||
console.log(e)
|
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) {
|
getCheckState(item, code) {
|
||||||
return item.row.ExportResult.indexOf(code) > -1
|
return item.row.ExportResult.indexOf(code) > -1
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
type="primary"
|
type="primary"
|
||||||
|
style="margin-right: 10px"
|
||||||
icon="el-icon-refresh-left"
|
icon="el-icon-refresh-left"
|
||||||
@click="handleReset"
|
@click="handleReset"
|
||||||
>
|
>
|
||||||
|
@ -491,6 +492,7 @@ export default {
|
||||||
.participant-container {
|
.participant-container {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
.el-header {
|
.el-header {
|
||||||
|
padding-right: 5px;
|
||||||
.filter-container {
|
.filter-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
:label="$t('trials:sysDocBeSigned:table:uploadTime')"
|
:label="$t('trials:sysDocBeSigned:table:uploadTime')"
|
||||||
prop="UpdateTime"
|
prop="CreateTime"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
@ -168,7 +168,7 @@ const searchDataDefault = () => {
|
||||||
pageIndex: 1,
|
pageIndex: 1,
|
||||||
pageSize: 20,
|
pageSize: 20,
|
||||||
asc: false,
|
asc: false,
|
||||||
sortField: 'UpdateTime',
|
sortField: 'CreateTime',
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export default {
|
export default {
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
:label="$t('trials:sysDocBeSigned:table:uploadTime')"
|
:label="$t('trials:sysDocBeSigned:table:uploadTime')"
|
||||||
prop="UpdateTime"
|
prop="CreateTime"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
@ -130,7 +130,7 @@ const searchDataDefault = () => {
|
||||||
pageIndex: 1,
|
pageIndex: 1,
|
||||||
pageSize: 20,
|
pageSize: 20,
|
||||||
asc: false,
|
asc: false,
|
||||||
sortField: 'UpdateTime'
|
sortField: 'CreateTime'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export default {
|
export default {
|
||||||
|
|
Loading…
Reference in New Issue