Commit 6a9a007a authored by liang's avatar liang

随访审核质控

parent 1495b22e
......@@ -47,7 +47,7 @@ export function getFollowUnCheckDetail(id) {
//随访病例审核
export function putFollowCheck(data = {}) {
return request({
url: "/disease-data/dataCheck/follow/check",
url: "/disease-data/dataCheck/follow/uncheck",
method: "put",
data,
})
......
......@@ -76,7 +76,8 @@ export default {
},
methods: {
handleUnionName(v) {
return this.unionLists.filter((e) => e.id == v)[0].unionName
const union = this.unionList.find((e) => e.id == v) || {}
return union.unionName || ""
},
},
filters: {
......
......@@ -227,8 +227,11 @@ export default {
this.$router.push({
path: "/followaudit",
query: {
id: data["id"],
unionId: data["unionId"],
unionName: data["unionName"],
patientId: data.patientId,
checkStatus: data["checkStatus"],
},
})
} else {
......
<template>
<div>
<el-dialog center :visible.sync="dialogVisible" width="40%" show-close @closed="cancelSubmit">
<el-dialog
center
:visible.sync="dialogVisible"
width="40%"
show-close
@closed="cancelSubmit"
>
<slot name="content"></slot>
<slot name="footer"></slot>
</el-dialog>
......@@ -24,4 +30,9 @@ export default {
},
}
</script>
<style lang="scss" scoped></style>
<style lang="scss" scoped>
::v-deep .el-dialog__body {
border-top: none;
text-align: center;
}
</style>
......@@ -4,22 +4,23 @@
<div class="audit-detail_header p-24">
<div class="left">
<span>当前审核</span>
<span class="f-b"
>{{ medicalCombination }}】【剩余{{ mcCount }}</span
<span class="f-b">{{ $route.query.unionName }}</span>
<span v-if="!editStatus" class="f-b"
>【【剩余{{ auditNum || 0 }}</span
>
</div>
<div class="right">
<el-button class="btn" @click="$router.go(-1)">返回</el-button>
</div>
</div>
<el-empty v-if="isEmpty"></el-empty>
<template v-if="!isEmpty">
<div class="table-content p-24">
<follow-review
:form-data-list="followNum"
:tab-active="tabActive"
></follow-review>
<FollowReview :currentRow="currentRow" titlePosition="left">
</FollowReview>
</div>
<div class="choose-handle p-24">
<span v-if="!editStatus">请选择审核结果:</span>
<div class="btn_group">
<el-button
v-for="(item, index) in btnGroup"
......@@ -30,33 +31,53 @@
@click="showDialog(item.value)"
>{{ item.text }}</el-button
>
<span v-if="editStatus" class="op">驳回修改建议:胃镜图片不合规</span>
<span v-if="editStatus" class="op"
>{{
checkStatus == "2"
? "驳回修改建议 : "
: checkStatus == "4"
? "不合格原因 : "
: ""
}}
{{ checkStatus == "3" ? "" : checkNote }}</span
>
</div>
</div>
<public-dialog ref="editDialog" @onCancel="onCancel">
</template>
<!-- 编辑提交前弹窗 -->
<public-dialog ref="editDialog" @onSubmit="onSubmit" @onCancel="onCancel">
<!-- 修改审核结果 优先触发提示 -->
<template v-if="!confirmStatus" slot="content">
<div class="title">温馨提示</div>
<div class="content">
<div class="showTips">
该病例已经审核【驳回修改】,需要改为{{
该病例已经审核【{{
checkStatus == 2
? "驳回修改"
: checkStatus == 3
? "合格"
: checkStatus == 4
? "不合格"
: ""
}}】,需要改为{{
btnGroup[curBtn - 1] ? btnGroup[curBtn - 1].text : ""
}}
</div>
</div>
<div class="btn">
<el-button type="primary" :loading="loading" @click="onCancel"
></el-button
>
<el-button type="primary" :loading="loading" @click="editSubmit"
></el-button
>
<el-button type="primary" @click="onCancel"></el-button>
<el-button type="primary" @click="editSubmit"></el-button>
</div>
</template>
</public-dialog>
<public-dialog ref="publicDialog" @onCancel="onCancel">
<public-dialog
ref="publicDialog"
:show-close="showClose"
@onSubmit="onSubmit"
@onCancel="onCancel"
>
<!-- 审核结果回显 -->
<template v-if="!confirmStatus" slot="content">
<template v-if="!confirmStatus && !editLabelFlag" slot="content">
<div class="title">
{{ btnGroup[curBtn - 1] ? btnGroup[curBtn - 1].text : "" }}
</div>
......@@ -72,7 +93,7 @@
>
<el-form-item
:label="curBtn == 2 ? '不合格原因' : '驳回修改建议'"
prop="reson"
prop="reason"
>
<el-input
v-model="form.reason"
......@@ -83,28 +104,103 @@
></el-input>
</el-form-item>
</el-form>
<!-- 标签 -->
<div v-loading="tagLoading" class="tag-form">
<el-tag
v-for="(item, index) in tagList"
<!-- 标签部分 -->
<div class="labelPlace">
<div class="labelList">
<template v-for="(item, index) in reasonList">
<div
v-if="item.note ? item.note.length <= 8 : false"
:key="index"
size="medium"
:class="item.isSelect ? '' : 'unselect-tag'"
@click="seleckTag(item, index)"
:class="[
'listItem',
selectedReason.includes(item.note) ? 'active' : '',
]"
@click="setReason(item)"
>
<span>{{ item.note }}</span>
</el-tag>
<p class="handle-row" @click="showNote = true">编辑标签</p>
<!-- selectedReason.includes(item) ? 'active' : '', -->
{{ item.note }}
</div>
<template v-if="item.note ? item.note.length > 8 : false">
<el-tooltip
:key="index"
class="item"
effect="dark"
:content="item.note"
placement="top"
>
<div
:class="[
'listItem',
selectedReason.includes(item.note) ? 'active' : '',
]"
@click="setReason(item)"
>
<!-- selectedReason.includes(item) ? 'active' : '', -->
{{ item.note }}
</div>
</el-tooltip>
</template>
</template>
</div>
<div class="labelEdit">
<span @click="editLabel">编辑标签</span>
</div>
</div>
</div>
</div>
<div class="btn">
<el-button type="primary" :loading="loading" @click="onSubmit"
>确 定</el-button
<el-button type="primary" :loading="loading" @click="onSubmit">{{
editStatus
? curBtn == 1
? "好的"
: "提交"
: "确认并进入下一例审核"
}}</el-button>
</div>
</template>
<!-- 标签的弹窗 -->
<template v-if="!confirmStatus && editLabelFlag" slot="content">
<div class="left-back" @click="editLabelFlag = false">
<i class="el-icon-back"></i>
</div>
<div class="title">编辑标签</div>
<div class="content">
<ul class="edit_reasonList">
<li v-for="(item, index) in reasonList" :key="index">
<el-input
v-model="item.note"
style="width: 86%"
placeholder="请输入标签内容"
clearable
>
</el-input>
<el-button
type="text"
style="color: red"
:disabled="reasonList.length == 1 && item.note == ''"
@click="deleteLabel(index)"
>删除</el-button
>
<el-button
v-show="index == reasonList.length - 1"
type="text"
@click="addLabel"
>新增</el-button
>
</li>
</ul>
</div>
<div class="btn">
<el-button
type="primary"
:loading="loading"
style="padding: 0 30px"
@click="saveLabel"
>保存</el-button
>
</div>
</template>
<!-- 提交后结果 -->
<!-- 提交后合格结果 -->
<template v-if="confirmStatus" slot="content">
<div class="title">{{ btnGroup[curBtn - 1].text }}</div>
<div class="content">
......@@ -114,23 +210,20 @@
<div class="label">
{{ curBtn == 2 ? "不合格原因" : "驳回修改建议" }}
</div>
<div class="reson">{{ form.reson }}</div>
<div class="reason">{{ form.reason }}</div>
</div>
</div>
<div v-if="curBtn != 1" class="showTips">
该病例审核{{ curBtn == 2 ? "不合格原因" : "驳回修改建议" }}提交成功!
</div>
<div class="btn">
<el-button
type="primary"
:loading="auditLoading"
@click="nextExample"
>
<span v-if="tabActive < formEdit.length - 1"
>确认并进入下一列审核</span
>
<span v-else>确 定</span>
</el-button>
<el-button type="primary" :loading="loading" @click="nextExample">{{
editStatus
? curBtn == 1
? "好的"
: "提交"
: "确认并进入下一例审核"
}}</el-button>
</div>
</template>
</public-dialog>
......@@ -138,240 +231,310 @@
</template>
<script>
import publicDialog from "./components/publicDialog.vue"
import followReview from "./components/followReview.vue"
import { getFollowUnCheckDetail, putFollowCheck } from "@/api/followup"
import { getSysCheckNote, postSysCheckNote } from "@/api/note"
import FollowReview from "../followupquery/components/FollowReview.vue"
import {
getFollowUnCheckDetail,
putFollowCheck,
putFollowCheckAdvice,
} from "@/api/followup"
import { saveSysCheckNote, getSysCheckNote } from "@/api/screeningAudit"
export default {
components: { publicDialog, followReview },
components: { publicDialog, FollowReview },
data() {
return {
medicalCombination: "无锡市人民医院医联体",
mcCount: 7,
isEmpty: false,
currentRow: {},
checkStatus: null,
editLabelFlag: false,
auditNum: 0,
editStatus: false, //进入的状态是第一次审核还是修改审核,false为第一次,true为修改
followNum: [
//随访次数数据
{ followId: 123, formRecordId: 123 },
{ followId: 123, formRecordId: 123 },
{ followId: 123, formRecordId: 123 },
{ followId: 123, formRecordId: 123 },
], //第几次随访数据
formEdit: {
name: "djksh",
contact_phone: "12345678",
is_accept: "0",
gas_exam: "15",
G_17: "5",
}, //填报数据
form: {},
form: {
reason: "",
},
patientId: "", // 当前人的patientId
checkNote: "",
checkStatus: "", // 传入的checkstatus
curUnion: "", // 当前医联体
id: "",
rules: {
reason: [{ required: true, message: "请填写", trigger: "blur" }],
},
reasonList: [],
selectedReason: [],
btnGroup: [
{
text: "合格",
value: 3,
value: 1,
},
{
text: "不合格",
value: 4,
value: 2,
},
{
text: "驳回修改",
value: 2,
value: 3,
},
],
loading: false,
curBtn: 0, //点击的按钮
curComponent: "followReview",
curBtn: 0,
curComponent: "screenReview",
confirmStatus: false,
tagList: [
// {
// note: "不合格原因",
// isSelect: false,
// },
// {
// note: "不合格原因不合格原因",
// },
// {
// note: "不合格原因",
// },
// {
// note: "不合格原因",
// },
// {
// note: "不合格原因",
// },
],
newNote: "",
minHeight: "170px",
showNote: false,
}
},
computed: {
unionId() {
return this.$route.query.id
return this.$route.query.unionId
},
showClose() {
return this.curBtn == 1 ? false : true
},
watch: {
// tagList(){
// this.$nextTick(() => {
// this.minHeight = this.$refs.publicContent.offsetHeight + "px"
// })
// }
},
created() {
// this.getDetail()
this.init()
},
methods: {
showDialog(val, index) {
console.log("显示框", val)
async getFollowUnCheckDetail() {
this.loading = true
let res = await getFollowUnCheckDetail(this.unionId)
const { now, nums } = res.data
this.auditNum = nums
this.currentRow = { ...now, followBatch: 1 }
this.loading = false
this.isEmpty = !nums
},
init() {
const { patientId, checkStatus, checkNote, id } = this.$route.query
this.editStatus = Boolean(patientId)
if (patientId) {
this.currentRow = {
id,
patientId: patientId,
followBatch: 1,
}
this.checkStatus = checkStatus
this.checkNote = checkNote
} else {
this.getFollowUnCheckDetail()
}
},
this.curBtn = index + 1
if (!this.editStatus) {
// 获取标签
getSysCheckNote() {
getSysCheckNote().then((res) => {
if (res.code == 1) {
let { data } = res
if (data && data.length > 0) {
this.reasonList = data
} else {
this.reasonList = [{ note: "" }]
}
}
})
},
// 编辑标签
editLabel() {
this.editLabelFlag = true
},
// 提交接口
putFollowCheck(checkStatus, func) {
const { id, patientId } = this.currentRow
let params = {
id,
checkStatus: checkStatus,
checkNote: this.form.reason,
patientId,
}
putFollowCheck(params)
.then((res) => {
if (res.code == 1 && res.data) {
func()
} else {
this.loading = false
}
})
.catch(() => {
this.loading = false
})
},
//! 修改审核结果
putFollowCheckAdvice(checkStatus, func) {
const { id, patientId } = this.currentRow
let params = {
id,
checkStatus: checkStatus,
checkNote: this.form.reason,
patientId,
}
putFollowCheckAdvice(params)
.then((res) => {
if (res.code == 1 && res.data) {
this.loading = false
this.checkStatus = checkStatus
this.checkNote = this.form.reason
func()
} else {
this.loading = false
this.$refs.publicDialog.dialogVisible = false
}
})
.catch(() => {
this.loading = false
})
},
// 设置理由
setReason({ note }) {
if (this.selectedReason.includes(note)) {
this.selectedReason = this.selectedReason.filter((e) => e != note)
} else {
this.selectedReason.push(note)
}
this.form.reason = this.selectedReason.join("")
},
//! 合格提交 checkStatus 合格-3 不合格-4 驳回修改-2 待审核-1
showDialog(val) {
this.curBtn = val
if (this.editStatus) {
//! 精准编辑
this.$refs.editDialog.dialogVisible = true
} else {
//! 医联体的审核
if (val == 1) {
this.$confirm("确定要提交审核吗?", "警告", {
type: "warning",
})
.then(() => {
if (this.curBtn == 1) {
// 走接口,保存合格
this.putFollowCheck("3", () => {
this.confirmStatus = true
} else if (this.curBtn == 2) {
this.rules.reason[0].message = "请输入不合格原因"
//获取审核标签
})
}
})
.catch(() => {})
} else {
this.getSysCheckNote()
if (this.curBtn == 2) {
this.rules.reason[0].message = "请输入不合格原因"
} else {
d
this.rules.reason[0].message = "请输入驳回修改建议"
}
this.$refs.publicDialog.dialogVisible = true
}
}
},
// 不合格提交
onSubmit() {
this.loading = true
// 切换文本
if (this.curBtn != 1) {
this.$refs.form.validate((valid) => {
if (valid) {
let status = this.curBtn == 2 ? "4" : this.curBtn == 3 ? "2" : ""
if (this.editStatus) {
this.putFollowCheckAdvice(status, () => {
this.$message.success("提交审核成功")
this.onCancel()
})
} else {
this.$refs.editDialog.dialogVisible = true
this.putFollowCheck(status, () => {
this.$message.success("提交审核成功")
this.nextExample()
})
}
} else {
this.loading = false
return false
}
})
}
// this.$refs.publicDialog.dialogVisible = true
},
onCancel() {
this.confirmStatus = false
this.editLabelFlag = false
this.selectedReason = []
if (this.curBtn != 1) {
this.form = {}
this.form = { reason: "" }
}
this.$refs.editDialog.dialogVisible = false
this.$refs.publicDialog.dialogVisible = false
// this.$refs.noteDialog.dialogVisible = false
if (this.$refs.form) {
this.$refs.form.clearValidate()
}
},
// 修改提交
editSubmit() {
// this.$refs.editDialog.dialogVisible = false
if (this.curBtn == 1) {
// 走接口,保存合格
if (this.editStatus) {
// 走接口,保存合格
this.putFollowCheckAdvice("3", () => {
this.confirmStatus = true
} else if (this.curBtn == 2) {
this.$refs.publicDialog.dialogVisible = true
this.selectedReason = []
})
}
} else {
this.getSysCheckNote()
if (this.curBtn == 2) {
this.rules.reason[0].message = "请输入不合格原因"
} else {
this.rules.reason[0].message = "请输入驳回修改建议"
}
this.$refs.publicDialog.dialogVisible = true
}
},
nextExample() {
if (Number(this.tabActive) < this.formEdit.length - 1) {
this.tabActive = String(Number(this.tabActive) + 1)
}
console.log("tab激活", this.tabActive)
if (this.editStatus) {
this.loading = false
this.onCancel()
},
async getDetail() {
this.loading = true
let res = await getFollowUnCheckDetail(this.unionId)
if (res.code == 1) {
this.formEdit = res.data[0]
} else {
this.onCancel()
this.getFollowUnCheckDetail()
}
this.loading = false
},
//审核
async handleCheck() {
this.auditLoading = true
let params = {
id: this.formEdit[this.tabActive],
checkStatus: this.btnGroup[this.curBtn].value,
checkNote: this.form.reason,
patientId: this.unionId,
}
console.log("审核值", params)
// let res = await putFollowCheck(params)
// if(res.code==1){
// // this.formEdit=res.data //调试注释
// }
this.auditLoading = false
deleteLabel(i) {
this.$confirm("确定要删除该标签吗?", "警告", {
type: "warning",
})
.then(() => {
this.reasonList = this.reasonList.filter((e, index) => index != i)
if (this.reasonList.length == 0) {
this.reasonList = [
{
note: "",
},
// 获取审核标签
async getSysCheckNote() {
this.tagLoading = true
let res = await getSysCheckNote()
if (res.code == 1) {
this.tagList = res.data
]
}
this.tagLoading = false
})
.catch(() => {})
},
//选择标签
seleckTag(item, index) {
this.tagList[index]["isSelect"] = true
this.form.reason = this.form.reason + item.note + ""
this.$forceUpdate()
// 增加标签
addLabel() {
this.reasonList.push({
note: "",
})
},
//标签保存
async saveTag() {
let params = this.tagList.map((e) => e.note)
let res = await postSysCheckNote(params)
// 保存标签
saveLabel() {
let arr = this.reasonList.map((e) => e.note)
saveSysCheckNote(arr).then((res) => {
if (res.code == 1) {
this.$message.success("保存标签成功")
this.getSysCheckNote()
// this.$refs.noteDialog.dialogVisible = false
this.editLabelFlag = false
}
},
//标签添加
addTag() {
this.tagList.push({
note: "",
})
this.$forceUpdate()
},
//标签删除
delTag(item, index) {
this.$confirm("确定要删除该标签吗?", "警告", {
type: "warning",
})
.then(() => {
this.tagList = this.tagList.filter((e, i) => i != index)
})
.catch(() => {})
},
//标签对话框关闭
handleNoteDialog(i) {
this.showNote = false
this.getSysCheckNote()
},
// //标签保存对话框操作
// noteSave(){
// this.$refs.noteDialog.dialogVisible = false
// this.getSysCheckNote()
// },
// //添加、编辑标签
// async handleTag(item){
// if(!item.note) return
// else{
// let params = {
// note:item.note
// }
// item.id ? params['id']=item.id : ''
// let res = item.id ? await putSysCheckNote(params) : await postSysCheckNote(params)
// }
// }
},
}
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__body {
border-top: none;
text-align: center;
.tips {
.tips {
font-size: 16px;
}
}
.p-24 {
padding: 0 24px;
......@@ -382,6 +545,8 @@ export default {
}
#audit-detail {
display: flex;
flex-direction: column;
// padding: 22px 24px;
.audit-detail_header {
height: 65px;
......@@ -390,11 +555,13 @@ export default {
display: flex;
justify-content: space-between;
.right {
display: flex;
align-items: center;
.btn {
margin-top: 0px;
width: 80px;
height: 32px;
border-radius: 4px;
margin-top: 0px;
}
}
}
......@@ -405,7 +572,7 @@ export default {
font-size: 14px;
font-family: AlibabaPuHuiTiM;
color: #333333;
box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
// box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
border-top: 1px solid rgba(0, 0, 0, 0.1);
display: flex;
.btn_group {
......@@ -425,7 +592,7 @@ export default {
line-height: 26px;
}
.content {
margin: 28px 23px;
margin: 58px;
.pass {
font-size: 18px;
font-family: AlibabaPuHuiTiM;
......@@ -436,7 +603,8 @@ export default {
.btn {
margin-top: 20px;
.el-button {
// width: 100px;
min-width: 100px;
border-radius: 5px;
height: 32px;
}
}
......@@ -457,59 +625,75 @@ export default {
margin-left: 20px;
}
.table-content {
// height: calc(100vh - 260px);
// overflow: auto;
padding-top: 20px;
padding-bottom: 20px;
}
.tag-form {
text-align: initial;
::v-deep {
.el-tag {
margin: 0px 12px 12px 0px;
.empty {
width: 100%;
height: 15px;
background: #f6f8f9;
}
.left-back {
position: absolute;
padding: 7px 5px;
top: 10px;
font-size: 20px;
text-align: left;
cursor: pointer;
border-color: #4e68ff;
span {
display: inline-block;
}
}
.unselect-tag {
}
.labelPlace {
.labelList {
display: flex;
flex-wrap: wrap;
.listItem {
cursor: pointer;
max-width: 200px;
white-space: nowrap;
display: block;
overflow: hidden;
text-overflow: ellipsis;
padding: 8px 12px;
border: 1px solid rgba(78, 104, 255, 0.06);
background: rgba(78, 104, 255, 0.06);
border-radius: 2px;
margin: 0 12px 12px 0;
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
color: #353a45;
border-color: #edf0ff;
}
user-select: none;
}
.handle-row {
.active {
background: rgba(78, 104, 255, 0.1);
color: #4e68ff;
text-decoration: underline;
text-align: right;
cursor: pointer;
}
}
.note-dialog {
::v-deep {
.tag-input {
.el-input__inner {
background-color: rgba(78, 104, 255, 0.06);
border-radius: 2px;
border: 1px solid #4e68ff;
}
}
.handle-text {
line-height: 36px;
.labelEdit {
font-size: 14px;
text-align: right;
span {
cursor: pointer;
}
user-select: none;
font-family: PingFangSC-Medium, PingFang SC;
color: rgba(78, 120, 255);
text-decoration: underline;
&:active {
color: rgba(78, 50, 255);
}
}
}
.left-back {
position: absolute;
padding: 7px 5px;
top: 10px;
font-size: 22px;
text-align: left;
cursor: pointer;
}
::v-deep {
.el-dialog__headerbtn {
font-weight: bold;
font-size: 22px;
.edit_reasonList {
li {
display: flex;
margin-bottom: 16px;
.el-button {
margin-left: 12px;
font-size: 14px;
}
}
}
</style>
......@@ -4,12 +4,12 @@
<el-header v-if="titlePosition === 'top'">
<div class="follow-tab-top">
<el-tabs v-model="activeTab" type="card">
<el-tab-pane label="筛查" name="999"></el-tab-pane>
<el-tab-pane label="筛查" name="0"></el-tab-pane>
<el-tab-pane
v-for="(item, index) in followList"
:key="index"
:label="'第' + Number(index + 1) + '次随访数据'"
:name="String(index)"
:name="String(index + 1)"
></el-tab-pane>
</el-tabs>
</div>
......@@ -17,7 +17,7 @@
<slot name="button"></slot>
</div>
</el-header>
<el-container v-loading="fromLoading">
<el-container>
<el-aside width="auto" v-if="titlePosition === 'left'">
<div class="follow-tab">
<el-tabs
......@@ -25,27 +25,36 @@
tab-position="right"
style="height: 200px"
>
<el-tab-pane label="筛查病例数据" name="999"></el-tab-pane>
<el-tab-pane label="筛查病例数据" name="0">
<template slot="label">
<div class="tab-label">筛查病例数据</div></template
>
</el-tab-pane>
<el-tab-pane
v-for="(item, index) in followList"
:key="index"
:label="'第' + Number(index + 1) + '次随访数据'"
:name="String(index)"
></el-tab-pane>
:name="String(index + 1)"
>
<template slot="label">
<div class="tab-label">
{{ "" + Number(index + 1) + "次随访数据" }}
</div></template
>
</el-tab-pane>
</el-tabs>
</div>
</el-aside>
<el-main class="transition-box">
<el-main class="transition-box" v-loading="fromLoading">
<div class="my_form">
<MyCustomForm
v-show="activeTab === '999'"
v-show="activeTab === '0'"
v-for="form in formTabs"
:key="form.id"
:form="form"
:patientId="currentRow.patientId"
></MyCustomForm>
<MyCustomForm
v-show="activeTab !== '999'"
v-show="activeTab !== '0'"
v-for="form in followForms"
:key="form.id"
:form="form"
......@@ -104,7 +113,7 @@ export default {
fromLoading: false,
formTabs: [],
followForms: [],
activeTab: "999",
activeTab: "0",
screenList: [],
followList: [],
}
......@@ -118,8 +127,8 @@ export default {
},
followId() {
return (
(this.followList[this.activeTab] &&
this.followList[this.activeTab].followId) ||
(this.followList[this.activeTab - 1] &&
this.followList[this.activeTab - 1].followId) ||
null
)
},
......@@ -128,13 +137,17 @@ export default {
followId() {
this.getLogList()
},
},
created() {
"currentRow.patientId": {
handler(val) {
if (val) {
this.getCurrentFormByType()
this.getFollowInfo()
this.getLogList()
}
},
immediate: true,
},
},
methods: {
getLogList() {
const obj = {
......@@ -179,6 +192,7 @@ export default {
patientFrom: this.$store.getters["table/selectedIndex"],
}).then((res) => {
this.followList = res.data.filter((_) => _.followBatch > 0)
this.activeTab = String(this.followList.length)
})
},
getFollowInfo() {
......@@ -199,7 +213,7 @@ export default {
justify-content: space-between;
}
.follow-tab-top {
width: calc(100% - 200px);
width: calc(100vh - 200px);
padding-left: 10px;
::v-deep {
.el-tabs--card > .el-tabs__header {
......@@ -223,26 +237,30 @@ export default {
}
}
.my_form {
height: calc(100vh - 200px);
height: calc(100vh - 280px);
overflow-y: auto;
}
.el-main {
padding: 0px 20px;
}
.el-aside {
padding-bottom: 20px;
}
.extra_btn {
width: 170px;
text-align: right;
margin-top: 5px;
}
.follow-tab {
::v-deep {
border-radius: 4px;
border: 1px solid #cccccc;
height: calc(100vh - 200px);
height: calc(100vh - 280px);
overflow: overlay;
::v-deep {
.tab-label {
border-bottom: 1px solid #ccc;
padding: 0 20px;
height: 60px;
line-height: 60px;
}
.el-tabs__header {
margin-left: 0px;
}
......@@ -251,7 +269,6 @@ export default {
}
.el-tabs__active-bar.is-right {
width: 3px;
height: 52px !important;
}
.el-tabs--right {
height: auto !important;
......@@ -263,12 +280,11 @@ export default {
border-bottom: 1px solid #cccccc;
}
.el-tabs__item {
padding: 16px;
width: 180px;
padding: 0;
background: #fafafa;
height: auto;
line-height: inherit;
border-bottom: 1px solid #cccccc;
height: 60px;
line-height: 60px;
transition: all 1s;
}
.el-tabs__item.is-active {
......@@ -282,7 +298,7 @@ export default {
height: 100%;
background: #fafafa;
padding-right: 15px;
height: calc(100vh - 200px);
height: calc(100vh - 280px);
overflow-y: overlay;
li {
padding: 16px;
......
<template>
<div>
<el-skeleton v-if="isEmpty" animated />
<custom-form
v-if="!isEmpty"
class="mb-20"
......@@ -7,6 +9,7 @@
:options="widgetFormPreview"
:form-edit="formEdit"
></custom-form>
</div>
</template>
<script>
import { getPatientDetail, getFollowDetail } from "@/api/patient.js"
......@@ -83,6 +86,7 @@ export default {
this.$nextTick(() => {
this.$refs.form && this.$refs.form.resetForm()
})
this.loading = true
getFollowDetail({
followId: this.followId,
formId: this.form.formId,
......
......@@ -308,6 +308,7 @@ export default {
// 处理followId 针对随访查询的列表数据的查询和修改操作
if (this.$route.path == "/followupentry") {
params.followId = this.followId || this.getTabFollowId
params.formRecordId = this.formData.formRecordId
}
this.$emit("handleConfirm", params, done, (res) => {
// 多次填写的表单新增时,获取最新数据
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment