阅片跟踪影像退回添加退回原因
continuous-integration/drone/push Build is passing Details

uat
wangxiaoshuang 2025-05-22 15:30:14 +08:00
parent f045f68115
commit 37f12b30cc
2 changed files with 66 additions and 12 deletions

View File

@ -346,9 +346,9 @@ export function getReReadingOrBackInfluenceTaskList(taskId, isReReading, applyId
}) })
} }
export function PMSetTaskBack(trialId, taskId) { export function PMSetTaskBack(trialId, taskId, pmBackReason) {
return request({ return request({
url: `/VisitTask/PMSetTaskBack/${trialId}/${taskId}`, url: `/VisitTask/PMSetTaskBack/${trialId}/${taskId}/${pmBackReason}`,
method: 'put' method: 'put'
}) })
} }

View File

@ -601,10 +601,29 @@
</el-dialog> </el-dialog>
<!-- 退回影响任务列表/已影响任务列表 --> <!-- 退回影响任务列表/已影响任务列表 -->
<el-dialog v-if="ReReadingOrBackVisible" :title="opentype === 'read' <el-dialog v-if="ReReadingOrBackVisible" :title="opentype === 'read'
? $t('trials:reviewTrack:dialog:backImpactList') ? $t('trials:reviewTrack:action:back')
: $t('trials:reviewTrack:dialog:impactList') : $t('trials:reviewTrack:dialog:impactList')
" :visible.sync="ReReadingOrBackVisible" width="1460px" append-to-body :close-on-click-modal="false" " :visible.sync="ReReadingOrBackVisible" width="1460px" append-to-body :close-on-click-modal="false"
custom-class="base-dialog-wrapper"> custom-class="base-dialog-wrapper">
<el-form ref="backReasonForm" :rules="rules" :model="backforReasonForm" class="demo-ruleForm" size="small"
label-width="180px">
<!-- 申请原因 -->
<el-divider content-position="left">
{{ $t('trials:reviewTrack:applyReread:title:backReason') }}
</el-divider>
<!-- 申请原因 -->
<el-form-item :label="$t('trials:reviewTrack:applyReread:title:backReason')" prop="pmBackReason" :rules="[
{ required: true, message: $t('common:ruleMessage:specify') },
]">
<el-input v-model="backforReasonForm.pmBackReason" style="width: 400px" type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }" :placeholder="$t('common:ruleMessage:specify')" maxlength="500"
show-word-limit />
</el-form-item>
</el-form>
<!-- 影响的任务列表 -->
<el-divider content-position="left">{{
$t('trials:reviewTrack:dialog:backImpactList')
}}</el-divider>
<div class="base-dialog-body"> <div class="base-dialog-body">
<el-table v-loading="loading" :data="InfluenceTaskList" stripe height="100" style="min-height: 400px"> <el-table v-loading="loading" :data="InfluenceTaskList" stripe height="100" style="min-height: 400px">
<!-- 任务编号 --> <!-- 任务编号 -->
@ -733,7 +752,8 @@
</div> </div>
<div slot="footer" class="dialog-footer" v-if="opentype === 'read'"> <div slot="footer" class="dialog-footer" v-if="opentype === 'read'">
<!-- 取消 --> <!-- 取消 -->
<el-button :disabled="btnLoading" size="small" type="primary" @click="ReReadingOrBackVisible = false"> <el-button :disabled="btnLoading" size="small" type="primary"
@click="ReReadingOrBackVisible = false, backforReasonForm = { pmBackReason: null }">
{{ $t('common:button:cancel') }} {{ $t('common:button:cancel') }}
</el-button> </el-button>
<!-- 确定 --> <!-- 确定 -->
@ -928,6 +948,9 @@ export default {
Type: null, Type: null,
RequestReReadingReason: null, RequestReReadingReason: null,
}, },
backforReasonForm: {
pmBackReason: null
},
rules: { rules: {
Type: [ Type: [
{ {
@ -943,6 +966,13 @@ export default {
trigger: 'blur', trigger: 'blur',
}, },
], ],
pmBackReason: [
{
required: true,
message: this.$t('common:ruleMessage:specify'),
trigger: 'blur',
},
],
}, },
RefereeAllocationVisible: false, RefereeAllocationVisible: false,
trialId: this.$route.query.trialId, trialId: this.$route.query.trialId,
@ -1075,10 +1105,16 @@ export default {
this.loading = false this.loading = false
}) })
}, },
PMSetTaskBack() { async PMSetTaskBack() {
this.loading = true try {
PMSetTaskBack(this.trialId, this.rowData.Id) let validate = await this.$refs.backReasonForm.validate()
.then((res) => { console.log(validate, 'validate')
if (!validate) return false
// let data = Object.assign({}, this.backReasonForm)
this.loading = true
let res = await PMSetTaskBack(this.trialId, this.rowData.Id, this.backforReasonForm.pmBackReason)
this.loading = false
if (res.IsSuccess) {
this.loading = false this.loading = false
this.ReReadingOrBackVisible = false this.ReReadingOrBackVisible = false
this.getList() this.getList()
@ -1086,10 +1122,25 @@ export default {
this.$message.success( this.$message.success(
this.$t('trials:reviewTrack:message:returnedSuccessfully') this.$t('trials:reviewTrack:message:returnedSuccessfully')
) )
}) }
.catch(() => { } catch (err) {
this.loading = false this.loading = false
}) console.log(err)
}
// this.loading = true
// PMSetTaskBack(this.trialId, this.rowData.Id)
// .then((res) => {
// this.loading = false
// this.ReReadingOrBackVisible = false
// this.getList()
// // '退'
// this.$message.success(
// this.$t('trials:reviewTrack:message:returnedSuccessfully')
// )
// })
// .catch(() => {
// this.loading = false
// })
}, },
openReReadingOrBackList(row) { openReReadingOrBackList(row) {
this.loading = true this.loading = true
@ -1099,6 +1150,9 @@ export default {
.then((res) => { .then((res) => {
this.InfluenceTaskList = res.Result this.InfluenceTaskList = res.Result
this.ReReadingOtherInfo = res.OtherInfo this.ReReadingOtherInfo = res.OtherInfo
this.backforReasonForm = {
pmBackReason: null
}
this.ReReadingOrBackVisible = true this.ReReadingOrBackVisible = true
this.loading = false this.loading = false
}) })