一致性核查回复修改
continuous-integration/drone/push Build is passing Details

uat
wangxiaoshuang 2025-05-22 13:54:27 +08:00
parent f2ee666083
commit 64e67ad106
2 changed files with 68 additions and 102 deletions

View File

@ -81,10 +81,10 @@
>
{{ $t('trials:consistencyCheck:button:sendMessage') }}
</el-button>
<!-- 回复 -->
<!-- 回复 :disabled="!(checkState === 10 && checkChallengeState !== 3) || (recordContent && recordContent.length > 0 ? recordContent[recordContent.length - 1].UserTypeEnum * 1 === 2 : false)" -->
<el-button
v-hasPermi="['role:crc']"
:disabled="!(checkState === 10 && checkChallengeState !== 3) || (recordContent && recordContent.length > 0 ? recordContent[recordContent.length - 1].UserTypeEnum * 1 === 2 : false)"
type="primary"
:loading="btnLoading"
@click="handleCRCReply"

View File

@ -6,94 +6,59 @@
<div>
<div style="padding: 10px;background: #f3f3f3;border-radius: 10px;margin-top: 10px">
<div style="display:flex;margin-bottom: 10px;justify-content: space-between;align-items: center">
<div>
<div style="font-size: 18px;font-weight: blod;color: #409EFF">
<!-- 请准确核实后录入当前访视的实际影像检查记录 -->
{{ $t('trials:consistencyCheck:title:message20') }}
</div>
<!-- 添加 -->
<el-button type="primary" size="mini" @click="addMsg">{{ $t('trials:consistencyCheck:title:add') }}</el-button>
<el-button type="primary" size="mini" @click="addMsg">{{ $t('trials:consistencyCheck:title:add')
}}</el-button>
</div>
<el-table
:data="msgList"
>
<el-table :data="msgList">
<el-table-column type="index" width="40" />
<!-- 检查日期 -->
<el-table-column
prop=""
:label="$t('trials:consistencyCheck:title:studyDate')"
show-overflow-tooltip
>
<el-table-column prop="" :label="$t('trials:consistencyCheck:title:studyDate')" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.StudyDate }}
</template>
</el-table-column>
<!-- 检查类型 -->
<el-table-column
prop=""
:label="$t('trials:consistencyCheck:title:studyModality')"
show-overflow-tooltip
>
<el-table-column prop="" :label="$t('trials:consistencyCheck:title:studyModality')" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.Modality }}
</template>
</el-table-column>
<!-- 已提交 -->
<el-table-column
prop=""
:label="$t('trials:consistencyCheck:title:submitted')"
show-overflow-tooltip
>
<el-table-column prop="" :label="$t('trials:consistencyCheck:title:submitted')" show-overflow-tooltip>
<template slot-scope="scope">
{{ $fd('YesOrNo', scope.row.IsJoin) }}
</template>
</el-table-column>
<!-- 实际存在 -->
<el-table-column
prop=""
:label="$t('trials:consistencyCheck:title:existed')"
show-overflow-tooltip
>
<el-table-column prop="" :label="$t('trials:consistencyCheck:title:existed')" show-overflow-tooltip
min-width="120px">
<template slot-scope="scope">
<el-switch
v-model="scope.row.IsCheck"
:disabled="!scope.row.IsJoin"
@change="compareStudy"
/>
<el-switch v-model="scope.row.IsCheck" :active-text="$fd('YesOrNo', true)"
:inactive-text="$fd('YesOrNo', false)" :disabled="!scope.row.IsJoin" @change="compareStudy" />
</template>
</el-table-column>
<el-table-column
prop=""
width="100px"
:label="$t('common:action:action')"
fixed="right"
>
<el-table-column prop="" width="100px" :label="$t('common:action:action')" fixed="right">
<template slot-scope="scope">
<!-- 删除 -->
<el-button
:disabled="scope.row.IsJoin"
size="small"
type="text"
@click="moveMsg(scope.$index)"
>
{{ $t('trials:consistencyCheck:title:delete') }}
<el-button :disabled="scope.row.IsJoin" size="small" icon="el-icon-delete"
:title="$t('trials:consistencyCheck:title:delete')" circle @click="moveMsg(scope.$index)">
</el-button>
</template>
</el-table-column>
</el-table>
<el-form
ref="revenusForm"
size="small"
label-width="400px"
:label-position="'top'"
:rules="rules"
:model="form"
>
<el-form ref="revenusForm" size="small" label-width="400px" :label-position="'top'" :rules="rules"
:model="form">
<!-- IRC与实际情况影像检查不一致的原因为 -->
<el-form-item v-if="isLackOf" :label="$t('trials:consistencyCheck:title:title1')" prop="reason">
<el-checkbox-group v-model="form.reason" style="display: flex;flex-direction: column">
<el-checkbox style="display: block" :label="$t('trials:consistencyCheck:title:message9')">
<!-- <el-checkbox style="display: block" :label="$t('trials:consistencyCheck:title:message9')">
{{ $t('trials:consistencyCheck:title:message9') }}
</el-checkbox>
</el-checkbox> -->
<el-checkbox style="display: block" :label="$t('trials:consistencyCheck:title:message10')">
{{ $t('trials:consistencyCheck:title:message10') }}
</el-checkbox>
@ -107,41 +72,23 @@
</div>
<div class="function">
<!-- 发送 -->
<el-button
type="primary"
@click="handleReply"
>
<el-button type="primary" @click="handleReply">
{{ $t('trials:consistencyCheck:button:sendMessage') }}
</el-button>
</div>
<!-- 添加检查 -->
<el-dialog
v-if="studyVisible"
v-dialogDrag
:visible.sync="studyVisible"
:close-on-click-modal="false"
append-to-body
custom-class="base-dialog-wrapper"
:width="'500px'"
:title="$t('trials:consistencyCheck:title:addStudy')"
>
<el-dialog v-if="studyVisible" v-dialogDrag :visible.sync="studyVisible" :close-on-click-modal="false"
append-to-body custom-class="base-dialog-wrapper" :width="'500px'"
:title="$t('trials:consistencyCheck:title:addStudy')">
<el-form>
<div class="base-dialog-body">
<!-- 检查日期 -->
<el-form-item label-width="80px" :label="$t('trials:consistencyCheck:title:studyDate')">
<el-date-picker
v-model="typeInfo.StudyDate"
style="width: 100%"
type="date"
value-format="yyyy-MM-dd"
/>
<el-date-picker v-model="typeInfo.StudyDate" style="width: 100%" type="date" value-format="yyyy-MM-dd" />
</el-form-item>
<!-- 检查类型 -->
<el-form-item label-width="80px" :label="$t('trials:consistencyCheck:title:studyModality')">
<el-select
v-model="typeInfo.Modality"
style="width: 100%"
>
<el-select v-model="typeInfo.Modality" style="width: 100%">
<el-option v-for="item of $d.Modality" :label="item.raw.Value" :value="item.value" :key="item.id" />
</el-select>
</el-form-item>
@ -197,7 +144,7 @@ export default {
},
mounted() {
this.crcMessageInfo.ParamInfoList.forEach(v => {
this.msgList.push({ ...v, IsJoin: true, Ischeck: false })
this.msgList.push({ ...v, IsJoin: true, IsCheck: false, Id: this.getGuid(String(Date.now())) })
})
this.compareStudy()
},
@ -217,7 +164,9 @@ export default {
this.studyVisible = false
this.typeInfo = {
StudyDate: null,
Modality: null
Modality: null,
IsJoin: false,
IsCheck: true
}
},
handleSave() {
@ -225,7 +174,7 @@ export default {
this.$alert(this.$t('trials:consistencyCheck:title:title2'))// ''
return
}
this.msgList.push({ ...this.typeInfo })
this.msgList.push({ ...this.typeInfo, Id: this.getGuid(String(Date.now())) })
this.compareStudy()
this.studyVisible = false
this.typeInfo = {
@ -248,14 +197,20 @@ export default {
this.compareStudy()
})
},
handleReply() {
async handleReply() {
try {
if (this.msgList.length === 0) {
// ''
this.$alert(this.$t('trials:consistencyCheck:title:title4'))
return
}
this.$refs.revenusForm.validate((valid) => {
let valid = await this.$refs.revenusForm.validate()
if (!valid) return
let confirm = true
if (this.msgList.every(item => !item.IsCheck)) {
confirm = await this.$confirm(this.$t('trials:consistencyCheck:title:confirm'))
}
if (!confirm) return false
var TalkContent = ''
// '访<br>'
TalkContent += `${this.$t('trials:consistencyCheck:title:title5')}<br>`
@ -263,17 +218,25 @@ export default {
// `${i + 1}.${v.StudyDate}${v.Modality}<br>`
let msg = this.$t('trials:consistencyCheck:title:title6').replace('yyyy', v.StudyDate)
msg = msg.replace('xxx', v.Modality)
TalkContent += `${i + 1}. ${msg}<br>`
let message = `${i + 1}. ${msg}`
let index = this.IRCList.findIndex(item => item.Id === v.Id)
if (!!~index) {
let data = this.IRCList[index]
message += `${data.IsJoin && !data.IsCheck ? this.$t('trials:consistencyCheck:title:title8') : this.$t('trials:consistencyCheck:title:title9')}<br>`
} else {
message += `${this.$t('trials:consistencyCheck:title:title12')}<br>`
}
TalkContent += message
})
if (this.isLackOf) {
TalkContent += '<br>'
// 'IRC<br>'
TalkContent += `${this.$t('trials:consistencyCheck:title:title7')}<br>`
this.IRCList.forEach((v, i) => {
let msg = this.$t('trials:consistencyCheck:title:title6').replace('yyyy', v.StudyDate)
msg = msg.replace('xxx', v.Modality)
TalkContent += `${i + 1}.${msg}${v.IsJoin && !v.IsCheck ? this.$t('trials:consistencyCheck:title:title8') : this.$t('trials:consistencyCheck:title:title9')}<br>`
})
// TalkContent += '<br>'
// // 'IRC<br>'
// TalkContent += `${this.$t('trials:consistencyCheck:title:title7')}<br>`
// this.IRCList.forEach((v, i) => {
// let msg = this.$t('trials:consistencyCheck:title:title6').replace('yyyy', v.StudyDate)
// msg = msg.replace('xxx', v.Modality)
// TalkContent += `${i + 1}.${msg}${v.IsJoin && !v.IsCheck ? this.$t('trials:consistencyCheck:title:title8') : this.$t('trials:consistencyCheck:title:title9')}<br>`
// })
if (this.form.reason.length > 0) {
TalkContent += '<br>'
// 'IRC<br>'
@ -289,7 +252,9 @@ export default {
}
console.log(TalkContent)
this.$emit('sendMessage', TalkContent, this.closeLoading)
})
} catch (err) {
console.log(err)
}
}
}
}
@ -300,6 +265,7 @@ export default {
margin-top: 10px;
text-align: right;
}
::v-deep .el-form--label-top .el-form-item__label {
padding-bottom: 0;
padding-top: 20px;