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" />
+
+
+
+
+
+
+
+
+
+
+
@@ -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) => {