Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing Details

main
caiyiling 2025-06-13 16:07:17 +08:00
commit 0d85f138a5
4 changed files with 54 additions and 7 deletions

View File

@ -480,3 +480,11 @@ export function resetReadingRestTime() {
method: 'post'
})
}
// 设置随机排序
export function setRandomTaskOrder(data) {
return request({
url: `/VisitTask/setRandomTaskOrder`,
method: 'post',
data
})
}

View File

@ -30,6 +30,7 @@
type="primary"
size="small"
@click="skipTask"
v-if="!isView"
>
<!-- 跳过 -->
{{ $t('trials:readingReport:button:skip') }}
@ -337,6 +338,11 @@ export default {
// }
// }
// },
computed:{
isView(){
return !this.hasPermi(['role:ir'])
}
},
mounted() {
this.getList()
if (this.isReadingShowPreviousResults) {

View File

@ -70,7 +70,8 @@
{{ $t('common:button:export') }}
</el-button>
<!-- 随机排序 -->
<el-button type="primary" @click="randomOrder">
<el-button type="primary" @click="randomOrder"
:disabled="!searchData.TrialReadingCriterionId || !searchData.DoctorUserId">
{{ $t('trials:readingTracking:button:order') }}
</el-button>
</el-form-item>
@ -187,7 +188,7 @@
sortable="custom" show-overflow-tooltip>
<template slot-scope="scope">
<el-input-number v-model="scope.row.RandomOrder"
@change="(value) => handleChange(scope.row, value)" :min="0"
@change="(value, old) => handleChange(scope.row, value, old)" :min="1"
style="width: 150px;"></el-input-number>
</template>
</el-table-column>
@ -204,6 +205,7 @@ import {
getTrialCriterionList,
getReadingTaskList,
getDoctorUserSelectList,
setRandomTaskOrder
} from '@/api/trials/reading'
import { getReadingTaskList_Export } from '@/api/export'
import BaseContainer from '@/components/BaseContainer'
@ -273,10 +275,28 @@ export default {
},
methods: {
//
async handleChange(row, value) {
async handleChange(row, value, old) {
try {
console.log(row, value)
if (!this.searchData.DoctorUserId || !this.searchData.TrialReadingCriterionId) return false
let data = {
TrialId: this.$route.query.trialId,
TrialReadingCriterionId: this.searchData.TrialReadingCriterionId,
DoctorUserId: this.searchData.DoctorUserId,
IsAutoSet: false,
SetList: [
{ Id: row.Id, RandomOrder: value }
]
}
this.loading = true;
let res = await setRandomTaskOrder(data)
this.loading = false
if (res.IsSuccess) {
this.getList()
} else {
row.RandomOrder = old
}
} catch (err) {
row.RandomOrder = old
console.log(err)
this.loading = false
}
@ -284,7 +304,20 @@ export default {
//
async randomOrder() {
try {
if (!this.searchData.DoctorUserId || !this.searchData.TrialReadingCriterionId) return false
let data = {
TrialId: this.$route.query.trialId,
TrialReadingCriterionId: this.searchData.TrialReadingCriterionId,
DoctorUserId: this.searchData.DoctorUserId,
IsAutoSet: true,
SetList: []
}
this.loading = true;
let res = await setRandomTaskOrder(data)
this.loading = false
if (res.IsSuccess) {
this.getList()
}
} catch (err) {
console.log(err)
this.loading = false
@ -325,6 +358,7 @@ export default {
},
getList() {
if (!this.searchData.DoctorUserId || !this.searchData.TrialReadingCriterionId) return false
this.searchData.TrialId = this.$route.query.trialId
this.loading = true
getReadingTaskList(this.searchData)

View File

@ -844,11 +844,10 @@ export default {
return
}
if (v.DataType === 'ImageList') {
// if (obj[v.Code] && obj[v.Code].length > 0) {
// if (obj[v.Code] && obj[v.Code].length > 0) {
if (obj[v.Code]) {
obj[v.Code] = obj[v.Code].filter(s => s && s.trim())
// obj[v.Code].forEach((o,i) => {
// var uo = upObj && upObj.length > 0 ? upObj[v.Code][i] : 0
if (row.OptType === 'Add' || row.OptType === 'Init') {