From 6cb544117c615b3afbdbf229617a4dda51f07759 Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Mon, 18 Nov 2024 10:46:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=B1=E5=83=8F=E8=B4=A8=E6=8E=A7=E6=8B=8D?= =?UTF-8?q?=E7=89=87=E6=97=A5=E6=9C=9F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trials-panel/visit/qc-check/index.vue | 445 +++++++++--------- 1 file changed, 230 insertions(+), 215 deletions(-) diff --git a/src/views/trials/trials-panel/visit/qc-check/index.vue b/src/views/trials/trials-panel/visit/qc-check/index.vue index 777cc4e9..5206cafc 100644 --- a/src/views/trials/trials-panel/visit/qc-check/index.vue +++ b/src/views/trials/trials-panel/visit/qc-check/index.vue @@ -144,7 +144,7 @@ - {{ $t("common:button:search") }} + {{ $t('common:button:search') }} - {{ $t("common:button:reset") }} + {{ $t('common:button:reset') }} - {{ $t("common:button:export") }} + {{ $t('common:button:export') }} @@ -229,7 +229,7 @@ :disabled="!(userTypeEnumInt === 1 || userTypeEnumInt === 3)" @click="handleUrgentStatus(scope.row)" > - {{ $fd("YesOrNo", scope.row.IsUrgent) }} + {{ $fd('YesOrNo', scope.row.IsUrgent) }} - {{ $fd("YesOrNo", scope.row.IsUrgent) }} + {{ $fd('YesOrNo', scope.row.IsUrgent) }} - {{ $fd("YesOrNo", scope.row.IsUrgent) }} + {{ $fd('YesOrNo', scope.row.IsUrgent) }} - {{ $fd("YesOrNo", scope.row.IsUrgent) }} + {{ $fd('YesOrNo', scope.row.IsUrgent) }} @@ -290,22 +290,22 @@ - {{ $t("trials:crcUpload:label:pd") }} + {{ $t('trials:crcUpload:label:pd') }} - {{ $t("trials:crcUpload:label:lostVisit") }} + {{ $t('trials:crcUpload:label:lostVisit') }} - {{ $t("trials:crcUpload:label:finalVisit") }} + {{ $t('trials:crcUpload:label:finalVisit') }} - {{ $t("trials:crcUpload:label:enrollmentConfirm") }} + {{ $t('trials:crcUpload:label:enrollmentConfirm') }} @@ -320,7 +320,7 @@
{{ $t("trials:crcUpload:label:dicom") }}: + >{{ $t('trials:crcUpload:label:dicom') }}: {{ scope.row.DicomStudyCount }}, {{ $t("trials:crcUpload:label:noneDicom") }}: + >{{ $t('trials:crcUpload:label:noneDicom') }}: {{ scope.row.NoneDicomStudyCount }}, {{ $t("trials:crcUpload:label:clinicalData") }}: - {{ scope.row.IsHaveClinicalData ? "w/" : "w/o" }}{{ $t('trials:crcUpload:label:clinicalData') }}: + {{ scope.row.IsHaveClinicalData ? 'w/' : 'w/o' }} {{ $t("trials:crcUpload:label:noneDicom") }}: + >{{ $t('trials:crcUpload:label:noneDicom') }}: {{ scope.row.NoneDicomStudyCount }}
@@ -350,19 +350,19 @@ ? [ scope.row.DicomStudyCount, scope.row.NoneDicomStudyCount, - scope.row.IsHaveClinicalData ? "w/" : "w/o", - ].join(", ") + scope.row.IsHaveClinicalData ? 'w/' : 'w/o', + ].join(', ') : [ scope.row.DicomStudyCount, scope.row.NoneDicomStudyCount, - ].join(", ") + ].join(', ') }}
- - + --> @@ -420,7 +437,7 @@ @@ -503,7 +520,7 @@ " class="status-primary-circle" > - {{ $t("trials:qcCheck:label:preliminary") }} + {{ $t('trials:qcCheck:label:preliminary') }} , @@ -520,7 +537,7 @@ " class="status-primary-circle" > - {{ $t("trials:qcCheck:label:review") }} + {{ $t('trials:qcCheck:label:review') }} @@ -662,33 +679,33 @@
- {{ $t("trials:crcUpload:label:finalVisit") }} + {{ $t('trials:crcUpload:label:finalVisit') }} - : {{ $t("trials:crcUpload:label:finalVisitDetail") }} + : {{ $t('trials:crcUpload:label:finalVisitDetail') }} - {{ $t("trials:crcUpload:label:lostVisit") }} + {{ $t('trials:crcUpload:label:lostVisit') }} - : {{ $t("trials:crcUpload:label:lostVisitDetail") }} + : {{ $t('trials:crcUpload:label:lostVisitDetail') }} - {{ $t("trials:crcUpload:label:pd") }} + {{ $t('trials:crcUpload:label:pd') }} - : {{ $t("trials:crcUpload:label:pdDetail") }} + : {{ $t('trials:crcUpload:label:pdDetail') }} - {{ $t("trials:crcUpload:label:enrollmentConfirm") }} + {{ $t('trials:crcUpload:label:enrollmentConfirm') }} - : {{ $t("trials:crcUpload:label:enrollmentConfirmDetail") }} + : {{ $t('trials:crcUpload:label:enrollmentConfirmDetail') }} - {{ $t("trials:qcCheck:label:preliminary") }} + {{ $t('trials:qcCheck:label:preliminary') }} : {{ $t("trials:qcCheck:label:preliminaryAudit") }}: {{ $t('trials:qcCheck:label:preliminaryAudit') }} - {{ $t("trials:qcCheck:label:review") }} + {{ $t('trials:qcCheck:label:review') }} : {{ $t("trials:qcCheck:label:reviewAudit") }}: {{ $t('trials:qcCheck:label:reviewAudit') }}
@@ -753,7 +770,7 @@ :fullscreen="isFullscreen" > - {{ $t("trials:reading:button:handbooks") }} + {{ $t('trials:reading:button:handbooks') }}
-

