一致性核查回复修改
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
f2ee666083
commit
64e67ad106
|
@ -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"
|
||||
|
|
|
@ -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,42 +72,24 @@
|
|||
</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-option v-for="item of $d.Modality" :label="item.raw.Value" :value="item.value" :key="item.id"/>
|
||||
<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>
|
||||
</div>
|
||||
|
@ -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,18 +252,21 @@ export default {
|
|||
}
|
||||
console.log(TalkContent)
|
||||
this.$emit('sendMessage', TalkContent, this.closeLoading)
|
||||
})
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.function{
|
||||
.function {
|
||||
margin-top: 10px;
|
||||
text-align: right;
|
||||
}
|
||||
::v-deep .el-form--label-top .el-form-item__label{
|
||||
|
||||
::v-deep .el-form--label-top .el-form-item__label {
|
||||
padding-bottom: 0;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue