一致性核查回复修改
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') }}
|
{{ $t('trials:consistencyCheck:button:sendMessage') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 回复 -->
|
<!-- 回复 :disabled="!(checkState === 10 && checkChallengeState !== 3) || (recordContent && recordContent.length > 0 ? recordContent[recordContent.length - 1].UserTypeEnum * 1 === 2 : false)" -->
|
||||||
<el-button
|
<el-button
|
||||||
v-hasPermi="['role:crc']"
|
v-hasPermi="['role:crc']"
|
||||||
:disabled="!(checkState === 10 && checkChallengeState !== 3) || (recordContent && recordContent.length > 0 ? recordContent[recordContent.length - 1].UserTypeEnum * 1 === 2 : false)"
|
|
||||||
type="primary"
|
type="primary"
|
||||||
:loading="btnLoading"
|
:loading="btnLoading"
|
||||||
@click="handleCRCReply"
|
@click="handleCRCReply"
|
||||||
|
|
|
@ -6,94 +6,59 @@
|
||||||
<div>
|
<div>
|
||||||
<div style="padding: 10px;background: #f3f3f3;border-radius: 10px;margin-top: 10px">
|
<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 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') }}
|
{{ $t('trials:consistencyCheck:title:message20') }}
|
||||||
</div>
|
</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>
|
</div>
|
||||||
<el-table
|
<el-table :data="msgList">
|
||||||
:data="msgList"
|
|
||||||
>
|
|
||||||
<el-table-column type="index" width="40" />
|
<el-table-column type="index" width="40" />
|
||||||
<!-- 检查日期 -->
|
<!-- 检查日期 -->
|
||||||
<el-table-column
|
<el-table-column prop="" :label="$t('trials:consistencyCheck:title:studyDate')" show-overflow-tooltip>
|
||||||
prop=""
|
|
||||||
:label="$t('trials:consistencyCheck:title:studyDate')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.row.StudyDate }}
|
{{ scope.row.StudyDate }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- 检查类型 -->
|
<!-- 检查类型 -->
|
||||||
<el-table-column
|
<el-table-column prop="" :label="$t('trials:consistencyCheck:title:studyModality')" show-overflow-tooltip>
|
||||||
prop=""
|
|
||||||
:label="$t('trials:consistencyCheck:title:studyModality')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.row.Modality }}
|
{{ scope.row.Modality }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- 已提交 -->
|
<!-- 已提交 -->
|
||||||
<el-table-column
|
<el-table-column prop="" :label="$t('trials:consistencyCheck:title:submitted')" show-overflow-tooltip>
|
||||||
prop=""
|
|
||||||
:label="$t('trials:consistencyCheck:title:submitted')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ $fd('YesOrNo', scope.row.IsJoin) }}
|
{{ $fd('YesOrNo', scope.row.IsJoin) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- 实际存在 -->
|
<!-- 实际存在 -->
|
||||||
<el-table-column
|
<el-table-column prop="" :label="$t('trials:consistencyCheck:title:existed')" show-overflow-tooltip
|
||||||
prop=""
|
min-width="120px">
|
||||||
:label="$t('trials:consistencyCheck:title:existed')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-switch
|
<el-switch v-model="scope.row.IsCheck" :active-text="$fd('YesOrNo', true)"
|
||||||
v-model="scope.row.IsCheck"
|
:inactive-text="$fd('YesOrNo', false)" :disabled="!scope.row.IsJoin" @change="compareStudy" />
|
||||||
:disabled="!scope.row.IsJoin"
|
|
||||||
@change="compareStudy"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column prop="" width="100px" :label="$t('common:action:action')" fixed="right">
|
||||||
prop=""
|
|
||||||
width="100px"
|
|
||||||
:label="$t('common:action:action')"
|
|
||||||
fixed="right"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<!-- 删除 -->
|
<!-- 删除 -->
|
||||||
<el-button
|
<el-button :disabled="scope.row.IsJoin" size="small" icon="el-icon-delete"
|
||||||
:disabled="scope.row.IsJoin"
|
:title="$t('trials:consistencyCheck:title:delete')" circle @click="moveMsg(scope.$index)">
|
||||||
size="small"
|
|
||||||
type="text"
|
|
||||||
@click="moveMsg(scope.$index)"
|
|
||||||
>
|
|
||||||
{{ $t('trials:consistencyCheck:title:delete') }}
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<el-form
|
<el-form ref="revenusForm" size="small" label-width="400px" :label-position="'top'" :rules="rules"
|
||||||
ref="revenusForm"
|
:model="form">
|
||||||
size="small"
|
|
||||||
label-width="400px"
|
|
||||||
:label-position="'top'"
|
|
||||||
:rules="rules"
|
|
||||||
:model="form"
|
|
||||||
>
|
|
||||||
<!-- IRC与实际情况影像检查不一致的原因为: -->
|
<!-- IRC与实际情况影像检查不一致的原因为: -->
|
||||||
<el-form-item v-if="isLackOf" :label="$t('trials:consistencyCheck:title:title1')" prop="reason">
|
<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-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') }}
|
{{ $t('trials:consistencyCheck:title:message9') }}
|
||||||
</el-checkbox>
|
</el-checkbox> -->
|
||||||
<el-checkbox style="display: block" :label="$t('trials:consistencyCheck:title:message10')">
|
<el-checkbox style="display: block" :label="$t('trials:consistencyCheck:title:message10')">
|
||||||
{{ $t('trials:consistencyCheck:title:message10') }}
|
{{ $t('trials:consistencyCheck:title:message10') }}
|
||||||
</el-checkbox>
|
</el-checkbox>
|
||||||
|
@ -107,42 +72,24 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="function">
|
<div class="function">
|
||||||
<!-- 发送 -->
|
<!-- 发送 -->
|
||||||
<el-button
|
<el-button type="primary" @click="handleReply">
|
||||||
type="primary"
|
|
||||||
@click="handleReply"
|
|
||||||
>
|
|
||||||
{{ $t('trials:consistencyCheck:button:sendMessage') }}
|
{{ $t('trials:consistencyCheck:button:sendMessage') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<!-- 添加检查 -->
|
<!-- 添加检查 -->
|
||||||
<el-dialog
|
<el-dialog v-if="studyVisible" v-dialogDrag :visible.sync="studyVisible" :close-on-click-modal="false"
|
||||||
v-if="studyVisible"
|
append-to-body custom-class="base-dialog-wrapper" :width="'500px'"
|
||||||
v-dialogDrag
|
:title="$t('trials:consistencyCheck:title:addStudy')">
|
||||||
: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>
|
<el-form>
|
||||||
<div class="base-dialog-body">
|
<div class="base-dialog-body">
|
||||||
<!-- 检查日期 -->
|
<!-- 检查日期 -->
|
||||||
<el-form-item label-width="80px" :label="$t('trials:consistencyCheck:title:studyDate')">
|
<el-form-item label-width="80px" :label="$t('trials:consistencyCheck:title:studyDate')">
|
||||||
<el-date-picker
|
<el-date-picker v-model="typeInfo.StudyDate" style="width: 100%" type="date" value-format="yyyy-MM-dd" />
|
||||||
v-model="typeInfo.StudyDate"
|
|
||||||
style="width: 100%"
|
|
||||||
type="date"
|
|
||||||
value-format="yyyy-MM-dd"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 检查类型 -->
|
<!-- 检查类型 -->
|
||||||
<el-form-item label-width="80px" :label="$t('trials:consistencyCheck:title:studyModality')">
|
<el-form-item label-width="80px" :label="$t('trials:consistencyCheck:title:studyModality')">
|
||||||
<el-select
|
<el-select v-model="typeInfo.Modality" style="width: 100%">
|
||||||
v-model="typeInfo.Modality"
|
<el-option v-for="item of $d.Modality" :label="item.raw.Value" :value="item.value" :key="item.id" />
|
||||||
style="width: 100%"
|
|
||||||
>
|
|
||||||
<el-option v-for="item of $d.Modality" :label="item.raw.Value" :value="item.value" :key="item.id"/>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
@ -197,7 +144,7 @@ export default {
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.crcMessageInfo.ParamInfoList.forEach(v => {
|
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()
|
this.compareStudy()
|
||||||
},
|
},
|
||||||
|
@ -217,7 +164,9 @@ export default {
|
||||||
this.studyVisible = false
|
this.studyVisible = false
|
||||||
this.typeInfo = {
|
this.typeInfo = {
|
||||||
StudyDate: null,
|
StudyDate: null,
|
||||||
Modality: null
|
Modality: null,
|
||||||
|
IsJoin: false,
|
||||||
|
IsCheck: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleSave() {
|
handleSave() {
|
||||||
|
@ -225,7 +174,7 @@ export default {
|
||||||
this.$alert(this.$t('trials:consistencyCheck:title:title2'))// '请选择检查日期和检查类型'
|
this.$alert(this.$t('trials:consistencyCheck:title:title2'))// '请选择检查日期和检查类型'
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.msgList.push({ ...this.typeInfo })
|
this.msgList.push({ ...this.typeInfo, Id: this.getGuid(String(Date.now())) })
|
||||||
this.compareStudy()
|
this.compareStudy()
|
||||||
this.studyVisible = false
|
this.studyVisible = false
|
||||||
this.typeInfo = {
|
this.typeInfo = {
|
||||||
|
@ -248,14 +197,20 @@ export default {
|
||||||
this.compareStudy()
|
this.compareStudy()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleReply() {
|
async handleReply() {
|
||||||
if (this.msgList.length === 0) {
|
try {
|
||||||
// '请录入真实的检查情况'
|
if (this.msgList.length === 0) {
|
||||||
this.$alert(this.$t('trials:consistencyCheck:title:title4'))
|
// '请录入真实的检查情况'
|
||||||
return
|
this.$alert(this.$t('trials:consistencyCheck:title:title4'))
|
||||||
}
|
return
|
||||||
this.$refs.revenusForm.validate((valid) => {
|
}
|
||||||
|
let valid = await this.$refs.revenusForm.validate()
|
||||||
if (!valid) return
|
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 = ''
|
var TalkContent = ''
|
||||||
// '经核实,该受试者当前访视的实际影像检查如下:<br>'
|
// '经核实,该受试者当前访视的实际影像检查如下:<br>'
|
||||||
TalkContent += `${this.$t('trials:consistencyCheck:title:title5')}<br>`
|
TalkContent += `${this.$t('trials:consistencyCheck:title:title5')}<br>`
|
||||||
|
@ -263,17 +218,25 @@ export default {
|
||||||
// `${i + 1}.${v.StudyDate}的${v.Modality}影像检查<br>`
|
// `${i + 1}.${v.StudyDate}的${v.Modality}影像检查<br>`
|
||||||
let msg = this.$t('trials:consistencyCheck:title:title6').replace('yyyy', v.StudyDate)
|
let msg = this.$t('trials:consistencyCheck:title:title6').replace('yyyy', v.StudyDate)
|
||||||
msg = msg.replace('xxx', v.Modality)
|
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) {
|
if (this.isLackOf) {
|
||||||
TalkContent += '<br>'
|
// TalkContent += '<br>'
|
||||||
// 'IRC与实际情况不一致影像检查如下:<br>'
|
// // 'IRC与实际情况不一致影像检查如下:<br>'
|
||||||
TalkContent += `${this.$t('trials:consistencyCheck:title:title7')}<br>`
|
// TalkContent += `${this.$t('trials:consistencyCheck:title:title7')}<br>`
|
||||||
this.IRCList.forEach((v, i) => {
|
// this.IRCList.forEach((v, i) => {
|
||||||
let msg = this.$t('trials:consistencyCheck:title:title6').replace('yyyy', v.StudyDate)
|
// let msg = this.$t('trials:consistencyCheck:title:title6').replace('yyyy', v.StudyDate)
|
||||||
msg = msg.replace('xxx', v.Modality)
|
// 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 += `${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) {
|
if (this.form.reason.length > 0) {
|
||||||
TalkContent += '<br>'
|
TalkContent += '<br>'
|
||||||
// 'IRC与实际情况影像检查不一致的原因为:<br>'
|
// 'IRC与实际情况影像检查不一致的原因为:<br>'
|
||||||
|
@ -289,18 +252,21 @@ export default {
|
||||||
}
|
}
|
||||||
console.log(TalkContent)
|
console.log(TalkContent)
|
||||||
this.$emit('sendMessage', TalkContent, this.closeLoading)
|
this.$emit('sendMessage', TalkContent, this.closeLoading)
|
||||||
})
|
} catch (err) {
|
||||||
|
console.log(err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.function{
|
.function {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
text-align: right;
|
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-bottom: 0;
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue