Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/hir_web into main
commit
0abd32bca3
|
@ -186,7 +186,6 @@ export default {
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
},
|
},
|
||||||
handleRemove(file) {
|
handleRemove(file) {
|
||||||
console.log(1111111111);
|
|
||||||
this.fileList = [];
|
this.fileList = [];
|
||||||
this.$emit("update:path", null);
|
this.$emit("update:path", null);
|
||||||
},
|
},
|
||||||
|
|
|
@ -92,7 +92,7 @@
|
||||||
prop="CalledAE"
|
prop="CalledAE"
|
||||||
:label="$t('trials:inspection:table:CalledAE')"
|
:label="$t('trials:inspection:table:CalledAE')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="120"
|
||||||
>
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!--Calling AE-->
|
<!--Calling AE-->
|
||||||
|
@ -100,7 +100,7 @@
|
||||||
prop="CallingAE"
|
prop="CallingAE"
|
||||||
:label="$t('trials:inspection:table:CallingAE')"
|
:label="$t('trials:inspection:table:CallingAE')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="120"
|
||||||
>
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!--序列数量-->
|
<!--序列数量-->
|
||||||
|
@ -109,7 +109,7 @@
|
||||||
prop="SeriesCount"
|
prop="SeriesCount"
|
||||||
:label="$t('trials:audit:table:seriesCount')"
|
:label="$t('trials:audit:table:seriesCount')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="100"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!--图像数量-->
|
<!--图像数量-->
|
||||||
|
@ -118,7 +118,7 @@
|
||||||
prop="InstanceCount"
|
prop="InstanceCount"
|
||||||
:label="$t('trials:audit:table:instanceCount')"
|
:label="$t('trials:audit:table:instanceCount')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="100"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!--检查日期-->
|
<!--检查日期-->
|
||||||
|
@ -127,7 +127,7 @@
|
||||||
prop="StudyTime"
|
prop="StudyTime"
|
||||||
:label="$t('trials:audit:table:studyDate')"
|
:label="$t('trials:audit:table:studyDate')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="140"
|
min-width="180"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<!--操作-->
|
<!--操作-->
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
ref="mar"
|
ref="mar"
|
||||||
hspace="0"
|
hspace="0"
|
||||||
direction="left"
|
direction="left"
|
||||||
width="500"
|
max-width="500"
|
||||||
@mouseout="start()"
|
@mouseout="start()"
|
||||||
@mouseover="stop()"
|
@mouseover="stop()"
|
||||||
>
|
>
|
||||||
|
|
|
@ -121,6 +121,7 @@
|
||||||
:key="item.Id"
|
:key="item.Id"
|
||||||
:label="item.CriterionName"
|
:label="item.CriterionName"
|
||||||
:value="item.CriterionType"
|
:value="item.CriterionType"
|
||||||
|
:title="item.Description"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -277,11 +278,11 @@ export default {
|
||||||
message: `${this.$t("common:ruleMessage:maxLength")} 200`,
|
message: `${this.$t("common:ruleMessage:maxLength")} 200`,
|
||||||
trigger: "blur",
|
trigger: "blur",
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
pattern: /^[\u4e00-\u9fa5a-zA-Z\/\\]+$/,
|
// pattern: /^[\u4e00-\u9fa5a-zA-Z\/\\]+$/,
|
||||||
message: this.$t("trisals:trials-list:formRule:onlyEN"),
|
// message: this.$t("trisals:trials-list:formRule:onlyEN"),
|
||||||
trigger: "blur",
|
// trigger: "blur",
|
||||||
},
|
// },
|
||||||
],
|
],
|
||||||
TrialType: [
|
TrialType: [
|
||||||
{
|
{
|
||||||
|
|
|
@ -145,12 +145,14 @@
|
||||||
prop="TrialCode"
|
prop="TrialCode"
|
||||||
:label="$t('trials:trials-list:table:trialId')"
|
:label="$t('trials:trials-list:table:trialId')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
|
min-width="100"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="ResearchProgramNo"
|
prop="ResearchProgramNo"
|
||||||
:label="$t('trials:trials-list:table:researchNumber')"
|
:label="$t('trials:trials-list:table:researchNumber')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
|
min-width="120"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
@ -158,12 +160,14 @@
|
||||||
prop="ExperimentName"
|
prop="ExperimentName"
|
||||||
:label="$t('trials:trials-list:table:experimentName')"
|
:label="$t('trials:trials-list:table:experimentName')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
|
min-width="100"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="Sponsor"
|
prop="Sponsor"
|
||||||
:label="$t('trials:trials-list:table:sponsor')"
|
:label="$t('trials:trials-list:table:sponsor')"
|
||||||
|
min-width="100"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
@ -225,20 +229,28 @@
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
v-if="hasPermi(['role:pm', 'role:pi', 'role:sr'])"
|
v-if="hasPermi(['role:pm', 'role:pi', 'role:sr'])"
|
||||||
/>
|
/>
|
||||||
|
<!--到期日-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
prop="AuthorizationDate"
|
||||||
|
:label="$t('trials:trials-list:table:dateAuthorized')"
|
||||||
|
show-overflow-tooltip
|
||||||
|
min-width="180"
|
||||||
|
sortable="custom"
|
||||||
|
/>
|
||||||
|
<!-- <el-table-column
|
||||||
prop="CreateTime"
|
prop="CreateTime"
|
||||||
:label="$t('trials:trials-list:table:createDate')"
|
:label="$t('trials:trials-list:table:createDate')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/> -->
|
||||||
<!--授权时长-->
|
<!--授权时长-->
|
||||||
<el-table-column
|
<!-- <el-table-column
|
||||||
prop="AuthorizationDuration"
|
prop="AuthorizationDuration"
|
||||||
:label="$t('trials:trials-list:form:projectCycle')"
|
:label="$t('trials:trials-list:form:projectCycle')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/> -->
|
||||||
<el-table-column label="" min-width="150" align="left" fixed="right">
|
<el-table-column label="" min-width="200" align="left" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<!-- 详情 -->
|
<!-- 详情 -->
|
||||||
<el-button
|
<el-button
|
||||||
|
|
|
@ -108,7 +108,7 @@
|
||||||
height="100"
|
height="100"
|
||||||
@sort-change="handleSortByColumn"
|
@sort-change="handleSortByColumn"
|
||||||
>
|
>
|
||||||
<el-table-column width="40">
|
<el-table-column min-width="20">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<i
|
<i
|
||||||
v-if="
|
v-if="
|
||||||
|
@ -127,6 +127,7 @@
|
||||||
:label="$t('trials:uploadMonitor:table:subjectId')"
|
:label="$t('trials:uploadMonitor:table:subjectId')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
|
min-width="120"
|
||||||
/>
|
/>
|
||||||
<!-- 患者编号 -->
|
<!-- 患者编号 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -153,6 +154,7 @@
|
||||||
:label="$t('trials:researchStaff:table:Name')"
|
:label="$t('trials:researchStaff:table:Name')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
|
min-width="100"
|
||||||
/>
|
/>
|
||||||
<!-- 性别 -->
|
<!-- 性别 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -171,6 +173,7 @@
|
||||||
:label="$t('trials:uploadMonitor:table:visitName')"
|
:label="$t('trials:uploadMonitor:table:visitName')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
|
min-width="100"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="text" @click="handleOpenStudyDialog(scope.row)">
|
<el-button type="text" @click="handleOpenStudyDialog(scope.row)">
|
||||||
|
@ -184,6 +187,7 @@
|
||||||
:label="$t('trials:trials-panel:table:EarliestScanDate')"
|
:label="$t('trials:trials-panel:table:EarliestScanDate')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
|
min-width="140"
|
||||||
/>
|
/>
|
||||||
<!-- 最晚拍片日期 -->
|
<!-- 最晚拍片日期 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -191,6 +195,7 @@
|
||||||
:label="$t('trials:linkedRP:table:latestScanDate')"
|
:label="$t('trials:linkedRP:table:latestScanDate')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
|
min-width="120"
|
||||||
/>
|
/>
|
||||||
<!-- 状态 -->
|
<!-- 状态 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -217,6 +222,7 @@
|
||||||
prop="PackState"
|
prop="PackState"
|
||||||
:label="$t('trials:hirVisit:table:PackState')"
|
:label="$t('trials:hirVisit:table:PackState')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
|
min-width="100"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
@ -238,19 +244,20 @@
|
||||||
prop="SubmitTime"
|
prop="SubmitTime"
|
||||||
:label="$t('trials:crcUpload:table:submitTime')"
|
:label="$t('trials:crcUpload:table:submitTime')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
|
min-width="100"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
<!--操作-->
|
<!--操作-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
:label="$t('common:action:action')"
|
:label="$t('common:action:action')"
|
||||||
min-width="100"
|
min-width="200"
|
||||||
fixed="right"
|
fixed="right"
|
||||||
v-if="
|
v-if="
|
||||||
hasPermi([
|
hasPermi([
|
||||||
'trials:trials-panel:hirVisit:edit',
|
'trials:trials-panel:hirVisit:edit',
|
||||||
'trials:trials-panel:hirVisit:submit',
|
'trials:trials-panel:hirVisit:submit',
|
||||||
'trials:trials-panel:hirVisit:remove',
|
'trials:trials-panel:hirVisit:remove',
|
||||||
'trials:trials-panel:hirVisit:downlaod',
|
'trials:trials-panel:hirVisit:download',
|
||||||
])
|
])
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
:rules="rules"
|
:rules="rules"
|
||||||
class="audit-form"
|
class="audit-form"
|
||||||
>
|
>
|
||||||
<div class="base-dialog-body" style="min-height: 500px;">
|
<div class="base-dialog-body" style="min-height: 500px">
|
||||||
<!-- 是否认可 -->
|
<!-- 是否认可 -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('trials:auditRecord:table:auditResult')"
|
:label="$t('trials:auditRecord:table:auditResult')"
|
||||||
|
@ -31,14 +31,14 @@
|
||||||
|
|
||||||
<!-- 不认可原因 -->
|
<!-- 不认可原因 -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-if="form.PIAuditState===1"
|
v-if="form.PIAuditState === 1"
|
||||||
:label="$t('trials:pendingReview:title:notAgreeReason')"
|
:label="$t('trials:pendingReview:title:notAgreeReason')"
|
||||||
prop="NotAgreeReason"
|
prop="NotAgreeReason"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.NotAgreeReason"
|
v-model="form.NotAgreeReason"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:autosize="{ minRows: 2, maxRows: 4}"
|
:autosize="{ minRows: 2, maxRows: 4 }"
|
||||||
:placeholder="$t('common:ruleMessage:specify')"
|
:placeholder="$t('common:ruleMessage:specify')"
|
||||||
maxlength="500"
|
maxlength="500"
|
||||||
show-word-limit
|
show-word-limit
|
||||||
|
@ -52,16 +52,14 @@
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.PIAuditNote"
|
v-model="form.PIAuditNote"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:autosize="{ minRows: 2, maxRows: 4}"
|
:autosize="{ minRows: 2, maxRows: 4 }"
|
||||||
:placeholder="$t('common:ruleMessage:specify')"
|
:placeholder="$t('common:ruleMessage:specify')"
|
||||||
maxlength="500"
|
maxlength="500"
|
||||||
show-word-limit
|
show-word-limit
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 相关截图 -->
|
<!-- 相关截图 -->
|
||||||
<el-form-item
|
<el-form-item :label="$t('trials:pendingReview:title:screenshots')">
|
||||||
:label="$t('trials:pendingReview:title:screenshots')"
|
|
||||||
>
|
|
||||||
<el-upload
|
<el-upload
|
||||||
action=""
|
action=""
|
||||||
:accept="accept"
|
:accept="accept"
|
||||||
|
@ -73,13 +71,13 @@
|
||||||
:file-list="fileList"
|
:file-list="fileList"
|
||||||
>
|
>
|
||||||
<i slot="default" class="el-icon-plus" />
|
<i slot="default" class="el-icon-plus" />
|
||||||
<div slot="file" slot-scope="{file}">
|
<div slot="file" slot-scope="{ file }">
|
||||||
<img
|
<img
|
||||||
class="el-upload-list__item-thumbnail"
|
class="el-upload-list__item-thumbnail"
|
||||||
:src="OSSclientConfig.basePath + file.url"
|
:src="OSSclientConfig.basePath + file.url"
|
||||||
alt=""
|
alt=""
|
||||||
crossorigin="anonymous"
|
crossorigin="anonymous"
|
||||||
>
|
/>
|
||||||
<span class="el-upload-list__item-actions">
|
<span class="el-upload-list__item-actions">
|
||||||
<span
|
<span
|
||||||
class="el-upload-list__item-preview"
|
class="el-upload-list__item-preview"
|
||||||
|
@ -97,42 +95,35 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
<el-dialog
|
<el-dialog append-to-body :visible.sync="imgVisible" width="600px">
|
||||||
append-to-body
|
|
||||||
:visible.sync="imgVisible"
|
|
||||||
width="600px"
|
|
||||||
>
|
|
||||||
<el-image :src="OSSclientConfig.basePath + imageUrl" width="100%">
|
<el-image :src="OSSclientConfig.basePath + imageUrl" width="100%">
|
||||||
<div slot="placeholder" class="image-slot">
|
<div slot="placeholder" class="image-slot">
|
||||||
{{ $t('trials:medicalFeedback:message:loading') }}<span class="dot">...</span>
|
{{ $t("trials:medicalFeedback:message:loading")
|
||||||
|
}}<span class="dot">...</span>
|
||||||
</div>
|
</div>
|
||||||
</el-image>
|
</el-image>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 阅片结果 -->
|
<!-- 阅片结果 -->
|
||||||
<el-form-item
|
<el-form-item :label="$t('trials:auditRecord:table:readingResult')">
|
||||||
:label="$t('trials:auditRecord:table:readingResult')"
|
<el-button type="text" @click="handleView">{{
|
||||||
>
|
$t("common:button:view")
|
||||||
<el-button type="text" @click="handleView">{{ $t('common:button:view') }}</el-button>
|
}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div class="base-dialog-footer" style="text-align:right;margin-top:10px;">
|
<div class="base-dialog-footer" style="text-align: right; margin-top: 10px">
|
||||||
<el-form-item style="text-align:right;">
|
<el-form-item style="text-align: right">
|
||||||
<!-- 取消 -->
|
<!-- 取消 -->
|
||||||
<el-button
|
<el-button size="small" type="primary" @click="handleClose">
|
||||||
size="small"
|
{{ $t("common:button:cancel") }}
|
||||||
type="primary"
|
|
||||||
@click="handleClose"
|
|
||||||
>
|
|
||||||
{{ $t('common:button:cancel') }}
|
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 保存 -->
|
<!-- 保存 -->
|
||||||
<el-button
|
<el-button size="small" type="primary" @click="handleSave">
|
||||||
size="small"
|
{{
|
||||||
type="primary"
|
rowData.PIAuditState
|
||||||
@click="handleSave"
|
? $t("trials:pendingReview:button:modify")
|
||||||
>
|
: $t("trials:pendingReview:button:confirm")
|
||||||
{{ rowData.PIAuditState?$t('trials:pendingReview:button:modify'):$t('trials:pendingReview:button:confirm') }}
|
}}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
@ -140,178 +131,223 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
// import { iRSendMedicalReviewDialog, UploadMedicalReviewImage } from '@/api/trials'
|
// import { iRSendMedicalReviewDialog, UploadMedicalReviewImage } from '@/api/trials'
|
||||||
import { pIAuditTask } from '@/api/reading'
|
import { pIAuditTask } from "@/api/reading";
|
||||||
export default {
|
export default {
|
||||||
name: 'FeedbackFrom',
|
name: "FeedbackFrom",
|
||||||
props: {
|
props: {
|
||||||
rowData: {
|
rowData: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default() {
|
default() {
|
||||||
return {}
|
return {};
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
form: {
|
form: {
|
||||||
VisitTaskId: '',
|
VisitTaskId: "",
|
||||||
NotAgreeReason: null,
|
NotAgreeReason: null,
|
||||||
PIAuditNote: '',
|
PIAuditNote: "",
|
||||||
PIAuditImagePathList: [],
|
PIAuditImagePathList: [],
|
||||||
PIAuditState: null
|
PIAuditState: null,
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
PIAuditState: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur', type: 'number', min: 1 }],
|
PIAuditState: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: "blur",
|
||||||
|
type: "number",
|
||||||
|
min: 1,
|
||||||
|
},
|
||||||
|
],
|
||||||
NotAgreeReason: [
|
NotAgreeReason: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
|
{
|
||||||
{ max: 500, message: `${this.$t('common:ruleMessage:maxLength')} 500` }],
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:specify"),
|
||||||
|
trigger: "blur",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
max: 500,
|
||||||
|
message: `${this.$t("common:ruleMessage:maxLength")} 500`,
|
||||||
|
},
|
||||||
|
],
|
||||||
PIAuditNote: [
|
PIAuditNote: [
|
||||||
{ max: 500, message: `${this.$t('common:ruleMessage:maxLength')} 500` }]
|
{
|
||||||
|
max: 500,
|
||||||
|
message: `${this.$t("common:ruleMessage:maxLength")} 500`,
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
loading: false,
|
loading: false,
|
||||||
accept: '.png,.jpg,.jpeg',
|
accept: ".png,.jpg,.jpeg",
|
||||||
imgVisible: false,
|
imgVisible: false,
|
||||||
imageUrl: '',
|
imageUrl: "",
|
||||||
uploadDisabled: false,
|
uploadDisabled: false,
|
||||||
listLoading: false,
|
listLoading: false,
|
||||||
fileList: [],
|
fileList: [],
|
||||||
userTypeEnumInt: zzSessionStorage.getItem('userTypeEnumInt') * 1
|
userTypeEnumInt: zzSessionStorage.getItem("userTypeEnumInt") * 1,
|
||||||
}
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.initForm()
|
this.initForm();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initForm() {
|
initForm() {
|
||||||
this.loading = true
|
this.loading = true;
|
||||||
if (Object.keys(this.rowData).length > 0) {
|
if (Object.keys(this.rowData).length > 0) {
|
||||||
for (const k in this.form) {
|
for (const k in this.form) {
|
||||||
if (this.rowData.hasOwnProperty(k)) {
|
if (this.rowData.hasOwnProperty(k)) {
|
||||||
if (k === 'PIAuditImagePathList' && this.rowData.PIAuditImagePathList) {
|
if (
|
||||||
this.rowData.PIAuditImagePathList.map(filePath => {
|
k === "PIAuditImagePathList" &&
|
||||||
if (!filePath) return
|
this.rowData.PIAuditImagePathList
|
||||||
this.fileList.push({ url: filePath })
|
) {
|
||||||
})
|
this.rowData.PIAuditImagePathList.map((filePath) => {
|
||||||
|
if (!filePath) return;
|
||||||
|
this.fileList.push({ url: filePath });
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
this.form[k] = this.rowData[k]
|
this.form[k] = this.rowData[k];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.loading = false
|
this.loading = false;
|
||||||
},
|
},
|
||||||
// 更新qc问题配置信息
|
// 更新qc问题配置信息
|
||||||
handleSave() {
|
handleSave() {
|
||||||
this.$refs.auditForm.validate(valid => {
|
this.$refs.auditForm.validate((valid) => {
|
||||||
if (!valid) return
|
if (!valid) return;
|
||||||
this.loading = true
|
this.loading = true;
|
||||||
var files = []
|
var files = [];
|
||||||
this.fileList.map(file => {
|
this.fileList.map((file) => {
|
||||||
if (file && file.url) {
|
if (file && file.url) {
|
||||||
files.push(file.url)
|
files.push(file.url);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
this.form.PIAuditImagePathList = files
|
this.form.PIAuditImagePathList = files;
|
||||||
this.form.VisitTaskId = this.rowData.Id
|
this.form.VisitTaskId = this.rowData.Id;
|
||||||
pIAuditTask(this.form).then(res => {
|
pIAuditTask(this.form)
|
||||||
this.loading = false
|
.then((res) => {
|
||||||
if (res.IsSuccess) {
|
this.loading = false;
|
||||||
// 关闭弹窗并刷新
|
if (res.IsSuccess) {
|
||||||
this.$emit('close')
|
// 关闭弹窗并刷新
|
||||||
this.$emit('getList')
|
this.$emit("close");
|
||||||
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
this.$emit("getList");
|
||||||
}
|
this.$message.success(
|
||||||
}).catch(() => { this.loading = false })
|
this.$t("common:message:savedSuccessfully")
|
||||||
})
|
);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
});
|
||||||
},
|
},
|
||||||
handlePIAuditStateChange(val) {
|
handlePIAuditStateChange(val) {
|
||||||
this.form.NotAgreeReason = ''
|
this.form.NotAgreeReason = "";
|
||||||
},
|
},
|
||||||
handleClose() {
|
handleClose() {
|
||||||
this.$emit('close')
|
this.$emit("close");
|
||||||
},
|
},
|
||||||
handleBeforeUpload(file) {
|
handleBeforeUpload(file) {
|
||||||
// 检测文件类型是否符合要求
|
// 检测文件类型是否符合要求
|
||||||
if (this.checkFileSuffix(file.name)) {
|
if (this.checkFileSuffix(file.name)) {
|
||||||
return true
|
return true;
|
||||||
} else {
|
} else {
|
||||||
var msg = this.$t('trials:medicalFeedback:message:format')
|
var msg = this.$t("trials:medicalFeedback:message:format");
|
||||||
msg = msg.replace('xxx', this.accept)
|
msg = msg.replace("xxx", this.accept);
|
||||||
this.$alert(msg)
|
this.$alert(msg);
|
||||||
return false
|
return false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
checkFileSuffix(fileName) {
|
checkFileSuffix(fileName) {
|
||||||
var index = fileName.lastIndexOf('.')
|
var index = fileName.lastIndexOf(".");
|
||||||
var suffix = fileName.substring(index + 1, fileName.length)
|
var suffix = fileName.substring(index + 1, fileName.length);
|
||||||
if (this.accept.toLocaleLowerCase().search(suffix.toLocaleLowerCase()) === -1) {
|
if (
|
||||||
return false
|
this.accept.toLocaleLowerCase().search(suffix.toLocaleLowerCase()) ===
|
||||||
|
-1
|
||||||
|
) {
|
||||||
|
return false;
|
||||||
} else {
|
} else {
|
||||||
return true
|
return true;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async uploadScreenshots(param) {
|
async uploadScreenshots(param) {
|
||||||
try {
|
try {
|
||||||
this.loading = true
|
this.loading = true;
|
||||||
var file = await this.fileToBlob(param.file)
|
var file = await this.fileToBlob(param.file);
|
||||||
var trialId = this.$route.query.trialId
|
var trialId = this.$route.query.trialId;
|
||||||
const res = await this.OSSclient.put(`/${trialId}/PIReview/${param.file.name}`, file)
|
const res = await this.OSSclient.put(
|
||||||
this.fileList.push({ name: param.file.name, url: this.$getObjectName(res.url) })
|
`/${trialId}/PIReview/${param.file.name}`,
|
||||||
this.loading = false
|
file
|
||||||
|
);
|
||||||
|
console.log(res);
|
||||||
|
this.fileList.push({
|
||||||
|
name: param.file.name,
|
||||||
|
path: res.name,
|
||||||
|
fullPath: this.OSSclientConfig.basePath + res.name,
|
||||||
|
url: res.name,
|
||||||
|
});
|
||||||
|
// this.fileList.push({
|
||||||
|
// name: param.file.name,
|
||||||
|
// url: this.$getObjectName(res.url),
|
||||||
|
// });
|
||||||
|
this.loading = false;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e);
|
||||||
this.loading = false
|
this.loading = false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
fileToBlob(file) {
|
fileToBlob(file) {
|
||||||
// 创建 FileReader 对象
|
// 创建 FileReader 对象
|
||||||
const reader = new FileReader()
|
const reader = new FileReader();
|
||||||
return new Promise(resolve => {
|
return new Promise((resolve) => {
|
||||||
// FileReader 添加 load 事件
|
// FileReader 添加 load 事件
|
||||||
reader.addEventListener('load', (e) => {
|
reader.addEventListener("load", (e) => {
|
||||||
let blob
|
let blob;
|
||||||
if (typeof e.target.result === 'object') {
|
if (typeof e.target.result === "object") {
|
||||||
blob = new Blob([e.target.result])
|
blob = new Blob([e.target.result]);
|
||||||
} else {
|
} else {
|
||||||
blob = e.target.result
|
blob = e.target.result;
|
||||||
}
|
}
|
||||||
resolve(blob)
|
resolve(blob);
|
||||||
})
|
});
|
||||||
// FileReader 以 ArrayBuffer 格式 读取 File 对象中数据
|
// FileReader 以 ArrayBuffer 格式 读取 File 对象中数据
|
||||||
reader.readAsArrayBuffer(file)
|
reader.readAsArrayBuffer(file);
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
// 预览图片
|
// 预览图片
|
||||||
handlePictureCardPreview(file) {
|
handlePictureCardPreview(file) {
|
||||||
this.imageUrl = file.url
|
this.imageUrl = file.url;
|
||||||
this.imgVisible = true
|
this.imgVisible = true;
|
||||||
},
|
},
|
||||||
// 删除图片
|
// 删除图片
|
||||||
handleRemove(file, fileList) {
|
handleRemove(file, fileList) {
|
||||||
var idx = this.fileList.findIndex(i => i.url === file.url)
|
var idx = this.fileList.findIndex((i) => i.url === file.url);
|
||||||
if (idx === -1) return
|
if (idx === -1) return;
|
||||||
this.fileList.splice(idx, 1)
|
this.fileList.splice(idx, 1);
|
||||||
},
|
},
|
||||||
handleView() {
|
handleView() {
|
||||||
this.$emit('viewReaingResult')
|
this.$emit("viewReaingResult");
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.audit-form{
|
.audit-form {
|
||||||
.disabled{
|
.disabled {
|
||||||
>>>.el-upload--picture-card {
|
>>> .el-upload--picture-card {
|
||||||
display: none;
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
>>> .el-upload-list__item {
|
||||||
>>> .el-upload-list__item {
|
|
||||||
transition: none !important;
|
transition: none !important;
|
||||||
}
|
}
|
||||||
>>> .el-upload-list__item-thumbnail {
|
>>> .el-upload-list__item-thumbnail {
|
||||||
/* 图片在方框内显示长边 */
|
/* 图片在方框内显示长边 */
|
||||||
object-fit: scale-down !important;
|
object-fit: scale-down !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -223,7 +223,7 @@
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
/>
|
/>
|
||||||
<!-- 申请状态 -->
|
<!-- 申请状态 -->
|
||||||
<el-table-column
|
<!-- <el-table-column
|
||||||
v-if="!hasPermi(['role:air'])"
|
v-if="!hasPermi(['role:air'])"
|
||||||
prop="ReReadingApplyState"
|
prop="ReReadingApplyState"
|
||||||
:label="$t('trials:readTask:table:reReadingApplyState')"
|
:label="$t('trials:readTask:table:reReadingApplyState')"
|
||||||
|
@ -249,17 +249,19 @@
|
||||||
$fd("ReReadingApplyState", scope.row.ReReadingApplyState)
|
$fd("ReReadingApplyState", scope.row.ReReadingApplyState)
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column> -->
|
||||||
<!--操作-->
|
<!--操作-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
:label="$t('common:action:action')"
|
:label="$t('common:action:action')"
|
||||||
width="250"
|
min-width="100"
|
||||||
fixed="right"
|
fixed="right"
|
||||||
v-if="
|
v-if="
|
||||||
hasPermi(['trials:readTask:view']) ||
|
hasPermi([
|
||||||
hasPermi(['trials:readTask:reread']) ||
|
'trials:readTask:view',
|
||||||
hasPermi(['trials:readTask:report']) ||
|
'trials:readTask:reread',
|
||||||
hasPermi(['trials:readTask:auditRecord'])
|
'trials:readTask:report',
|
||||||
|
'trials:readTask:auditRecord',
|
||||||
|
])
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|
|
@ -193,21 +193,21 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- 授权时间 -->
|
<!-- 授权时间 -->
|
||||||
<el-table-column
|
<!-- <el-table-column
|
||||||
prop="CreateTime"
|
prop="CreateTime"
|
||||||
:label="$t('trials:staff:table:authorizationTime')"
|
:label="$t('trials:staff:table:authorizationTime')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable
|
sortable
|
||||||
width="180"
|
width="180"
|
||||||
/>
|
/> -->
|
||||||
<!-- 禁用时间 -->
|
<!-- 禁用时间 -->
|
||||||
<el-table-column
|
<!-- <el-table-column
|
||||||
prop="DeletedTime"
|
prop="DeletedTime"
|
||||||
:label="$t('trials:staff:table:disableTime')"
|
:label="$t('trials:staff:table:disableTime')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable
|
sortable
|
||||||
min-width="60"
|
min-width="60"
|
||||||
/>
|
/> -->
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
v-if="hasPermi(['trials:trials-panel:setting:personnel-manage:status'])"
|
v-if="hasPermi(['trials:trials-panel:setting:personnel-manage:status'])"
|
||||||
|
|
|
@ -111,13 +111,13 @@
|
||||||
min-width="100"
|
min-width="100"
|
||||||
/>
|
/>
|
||||||
<!-- 用户名 -->
|
<!-- 用户名 -->
|
||||||
<!-- <el-table-column
|
<el-table-column
|
||||||
prop="UserName"
|
prop="UserName"
|
||||||
:label="$t('trials:staff:table:uid')"
|
:label="$t('trials:staff:table:uid')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
min-width="100"
|
min-width="100"
|
||||||
/> -->
|
/>
|
||||||
<!-- 电话 -->
|
<!-- 电话 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="Phone"
|
prop="Phone"
|
||||||
|
@ -139,7 +139,7 @@
|
||||||
prop="OrganizationName"
|
prop="OrganizationName"
|
||||||
:label="$t('trials:staff:table:organization')"
|
:label="$t('trials:staff:table:organization')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="100"
|
min-width="150"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
<!-- 用户类型 -->
|
<!-- 用户类型 -->
|
||||||
|
|
|
@ -94,14 +94,14 @@
|
||||||
height="100"
|
height="100"
|
||||||
@sort-change="handleSortByColumn"
|
@sort-change="handleSortByColumn"
|
||||||
>
|
>
|
||||||
<el-table-column type="index" width="40" />
|
<el-table-column type="index" width="30" />
|
||||||
<!-- 受试者编号 -->
|
<!-- 受试者编号 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="SubjectCode"
|
prop="SubjectCode"
|
||||||
:label="$t('trials:subject:table:subjectId')"
|
:label="$t('trials:subject:table:subjectId')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
min-width="100"
|
min-width="120"
|
||||||
/>
|
/>
|
||||||
<!-- 患者编号 -->
|
<!-- 患者编号 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
:label="$t('common:action:action')"
|
:label="$t('common:action:action')"
|
||||||
min-width="120"
|
min-width="150"
|
||||||
fixed="right"
|
fixed="right"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|
|
@ -151,15 +151,15 @@
|
||||||
{{ $fd("UserType", scope.row.LoginUserTypeEnum) }}
|
{{ $fd("UserType", scope.row.LoginUserTypeEnum) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<!-- <el-table-column
|
||||||
v-if="!isMine"
|
v-if="!isMine"
|
||||||
:label="$t('trials:loginLog:table:optUserName')"
|
:label="$t('trials:loginLog:table:optUserName')"
|
||||||
prop="optUserName"
|
prop="optUserName"
|
||||||
min-width="90"
|
min-width="90"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/> -->
|
||||||
<el-table-column
|
<!-- <el-table-column
|
||||||
v-if="!isMine"
|
v-if="!isMine"
|
||||||
:label="$t('trials:loginLog:table:optUserType')"
|
:label="$t('trials:loginLog:table:optUserType')"
|
||||||
prop="OptUserTypeEnum"
|
prop="OptUserTypeEnum"
|
||||||
|
@ -170,7 +170,7 @@
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ $fd("UserType", scope.row.OptUserTypeEnum) }}
|
{{ $fd("UserType", scope.row.OptUserTypeEnum) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column> -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
:label="$t('trials:loginLog:table:createTime')"
|
:label="$t('trials:loginLog:table:createTime')"
|
||||||
prop="CreateTime"
|
prop="CreateTime"
|
||||||
|
|
Loading…
Reference in New Issue