uat_us
caiyiling 2024-03-14 15:31:54 +08:00
commit b195e6d7ce
15 changed files with 142 additions and 80 deletions

View File

@ -8,6 +8,7 @@
type="primary" type="primary"
:disabled="approveIdArr.length==0" :disabled="approveIdArr.length==0"
@click="handleApprove()" @click="handleApprove()"
v-hasPermi="['trials:trials-panel:attachments:SPMEnrollment:button-agree']"
> >
{{ $t('trials:seletctedReviews:button:approve') }} {{ $t('trials:seletctedReviews:button:approve') }}
</el-button> </el-button>
@ -61,7 +62,7 @@
min-width="120" min-width="120"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.SubspecialityIds.map(v => {return $fd('Subspeciality', v, 'id')}).toString() }} {{ scope.row.SubspecialityIds.map(v => {return $fd('Subspeciality', v, 'id')}).join(", ") }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -110,6 +111,7 @@
/> />
<!-- 同意 --> <!-- 同意 -->
<el-button <el-button
v-hasPermi="['trials:trials-panel:attachments:SPMEnrollment:button-agree']"
:disabled="scope.row.DoctorTrialState === 8" :disabled="scope.row.DoctorTrialState === 8"
icon="el-icon-check" icon="el-icon-check"
circle circle

View File

@ -39,7 +39,7 @@
</div> </div>
<div class="div-col"> <div class="div-col">
<label class="el-label">{{ $t('trials:trials-list:form:typeofReviewers:') }}</label> <label class="el-label">{{ $t('trials:trials-list:form:typeofReviewers:') }}</label>
<span>{{ trialInfo.AttendedReviewerTypeEnumList.map(v => $fd('AttendedReviewerType', v)).toString() }}</span> <span>{{ trialInfo.AttendedReviewerTypeEnumList.map(v => $fd('AttendedReviewerType', v)).join(", ") }}</span>
<!-- <span>{{ $fd('AttendedReviewerType', trialInfo.AttendedReviewerType) }}</span>--> <!-- <span>{{ $fd('AttendedReviewerType', trialInfo.AttendedReviewerType) }}</span>-->
</div> </div>
<div class="div-col"> <div class="div-col">

View File

@ -39,7 +39,7 @@
</div> </div>
<div class="div-col"> <div class="div-col">
<label class="el-label">{{ $t('trials:trials-list:form:typeofReviewers:') }}</label> <label class="el-label">{{ $t('trials:trials-list:form:typeofReviewers:') }}</label>
<span>{{ trialInfo.AttendedReviewerTypeEnumList.map(v => $fd('AttendedReviewerType', v)).toString() }}</span> <span>{{ trialInfo.AttendedReviewerTypeEnumList.map(v => $fd('AttendedReviewerType', v)).join(', ') }}</span>
<!-- <span>{{ $fd('AttendedReviewerType', trialInfo.AttendedReviewerType) }}</span>--> <!-- <span>{{ $fd('AttendedReviewerType', trialInfo.AttendedReviewerType) }}</span>-->
</div> </div>
<div class="div-col"> <div class="div-col">

View File

@ -29,6 +29,7 @@
width="150" width="150"
prop="FirstName" prop="FirstName"
sortable="custom" sortable="custom"
v-if="!hasPermi(['role:ea'])"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="go(`/trialsResume?doctorId=${scope.row.DoctorId}&token=${token}`)">{{ scope.row.LastName }} / {{ scope.row.FirstName }}</el-button> <el-button type="text" @click="go(`/trialsResume?doctorId=${scope.row.DoctorId}&token=${token}`)">{{ scope.row.LastName }} / {{ scope.row.FirstName }}</el-button>
@ -39,6 +40,7 @@
prop="ChineseName" prop="ChineseName"
sortable="custom" sortable="custom"
:label="$t('trials:enrolledReviews:table:nameCN')" :label="$t('trials:enrolledReviews:table:nameCN')"
v-if="!hasPermi(['role:ea'])"
width="120" width="120"
show-overflow-tooltip show-overflow-tooltip
/> />
@ -46,7 +48,7 @@
<el-table-column <el-table-column
prop="UserName" prop="UserName"
:label="$t('trials:enrolledReviews:table:userName')" :label="$t('trials:enrolledReviews:table:userName')"
width="150" :width="hasPermi(['role:ea'])?300:150"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
/> />
@ -54,7 +56,7 @@
<el-table-column <el-table-column
prop="EnrollTimeStr" prop="EnrollTimeStr"
:label="$t('trials:enrolledReviews:table:enrollmentTime')" :label="$t('trials:enrolledReviews:table:enrollmentTime')"
width="200" :width="hasPermi(['role:ea'])?320:200"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
> >
@ -77,6 +79,7 @@
:active-value="true" :active-value="true"
:inactive-value="false" :inactive-value="false"
@change="(v) => {return isEnableChange(scope.row, v)}" @change="(v) => {return isEnableChange(scope.row, v)}"
:disabled="!hasPermi(['trials:trials-panel:enrolled-reviewers:list:edit'])"
/> />
<span>{{$fd('IsEnable', scope.row.IsEnable)}}</span> <span>{{$fd('IsEnable', scope.row.IsEnable)}}</span>
</div> </div>
@ -84,6 +87,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
v-for="ite of TrialReadingCriterionList" v-for="ite of TrialReadingCriterionList"
:key="ite"
:label="ite.TrialReadingCriterionName" :label="ite.TrialReadingCriterionName"
width="360" width="360"
header-align="center" header-align="center"
@ -95,7 +99,7 @@
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span v-for="item of scope.row.CriterionCategoryList.find(v => {return v.TrialReadingCriterionId === ite.TrialReadingCriterionId}) ? scope.row.CriterionCategoryList.find(v => {return v.TrialReadingCriterionId === ite.TrialReadingCriterionId}).ReadingCategorys : []"> <span v-for="item of scope.row.CriterionCategoryList.find(v => {return v.TrialReadingCriterionId === ite.TrialReadingCriterionId}) ? scope.row.CriterionCategoryList.find(v => {return v.TrialReadingCriterionId === ite.TrialReadingCriterionId}).ReadingCategorys : []" :key="item">
<el-tag v-if="item === 1" type="primary">{{ $fd('ReadingCategory', item) + ' & ' + $fd('ReadingCategory', 2) }}</el-tag> <el-tag v-if="item === 1" type="primary">{{ $fd('ReadingCategory', item) + ' & ' + $fd('ReadingCategory', 2) }}</el-tag>
<!-- <el-tag v-if="item === 2" type="info">{{ $fd('ReadingCategory', item) }}</el-tag>--> <!-- <el-tag v-if="item === 2" type="info">{{ $fd('ReadingCategory', item) }}</el-tag>-->
<el-tag v-if="item === 4" type="danger">{{ $fd('ReadingCategory', item) }}</el-tag> <el-tag v-if="item === 4" type="danger">{{ $fd('ReadingCategory', item) }}</el-tag>
@ -121,6 +125,7 @@
:active-value="true" :active-value="true"
:inactive-value="false" :inactive-value="false"
@change="(v) => {return isConsistencyChange(scope.row, ite, v, true)}" @change="(v) => {return isConsistencyChange(scope.row, ite, v, true)}"
:disabled="!hasPermi(['trials:trials-panel:enrolled-reviewers:list:edit'])"
/> />
<span v-if="scope.row.CriterionCategoryList.find(v => {return v.TrialReadingCriterionId === ite.TrialReadingCriterionId}).IsJoinAnalysis">{{$fd('YesOrNo', scope.row.CriterionCategoryList.find(v => {return v.TrialReadingCriterionId === ite.TrialReadingCriterionId}).IsJoinAnalysis)}}</span> <span v-if="scope.row.CriterionCategoryList.find(v => {return v.TrialReadingCriterionId === ite.TrialReadingCriterionId}).IsJoinAnalysis">{{$fd('YesOrNo', scope.row.CriterionCategoryList.find(v => {return v.TrialReadingCriterionId === ite.TrialReadingCriterionId}).IsJoinAnalysis)}}</span>
<span v-else>{{$fd('YesOrNo',false)}}</span> <span v-else>{{$fd('YesOrNo',false)}}</span>
@ -253,9 +258,15 @@
default-first-option default-first-option
style="width: 70%" style="width: 70%"
> >
<el-option v-for="item of $d.ReadingCategory" v-if="item.value === 1" :key="item.id" :value="1" :label="$fd('ReadingCategory', 1) + ' & ' + $fd('ReadingCategory', 2)" /> <template v-for="item of $d.ReadingCategory">
<el-option v-for="item of $d.ReadingCategory" v-if="item.value === 4 && IsArbitrationReading" :key="item.id" :value="item.value" :label="$fd('ReadingCategory', 4)" /> <el-option v-if="item.value === 1" :key="item.id" :value="1" :label="$fd('ReadingCategory', 1) + ' & ' + $fd('ReadingCategory', 2)" />
<el-option v-for="item of $d.ReadingCategory" v-if="item.value === 5 && IsOncologyReading" :key="item.id" :value="item.value" :label="$fd('ReadingCategory', 5)" /> </template>
<template v-for="item of $d.ReadingCategory">
<el-option v-if="item.value === 4 && IsArbitrationReading" :key="item.id" :value="item.value" :label="$fd('ReadingCategory', 4)" />
</template>
<template v-for="item of $d.ReadingCategory">
<el-option v-if="item.value === 5 && IsOncologyReading" :key="item.id" :value="item.value" :label="$fd('ReadingCategory', 5)" />
</template>
</el-select> </el-select>
</template> </template>
<template slot="dialog-footer"> <template slot="dialog-footer">
@ -486,7 +497,7 @@ export default {
return { return {
EnrollId: v.EnrollId, EnrollId: v.EnrollId,
TrialReadingCriterionId: v.TrialReadingCriterionId, TrialReadingCriterionId: v.TrialReadingCriterionId,
IsJoinAnalysis: false IsJoinAnalysis: value
} }
}) })
} }
@ -494,6 +505,7 @@ export default {
if (showMessage) { if (showMessage) {
this.$message.success(this.$t('trials:enrolledReviews:message:batchSetCriterionJoinJoinAnalysis1')) this.$message.success(this.$t('trials:enrolledReviews:message:batchSetCriterionJoinJoinAnalysis1'))
} }
this.initPage()
}) })
}, },
go(path) { go(path) {

View File

@ -64,7 +64,7 @@
> >
{{ $t('common:button:cancel') }} {{ $t('common:button:cancel') }}
</el-button> </el-button>
<el-button size="small" type="primary" :loading="btnLoading" @click="save(true)"> <el-button size="small" type="primary" :disabled="!IsAllowAutoAllocate" :loading="btnLoading" @click="save(true)">
{{$t('trials:grouptConsistencyAnalysis:button:RandomCreate')}} {{$t('trials:grouptConsistencyAnalysis:button:RandomCreate')}}
</el-button> </el-button>
<!-- 生成 --> <!-- 生成 -->
@ -129,7 +129,8 @@ export default {
loading: false, loading: false,
trialId: this.$route.query.trialId, trialId: this.$route.query.trialId,
SelectList: [], SelectList: [],
btnLoading: false btnLoading: false,
IsAllowAutoAllocate: true
} }
}, },
mounted() { mounted() {
@ -157,7 +158,8 @@ export default {
var params = { var params = {
TrialId: this.$route.query.trialId, TrialId: this.$route.query.trialId,
SubejctIdList: this.SelectList.map(v => v.SubjectId), SubejctIdList: this.SelectList.map(v => v.SubjectId),
IsAutoAllocateGenerateTask: IsAutoAllocateGenerateTask IsAutoAllocateGenerateTask: IsAutoAllocateGenerateTask,
TrialReadingCriterionId: this.TrialReadingCriterionId
} }
confirmGenerateGroupConsistentTask(params).then(res => { confirmGenerateGroupConsistentTask(params).then(res => {
this.loading = false this.loading = false
@ -176,11 +178,12 @@ export default {
this.loading = true this.loading = true
this.searchData.TrialReadingCriterionId = this.TrialReadingCriterionId this.searchData.TrialReadingCriterionId = this.TrialReadingCriterionId
getGroupConsistentRuleSubjectList(this.searchData).then(res => { getGroupConsistentRuleSubjectList(this.searchData).then(res => {
if (res.OtherInfo) { if (res.OtherInfo.Rule) {
this.$emit('setReaderRulesFormVisible', false) this.$emit('setReaderRulesFormVisible', false)
} else { } else {
this.$emit('setReaderRulesFormVisible', true) this.$emit('setReaderRulesFormVisible', true)
} }
this.IsAllowAutoAllocate = res.OtherInfo.IsAllowAutoAllocate
this.loading = false this.loading = false
this.list = res.Result.CurrentPageData this.list = res.Result.CurrentPageData
this.total = res.Result.TotalCount this.total = res.Result.TotalCount

View File

@ -128,6 +128,9 @@ export default {
this.loading = false this.loading = false
this.$emit('getList') this.$emit('getList')
this.$emit('close') this.$emit('close')
}).catch(() => {
this.loading = false
this.btnLoading = false
}) })
}) })
}, },

View File

@ -355,6 +355,7 @@
circle circle
:title="$t('trials:pmMedicalReview:action:failure')" :title="$t('trials:pmMedicalReview:action:failure')"
:disabled="scope.row.IsInvalid || !!scope.row.AuditSignTime" :disabled="scope.row.IsInvalid || !!scope.row.AuditSignTime"
v-hasPermi="['trials:trials-panel:reading:pm-medical-feedback:failure']"
icon="el-icon-close" icon="el-icon-close"
@click="setMedicalReviewInvalid(scope.row)" @click="setMedicalReviewInvalid(scope.row)"
/> />
@ -363,6 +364,7 @@
:title="$t('trials:pmMedicalReview:action:assign')" :title="$t('trials:pmMedicalReview:action:assign')"
:disabled="!!scope.row.MedicalManagerUser || scope.row.IsInvalid || !!scope.row.AuditSignTime" :disabled="!!scope.row.MedicalManagerUser || scope.row.IsInvalid || !!scope.row.AuditSignTime"
icon="el-icon-thumb" icon="el-icon-thumb"
v-hasPermi="['trials:trials-panel:reading:pm-medical-feedback:assign']"
@click="assignMedicalReviewTask(scope.row, 1)" @click="assignMedicalReviewTask(scope.row, 1)"
/> />
<el-button <el-button
@ -370,6 +372,7 @@
:title="$t('trials:pmMedicalReview:action:cancelAssign')" :title="$t('trials:pmMedicalReview:action:cancelAssign')"
:disabled="!scope.row.MedicalManagerUser || scope.row.IsInvalid || !!scope.row.AuditSignTime" :disabled="!scope.row.MedicalManagerUser || scope.row.IsInvalid || !!scope.row.AuditSignTime"
icon="el-icon-refresh-left" icon="el-icon-refresh-left"
v-hasPermi="['trials:trials-panel:reading:pm-medical-feedback:cancelAssign']"
@click="assignMedicalReviewTask(scope.row, 3)" @click="assignMedicalReviewTask(scope.row, 3)"
/> />
</template> </template>

View File

@ -7,7 +7,7 @@
<div slot="search-container"> <div slot="search-container">
<el-form :inline="true"> <el-form :inline="true">
<el-form-item :label="$t('trials:reviewAssign:table:siteCode')"> <el-form-item :label="$t('trials:reviewAssign:table:siteCode')">
<el-select v-model="searchData.SiteId" clearable filterable style="width:120px;"> <el-select v-model="searchData.SiteId" clearable filterable style="width:240px;">
<el-option <el-option
v-for="(item,index) of siteOptions" v-for="(item,index) of siteOptions"
:key="'taskSearchData' + index" :key="'taskSearchData' + index"
@ -18,13 +18,25 @@
</el-form-item> </el-form-item>
<!-- 受试者编号 --> <!-- 受试者编号 -->
<el-form-item :label="$t('trials:reviewAssign:table:subjectCode')"> <el-form-item :label="$t('trials:reviewAssign:table:subjectCode')">
<el-input v-model="searchData.SubjectCode" style="width:100px;" /> <el-input v-model="searchData.SubjectCode" style="width:240px;" />
</el-form-item> </el-form-item>
<!-- 阅片人 --> <!-- 阅片人 -->
<el-form-item :label="$t('trials:reviewAssign:searchForm:reader')"> <el-form-item :label="$t('trials:reviewAssign:searchForm:reader')">
<el-select v-model="searchData.DoctorUserId" clearable style="width:120px;"> <el-select v-model="searchData.DoctorUserId" clearable style="width:240px;">
<el-option v-for="item of DoctorUserList" :key="'taskSearchData' + item.DoctorUserId" :value="item.DoctorUserId" :label="`${item.UserName}(${item.FullName})`" /> <el-option v-for="item of DoctorUserList" :key="'taskSearchData' + item.DoctorUserId" :value="item.DoctorUserId" :label="`${item.UserName}(${item.FullName})`" />
</el-select> </el-select>
</el-form-item>
<!-- 分配状态 -->
<el-form-item :label="$t('trials:reviewAssign:searchForm:status')">
<el-select v-model="searchData.SubjectAllocateState" clearable style="width:240px;">
<el-option v-for="item of $d.SubjectAllocateState" :key=" item.id" :value="item.value" :label="item.label" />
</el-select>
</el-form-item>
<!-- 分配角色 -->
<el-form-item :label="$t('trials:reviewAssign:searchForm:role')">
<el-select v-model="searchData.ArmList" clearable style="width:240px;" multiple>
<el-option v-for="item of $d.ArmEnum" :key="item.id" :value="item.value" :label="item.label" />
</el-select>
</el-form-item> </el-form-item>
<!-- 查询 --> <!-- 查询 -->
<el-form-item> <el-form-item>
@ -494,7 +506,9 @@ const searchDataDefault = () => {
DoctorUserId: null, DoctorUserId: null,
IsHaveAssigned: null, IsHaveAssigned: null,
IsAssignConfirmed: null, IsAssignConfirmed: null,
TrialReadingCriterionId: null TrialReadingCriterionId: null,
SubjectAllocateState:null,
ArmList:[]
} }
} }
const taskSearchDataDefault = () => { const taskSearchDataDefault = () => {
@ -514,7 +528,9 @@ const taskSearchDataDefault = () => {
ReadingCategory: null, ReadingCategory: null,
TaskAllocationState: null, TaskAllocationState: null,
BeginAllocateDate: null, BeginAllocateDate: null,
EndAllocateDate: null EndAllocateDate: null,
SubjectAllocateState:null,
ArmList:[]
} }
} }
export default { export default {
@ -585,7 +601,15 @@ export default {
if (v) { if (v) {
this.getList() this.getList()
} }
} },
// "searchData.SubjectAllocateState":{
// handler(){
// if(!this.searchData.SubjectAllocateState){
// this.searchData.ArmList = [];
// }
// },
// // immediate:true
// }
}, },
mounted() { mounted() {
this.getDoctorUserSelectList() this.getDoctorUserSelectList()

View File

@ -323,7 +323,7 @@
</box-content> </box-content>
</template> </template>
<script> <script>
import { batchDeteteCriterionMedicineQuestion, getReadingMedicineTrialQuestionList, deleteReadingMedicineTrialQuestion, confirmReadingMedicineQuestion, verifyReadingMedicineQuestion } from '@/api/trials' import { batchDeteteCriterionMedicineQuestion, getReadingMedicineTrialQuestionList, deleteReadingMedicineTrialQuestion, confirmReadingMedicineQuestion, verifyReadingMedicineQuestion, verifyIsCanConfirm } from '@/api/trials'
import { getTrialCriterionList } from '@/api/trials/reading' import { getTrialCriterionList } from '@/api/trials/reading'
import BoxContent from '@/components/BoxContent' import BoxContent from '@/components/BoxContent'
import DefaultQS from './components/DefaultQsLang' import DefaultQS from './components/DefaultQsLang'
@ -489,11 +489,16 @@ export default {
return return
} }
this.loading = true this.loading = true
verifyReadingMedicineQuestion({ trialId: this.trialId, TrialReadingCriterionId: this.trialReadingCriterionId }).then(res => { verifyIsCanConfirm({
this.loading = false TrialReadingCriterionId: this.trialReadingCriterionId
const { MedicalAuditConfirmation } = const_.processSignature }).then(res => {
this.signCode = MedicalAuditConfirmation console.log(res)
this.signVisible = true verifyReadingMedicineQuestion({ trialId: this.trialId, TrialReadingCriterionId: this.trialReadingCriterionId }).then(res => {
this.loading = false
const { MedicalAuditConfirmation } = const_.processSignature
this.signCode = MedicalAuditConfirmation
this.signVisible = true
}).catch(() => { this.loading = false })
}).catch(() => { this.loading = false }) }).catch(() => { this.loading = false })
}, },
// //

