Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
commit
6fa98f8deb
|
@ -3582,6 +3582,15 @@ export function getUpdateVirtualSiteCodeList(param) {
|
|||
})
|
||||
}
|
||||
|
||||
export function addDefaultQuestions(param) {
|
||||
return request({
|
||||
url: `/ReadingMedicineQuestion/addDefaultQuestions`,
|
||||
method: 'post',
|
||||
data: param
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
export function getReadingCalculationData(param) {
|
||||
return request({
|
||||
|
|
|
@ -237,7 +237,7 @@
|
|||
icon="el-icon-download"
|
||||
size="small"
|
||||
:loading="downloadLoading"
|
||||
@click.native.prevent="handleDownloadTpl(cd.ClinicalDataTrialSetId)"
|
||||
@click.native.prevent="handleDownloadTpl(cd)"
|
||||
>
|
||||
{{ $t('trials:uploadClinicalData:button:downloadTemplate') }}
|
||||
</el-button>
|
||||
|
@ -551,11 +551,8 @@ export default {
|
|||
})
|
||||
})
|
||||
},
|
||||
handleDownloadTpl(clinicalDataTrialSetId) {
|
||||
this.downloadLoading = true
|
||||
DownloadTrialClinicalFile(clinicalDataTrialSetId).then(data => {
|
||||
this.downloadLoading = false
|
||||
}).catch(() => { this.downloadLoading = false })
|
||||
handleDownloadTpl(cd) {
|
||||
window.open(this.OSSclientConfig.basePath + cd.Path)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -676,7 +676,7 @@ export default {
|
|||
DoctorUserList: [],
|
||||
btnLoading: false,
|
||||
rowData: {},
|
||||
OtherInfo: null,
|
||||
OtherInfo: {},
|
||||
title: null,
|
||||
SelectList: [],
|
||||
TaskConsistentRuleList: [],
|
||||
|
|
|
@ -0,0 +1,147 @@
|
|||
/* eslint-disable */
|
||||
<template>
|
||||
<el-form
|
||||
ref="taskAllocationRuleDataForm"
|
||||
v-loading="loading"
|
||||
:model="form"
|
||||
size="small"
|
||||
:rules="rules"
|
||||
label-width="170px"
|
||||
>
|
||||
<!-- 访视数 -->
|
||||
<el-form-item :label="$t('trials:medicalAuditSetting:label:DefaultQSLang')" prop="LanguageType">
|
||||
<el-radio-group
|
||||
v-model="form.LanguageType"
|
||||
>
|
||||
<el-radio :label="0">
|
||||
中文
|
||||
</el-radio>
|
||||
<el-radio :label="1">
|
||||
English
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<div v-if="otherInfo.LanguageType === null"></div>
|
||||
<div v-else-if="otherInfo.LanguageType === form.LanguageType" style="color:#f66;font-size: 12px;padding-left: 170px;"><span class="el-icon-warning"></span>{{ $t('trials:medicalAuditSetting:tap:message1') }}</div>
|
||||
<div v-else style="color:#f66;font-size: 12px;padding-left: 170px;"><span class="el-icon-warning"></span>{{ $t('trials:medicalAuditSetting:tap:message2') }}</div>
|
||||
<div class="base-dialog-footer" style="text-align:right;margin-top:10px;">
|
||||
<el-form-item>
|
||||
<!-- 取消 -->
|
||||
<el-button
|
||||
:disabled="btnLoading"
|
||||
size="small"
|
||||
type="primary"
|
||||
@click="close"
|
||||
>
|
||||
{{ $t('common:button:cancel') }}
|
||||
</el-button>
|
||||
<!-- 保存 -->
|
||||
<el-button size="small" type="primary" :loading="btnLoading" @click="save">
|
||||
{{ $t('common:button:save') }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<el-dialog
|
||||
v-if="isSiteCodeHistory"
|
||||
:title="$t('trials:consistencyAnalysis:dialog:isSiteCodeHistory')"
|
||||
:visible.sync="isSiteCodeHistory"
|
||||
width="800px"
|
||||
append-to-body
|
||||
:close-on-click-modal="false"
|
||||
custom-class="base-dialog-wrapper"
|
||||
>
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="list"
|
||||
stripe
|
||||
min-height="300"
|
||||
>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
width="80"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{scope.$index + 1}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="VirtualSiteCode"
|
||||
:label="$t('trials:consistencyAnalysis:siteTable:VirtualSiteCode')"
|
||||
show-overflow-tooltip
|
||||
min-width="120"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="Creatime"
|
||||
:label="$t('trials:consistencyAnalysis:siteTable:Creatime')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
</el-form>
|
||||
</template>
|
||||
<script>
|
||||
import { addDefaultQuestions } from '@/api/trials'
|
||||
|
||||
export default {
|
||||
name: 'VirtualCenter',
|
||||
props: {
|
||||
trialReadingCriterionId: {
|
||||
type: String,
|
||||
default() {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
otherInfo: {
|
||||
type: Object,
|
||||
default() {
|
||||
return {}
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
TrialId: this.$route.query.trialId,
|
||||
TrialReadingCriterionId: this.trialReadingCriterionId,
|
||||
LanguageType: 0
|
||||
},
|
||||
rules: {
|
||||
LanguageType: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }],
|
||||
},
|
||||
loading: false,
|
||||
btnLoading: false,
|
||||
isSiteCodeHistory: false,
|
||||
list: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
if (this.otherInfo.LanguageType === null) {
|
||||
this.form.LanguageType = this.$i18n.locale === 'zh' ? 0 : 1
|
||||
} else {
|
||||
this.form.LanguageType = this.otherInfo.LanguageType
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
save() {
|
||||
this.$refs.taskAllocationRuleDataForm.validate(valid => {
|
||||
if (!valid) return
|
||||
this.btnLoading = true
|
||||
this.loading = true
|
||||
addDefaultQuestions(this.form).then(res => {
|
||||
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
||||
this.btnLoading = false
|
||||
this.loading = false
|
||||
this.$emit('getList')
|
||||
this.$emit('close')
|
||||
})
|
||||
})
|
||||
},
|
||||
close() { this.$emit('close') }
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
|
@ -275,14 +275,13 @@
|
|||
<el-dialog
|
||||
v-if="addVisible"
|
||||
:visible.sync="addVisible"
|
||||
width="1200px"
|
||||
width="500px"
|
||||
:close-on-click-modal="false"
|
||||
custom-class="base-dialog-wrapper"
|
||||
:title="$t('trials:qcCfg:button:default')"
|
||||
:title="$t('trials:mimCfg:title:addDefault')"
|
||||
>
|
||||
<div class="base-dialog-body">
|
||||
<DefaultQS :trial-reading-criterion-id="trialReadingCriterionId" :current-criterion-type="CurrentCriterionType" @getList="getList" @close="addVisible = false" />
|
||||
</div>
|
||||
<!-- <DefaultQS :trial-reading-criterion-id="trialReadingCriterionId" :current-criterion-type="CurrentCriterionType" @getList="getList" @close="addVisible = false" />-->
|
||||
<DefaultQS :other-info="otherInfo" :trial-reading-criterion-id="trialReadingCriterionId" @getList="getList" @close="addVisible = false" />
|
||||
</el-dialog>
|
||||
|
||||
<!-- 新增/编辑问题 -->
|
||||
|
@ -343,7 +342,7 @@
|
|||
import { batchDeteteCriterionMedicineQuestion, getReadingMedicineTrialQuestionList, deleteReadingMedicineTrialQuestion, confirmReadingMedicineQuestion, verifyReadingMedicineQuestion } from '@/api/trials'
|
||||
import { getTrialCriterionList } from '@/api/trials/reading'
|
||||
import BoxContent from '@/components/BoxContent'
|
||||
import DefaultQS from './components/DefaultQS'
|
||||
import DefaultQS from './components/DefaultQsLang'
|
||||
import QSForm from './components/QSForm'
|
||||
import Pagination from '@/components/Pagination'
|
||||
import QuestionsPreview from './components/QuestionsPreview'
|
||||
|
|
|
@ -234,7 +234,7 @@
|
|||
icon="el-icon-download"
|
||||
size="small"
|
||||
:loading="downloadLoading"
|
||||
@click.native.prevent="handleDownloadTpl(cd.ClinicalDataTrialSetId)"
|
||||
@click.native.prevent="handleDownloadTpl(cd)"
|
||||
>
|
||||
{{ $t('trials:uploadClinicalData:button:downloadTemplate') }}
|
||||
</el-button>
|
||||
|
@ -607,11 +607,8 @@ export default {
|
|||
})
|
||||
})
|
||||
},
|
||||
handleDownloadTpl(clinicalDataTrialSetId) {
|
||||
this.downloadLoading = true
|
||||
DownloadTrialClinicalFile(clinicalDataTrialSetId).then(data => {
|
||||
this.downloadLoading = false
|
||||
}).catch(() => { this.downloadLoading = false })
|
||||
handleDownloadTpl(cd) {
|
||||
window.open(this.OSSclientConfig.basePath + cd.Path)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -36,22 +36,22 @@
|
|||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="6" class="card-panel-col">
|
||||
<div class="card-panel">
|
||||
<div class="card-panel-icon-wrapper icon-monitor">
|
||||
<svg-icon icon-class="monitor" class-name="card-panel-icon" />
|
||||
</div>
|
||||
<div class="card-panel-description">
|
||||
<div class="card-panel-text">
|
||||
<!-- 待办任务 -->
|
||||
{{ $t('trials:workbench:label:pendingTasksStats') }}
|
||||
</div>
|
||||
<div class="card-panel-num">
|
||||
<countTo :start-val="0" :end-val="taskCount" :duration="3000" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<!-- <el-col :span="6" class="card-panel-col">-->
|
||||
<!-- <div class="card-panel">-->
|
||||
<!-- <div class="card-panel-icon-wrapper icon-monitor">-->
|
||||
<!-- <svg-icon icon-class="monitor" class-name="card-panel-icon" />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="card-panel-description">-->
|
||||
<!-- <div class="card-panel-text">-->
|
||||
<!-- <!– 待办任务 –>-->
|
||||
<!-- {{ $t('trials:workbench:label:pendingTasksStats') }}-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="card-panel-num">-->
|
||||
<!-- <countTo :start-val="0" :end-val="taskCount" :duration="3000" />-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </el-col>-->
|
||||
|
||||
<el-col :span="6" class="card-panel-col">
|
||||
<div class="card-panel">
|
||||
|
|
|
@ -4,7 +4,10 @@
|
|||
<PanelCount ref="panelCount" @getSignSystemDocCount="getSignSystemDocCount" />
|
||||
</div>
|
||||
<div class="workbench-content" style="height: 100%">
|
||||
<div style="height: 100%">
|
||||
<div style="height: 100%;position: relative">
|
||||
<div style="font-size: 20px;position: absolute;line-height: 40px;text-align: right" :style="{width: width + 'px'}">
|
||||
{{ $t('trials:workbench:label:pendingTasksStats') }} ({{tabList.TotalCount}})
|
||||
</div>
|
||||
<el-tabs v-model="activeName" style="height: 100%" tab-position="left">
|
||||
<!-- PM/APM -->
|
||||
<!-- 阅片期 -->
|
||||
|
@ -85,7 +88,7 @@
|
|||
</el-tab-pane>
|
||||
<!-- 项目签署文件 -->
|
||||
<el-tab-pane name="NeedSignTrialDoc" v-if="!hasPermi(['role:zys'])" :label="`${$t('trials:workbench:title:trialDocBeSigned')} (${tabList.TrialWaitSignDocCount})`">
|
||||
<NeedSignTrialDoc v-if="activeName === 'NeedSignTrialDoc'" :is-sign-system-doc="isSignSystemDoc" />
|
||||
<NeedSignTrialDoc v-if="activeName === 'NeedSignTrialDoc'" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-tab-pane>
|
||||
<!-- 系统签署文件 -->
|
||||
<el-tab-pane name="NeedSignSysDoc" v-if="!hasPermi(['role:zys'])" :label="`${$t('trials:workbench:title:sysDocBeSigned')} (${tabList.SysWaitSignDocCount})`">
|
||||
|
@ -130,7 +133,8 @@ export default {
|
|||
isSignSystemDoc: false,
|
||||
trialIdList: [],
|
||||
tabList: {},
|
||||
activeName: ''
|
||||
activeName: '',
|
||||
width: 0
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
@ -138,16 +142,30 @@ export default {
|
|||
this.getNeedSignTrialDocTrialIdList()
|
||||
},
|
||||
methods: {
|
||||
tabClick(e) {
|
||||
console.log(e)
|
||||
},
|
||||
getSignSystemDocCount(count) {
|
||||
this.isSignSystemDoc = count > 0
|
||||
},
|
||||
refreshStats() {
|
||||
this.$refs['panelCount'].getData()
|
||||
this.getNeedSignTrialDocTrialIdList()
|
||||
},
|
||||
getNeedSignTrialDocTrialIdList() {
|
||||
getNeedSignTrialDocTrialIdList().then(res => {
|
||||
console.log(res)
|
||||
this.trialIdList = res.Result
|
||||
this.$nextTick(() => {
|
||||
this.width = document.querySelector('.el-tabs__nav-scroll').clientWidth - 75
|
||||
var list = document.querySelectorAll('div[aria-controls]')
|
||||
list.forEach((v, i) => {
|
||||
if (i === 0) {
|
||||
let item = v.getAttribute('aria-controls')
|
||||
this.activeName = item.split('-')[1]
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
getUserTobeDoneRecord() {
|
||||
|
@ -161,6 +179,12 @@ export default {
|
|||
|
||||
<style lang="scss">
|
||||
.workbench-container{
|
||||
.el-tabs__nav{
|
||||
transform: translateY(40px)!important;
|
||||
}
|
||||
.el-tabs__header{
|
||||
position: relative;
|
||||
}
|
||||
::-webkit-scrollbar {
|
||||
width: 7px;
|
||||
height: 7px;
|
||||
|
|
Loading…
Reference in New Issue