{{ $t("trials:audit:tab:dicoms") }}

+

{{ $t('trials:audit:tab:dicoms') }}

@@ -852,7 +869,7 @@

- {{ $t("trials:audit:tab:nonDicoms") }} + {{ $t('trials:audit:tab:nonDicoms') }}

- {{ $t("trials:audit:tab:clinicalData") }} + {{ $t('trials:audit:tab:clinicalData') }}

- {{ $t("common:button:cancel") }} + {{ $t('common:button:cancel') }} - {{ $t("common:button:save") }} + {{ $t('common:button:save') }}
@@ -948,39 +965,39 @@ import { setSubjectVisitUrgent, isQCCanOpt, getNextQCInfo, -} from "@/api/trials"; -import { qCVisitList_Export } from "@/api/export"; -import BaseContainer from "@/components/BaseContainer"; -import QualityAssurance from "./components/qualityAssurance"; -import Manuals from "./components/manuals"; -import DicomFiles from "./components/dicomFiles"; -import UploadNonDicomFiles from "@/views/trials/trials-panel/visit/crc-upload/components/uploadNonDicomFiles"; -import UploadClinicalData from "@/views/trials/trials-panel/visit/crc-upload/components/uploadClinicalData"; +} from '@/api/trials' +import { qCVisitList_Export } from '@/api/export' +import BaseContainer from '@/components/BaseContainer' +import QualityAssurance from './components/qualityAssurance' +import Manuals from './components/manuals' +import DicomFiles from './components/dicomFiles' +import UploadNonDicomFiles from '@/views/trials/trials-panel/visit/crc-upload/components/uploadNonDicomFiles' +import UploadClinicalData from '@/views/trials/trials-panel/visit/crc-upload/components/uploadClinicalData' -import Pagination from "@/components/Pagination"; -import moment from "moment"; -import { changeURLStatic } from "@/utils/history.js"; -import { getToken } from "@/utils/auth"; +import Pagination from '@/components/Pagination' +import moment from 'moment' +import { changeURLStatic } from '@/utils/history.js' +import { getToken } from '@/utils/auth' const searchDataDefault = () => { return { - TrialId: "", - TrialSiteId: "", - SubjectInfo: "", + TrialId: '', + TrialSiteId: '', + SubjectInfo: '', VisitPlanArray: [], IsUrgent: null, AuditStateArray: [], - HandleUserId: "", + HandleUserId: '', BeginAuditTime: null, EndAuditTime: null, PageIndex: 1, PageSize: 20, // SortField: '', // Asc: false - }; -}; + } +} export default { - name: "QcCheck", + name: 'QcCheck', components: { BaseContainer, Pagination, @@ -998,13 +1015,13 @@ export default { loading: false, qcVisible: false, rowData: { - TrialSiteCode: "", - SubjectCode: "", - VisitName: "", - VisitNum: "", + TrialSiteCode: '', + SubjectCode: '', + VisitName: '', + VisitNum: '', }, - userTypeEnumInt: zzSessionStorage.getItem("userTypeEnumInt") * 1, - userId: zzSessionStorage.getItem("userId"), + userTypeEnumInt: zzSessionStorage.getItem('userTypeEnumInt') * 1, + userId: zzSessionStorage.getItem('userId'), moment, siteOptions: [], visitPlanOptions: [], @@ -1012,7 +1029,7 @@ export default { participantOptions: [], studyVisible: false, urgentVisible: false, - urgentForm: { id: "", isUrgent: null }, + urgentForm: { id: '', isUrgent: null }, trialId: this.$route.query.trialId, trialCode: this.$route.query.trialCode, query: null, @@ -1020,225 +1037,225 @@ export default { isFullscreen: false, timeList: [], exportLoading: false, - }; + } }, watch: { list(val) { - this.doLayout(); + this.doLayout() }, }, mounted() { - this.query = this.$route.query; + this.query = this.$route.query if (this.$route.query.subjectCode) { - this.searchData.SubjectInfo = this.$route.query.subjectCode; + this.searchData.SubjectInfo = this.$route.query.subjectCode } - changeURLStatic("subjectCode", ""); - this.getList(); - this.getSite(); - this.getParticipantList(); - this.getVisitPlanOptions(); + changeURLStatic('subjectCode', '') + this.getList() + this.getSite() + this.getParticipantList() + this.getVisitPlanOptions() }, methods: { handleExport() { - this.exportLoading = true; + this.exportLoading = true qCVisitList_Export(this.searchData) .then(() => { - this.exportLoading = false; + this.exportLoading = false }) .catch((err) => { - this.exportLoading = false; - }); + this.exportLoading = false + }) }, // 获取qc审核列表 getList() { - this.loading = true; - this.searchData.TrialId = this.trialId; + this.loading = true + this.searchData.TrialId = this.trialId getQCVisitList(this.searchData) .then((res) => { - this.loading = false; - this.list = res.Result.CurrentPageData; - this.total = res.Result.TotalCount; - this.OtherInfo = res.OtherInfo; + this.loading = false + this.list = res.Result.CurrentPageData + this.total = res.Result.TotalCount + this.OtherInfo = res.OtherInfo }) .catch(() => { - this.loading = false; - }); + this.loading = false + }) }, doLayout() { - const scope = this; + const scope = this this.$nextTick(() => { - scope.$refs.qcCheckList.doLayout(); - }); + scope.$refs.qcCheckList.doLayout() + }) }, // 领取任务 handleReciveTask(row, state) { - let message = ""; + let message = '' if (state) { // 是否确认领取? - message = this.$t("trials:qcCheck:message:receive"); + message = this.$t('trials:qcCheck:message:receive') } else { // 是否确认释放? - message = this.$t("trials:qcCheck:message:release"); + message = this.$t('trials:qcCheck:message:release') } this.$confirm(message, { - type: "warning", + type: 'warning', distinguishCancelAndClose: true, }) .then(() => { - this.loading = true; + this.loading = true takeOrReleaseQCTask(row.TrialId, row.Id, state) .then((res) => { - this.loading = false; + this.loading = false if (res.IsSuccess) { - this.getList(); + this.getList() if (state) { // 领取成功 this.$message.success( - this.$t("trials:qcCheck:message:receivedSuccessfully") - ); + this.$t('trials:qcCheck:message:receivedSuccessfully') + ) } else { // 释放成功 this.$message.success( - this.$t("trials:qcCheck:message:releasedSuccessfully") - ); + this.$t('trials:qcCheck:message:releasedSuccessfully') + ) } } }) .catch((res) => { - this.loading = false; + this.loading = false if (res.Code === 5 && res.ErrorMessage) { this.$confirm(res.ErrorMessage, { - type: "warning", + type: 'warning', showCancelButton: false, callback: (action) => {}, - }); - this.getList(); + }) + this.getList() } - }); + }) }) - .catch(() => {}); + .catch(() => {}) }, // 初审 handlePrimaryQC(row) { - this.loading = true; + this.loading = true isQCCanOpt(row.Id) .then((res) => { - this.loading = false; + this.loading = false if (res.IsSuccess) { - this.rowData = { ...row }; - this.qcVisible = true; + this.rowData = { ...row } + this.qcVisible = true } }) .catch((res) => { - this.loading = false; + this.loading = false if (res.Code === 2) { - this.getList(); + this.getList() } - }); + }) }, // 复审 handleSecondaryQC(row) { - this.loading = true; + this.loading = true isQCCanOpt(row.Id) .then((res) => { - this.loading = false; + this.loading = false if (res.IsSuccess) { - this.rowData = { ...row }; - this.qcVisible = true; + this.rowData = { ...row } + this.qcVisible = true } }) .catch((res) => { - this.loading = false; + this.loading = false if (res.Code === 2) { - this.getList(); + this.getList() } - }); + }) }, handleViewPrimaryQC(row) { - this.rowData = { ...row }; - this.rowData.disabled = true; - this.rowData.qcType = 1; - this.qcVisible = true; + this.rowData = { ...row } + this.rowData.disabled = true + this.rowData.qcType = 1 + this.qcVisible = true }, handleViewReviewQC(row) { - this.rowData = { ...row }; - this.rowData.disabled = true; - this.rowData.qcType = 2; - this.qcVisible = true; + this.rowData = { ...row } + this.rowData.disabled = true + this.rowData.qcType = 2 + this.qcVisible = true }, // 预览影像 handleViewImages() { - var tokenKey = getToken(); + var tokenKey = getToken() const routeData = this.$router.resolve({ path: `/showvisitdicoms?trialId=${this.rowData.TrialId}&visitInfo=${this.rowData.VisitName}(${this.rowData.VisitNum})&subjectVisitId=${this.rowData.Id}&TokenKey=${tokenKey}`, - }); - window.open(routeData.href, "_blank"); + }) + window.open(routeData.href, '_blank') }, // 查看检查信息 handleViewStudyInfo(row) { - this.studyVisible = true; - this.rowData = { ...row }; + this.studyVisible = true + this.rowData = { ...row } }, // 重置 handleReset() { - this.searchData = searchDataDefault(); - this.timeList = []; - this.getList(); + this.searchData = searchDataDefault() + this.timeList = [] + this.getList() this.$nextTick(() => { - this.$refs.qcCheckList.clearSort(); - }); + this.$refs.qcCheckList.clearSort() + }) }, // 查询 handleSearch() { - this.searchData.PageIndex = 1; - this.getList(); + this.searchData.PageIndex = 1 + this.getList() }, // 排序 handleSortByColumn(column) { - if (column.order === "ascending") { - this.searchData.Asc = true; + if (column.order === 'ascending') { + this.searchData.Asc = true } else { - this.searchData.Asc = false; + this.searchData.Asc = false } - this.searchData.SortField = column.prop; - this.searchData.PageIndex = 1; - this.getList(); + this.searchData.SortField = column.prop + this.searchData.PageIndex = 1 + this.getList() }, // 获取site下拉框数据 getSite() { getTrialSiteSelect(this.trialId).then((res) => { - this.siteOptions = res.Result; - }); + this.siteOptions = res.Result + }) }, // 获取访视下拉框数据 getVisitPlanOptions() { getTrialVisitStageSelect(this.trialId).then((res) => { - this.visitPlanOptions = res.Result; - }); + this.visitPlanOptions = res.Result + }) }, // 获取质询参与者下拉框数据 getParticipantList() { getQCParticipantList(this.trialId).then((res) => { - this.participantOptions = res.Result; - }); + this.participantOptions = res.Result + }) }, // 打开设置紧急状态弹窗 handleUrgentStatus(row) { - this.urgentForm = Object.assign({}, { ...row }); - this.urgentVisible = true; + this.urgentForm = Object.assign({}, { ...row }) + this.urgentVisible = true }, // 设置访视加急/不加急 setUrgentStatus() { // 是否确认将当前访视设置为加急? // 是否确认将当前访视设置为不加急? var message = this.urgentForm.IsUrgent - ? this.$t("trials:qcCheck:message:isUrgent") - : this.$t("trials:qcCheck:message:isNotUrgent"); + ? this.$t('trials:qcCheck:message:isUrgent') + : this.$t('trials:qcCheck:message:isNotUrgent') this.$confirm(message, { - type: "warning", + type: 'warning', distinguishCancelAndClose: true, }).then(() => { - this.loading = true; + this.loading = true setSubjectVisitUrgent( this.urgentForm.TrialId, @@ -1246,102 +1263,100 @@ export default { this.urgentForm.IsUrgent ) .then((res) => { - this.loading = false; + this.loading = false if (res.IsSuccess) { - this.urgentVisible = false; - this.getList(); - this.$message.success( - this.$t("common:message:savedSuccessfully") - ); + this.urgentVisible = false + this.getList() + this.$message.success(this.$t('common:message:savedSuccessfully')) } }) .catch(() => { - this.loading = false; - }); - }); + this.loading = false + }) + }) }, handleChallengeState(subjectCode, state) { this.$router.push({ path: `/trials/trials-panel/visit/qc-question?trialId=${this.trialId}&trialCode=${this.query.trialCode}&researchProgramNo=${this.query.researchProgramNo}&subjectCode=${subjectCode}&challengeState=${state}`, - }); + }) }, // 替换 handleReplaceTask(row) { - var message = this.$t("trials:crcQuestion:message:replaceTask"); - message = message.replace("xxx", row.CurrentActionUserName); + var message = this.$t('trials:crcQuestion:message:replaceTask') + message = message.replace('xxx', row.CurrentActionUserName) this.$confirm(message, { - type: "warning", + type: 'warning', distinguishCancelAndClose: true, }) .then(() => { // 替换并刷新列表 - this.loading = true; + this.loading = true replaceQCTaskActionUser(row.TrialId, row.Id) .then((res) => { - this.loading = false; + this.loading = false if (res.IsSuccess) { // 替换成功 this.$message.success( - this.$t("trials:crcQuestion:message:replaceTaskSuccessfully") - ); - this.getList(); + this.$t('trials:crcQuestion:message:replaceTaskSuccessfully') + ) + this.getList() } }) .catch((res) => { - this.loading = false; - this.getList(); + this.loading = false + this.getList() if (res.ErrorMessage) { this.$confirm(res.ErrorMessage, { - type: "warning", + type: 'warning', showCancelButton: false, callback: (action) => {}, - }); + }) } - }); + }) }) - .catch(() => {}); + .catch(() => {}) }, nextTask(visitId = null) { - this.loading = true; + this.loading = true let obj = { trialId: this.trialId, - }; + } if (visitId) { - obj.visitId = visitId; + obj.visitId = visitId } getNextQCInfo(obj) .then((res) => { - this.loading = false; - this.qcVisible = false; + this.loading = false + this.qcVisible = false if (res.Result) { this.$nextTick(() => { - this.rowData = { ...res.Result }; - this.qcVisible = true; - }); + this.rowData = { ...res.Result } + this.qcVisible = true + }) } else { - this.$message.success(this.$t("trials:qcQuality:title:title3")); // '当前领取的质控任务已全部完成!' - this.qcVisible = false; + this.$message.success(this.$t('trials:qcQuality:title:title3')) // '当前领取的质控任务已全部完成!' + this.qcVisible = false } }) .catch(() => { - this.loading = false; - this.qcVisible = false; - }); + this.loading = false + this.qcVisible = false + }) }, changeTimeList() { if (this.timeList) { - this.searchData.BeginAuditTime = this.timeList[0]; - this.searchData.EndAuditTime = this.timeList[1]; + this.searchData.BeginAuditTime = this.timeList[0] + this.searchData.EndAuditTime = this.timeList[1] } else { - this.searchData.BeginAuditTime = null; - this.searchData.EndAuditTime = null; + this.searchData.BeginAuditTime = null + this.searchData.EndAuditTime = null } }, openManuals() { - this.manualsDialog.visible = true; + this.manualsDialog.visible = true }, }, -}; +}