View File

@ -17,21 +17,21 @@
v-model="form.QuestionName" v-model="form.QuestionName"
/> />
</el-form-item> </el-form-item>
<el-form-item <!-- <el-form-item-->
:label="$t('common:title:languageType')" <!-- :label="$t('common:title:languageType')"-->
prop="LanguageType" <!-- prop="LanguageType"-->
> <!-- >-->
<el-select <!-- <el-select-->
v-model="form.LanguageType" <!-- v-model="form.LanguageType"-->
> <!-- >-->
<el-option <!-- <el-option-->
v-for="item of $d.LanguageType" <!-- v-for="item of $d.LanguageType"-->
:key="item.value" <!-- :key="item.value"-->
:value="item.value" <!-- :value="item.value"-->
:label="item.label" <!-- :label="item.label"-->
/> <!-- />-->
</el-select> <!-- </el-select>-->
</el-form-item> <!-- </el-form-item>-->
<!-- 类型 --> <!-- 类型 -->
<el-form-item <el-form-item
:label="$t('trials:qcCfg:table:type')" :label="$t('trials:qcCfg:table:type')"
@ -223,6 +223,7 @@ export default {
mounted() { mounted() {
this.trialId = this.$route.query.trialId this.trialId = this.$route.query.trialId
this.initForm() this.initForm()
}, },
methods: { methods: {
async initForm() { async initForm() {
@ -236,6 +237,11 @@ export default {
this.parentTriggerValOptions = this.parentOptions[index].TypeValue.split('|') this.parentTriggerValOptions = this.parentOptions[index].TypeValue.split('|')
} }
} }
if (this.$i18n.locale === 'zh') {
this.form.LanguageType = 0
} else {
this.form.LanguageType = 1
}
if (Object.keys(this.data).length > 0) { if (Object.keys(this.data).length > 0) {
for (const k in this.form) { for (const k in this.form) {
if (this.data.hasOwnProperty(k)) { if (this.data.hasOwnProperty(k)) {

View File

@ -8,23 +8,23 @@
<el-input v-model="searchData.QuestionName" clearable style="width:120px;" /> <el-input v-model="searchData.QuestionName" clearable style="width:120px;" />
</el-form-item> </el-form-item>
<!-- 语言类型 --> <!-- 语言类型 -->
<el-form-item <!-- <el-form-item-->
:label="$t('common:title:languageType')" <!-- :label="$t('common:title:languageType')"-->
style="margin-top: 10px" <!-- style="margin-top: 10px"-->
> <!-- >-->
<el-select <!-- <el-select-->
v-model="searchData.LanguageType" <!-- v-model="searchData.LanguageType"-->
clearable <!-- clearable-->
style="width:120px;" <!-- style="width:120px;"-->
> <!-- >-->
<el-option <!-- <el-option-->
v-for="item of $d.LanguageType" <!-- v-for="item of $d.LanguageType"-->
:key="item.value" <!-- :key="item.value"-->
:value="item.value" <!-- :value="item.value"-->
:label="item.label" <!-- :label="item.label"-->
/> <!-- />-->
</el-select> <!-- </el-select>-->
</el-form-item> <!-- </el-form-item>-->
<!-- 类型 --> <!-- 类型 -->
<el-form-item :label="$t('trials:qcCfg:table:type')" style="margin-top: 10px"> <el-form-item :label="$t('trials:qcCfg:table:type')" style="margin-top: 10px">
<el-select v-model="searchData.Type" clearable style="width:120px;"> <el-select v-model="searchData.Type" clearable style="width:120px;">
@ -120,16 +120,16 @@
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 审核问题 --> <!-- 审核问题 -->
<el-table-column <!-- <el-table-column-->
prop="LanguageType" <!-- prop="LanguageType"-->
:label="$t('common:title:languageType')" <!-- :label="$t('common:title:languageType')"-->
show-overflow-tooltip <!-- show-overflow-tooltip-->
width="100" <!-- width="100"-->
> <!-- >-->
<template slot-scope="scope"> <!-- <template slot-scope="scope">-->
{{ $fd('LanguageType', scope.row.LanguageType) }} <!-- {{ $fd('LanguageType', scope.row.LanguageType) }}-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<!-- 类型 --> <!-- 类型 -->
<el-table-column <el-table-column
prop="Type" prop="Type"

View File

@ -538,7 +538,7 @@
:data="$d.Bodypart" :data="$d.Bodypart"
stripe stripe
height="450" height="450"
row-key="Id" row-key="id"
@select="handleBodyPartSelectionChange" @select="handleBodyPartSelectionChange"
> >
<el-table-column <el-table-column
@ -589,7 +589,7 @@
:data="$d.Modality" :data="$d.Modality"
stripe stripe
height="450" height="450"
row-key="Id" row-key="id"
class="criterion-table" class="criterion-table"
@select="handleSelectionChange" @select="handleSelectionChange"
> >

View File

@ -120,8 +120,8 @@ export default {
Description: '', Description: '',
IsBaseLine: false, IsBaseLine: false,
// BlindName: '', // BlindName: '',
VisitWindowLeft: -3, VisitWindowLeft: -5,
VisitWindowRight: 3, VisitWindowRight: 5,
IsConfirmed: false, IsConfirmed: false,
IsDeleted: false, IsDeleted: false,
IsHaveFirstConfirmed: false IsHaveFirstConfirmed: false

View File

@ -103,7 +103,7 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span v-show="scope.row.VisitWindowLeft!==0 || scope.row.VisitWindowRight!==0"> <span v-show="scope.row.VisitWindowLeft!==0 || scope.row.VisitWindowRight!==0">
{{ `${scope.row.VisitWindowLeft}${$t('trials:visitPlan:table:day')} ~ ${scope.row.VisitWindowRight}${$t('trials:visitPlan:table:day')}` }} {{ `${scope.row.VisitWindowLeft} ${$t('trials:visitPlan:table:day')} ~ ${scope.row.VisitWindowRight} ${$t('trials:visitPlan:table:day')}` }}
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
@ -286,7 +286,7 @@ export default {
}) })
}, },
handleAdd() { handleAdd() {
this.row = { TrialId: this.trialId, Id: '', IsBaseLine: false, BlindName: '', VisitWindowLeft: -3, VisitWindowRight: 3, Description: '' } this.row = { TrialId: this.trialId, Id: '', IsBaseLine: false, BlindName: '', VisitWindowLeft: -5, VisitWindowRight: 5, Description: '' }
this.timer = new Date().getTime() this.timer = new Date().getTime()
if (this.list.length === 0) { if (this.list.length === 0) {
this.row.VisitName = 'Baseline' this.row.VisitName = 'Baseline'
@ -300,6 +300,10 @@ export default {
this.row.VisitName = this.list[this.list.length - 1].VisitName.split(' ')[0] + ' ' + (this.list[this.list.length - 1].VisitNum + 1) this.row.VisitName = this.list[this.list.length - 1].VisitName.split(' ')[0] + ' ' + (this.list[this.list.length - 1].VisitNum + 1)
this.row.VisitNum = this.list[this.list.length - 1].VisitNum + 1 this.row.VisitNum = this.list[this.list.length - 1].VisitNum + 1
this.row.VisitDay = this.list[this.list.length - 1].VisitDay - this.list[this.list.length - 2].VisitDay + this.list[this.list.length - 1].VisitDay this.row.VisitDay = this.list[this.list.length - 1].VisitDay - this.list[this.list.length - 2].VisitDay + this.list[this.list.length - 1].VisitDay
if (this.list[this.list.length - 1].VisitWindowLeft && this.list[this.list.length - 1].VisitWindowRight) {
this.row.VisitWindowLeft = this.list[this.list.length - 1].VisitWindowLeft
this.row.VisitWindowRight = this.list[this.list.length - 1].VisitWindowRight
}
} }
this.visit_model.title = this.$t('common:button:add') this.visit_model.title = this.$t('common:button:add')
this.visit_model.visible = true this.visit_model.visible = true

View File

@ -70,11 +70,11 @@
<div style="padding: 12px"> <div style="padding: 12px">
<div class="user-profile-wrapper" style="padding: 24px 0 24px 12px;"> <div class="user-profile-wrapper" style="padding: 24px 0 24px 12px;">
<div style="display: flex;align-items: center;margin-bottom: 20px;" class="user-info"> <div style="display: flex;align-items: center;margin-bottom: 20px;" class="user-info">
<div style="margin-right: 0.75rem;background: #428bca;width: 44px;height: 44px;border-radius: 50%;line-height: 44px;text-align: center;font-size: 12px;color:#fff;"> <div style="margin-right: 0.75rem;background: #428bca;width: 44px;height: 44px;border-radius: 50%;line-height: 44px;text-align: center;font-size: 12px;color:#fff;overflow: hidden">
{{ user.LastName }} {{ user.LastName }}
</div> </div>
<div class="user-description" style=""> <div class="user-description" style="">
<div style="font-size: .875rem;color: #333;line-height: 22px;display: flex;margin-bottom: 0.25rem;"><span style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;max-width: 75px">{{user.RealName}}</span></div> <div style="font-size: .875rem;color: #333;line-height: 22px;display: flex;margin-bottom: 0.25rem;"><span style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;max-width: 150px">{{user.RealName}}</span></div>
<div style="font-size: .75rem;line-height: 18px;color:#999">{{new Date().getFullYear()}}{{$t('common:date:today')}}{{new Date().getMonth() + 1}}{{$t('common:date:month')}}{{new Date().getDate()}}{{$t('common:date:day')}}{{ dayOfWeek }}</div> <div style="font-size: .75rem;line-height: 18px;color:#999">{{new Date().getFullYear()}}{{$t('common:date:today')}}{{new Date().getMonth() + 1}}{{$t('common:date:month')}}{{new Date().getDate()}}{{$t('common:date:day')}}{{ dayOfWeek }}</div>
</div> </div>
</div> </div>
@ -98,7 +98,7 @@
<!-- </div>--> <!-- </div>-->
<!-- </div>--> <!-- </div>-->
<div class="thy-divider" style="border-top: 1px solid #eee;margin: 0;"></div> <div class="thy-divider" style="border-top: 1px solid #eee;margin: 0;"></div>
<div class="my_select_title">{{ $t('trials:workbench:title:padding') }}</div> <div class="my_select_title" style="font-size: 18px">{{ $t('trials:workbench:title:padding') }}</div>
<div class="my_select"> <div class="my_select">
<!-- PM/APM --> <!-- PM/APM -->
<!-- 阅片期 --> <!-- 阅片期 -->
@ -123,10 +123,10 @@
</div> </div>
</div> </div>
<!-- 中心调研 --> <!-- 中心调研 -->
<div class="my_select_box" :class="{selected: selected === 'SiteResearch'}" tab-data="SiteResearch" @click="selected = 'SiteResearch'" v-if="hasPermi(['trials:trials-workbench:reviewerScreen'])"> <div class="my_select_box" :class="{selected: selected === 'SiteResearch'}" tab-data="SiteResearch" @click="selected = 'SiteResearch'" v-if="hasPermi(['trials:trials-workbench:attachments:site-research'])">
<div class="my_select_box_content"> <div class="my_select_box_content">
<span class="el-icon-edit-outline" style="padding: 4px;margin: 4px;color: #6698ff"></span> <span class="el-icon-edit-outline" style="padding: 4px;margin: 4px;color: #6698ff"></span>
<span class="my_select_box_content_text">{{ $t('trials:workbench:title:pendingSiteResearch') }}</span><span style="margin:0 0.25rem">·</span><span>{{ tabList.PM_SiteSurveryCount }}</span> <span class="my_select_box_content_text">{{ $t('trials:workbench:title:pendingSiteResearch') }}</span><span style="margin:0 0.25rem">·</span><span>{{hasPermi(['role:pm'])? tabList.PM_SiteSurveryCount : tabList.SPM_SiteSurveryCount }}</span>
</div> </div>
</div> </div>
<!-- SPM/CPM --> <!-- SPM/CPM -->
@ -227,7 +227,7 @@
</div> </div>
</div> </div>
<div class="thy-divider" style="border-top: 1px solid #eee;margin: 0;"></div> <div class="thy-divider" style="border-top: 1px solid #eee;margin: 0;"></div>
<div class="my_select_title">{{ $t('trials:workbench:title:my') }}</div> <div class="my_select_title" style="font-size: 18px">{{ $t('trials:workbench:title:my') }}</div>
<div class="my_select"> <div class="my_select">
<!-- 项目已签署文件 --> <!-- 项目已签署文件 -->
<div class="my_select_box" :class="{selected: selected === 'NeedSignedTrialDoc'}" tab-data="NeedSignedTrialDoc" @click="selected = 'NeedSignedTrialDoc'" v-if="!hasPermi(['role:zys'])"> <div class="my_select_box" :class="{selected: selected === 'NeedSignedTrialDoc'}" tab-data="NeedSignedTrialDoc" @click="selected = 'NeedSignedTrialDoc'" v-if="!hasPermi(['role:zys'])">