diff --git a/src/api/trials.js b/src/api/trials.js index f7dc3fe4..1892f44b 100644 --- a/src/api/trials.js +++ b/src/api/trials.js @@ -969,13 +969,20 @@ export function takeOrReleaseQCTask(trialId, subjectVisitId, obtainOrCancel) { method: 'put' }) } -export function replaceQCTaskActionUser(trialId, subjectVisitId) { +export function replaceQCTaskActionUser(trialId, subjectVisitId, params = {}) { return request({ url: `/QCOperation/replaceQCTaskActionUser/${trialId}/${subjectVisitId}`, - method: 'put' + method: 'put', + params + }) +} +export function getTrialUserRoleList(params) { + return request({ + url: `/TrialMaintenance/getTrialUserRoleList`, + method: 'get', + params }) } - export function verifyReuploadIsCanJump(trialId, qcChallengeId) { return request({ url: `/QCOperation/verifyReuploadIsCanJump/${trialId}/${qcChallengeId}`, diff --git a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue index 71ea60ed..551071f6 100644 --- a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue +++ b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue @@ -796,6 +796,22 @@ style="height: 500px; width: 500px" @error="imgObj.loading = false" @load="imgObj.loading = false" /> + + + + + + + + + + + {{ $t("common:button:cancel") }} + {{ $t("common:button:save") }} + +
@@ -803,6 +819,10 @@ v-if="SecondReviewState > 0" @click="handleResetSave"> {{ $t('trials:audit:button:reviewTask') }} + + + {{ $t('trials:audit:button:assign') }} + {{ $t('trials:audit:button:save') }} @@ -859,6 +879,8 @@ import { closeQCChallenge, updateModality, getQCChallengeDialogList, + replaceQCTaskActionUser, + getTrialUserRoleList } from '@/api/trials' import { qCPassedOrFailed } from '@/api/trials/visit' import { getBasicDataSelects } from '@/api/dictionary/dictionary' @@ -985,6 +1007,14 @@ export default { currentSeriesIsReading: false, currentSeriesIsDeleted: false, imgObj: { url: '', visible: false, loading: false }, + userRoleList: [], + assignObj: { visible: false, loading: false }, + assignForm: { ReplaceUserRoleId: null }, + assignRules: { + ReplaceUserRoleId: [ + { required: true, message: this.$t("common:ruleMessage:select"), trigger: 'change' } + ] + }, open: null, existsManual: false, @@ -1233,6 +1263,36 @@ export default { this.loading = false }) }, + // 指派 + async handleAssign() { + try { + let params = { + TrialId: this.data.TrialId, + UserTypeEnum: 3 + } + let res = await getTrialUserRoleList(params) + if (res.IsSuccess) { + this.userRoleList = res.Result + this.assignObj.visible = true + } + } catch (err) { + console.log(err) + } + }, + async assign() { + try { + let validate = await this.$refs.assignForm.validate() + if (!validate) return false + let res = await replaceQCTaskActionUser(this.data.TrialId, this.data.Id, this.assignForm) + if (res.IsSuccess) { + this.$emit('getList') + this.assignObj.visible = true + this.$emit("close") + } + } catch (err) { + console.log(err) + } + }, // 保存审核问题 handleSave(isMessage = false) { return new Promise(async (resolve) => {