Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
716d0e3513
|
@ -5,6 +5,7 @@
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||||
<meta http-equiv="pragram" content="no-cache">
|
<meta http-equiv="pragram" content="no-cache">
|
||||||
|
<meta name="autocomplete" content="off">
|
||||||
<meta http-equiv="Expires" content="0">
|
<meta http-equiv="Expires" content="0">
|
||||||
<meta http-equiv="Pragma" content="no-cache">
|
<meta http-equiv="Pragma" content="no-cache">
|
||||||
<meta http-equiv="Cache-control" content="no-store,no-cache,must-revalidate">
|
<meta http-equiv="Cache-control" content="no-store,no-cache,must-revalidate">
|
||||||
|
|
|
@ -239,3 +239,12 @@ export function GetInternationalizationList_Export(data) {
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 导出一致性分析
|
||||||
|
export function GetAnalysisTaskList_Export(data) {
|
||||||
|
return requestDownload({
|
||||||
|
url: `/ExcelExport/GetAnalysisTaskList_Export`,
|
||||||
|
responseType: 'blob',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
@ -83,7 +83,7 @@
|
||||||
<svg-icon icon-class="password" />
|
<svg-icon icon-class="password" />
|
||||||
</span>
|
</span>
|
||||||
<!-- password -->
|
<!-- password -->
|
||||||
<el-input
|
<!-- <el-input
|
||||||
:key="passwordType"
|
:key="passwordType"
|
||||||
ref="password"
|
ref="password"
|
||||||
v-model="loginForm.password"
|
v-model="loginForm.password"
|
||||||
|
@ -91,6 +91,8 @@
|
||||||
:type="passwordType"
|
:type="passwordType"
|
||||||
:placeholder="$t('login:form:password')"
|
:placeholder="$t('login:form:password')"
|
||||||
name="password"
|
name="password"
|
||||||
|
auto-complete="new-password"
|
||||||
|
autocomplete="new-password"
|
||||||
tabindex="2"
|
tabindex="2"
|
||||||
@keyup.enter.native="handleLogin"
|
@keyup.enter.native="handleLogin"
|
||||||
/>
|
/>
|
||||||
|
@ -98,6 +100,21 @@
|
||||||
<svg-icon
|
<svg-icon
|
||||||
:icon-class="passwordType === 'password' ? 'eye' : 'eye-open'"
|
:icon-class="passwordType === 'password' ? 'eye' : 'eye-open'"
|
||||||
/>
|
/>
|
||||||
|
</span> -->
|
||||||
|
<el-input
|
||||||
|
:key="passwordType"
|
||||||
|
ref="password"
|
||||||
|
v-model="pwdCover"
|
||||||
|
size="small"
|
||||||
|
type="text"
|
||||||
|
:placeholder="$t('login:form:password')"
|
||||||
|
name="password"
|
||||||
|
@input="setPassword"
|
||||||
|
tabindex="2"
|
||||||
|
@keyup.enter.native="handleLogin"
|
||||||
|
/>
|
||||||
|
<span class="show-pwd" @click="hidePassword">
|
||||||
|
<svg-icon :icon-class="!isShowPassword ? 'eye' : 'eye-open'" />
|
||||||
</span>
|
</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- Login -->
|
<!-- Login -->
|
||||||
|
@ -274,6 +291,8 @@ export default {
|
||||||
},
|
},
|
||||||
loading: false,
|
loading: false,
|
||||||
passwordType: 'password',
|
passwordType: 'password',
|
||||||
|
pwdCover: null,
|
||||||
|
isShowPassword: false,
|
||||||
loginType: null,
|
loginType: null,
|
||||||
location: null,
|
location: null,
|
||||||
isShow: false,
|
isShow: false,
|
||||||
|
@ -435,6 +454,60 @@ export default {
|
||||||
handleResetPwd() {
|
handleResetPwd() {
|
||||||
this.$router.push({ name: 'Resetpassword' })
|
this.$router.push({ name: 'Resetpassword' })
|
||||||
},
|
},
|
||||||
|
// 输入框输入事件
|
||||||
|
setPassword(val) {
|
||||||
|
if (this.isShowPassword) {
|
||||||
|
this.loginForm.password = val
|
||||||
|
} else {
|
||||||
|
let reg = /[0-9a-zA-Z]/g // 只允许输入字母和数字
|
||||||
|
let nDot = /[^●]/g // 非圆点字符
|
||||||
|
let index = -1 // 新输入的字符位置
|
||||||
|
let lastChar = void 0 // 新输入的字符
|
||||||
|
let realArr = this.loginForm.password.split('') // 真实密码数组
|
||||||
|
let coverArr = val.split('') // 文本框显示密码数组
|
||||||
|
let coverLen = val.length // 文本框字符串长度
|
||||||
|
let realLen = this.loginForm.password.length // 真实密码长度
|
||||||
|
// 找到新输入的字符及位置
|
||||||
|
coverArr.forEach((el, idx) => {
|
||||||
|
if (nDot.test(el)) {
|
||||||
|
index = idx
|
||||||
|
lastChar = el
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// 判断输入的字符是否符合规范,不符合的话去掉该字符
|
||||||
|
if (lastChar && !reg.test(lastChar)) {
|
||||||
|
coverArr.splice(index, 1)
|
||||||
|
this.pwdCover = coverArr.join('')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (realLen < coverLen) {
|
||||||
|
// 新增字符
|
||||||
|
realArr.splice(index, 0, lastChar)
|
||||||
|
} else if (coverLen <= realLen && index !== -1) {
|
||||||
|
// 替换字符(选取一个或多个字符直接替换)
|
||||||
|
realArr.splice(index, realLen - (coverLen - 1), lastChar)
|
||||||
|
} else {
|
||||||
|
// 删除字符,因为 val 全是 ● ,没有办法匹配,不知道是从末尾还是中间删除的字符,删除了几个,不好对 password 处理,所以可以通过光标的位置和 val 的长度来判断
|
||||||
|
let pos = document.getElementById('pwd').selectionEnd // 获取光标位置
|
||||||
|
realArr.splice(pos, realLen - coverLen)
|
||||||
|
}
|
||||||
|
// 将 pwdCover 替换成 ●
|
||||||
|
this.pwdCover = val.replace(/\S/g, '●')
|
||||||
|
this.loginForm.password = realArr.join('')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 点击右侧小眼睛控制显示隐藏
|
||||||
|
hidePassword() {
|
||||||
|
if (!this.isShowPassword) {
|
||||||
|
// console.log("显示");
|
||||||
|
this.isShowPassword = true
|
||||||
|
this.pwdCover = this.loginForm.password
|
||||||
|
} else {
|
||||||
|
// console.log("隐藏");
|
||||||
|
this.isShowPassword = false
|
||||||
|
this.pwdCover = this.pwdCover.replace(/\S/g, '●')
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -130,8 +130,8 @@ const searchDataDefault = () => {
|
||||||
return {
|
return {
|
||||||
EventState: null,
|
EventState: null,
|
||||||
EventTypeName: null,
|
EventTypeName: null,
|
||||||
Asc: true,
|
Asc: false,
|
||||||
SortField: '',
|
SortField: 'CreateTime',
|
||||||
PageIndex: 1,
|
PageIndex: 1,
|
||||||
PageSize: 20,
|
PageSize: 20,
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,36 @@
|
||||||
<template>
|
<template>
|
||||||
<div style="text-align: left">
|
<div style="text-align: left">
|
||||||
<el-tabs type="border-card" v-model="TrialReadingCriterionId" style="height:300px">
|
<el-tabs
|
||||||
<el-tab-pane :label="i.TrialReadingCriterionName" :name="i.TrialReadingCriterionId" v-for="i of trialCriterionList" :key="i.TrialReadingCriterionId">
|
type="border-card"
|
||||||
|
v-model="TrialReadingCriterionId"
|
||||||
|
style="height: 300px"
|
||||||
|
>
|
||||||
|
<el-tab-pane
|
||||||
|
:label="i.TrialReadingCriterionName"
|
||||||
|
:name="i.TrialReadingCriterionId"
|
||||||
|
v-for="i of trialCriterionList"
|
||||||
|
:key="i.TrialReadingCriterionId"
|
||||||
|
>
|
||||||
<div class="message">
|
<div class="message">
|
||||||
<span>{{$t('trials:consistencyAnalysis:button:exportSelf')}}</span>
|
<span>{{ $t('trials:consistencyAnalysis:button:exportSelf') }}</span>
|
||||||
<el-button type="primary" icon="el-icon-download" @click="handleExport(1)" size="mini">
|
<el-button
|
||||||
{{$t('common:button:export')}}
|
type="primary"
|
||||||
|
icon="el-icon-download"
|
||||||
|
@click="handleExport(5)"
|
||||||
|
size="mini"
|
||||||
|
>
|
||||||
|
{{ $t('common:button:export') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="message">
|
<div class="message">
|
||||||
<span>{{$t('trials:consistencyAnalysis:button:exportGroup')}}</span>
|
<span>{{ $t('trials:consistencyAnalysis:button:exportGroup') }}</span>
|
||||||
<el-button type="primary" icon="el-icon-download" @click="handleExport(2)" size="mini">
|
<el-button
|
||||||
{{$t('common:button:export')}}
|
type="primary"
|
||||||
|
icon="el-icon-download"
|
||||||
|
@click="handleExport(6)"
|
||||||
|
size="mini"
|
||||||
|
>
|
||||||
|
{{ $t('common:button:export') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
@ -23,7 +42,7 @@
|
||||||
import { getTrialCriterionList } from '@/api/trials/reading'
|
import { getTrialCriterionList } from '@/api/trials/reading'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "exportList",
|
name: 'exportList',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
TrialReadingCriterionId: null,
|
TrialReadingCriterionId: null,
|
||||||
|
@ -31,30 +50,33 @@ name: "exportList",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.trialId =this.$route.query.trialId
|
this.trialId = this.$route.query.trialId
|
||||||
this.getTrialCriterionList()
|
this.getTrialCriterionList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleExport(type) {
|
handleExport(type) {
|
||||||
this.$emit("handleExport",type,this.TrialReadingCriterionId)
|
this.$emit('handleExport', type, this.TrialReadingCriterionId)
|
||||||
},
|
},
|
||||||
getTrialCriterionList() {
|
getTrialCriterionList() {
|
||||||
getTrialCriterionList(this.trialId).then(res => {
|
getTrialCriterionList(this.trialId)
|
||||||
|
.then((res) => {
|
||||||
this.trialCriterionList = res.Result
|
this.trialCriterionList = res.Result
|
||||||
this.TrialReadingCriterionId = this.trialCriterionList[0].TrialReadingCriterionId
|
this.TrialReadingCriterionId =
|
||||||
}).catch(() => {})
|
this.trialCriterionList[0].TrialReadingCriterionId
|
||||||
}
|
})
|
||||||
}
|
.catch(() => {})
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.message{
|
.message {
|
||||||
display:flex;
|
display: flex;
|
||||||
align-items:center;
|
align-items: center;
|
||||||
line-height:60px;
|
line-height: 60px;
|
||||||
}
|
}
|
||||||
.message span{
|
.message span {
|
||||||
margin-right:20px;
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -214,14 +214,14 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="margin-bottom: 10px">
|
<el-form-item style="margin-bottom: 10px">
|
||||||
<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
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-refresh-left"
|
icon="el-icon-refresh-left"
|
||||||
@click="handleReset"
|
@click="handleReset"
|
||||||
>
|
>
|
||||||
{{ $t("common:button:reset") }}
|
{{ $t('common:button:reset') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- <el-button type="primary" icon="el-icon-download" @click="handleExport(1)">
|
<!-- <el-button type="primary" icon="el-icon-download" @click="handleExport(1)">
|
||||||
{{$t('trials:consistencyAnalysis:button:exportSelf')}}
|
{{$t('trials:consistencyAnalysis:button:exportSelf')}}
|
||||||
|
@ -239,7 +239,7 @@
|
||||||
"
|
"
|
||||||
@click="openTaskConsistentRule(true)"
|
@click="openTaskConsistentRule(true)"
|
||||||
>
|
>
|
||||||
{{ $t("trials:consistencyAnalysis:button:self") }}
|
{{ $t('trials:consistencyAnalysis:button:self') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 组间一致性分析 -->
|
<!-- 组间一致性分析 -->
|
||||||
<el-button
|
<el-button
|
||||||
|
@ -252,7 +252,7 @@
|
||||||
"
|
"
|
||||||
@click="openTaskConsistentRule(false)"
|
@click="openTaskConsistentRule(false)"
|
||||||
>
|
>
|
||||||
{{ $t("trials:consistencyAnalysis:button:group") }}
|
{{ $t('trials:consistencyAnalysis:button:group') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 虚拟中心编号 -->
|
<!-- 虚拟中心编号 -->
|
||||||
<el-button
|
<el-button
|
||||||
|
@ -264,7 +264,7 @@
|
||||||
"
|
"
|
||||||
@click="openSite()"
|
@click="openSite()"
|
||||||
>
|
>
|
||||||
{{ $t("trials:consistencyAnalysis:button:site") }}
|
{{ $t('trials:consistencyAnalysis:button:site') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!--导出-->
|
<!--导出-->
|
||||||
<el-button
|
<el-button
|
||||||
|
@ -272,7 +272,7 @@
|
||||||
icon="el-icon-download"
|
icon="el-icon-download"
|
||||||
@click="openExport()"
|
@click="openExport()"
|
||||||
>
|
>
|
||||||
{{ $t("common:button:export") }}
|
{{ $t('common:button:export') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
@ -296,10 +296,10 @@
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag v-if="scope.row.IsUrgent" type="danger">{{
|
<el-tag v-if="scope.row.IsUrgent" type="danger">{{
|
||||||
$fd("YesOrNo", scope.row.IsUrgent)
|
$fd('YesOrNo', scope.row.IsUrgent)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag v-else type="primary">{{
|
<el-tag v-else type="primary">{{
|
||||||
$fd("YesOrNo", scope.row.IsUrgent)
|
$fd('YesOrNo', scope.row.IsUrgent)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -334,7 +334,7 @@
|
||||||
class="status-primary-circle"
|
class="status-primary-circle"
|
||||||
>
|
>
|
||||||
<!-- 影 -->
|
<!-- 影 -->
|
||||||
{{ $t("trials:consistencyAnalysis:table:impact") }}
|
{{ $t('trials:consistencyAnalysis:table:impact') }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -384,16 +384,16 @@
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag v-if="scope.row.ReadingCategory === 1" type="primary">{{
|
<el-tag v-if="scope.row.ReadingCategory === 1" type="primary">{{
|
||||||
$fd("ReadingCategory", scope.row.ReadingCategory)
|
$fd('ReadingCategory', scope.row.ReadingCategory)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag v-if="scope.row.ReadingCategory === 2" type="info">{{
|
<el-tag v-if="scope.row.ReadingCategory === 2" type="info">{{
|
||||||
$fd("ReadingCategory", scope.row.ReadingCategory)
|
$fd('ReadingCategory', scope.row.ReadingCategory)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag v-if="scope.row.ReadingCategory === 4" type="danger">{{
|
<el-tag v-if="scope.row.ReadingCategory === 4" type="danger">{{
|
||||||
$fd("ReadingCategory", scope.row.ReadingCategory)
|
$fd('ReadingCategory', scope.row.ReadingCategory)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag v-if="scope.row.ReadingCategory === 5" type="warning">{{
|
<el-tag v-if="scope.row.ReadingCategory === 5" type="warning">{{
|
||||||
$fd("ReadingCategory", scope.row.ReadingCategory)
|
$fd('ReadingCategory', scope.row.ReadingCategory)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -419,24 +419,24 @@
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag v-if="scope.row.ArmEnum === 1" type="primary">{{
|
<el-tag v-if="scope.row.ArmEnum === 1" type="primary">{{
|
||||||
$fd("ArmEnum", scope.row.ArmEnum)
|
$fd('ArmEnum', scope.row.ArmEnum)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag v-if="scope.row.ArmEnum === 2" type="success">{{
|
<el-tag v-if="scope.row.ArmEnum === 2" type="success">{{
|
||||||
$fd("ArmEnum", scope.row.ArmEnum)
|
$fd('ArmEnum', scope.row.ArmEnum)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag v-if="scope.row.ArmEnum === 3" type="info">{{
|
<el-tag v-if="scope.row.ArmEnum === 3" type="info">{{
|
||||||
$fd("ArmEnum", scope.row.ArmEnum)
|
$fd('ArmEnum', scope.row.ArmEnum)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag v-if="scope.row.ArmEnum === 4" type="danger">{{
|
<el-tag v-if="scope.row.ArmEnum === 4" type="danger">{{
|
||||||
$fd("ArmEnum", scope.row.ArmEnum)
|
$fd('ArmEnum', scope.row.ArmEnum)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag v-if="scope.row.ArmEnum === 5" type="warning">{{
|
<el-tag v-if="scope.row.ArmEnum === 5" type="warning">{{
|
||||||
$fd("ArmEnum", scope.row.ArmEnum)
|
$fd('ArmEnum', scope.row.ArmEnum)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag
|
<el-tag
|
||||||
v-if="scope.row.ArmEnum === 8"
|
v-if="scope.row.ArmEnum === 8"
|
||||||
style="border-color: #4c2791; color: #4c2791"
|
style="border-color: #4c2791; color: #4c2791"
|
||||||
>{{ $fd("ArmEnum", scope.row.ArmEnum) }}</el-tag
|
>{{ $fd('ArmEnum', scope.row.ArmEnum) }}</el-tag
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -458,10 +458,10 @@
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag v-if="scope.row.IsSelfAnalysis" type="primary">{{
|
<el-tag v-if="scope.row.IsSelfAnalysis" type="primary">{{
|
||||||
$fd("IsSelfAnalysis", scope.row.IsSelfAnalysis)
|
$fd('IsSelfAnalysis', scope.row.IsSelfAnalysis)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag v-else type="warning">{{
|
<el-tag v-else type="warning">{{
|
||||||
$fd("IsSelfAnalysis", scope.row.IsSelfAnalysis)
|
$fd('IsSelfAnalysis', scope.row.IsSelfAnalysis)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -475,10 +475,10 @@
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag v-if="scope.row.ReadingTaskState === 2" type="primary">{{
|
<el-tag v-if="scope.row.ReadingTaskState === 2" type="primary">{{
|
||||||
$fd("ReadingTaskState", scope.row.ReadingTaskState)
|
$fd('ReadingTaskState', scope.row.ReadingTaskState)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag v-else type="danger">{{
|
<el-tag v-else type="danger">{{
|
||||||
$fd("ReadingTaskState", scope.row.ReadingTaskState)
|
$fd('ReadingTaskState', scope.row.ReadingTaskState)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -519,19 +519,19 @@
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag v-if="scope.row.TaskState === 0" type="primary">{{
|
<el-tag v-if="scope.row.TaskState === 0" type="primary">{{
|
||||||
$fd("TaskState", scope.row.TaskState)
|
$fd('TaskState', scope.row.TaskState)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag v-if="scope.row.TaskState === 1" type="info">{{
|
<el-tag v-if="scope.row.TaskState === 1" type="info">{{
|
||||||
$fd("TaskState", scope.row.TaskState)
|
$fd('TaskState', scope.row.TaskState)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag v-if="scope.row.TaskState === 3" type="danger">{{
|
<el-tag v-if="scope.row.TaskState === 3" type="danger">{{
|
||||||
$fd("TaskState", scope.row.TaskState)
|
$fd('TaskState', scope.row.TaskState)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag v-if="scope.row.TaskState === 4" type="warning">{{
|
<el-tag v-if="scope.row.TaskState === 4" type="warning">{{
|
||||||
$fd("TaskState", scope.row.TaskState)
|
$fd('TaskState', scope.row.TaskState)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag v-if="scope.row.TaskState === 5" type="danger">{{
|
<el-tag v-if="scope.row.TaskState === 5" type="danger">{{
|
||||||
$fd("TaskState", scope.row.TaskState)
|
$fd('TaskState', scope.row.TaskState)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -648,11 +648,11 @@
|
||||||
<!-- √:已设置访视基准日期;末:末次访视;失:失访;PD:PD进展;入:入组确认 -->
|
<!-- √:已设置访视基准日期;末:末次访视;失:失访;PD:PD进展;入:入组确认 -->
|
||||||
<span class="status-primary-circle">
|
<span class="status-primary-circle">
|
||||||
<!-- 影 -->
|
<!-- 影 -->
|
||||||
{{ $t("trials:consistencyAnalysis:table:impact") }}
|
{{ $t('trials:consistencyAnalysis:table:impact') }}
|
||||||
</span>
|
</span>
|
||||||
<!-- 受到退回影响 -->
|
<!-- 受到退回影响 -->
|
||||||
<span
|
<span
|
||||||
>: {{ $t("trials:consistencyAnalysis:title:impactInfluence") }}</span
|
>: {{ $t('trials:consistencyAnalysis:title:impactInfluence') }}</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<!-- 自身一致性分析 -->
|
<!-- 自身一致性分析 -->
|
||||||
|
@ -684,7 +684,7 @@
|
||||||
:loading="btnLoading"
|
:loading="btnLoading"
|
||||||
@click="addReaderRulesForm()"
|
@click="addReaderRulesForm()"
|
||||||
>
|
>
|
||||||
{{ $t("trials:selftConsistencyAnalysis:button:config") }}
|
{{ $t('trials:selftConsistencyAnalysis:button:config') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<div
|
<div
|
||||||
class="base-dialog-body"
|
class="base-dialog-body"
|
||||||
|
@ -745,11 +745,11 @@
|
||||||
v-if="scope.row.IsHaveReadingPeriod"
|
v-if="scope.row.IsHaveReadingPeriod"
|
||||||
size="success"
|
size="success"
|
||||||
>{{
|
>{{
|
||||||
$fd("YesOrNo", scope.row.IsHaveReadingPeriod)
|
$fd('YesOrNo', scope.row.IsHaveReadingPeriod)
|
||||||
}}</el-tag
|
}}</el-tag
|
||||||
>
|
>
|
||||||
<el-tag v-else size="danger">{{
|
<el-tag v-else size="danger">{{
|
||||||
$fd("YesOrNo", scope.row.IsHaveReadingPeriod)
|
$fd('YesOrNo', scope.row.IsHaveReadingPeriod)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -769,11 +769,11 @@
|
||||||
v-if="scope.row.IsGenerateGlobalTask"
|
v-if="scope.row.IsGenerateGlobalTask"
|
||||||
size="success"
|
size="success"
|
||||||
>{{
|
>{{
|
||||||
$fd("YesOrNo", scope.row.IsGenerateGlobalTask)
|
$fd('YesOrNo', scope.row.IsGenerateGlobalTask)
|
||||||
}}</el-tag
|
}}</el-tag
|
||||||
>
|
>
|
||||||
<el-tag v-else size="danger">{{
|
<el-tag v-else size="danger">{{
|
||||||
$fd("YesOrNo", scope.row.IsGenerateGlobalTask)
|
$fd('YesOrNo', scope.row.IsGenerateGlobalTask)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -864,7 +864,7 @@
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="ReaderRulesVisible = false"
|
@click="ReaderRulesVisible = false"
|
||||||
>
|
>
|
||||||
{{ $t("common:button:cancel") }}
|
{{ $t('common:button:cancel') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 保存 -->
|
<!-- 保存 -->
|
||||||
</div>
|
</div>
|
||||||
|
@ -894,13 +894,13 @@
|
||||||
@click="addReaderRulesForm('g')"
|
@click="addReaderRulesForm('g')"
|
||||||
>
|
>
|
||||||
<!-- 配置组间一致性分析规则 -->
|
<!-- 配置组间一致性分析规则 -->
|
||||||
{{ $t("trials:grouptConsistencyAnalysis:button:config") }}
|
{{ $t('trials:grouptConsistencyAnalysis:button:config') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<GroupConsistentRuleSubjectTable
|
<GroupConsistentRuleSubjectTable
|
||||||
@setReaderRulesFormVisible="
|
@setReaderRulesFormVisible="
|
||||||
(v) => {
|
(v) => {
|
||||||
ReaderRulesFormVisible = v;
|
ReaderRulesFormVisible = v
|
||||||
isDisable = false;
|
isDisable = false
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
v-if="TrialReadingCriterionId === item.TrialReadingCriterionId"
|
v-if="TrialReadingCriterionId === item.TrialReadingCriterionId"
|
||||||
|
@ -912,8 +912,8 @@
|
||||||
:other-info="RuleOtherInfo"
|
:other-info="RuleOtherInfo"
|
||||||
@close="
|
@close="
|
||||||
() => {
|
() => {
|
||||||
ReaderRulesVisible2 = false;
|
ReaderRulesVisible2 = false
|
||||||
rowData = {};
|
rowData = {}
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
@getList="getList()"
|
@getList="getList()"
|
||||||
|
@ -940,8 +940,8 @@
|
||||||
:is-self-analysis="IsSelfAnalysis"
|
:is-self-analysis="IsSelfAnalysis"
|
||||||
@close="
|
@close="
|
||||||
() => {
|
() => {
|
||||||
ReaderRulesFormVisible = false;
|
ReaderRulesFormVisible = false
|
||||||
rowData = {};
|
rowData = {}
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
@getList="openTaskConsistentRule(IsSelfAnalysis)"
|
@getList="openTaskConsistentRule(IsSelfAnalysis)"
|
||||||
|
@ -964,8 +964,8 @@
|
||||||
:other-info="RuleOtherInfo"
|
:other-info="RuleOtherInfo"
|
||||||
@close="
|
@close="
|
||||||
() => {
|
() => {
|
||||||
DoctorConsistentRuleSubjectTableVisible = false;
|
DoctorConsistentRuleSubjectTableVisible = false
|
||||||
rowData = {};
|
rowData = {}
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
@getList="openTaskConsistentRule(IsSelfAnalysis)"
|
@getList="openTaskConsistentRule(IsSelfAnalysis)"
|
||||||
|
@ -1024,11 +1024,11 @@
|
||||||
<el-radio-group v-model="ApplyforReasonForm.Type">
|
<el-radio-group v-model="ApplyforReasonForm.Type">
|
||||||
<!-- 图像重传 -->
|
<!-- 图像重传 -->
|
||||||
<el-radio :label="1">{{
|
<el-radio :label="1">{{
|
||||||
$t("trials:consistencyAnalysis:applyReread:imageReload")
|
$t('trials:consistencyAnalysis:applyReread:imageReload')
|
||||||
}}</el-radio>
|
}}</el-radio>
|
||||||
<!-- 其他 -->
|
<!-- 其他 -->
|
||||||
<el-radio :label="2">{{
|
<el-radio :label="2">{{
|
||||||
$t("trials:consistencyAnalysis:applyReread:other")
|
$t('trials:consistencyAnalysis:applyReread:other')
|
||||||
}}</el-radio>
|
}}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -1056,11 +1056,11 @@
|
||||||
size="small"
|
size="small"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="
|
@click="
|
||||||
ApplyforReasonVisible = false;
|
ApplyforReasonVisible = false
|
||||||
ApplyforReasonForm = { Type: null, RequestReReadingReason: null };
|
ApplyforReasonForm = { Type: null, RequestReReadingReason: null }
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
{{ $t("common:button:cancel") }}
|
{{ $t('common:button:cancel') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 保存 -->
|
<!-- 保存 -->
|
||||||
<el-button
|
<el-button
|
||||||
|
@ -1069,7 +1069,7 @@
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="applyReReading"
|
@click="applyReReading"
|
||||||
>
|
>
|
||||||
{{ $t("common:button:save") }}
|
{{ $t('common:button:save') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
@ -1116,27 +1116,28 @@ import {
|
||||||
getDoctorUserSelectList,
|
getDoctorUserSelectList,
|
||||||
getAnalysisTaskList,
|
getAnalysisTaskList,
|
||||||
applyReReading,
|
applyReReading,
|
||||||
} from "@/api/trials/reading";
|
} from '@/api/trials/reading'
|
||||||
import { setTaskValid } from "@/api/trials";
|
import { setTaskValid } from '@/api/trials'
|
||||||
import ClinicalData from "@/views/trials/trials-panel/subject/reading-period/components/ClinicalData";
|
import ClinicalData from '@/views/trials/trials-panel/subject/reading-period/components/ClinicalData'
|
||||||
import {
|
import {
|
||||||
getSelfAnalysisTaskList_Export,
|
getSelfAnalysisTaskList_Export,
|
||||||
getGroupAnalysisTaskList_Export,
|
getGroupAnalysisTaskList_Export,
|
||||||
} from "@/api/export";
|
GetAnalysisTaskList_Export,
|
||||||
import ReaderRulesForm from "./components/ReaderRulesForm";
|
} from '@/api/export'
|
||||||
import DoctorConsistentRuleSubjectTable from "./components/DoctorConsistentRuleSubjectTable";
|
import ReaderRulesForm from './components/ReaderRulesForm'
|
||||||
import GroupConsistentRuleSubjectTable from "./components/GroupConsistentRuleSubjectTable";
|
import DoctorConsistentRuleSubjectTable from './components/DoctorConsistentRuleSubjectTable'
|
||||||
import VirtualCenter from "./components/VirtualCenter";
|
import GroupConsistentRuleSubjectTable from './components/GroupConsistentRuleSubjectTable'
|
||||||
import BaseContainer from "@/components/BaseContainer";
|
import VirtualCenter from './components/VirtualCenter'
|
||||||
import Pagination from "@/components/Pagination";
|
import BaseContainer from '@/components/BaseContainer'
|
||||||
import { getToken } from "@/utils/auth";
|
import Pagination from '@/components/Pagination'
|
||||||
import exportList from "./components/exportList.vue";
|
import { getToken } from '@/utils/auth'
|
||||||
|
import exportList from './components/exportList.vue'
|
||||||
const searchDataDefault = () => {
|
const searchDataDefault = () => {
|
||||||
return {
|
return {
|
||||||
PageIndex: 1,
|
PageIndex: 1,
|
||||||
PageSize: 20,
|
PageSize: 20,
|
||||||
Asc: true,
|
Asc: true,
|
||||||
SortField: "",
|
SortField: '',
|
||||||
TrialId: null,
|
TrialId: null,
|
||||||
TrialSiteId: null,
|
TrialSiteId: null,
|
||||||
SubjectId: null,
|
SubjectId: null,
|
||||||
|
@ -1153,10 +1154,10 @@ const searchDataDefault = () => {
|
||||||
TrialReadingCriterionId: null,
|
TrialReadingCriterionId: null,
|
||||||
BeginSignTime: null,
|
BeginSignTime: null,
|
||||||
EndSignTime: null,
|
EndSignTime: null,
|
||||||
};
|
}
|
||||||
};
|
}
|
||||||
export default {
|
export default {
|
||||||
name: "TrialsNotice",
|
name: 'TrialsNotice',
|
||||||
components: {
|
components: {
|
||||||
exportList,
|
exportList,
|
||||||
BaseContainer,
|
BaseContainer,
|
||||||
|
@ -1205,15 +1206,15 @@ export default {
|
||||||
Type: [
|
Type: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: this.$t("common:ruleMessage:specify"),
|
message: this.$t('common:ruleMessage:specify'),
|
||||||
trigger: "blur",
|
trigger: 'blur',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
RequestReReadingReason: [
|
RequestReReadingReason: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: this.$t("common:ruleMessage:specify"),
|
message: this.$t('common:ruleMessage:specify'),
|
||||||
trigger: "blur",
|
trigger: 'blur',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -1224,17 +1225,17 @@ export default {
|
||||||
exportVisible: false,
|
exportVisible: false,
|
||||||
|
|
||||||
clinicalDataVisible: false,
|
clinicalDataVisible: false,
|
||||||
};
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getList();
|
this.getList()
|
||||||
this.getSite();
|
this.getSite()
|
||||||
this.getDoctorUserSelectList();
|
this.getDoctorUserSelectList()
|
||||||
this.getTrialCriterionList();
|
this.getTrialCriterionList()
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
if (this.openWindow) {
|
if (this.openWindow) {
|
||||||
this.openWindow.close();
|
this.openWindow.close()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -1242,35 +1243,35 @@ export default {
|
||||||
async handleSetState(row) {
|
async handleSetState(row) {
|
||||||
try {
|
try {
|
||||||
let confirm = await this.$confirm(
|
let confirm = await this.$confirm(
|
||||||
this.$t("trials:reading:consistencyAnalysis:message:setState"),
|
this.$t('trials:reading:consistencyAnalysis:message:setState'),
|
||||||
{
|
{
|
||||||
type: "warning",
|
type: 'warning',
|
||||||
distinguishCancelAndClose: true,
|
distinguishCancelAndClose: true,
|
||||||
}
|
}
|
||||||
);
|
)
|
||||||
if (!confirm) return;
|
if (!confirm) return
|
||||||
let data = {
|
let data = {
|
||||||
visitTaskId: row.Id,
|
visitTaskId: row.Id,
|
||||||
};
|
}
|
||||||
let res = await setTaskValid(data);
|
let res = await setTaskValid(data)
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.$message.success(
|
this.$message.success(
|
||||||
this.$t("trials:reading:consistencyAnalysis:setStateSuccess")
|
this.$t('trials:reading:consistencyAnalysis:setStateSuccess')
|
||||||
);
|
)
|
||||||
this.getList();
|
this.getList()
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 临床数据相关
|
// 临床数据相关
|
||||||
handleView(row) {
|
handleView(row) {
|
||||||
this.currentData = row;
|
this.currentData = row
|
||||||
this.currentData.TrialId = this.$route.query.trialId;
|
this.currentData.TrialId = this.$route.query.trialId
|
||||||
this.clinicalDataVisible = true;
|
this.clinicalDataVisible = true
|
||||||
},
|
},
|
||||||
openSite() {
|
openSite() {
|
||||||
this.isOpenSite = true;
|
this.isOpenSite = true
|
||||||
},
|
},
|
||||||
handleExport(type, TrialReadingCriterionId) {
|
handleExport(type, TrialReadingCriterionId) {
|
||||||
// if (!this.searchData.TrialReadingCriterionId) {
|
// if (!this.searchData.TrialReadingCriterionId) {
|
||||||
|
@ -1279,89 +1280,91 @@ export default {
|
||||||
// }
|
// }
|
||||||
if (!TrialReadingCriterionId) {
|
if (!TrialReadingCriterionId) {
|
||||||
this.$alert(
|
this.$alert(
|
||||||
this.$t("trials:consistencyAnalysis:message:selectCriterion")
|
this.$t('trials:consistencyAnalysis:message:selectCriterion')
|
||||||
); //'请先选择阅片标准'
|
) //'请先选择阅片标准'
|
||||||
return;
|
return
|
||||||
}
|
}
|
||||||
let obj = JSON.parse(JSON.stringify(this.searchData));
|
let obj = JSON.parse(JSON.stringify(this.searchData))
|
||||||
obj.TrialReadingCriterionId = TrialReadingCriterionId;
|
obj.TrialReadingCriterionId = TrialReadingCriterionId
|
||||||
|
obj.ReadingExportType = type
|
||||||
|
return GetAnalysisTaskList_Export(obj)
|
||||||
if (type === 1) {
|
if (type === 1) {
|
||||||
getSelfAnalysisTaskList_Export(obj)
|
getSelfAnalysisTaskList_Export(obj)
|
||||||
.then((res) => {})
|
.then((res) => {})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
});
|
})
|
||||||
} else {
|
} else {
|
||||||
getGroupAnalysisTaskList_Export(obj)
|
getGroupAnalysisTaskList_Export(obj)
|
||||||
.then((res) => {})
|
.then((res) => {})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getTrialCriterionList() {
|
getTrialCriterionList() {
|
||||||
this.loading = true;
|
this.loading = true
|
||||||
getTrialCriterionList(this.trialId)
|
getTrialCriterionList(this.trialId)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.trialCriterionList = res.Result;
|
this.trialCriterionList = res.Result
|
||||||
this.TrialReadingCriterionId =
|
this.TrialReadingCriterionId =
|
||||||
this.trialCriterionList[0].TrialReadingCriterionId;
|
this.trialCriterionList[0].TrialReadingCriterionId
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
});
|
})
|
||||||
},
|
},
|
||||||
setAnalysisTaskInvalid(row) {
|
setAnalysisTaskInvalid(row) {
|
||||||
// '确定要将该一致性任务设置成失效吗?'
|
// '确定要将该一致性任务设置成失效吗?'
|
||||||
this.$confirm(
|
this.$confirm(
|
||||||
this.$t("trials:consistencyAnalysis:applyReread:msg1")
|
this.$t('trials:consistencyAnalysis:applyReread:msg1')
|
||||||
).then(() => {
|
).then(() => {
|
||||||
this.loading = true;
|
this.loading = true
|
||||||
setAnalysisTaskInvalid([row.Id])
|
setAnalysisTaskInvalid([row.Id])
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
// 设置成功
|
// 设置成功
|
||||||
this.$message.success(
|
this.$message.success(
|
||||||
this.$t("trials:consistencyAnalysis:applyReread:msg2")
|
this.$t('trials:consistencyAnalysis:applyReread:msg2')
|
||||||
);
|
)
|
||||||
this.getList();
|
this.getList()
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
});
|
})
|
||||||
});
|
})
|
||||||
},
|
},
|
||||||
changeTimeList() {
|
changeTimeList() {
|
||||||
if (this.timeList) {
|
if (this.timeList) {
|
||||||
this.searchData.BeginAllocateDate = this.timeList[0];
|
this.searchData.BeginAllocateDate = this.timeList[0]
|
||||||
this.searchData.EndAllocateDate = this.timeList[1];
|
this.searchData.EndAllocateDate = this.timeList[1]
|
||||||
} else {
|
} else {
|
||||||
this.searchData.BeginAllocateDate = null;
|
this.searchData.BeginAllocateDate = null
|
||||||
this.searchData.EndAllocateDate = null;
|
this.searchData.EndAllocateDate = null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
changeTimeList2() {
|
changeTimeList2() {
|
||||||
if (this.timeList2) {
|
if (this.timeList2) {
|
||||||
this.searchData.BeginSignTime = this.timeList2[0];
|
this.searchData.BeginSignTime = this.timeList2[0]
|
||||||
this.searchData.EndSignTime = this.timeList2[1];
|
this.searchData.EndSignTime = this.timeList2[1]
|
||||||
} else {
|
} else {
|
||||||
this.searchData.BeginSignTime = null;
|
this.searchData.BeginSignTime = null
|
||||||
this.searchData.EndSignTime = null;
|
this.searchData.EndSignTime = null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 重阅历史
|
// 重阅历史
|
||||||
reReadingHistory(row) {
|
reReadingHistory(row) {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: `/trials/trials-panel/reading/reReadingTracking?trialId=${this.$route.query.trialId}&trialCode=${this.$route.query.trialCode}&researchProgramNo=${this.$route.query.researchProgramNo}&TrialSiteId=${row.TrialSiteId}&SubjectCode=${row.SubjectCode}&TaskName=${row.TaskName}&DoctorUserId=${row.DoctorUserId}`,
|
path: `/trials/trials-panel/reading/reReadingTracking?trialId=${this.$route.query.trialId}&trialCode=${this.$route.query.trialCode}&researchProgramNo=${this.$route.query.researchProgramNo}&TrialSiteId=${row.TrialSiteId}&SubjectCode=${row.SubjectCode}&TaskName=${row.TaskName}&DoctorUserId=${row.DoctorUserId}`,
|
||||||
});
|
})
|
||||||
},
|
},
|
||||||
// 申请重阅
|
// 申请重阅
|
||||||
applyReReading() {
|
applyReReading() {
|
||||||
this.$refs.reasonForm.validate((valid) => {
|
this.$refs.reasonForm.validate((valid) => {
|
||||||
if (!valid) return;
|
if (!valid) return
|
||||||
this.loading = true;
|
this.loading = true
|
||||||
this.btnLoading = true;
|
this.btnLoading = true
|
||||||
var params = {
|
var params = {
|
||||||
TaskIdList: [this.rowData.Id],
|
TaskIdList: [this.rowData.Id],
|
||||||
TrialId: this.$route.query.trialId,
|
TrialId: this.$route.query.trialId,
|
||||||
|
@ -1369,28 +1372,28 @@ export default {
|
||||||
RequestReReadingReason:
|
RequestReReadingReason:
|
||||||
this.ApplyforReasonForm.Type === 2
|
this.ApplyforReasonForm.Type === 2
|
||||||
? this.ApplyforReasonForm.RequestReReadingReason
|
? this.ApplyforReasonForm.RequestReReadingReason
|
||||||
: this.$t("trials:consistencyAnalysis:applyReread:imageReload"), //'图像重传'
|
: this.$t('trials:consistencyAnalysis:applyReread:imageReload'), //'图像重传'
|
||||||
};
|
}
|
||||||
applyReReading(params)
|
applyReReading(params)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
this.btnLoading = false;
|
this.btnLoading = false
|
||||||
// 申请重阅成功
|
// 申请重阅成功
|
||||||
this.$message.success(
|
this.$message.success(
|
||||||
this.$t("trials:consistencyAnalysis:applyReread:msg3")
|
this.$t('trials:consistencyAnalysis:applyReread:msg3')
|
||||||
);
|
)
|
||||||
this.getList();
|
this.getList()
|
||||||
this.ApplyforReasonVisible = false;
|
this.ApplyforReasonVisible = false
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
this.btnLoading = false;
|
this.btnLoading = false
|
||||||
});
|
})
|
||||||
});
|
})
|
||||||
},
|
},
|
||||||
lookReadingResults(row) {
|
lookReadingResults(row) {
|
||||||
if (this.openWindow) {
|
if (this.openWindow) {
|
||||||
this.openWindow.close();
|
this.openWindow.close()
|
||||||
}
|
}
|
||||||
// var token = getToken()
|
// var token = getToken()
|
||||||
// const routeData = this.$router.resolve({
|
// const routeData = this.$router.resolve({
|
||||||
|
@ -1398,38 +1401,38 @@ export default {
|
||||||
// })
|
// })
|
||||||
// window.open(routeData.href, '_blank')
|
// window.open(routeData.href, '_blank')
|
||||||
window.localStorage.setItem(
|
window.localStorage.setItem(
|
||||||
"TrialReadingCriterionId",
|
'TrialReadingCriterionId',
|
||||||
this.TrialReadingCriterionId
|
this.TrialReadingCriterionId
|
||||||
);
|
)
|
||||||
var token = getToken();
|
var token = getToken()
|
||||||
var path = "";
|
var path = ''
|
||||||
if (row.ReadingTool === 0) {
|
if (row.ReadingTool === 0) {
|
||||||
path = `/readingDicoms?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${row.TrialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`;
|
path = `/readingDicoms?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${row.TrialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`
|
||||||
} else {
|
} else {
|
||||||
path = `/noneDicomReading?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${row.TrialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`;
|
path = `/noneDicomReading?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${row.TrialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`
|
||||||
}
|
}
|
||||||
var routeData = this.$router.resolve({ path });
|
var routeData = this.$router.resolve({ path })
|
||||||
this.openWindow = window.open(routeData.href, "_blank");
|
this.openWindow = window.open(routeData.href, '_blank')
|
||||||
},
|
},
|
||||||
openApplyReReading(row) {
|
openApplyReReading(row) {
|
||||||
this.rowData = { ...row };
|
this.rowData = { ...row }
|
||||||
this.ApplyforReasonVisible = true;
|
this.ApplyforReasonVisible = true
|
||||||
this.ApplyforReasonForm = {
|
this.ApplyforReasonForm = {
|
||||||
Type: null,
|
Type: null,
|
||||||
Remake: null,
|
Remake: null,
|
||||||
};
|
}
|
||||||
},
|
},
|
||||||
editReaderRulesForm(row) {
|
editReaderRulesForm(row) {
|
||||||
this.rowData = { ...row };
|
this.rowData = { ...row }
|
||||||
this.ReaderRulesFormVisible = true;
|
this.ReaderRulesFormVisible = true
|
||||||
},
|
},
|
||||||
openDoctorConsistentRuleSubjectTable(row, IsAutoAllocateGenerateTask) {
|
openDoctorConsistentRuleSubjectTable(row, IsAutoAllocateGenerateTask) {
|
||||||
this.rowData = { ...row };
|
this.rowData = { ...row }
|
||||||
this.DoctorConsistentRuleSubjectTableVisible = true;
|
this.DoctorConsistentRuleSubjectTableVisible = true
|
||||||
this.rowData.IsAutoAllocateGenerateTask = IsAutoAllocateGenerateTask;
|
this.rowData.IsAutoAllocateGenerateTask = IsAutoAllocateGenerateTask
|
||||||
},
|
},
|
||||||
addReaderRulesForm(isg) {
|
addReaderRulesForm(isg) {
|
||||||
this.isDisable = false;
|
this.isDisable = false
|
||||||
if (isg) {
|
if (isg) {
|
||||||
if (
|
if (
|
||||||
this.$refs[
|
this.$refs[
|
||||||
|
@ -1440,115 +1443,115 @@ export default {
|
||||||
`GroupConsistentRuleSubjectTable${this.TrialReadingCriterionId}`
|
`GroupConsistentRuleSubjectTable${this.TrialReadingCriterionId}`
|
||||||
][0].list.forEach((v) => {
|
][0].list.forEach((v) => {
|
||||||
if (v.IsHaveGeneratedTask) {
|
if (v.IsHaveGeneratedTask) {
|
||||||
this.isDisable = true;
|
this.isDisable = true
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (this.TaskConsistentRuleList.length > 0) {
|
if (this.TaskConsistentRuleList.length > 0) {
|
||||||
this.rowData = { ...this.TaskConsistentRuleList[0] };
|
this.rowData = { ...this.TaskConsistentRuleList[0] }
|
||||||
this.TaskConsistentRuleList.forEach((v) => {
|
this.TaskConsistentRuleList.forEach((v) => {
|
||||||
if (v.GeneratedSubjectCount) {
|
if (v.GeneratedSubjectCount) {
|
||||||
this.isDisable = true;
|
this.isDisable = true
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
} else {
|
} else {
|
||||||
this.rowData = {};
|
this.rowData = {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.ReaderRulesFormVisible = true;
|
this.ReaderRulesFormVisible = true
|
||||||
},
|
},
|
||||||
clickTab(tab, event) {
|
clickTab(tab, event) {
|
||||||
this.loading = true;
|
this.loading = true
|
||||||
this.title = `${this.$t(
|
this.title = `${this.$t(
|
||||||
"trials:selftConsistencyAnalysis:button:config"
|
'trials:selftConsistencyAnalysis:button:config'
|
||||||
)}(${
|
)}(${
|
||||||
this.trialCriterionList.find(
|
this.trialCriterionList.find(
|
||||||
(v) => v.TrialReadingCriterionId === this.TrialReadingCriterionId
|
(v) => v.TrialReadingCriterionId === this.TrialReadingCriterionId
|
||||||
).TrialReadingCriterionName
|
).TrialReadingCriterionName
|
||||||
})`;
|
})`
|
||||||
getSelfConsistentDoctorStatList({
|
getSelfConsistentDoctorStatList({
|
||||||
TrialId: this.trialId,
|
TrialId: this.trialId,
|
||||||
TrialReadingCriterionId: tab.name,
|
TrialReadingCriterionId: tab.name,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.OtherInfo) {
|
if (res.OtherInfo) {
|
||||||
this.ReaderRulesFormVisible = false;
|
this.ReaderRulesFormVisible = false
|
||||||
this.RuleOtherInfo = res.OtherInfo;
|
this.RuleOtherInfo = res.OtherInfo
|
||||||
} else {
|
} else {
|
||||||
this.ReaderRulesFormVisible = true;
|
this.ReaderRulesFormVisible = true
|
||||||
}
|
}
|
||||||
// this.ReaderRulesFormVisible = false
|
// this.ReaderRulesFormVisible = false
|
||||||
// this.DoctorConsistentRuleSubjectTableVisible = false
|
// this.DoctorConsistentRuleSubjectTableVisible = false
|
||||||
this.TaskConsistentRuleList = res.Result;
|
this.TaskConsistentRuleList = res.Result
|
||||||
// this.IsSelfAnalysis = true
|
// this.IsSelfAnalysis = true
|
||||||
// this.ReaderRulesVisible = true
|
// this.ReaderRulesVisible = true
|
||||||
// this.getList()
|
// this.getList()
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
});
|
})
|
||||||
},
|
},
|
||||||
openExport() {
|
openExport() {
|
||||||
if (this.trialCriterionList.length === 0) {
|
if (this.trialCriterionList.length === 0) {
|
||||||
this.$alert(
|
this.$alert(
|
||||||
this.$t(
|
this.$t(
|
||||||
"trials:trials-panel:consistency-analysis:trialCriterionListLength"
|
'trials:trials-panel:consistency-analysis:trialCriterionListLength'
|
||||||
)
|
)
|
||||||
);
|
)
|
||||||
return;
|
return
|
||||||
}
|
}
|
||||||
this.exportVisible = true;
|
this.exportVisible = true
|
||||||
},
|
},
|
||||||
openTaskConsistentRule(IsSelfAnalysis) {
|
openTaskConsistentRule(IsSelfAnalysis) {
|
||||||
if (this.trialCriterionList.length === 0) {
|
if (this.trialCriterionList.length === 0) {
|
||||||
this.$alert(
|
this.$alert(
|
||||||
this.$t(
|
this.$t(
|
||||||
"trials:trials-panel:consistency-analysis:trialCriterionListLength"
|
'trials:trials-panel:consistency-analysis:trialCriterionListLength'
|
||||||
)
|
)
|
||||||
);
|
)
|
||||||
return;
|
return
|
||||||
}
|
}
|
||||||
this.loading = true;
|
this.loading = true
|
||||||
if (IsSelfAnalysis) {
|
if (IsSelfAnalysis) {
|
||||||
// '配置自身一致性分析规则'
|
// '配置自身一致性分析规则'
|
||||||
this.title = `${this.$t(
|
this.title = `${this.$t(
|
||||||
"trials:selftConsistencyAnalysis:button:config"
|
'trials:selftConsistencyAnalysis:button:config'
|
||||||
)}(${
|
)}(${
|
||||||
this.trialCriterionList.find(
|
this.trialCriterionList.find(
|
||||||
(v) => v.TrialReadingCriterionId === this.TrialReadingCriterionId
|
(v) => v.TrialReadingCriterionId === this.TrialReadingCriterionId
|
||||||
).TrialReadingCriterionName
|
).TrialReadingCriterionName
|
||||||
})`;
|
})`
|
||||||
getSelfConsistentDoctorStatList({
|
getSelfConsistentDoctorStatList({
|
||||||
TrialId: this.trialId,
|
TrialId: this.trialId,
|
||||||
TrialReadingCriterionId: this.TrialReadingCriterionId,
|
TrialReadingCriterionId: this.TrialReadingCriterionId,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.OtherInfo) {
|
if (res.OtherInfo) {
|
||||||
this.ReaderRulesFormVisible = false;
|
this.ReaderRulesFormVisible = false
|
||||||
this.RuleOtherInfo = res.OtherInfo;
|
this.RuleOtherInfo = res.OtherInfo
|
||||||
} else {
|
} else {
|
||||||
this.ReaderRulesFormVisible = true;
|
this.ReaderRulesFormVisible = true
|
||||||
}
|
}
|
||||||
this.DoctorConsistentRuleSubjectTableVisible = false;
|
this.DoctorConsistentRuleSubjectTableVisible = false
|
||||||
this.TaskConsistentRuleList = res.Result;
|
this.TaskConsistentRuleList = res.Result
|
||||||
this.IsSelfAnalysis = IsSelfAnalysis;
|
this.IsSelfAnalysis = IsSelfAnalysis
|
||||||
this.ReaderRulesVisible = true;
|
this.ReaderRulesVisible = true
|
||||||
this.getList();
|
this.getList()
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
});
|
})
|
||||||
} else {
|
} else {
|
||||||
this.changeNum++;
|
this.changeNum++
|
||||||
this.ReaderRulesFormVisible = false;
|
this.ReaderRulesFormVisible = false
|
||||||
// '配置组间一致性分析规则'
|
// '配置组间一致性分析规则'
|
||||||
this.title = this.$t("trials:grouptConsistencyAnalysis:button:config");
|
this.title = this.$t('trials:grouptConsistencyAnalysis:button:config')
|
||||||
this.IsSelfAnalysis = IsSelfAnalysis;
|
this.IsSelfAnalysis = IsSelfAnalysis
|
||||||
this.ReaderRulesVisible2 = true;
|
this.ReaderRulesVisible2 = true
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
}
|
}
|
||||||
// getTaskConsistentRuleList({
|
// getTaskConsistentRuleList({
|
||||||
// IsSelfAnalysis: IsSelfAnalysis,
|
// IsSelfAnalysis: IsSelfAnalysis,
|
||||||
|
@ -1563,57 +1566,57 @@ export default {
|
||||||
},
|
},
|
||||||
getDoctorUserSelectList() {
|
getDoctorUserSelectList() {
|
||||||
getDoctorUserSelectList(this.$route.query.trialId).then((res) => {
|
getDoctorUserSelectList(this.$route.query.trialId).then((res) => {
|
||||||
this.DoctorUserList = res.Result;
|
this.DoctorUserList = res.Result
|
||||||
if (this.DoctorUserList.length > 0) {
|
if (this.DoctorUserList.length > 0) {
|
||||||
this.ReadingType = this.DoctorUserList[0].ReadingType;
|
this.ReadingType = this.DoctorUserList[0].ReadingType
|
||||||
} else {
|
} else {
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
},
|
},
|
||||||
getList() {
|
getList() {
|
||||||
this.searchData.TrialId = this.$route.query.trialId;
|
this.searchData.TrialId = this.$route.query.trialId
|
||||||
this.loading = true;
|
this.loading = true
|
||||||
getAnalysisTaskList(this.searchData)
|
getAnalysisTaskList(this.searchData)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
this.OtherInfo = res.OtherInfo;
|
this.OtherInfo = res.OtherInfo
|
||||||
this.list = res.Result.CurrentPageData;
|
this.list = res.Result.CurrentPageData
|
||||||
this.total = res.Result.TotalCount;
|
this.total = res.Result.TotalCount
|
||||||
this.ReaderRulesVisible2 = false;
|
this.ReaderRulesVisible2 = false
|
||||||
this.AssignMedicalReviewTaskVisible = false;
|
this.AssignMedicalReviewTaskVisible = false
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
});
|
})
|
||||||
},
|
},
|
||||||
handleSearch() {
|
handleSearch() {
|
||||||
this.searchData.PageIndex = 1;
|
this.searchData.PageIndex = 1
|
||||||
this.getList();
|
this.getList()
|
||||||
},
|
},
|
||||||
handleReset() {
|
handleReset() {
|
||||||
this.timeList = null;
|
this.timeList = null
|
||||||
this.timeList2 = null;
|
this.timeList2 = null
|
||||||
this.searchData = searchDataDefault();
|
this.searchData = searchDataDefault()
|
||||||
this.getList();
|
this.getList()
|
||||||
},
|
},
|
||||||
getSite() {
|
getSite() {
|
||||||
getTrialSiteCodeSelect(this.trialId).then((res) => {
|
getTrialSiteCodeSelect(this.trialId).then((res) => {
|
||||||
this.siteOptions = res.Result;
|
this.siteOptions = res.Result
|
||||||
});
|
})
|
||||||
},
|
},
|
||||||
// 排序
|
// 排序
|
||||||
handleSortChange(column) {
|
handleSortChange(column) {
|
||||||
if (column.order === "ascending") {
|
if (column.order === 'ascending') {
|
||||||
this.searchData.Asc = true;
|
this.searchData.Asc = true
|
||||||
} else {
|
} else {
|
||||||
this.searchData.Asc = false;
|
this.searchData.Asc = false
|
||||||
}
|
}
|
||||||
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>
|
||||||
.consistency-analysis-wrapper {
|
.consistency-analysis-wrapper {
|
||||||
|
|
Loading…
Reference in New Issue