Commit 41c9b298 authored by 刘予佳's avatar 刘予佳

审核标签接口变更 表单显隐

parent d050f880
......@@ -13,7 +13,7 @@ export function getSysCheckNote(params = {}) {
});
}
//新增意见标签
//保存意见标签
export function postSysCheckNote(data = {}) {
return request({
url: "/disease-data/sysCheckNote",
......@@ -22,18 +22,18 @@ export function postSysCheckNote(data = {}) {
});
}
//修改意见标签
export function putSysCheckNote(data = {}) {
return request({
url: "/disease-data/sysCheckNote",
method: "put",
data
});
}
//删除意见标签
export function delSysCheckNote(id) {
return request({
url: `/disease-data/sysCheckNote/${id}`,
method: "delete",
});
}
\ No newline at end of file
// //修改意见标签
// export function putSysCheckNote(data = {}) {
// return request({
// url: "/disease-data/sysCheckNote",
// method: "put",
// data
// });
// }
// //删除意见标签
// export function delSysCheckNote(id) {
// return request({
// url: `/disease-data/sysCheckNote/${id}`,
// method: "delete",
// });
// }
\ No newline at end of file
......@@ -5,18 +5,13 @@
:style="item.styles"
:class="{ isDefects: defectsSet.includes(item.prop) }"
>
<el-col
:lg="item.width"
:style="{ height: item.type === 'upload' ? '116px' : '53px' }"
>
<el-col :lg="item.width" :style="{ height: item.type === 'upload' ? '116px' : '53px' }">
<div
v-if="
showIndex || (configForms && configForms.showIndex) || item.showIndex
"
:class="['formIndex', item.labelSuffix == '5' ? 'computeIndex' : '']"
>
{{ item.labelSuffix || columnIndex + 1 }}
</div>
>{{ item.labelSuffix || columnIndex + 1 }}</div>
<!-- <el-form-item
:label="
!hiddenLabel && item.label
......@@ -50,11 +45,7 @@
></el-upload-self>
<!-- 表单改文本 -->
<template v-else-if="getVwForm.detail">
<form-item-text
:item="item"
:form="form"
:union-list="unionList"
></form-item-text>
<form-item-text :item="item" :form="form" :union-list="unionList"></form-item-text>
</template>
<!-- 可输入 -->
<template v-else>
......@@ -62,10 +53,10 @@
<el-input
v-if="item.type === 'input'"
v-model="form[item.prop]"
:class="item.prop == 'other_sickness' ? 'needlong' : ''"
:class="item.prop == 'other_sickness' ? 'needlong' : item.readonly ? 'read-input' :''"
:readonly="item.readonly"
:disabled="item.disabled"
:placeholder="
:placeholder="item.disabled || item.readonly ? '':
item.placeholder ||
` ${item.label ? '请输入' + item.label : ''}`
"
......@@ -85,14 +76,17 @@
slot="append"
class="toothBit"
@click="openToothBit"
>{{ item.append || "牙位" }}</el-button
>
<template v-else-if="item.append" slot="append">{{
>{{ item.append || "牙位" }}</el-button>
<template v-else-if="item.append" slot="append">
{{
item.append
}}</template>
<template v-if="item.prepend" slot="prepend">{{
}}
</template>
<template v-if="item.prepend" slot="prepend">
{{
item.prepend
}}</template>
}}
</template>
</el-input>
<!-- 密码框 -->
......@@ -115,12 +109,16 @@
"
@blur="handleBlur"
>
<template v-if="item.append" slot="append">{{
<template v-if="item.append" slot="append">
{{
item.append
}}</template>
<template v-if="item.prepend" slot="prepend">{{
}}
</template>
<template v-if="item.prepend" slot="prepend">
{{
item.prepend
}}</template>
}}
</template>
</el-input>
<!-- 文本域 -->
......@@ -166,13 +164,12 @@
v-if="item.append"
class="el-input-group__append"
style="line-height: 28px"
>{{ item.append }}</span
>
>{{ item.append }}</span>
</div>
<!-- 单选框 -->
<el-radio-group
v-if="item.type === 'radio'"
v-if="item.type === 'radio' && !item.disabled"
v-model="form[item.prop]"
:disabled="item.disabled"
@change="handleChange"
......@@ -181,9 +178,22 @@
v-for="(opt, optIndex) in item.dicData"
:key="optIndex"
:label="opt.value"
>{{ opt.label }}</el-radio
>
>{{ opt.label }}</el-radio>
</el-radio-group>
<!-- 单选框只读 -->
<div
v-for="(opt, optIndex) in item.dicData"
:key="optIndex"
v-else-if="item.type === 'radio' && item.disabled "
>
<el-radio
v-model="form[item.prop]"
:class="item.class ? item.class : item.disabled ? 'read-radio':''"
:label="opt.value"
v-show="opt.value == form[item.prop]"
@change="item.func ? item.func($event) : {}"
>{{ opt.label}}</el-radio>
</div>
<!-- 多选框 -->
<template v-if="item.type === 'checkbox'">
......@@ -196,8 +206,7 @@
v-for="(opt, optIndex) in item.dicData"
:key="optIndex"
:label="opt.value"
>{{ opt.label }}</el-checkbox
>
>{{ opt.label }}</el-checkbox>
</el-checkbox-group>
</template>
......@@ -259,6 +268,7 @@
:value-format="item.valueFormat"
:format="item.format"
:disabled="item.disabled"
:class="item.disabled ? 'read-time' : ''"
style="width: 100%"
clearable
@change="handleChange"
......@@ -275,11 +285,16 @@
:value-format="item.valueFormat"
:format="item.format"
:disabled="item.disabled"
:class="item.disabled ? 'read-time' : ''"
clearable
@change="handleChange"
></el-time-picker>
<!-- 日期 -->
<div v-else-if="item.type === 'date'" class="flex">
<div
v-else-if="item.type === 'date'"
class="flex"
:class="item.disabled ? 'read-time' : ''"
>
<el-date-picker
v-model="form[item.prop]"
:placeholder="item.placeholder ? item.placeholder : '请选择'"
......@@ -292,8 +307,7 @@
<span
v-if="item.prop == 'birthday'"
style="margin-left: 12px"
>{{ age + (age ? "岁" : "") }}</span
>
>{{ age + (age ? "岁" : "") }}</span>
</div>
<!-- 年 -->
<el-date-picker
......@@ -355,9 +369,10 @@
v-else-if="item.type === 'datetime'"
v-model="form[item.prop]"
type="datetime"
:placeholder="item.placeholder ? item.placeholder : '请选择'"
:placeholder="item.placeholder ? item.placeholder : item.disabled ? '':'请选择'"
clearable
:disabled="item.disabled"
:class="item.disabled ? 'read-time' : ''"
:picker-options="pickerOptions"
:value-format="item.valueFormat"
:format="item.format"
......@@ -385,8 +400,7 @@
<span
v-if="item.importantField && !getVwForm.detail"
class="important_field"
>{{ item.importantFieldDesc || "*" }}</span
>
>{{ item.importantFieldDesc || "*" }}</span>
</div>
</el-form-item>
</el-col>
......@@ -720,10 +734,29 @@ export default {
Object.keys(dyMap).forEach((key) => {
// !获取显隐目标
let targetItem = columns.find((_) => _.prop === key)
if (!targetItem) {
// !没有在表单子组件中找到,查找大表单id
targetItem = group.find((_) => _.prop === key)
}
//没有找到再细化查找
if (!targetItem) {
group.forEach((_) =>{
if(_.column){
_.column.find((item)=> {
if(item.prop === key){
targetItem = item
return
}
else{
if(item.children && item.children.column){
targetItem = item.children.column.find((e)=> e.prop=== key)
}
}
})
}
})
}
if (!targetItem) return
let display = false
......
......@@ -23,7 +23,10 @@
<!-- :http-request="handleUpload" -->
<template v-if="drag">
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div class="el-upload__text">
将文件拖到此处,或
<em>点击上传</em>
</div>
</template>
<template v-else-if="listType === 'picture-card'">
<i class="el-icon-plus"></i>
......@@ -37,13 +40,7 @@
<div slot="tip" class="el-upload__tip">{{ tip }}</div>
</el-upload>
<el-image
ref="image"
style="display: none"
:src="imgUrl"
:preview-src-list="previewList"
>
</el-image>
<el-image ref="image" style="display: none" :src="imgUrl" :preview-src-list="previewList"></el-image>
</el-row>
</template>
......
......@@ -27,7 +27,7 @@
<span v-if="editStatus" class="op">驳回修改建议:胃镜图片不合规</span>
</div>
</div>
<public-dialog ref="editDialog" @onSubmit="onSubmit" @onCancel="onCancel">
<public-dialog ref="editDialog" @onCancel="onCancel">
<!-- 修改审核结果 优先触发提示 -->
<template v-if="!confirmStatus" slot="content">
<div class="title">温馨提示</div>
......@@ -44,9 +44,9 @@
</div>
</template>
</public-dialog>
<public-dialog ref="publicDialog" @onSubmit="onSubmit" @onCancel="onCancel">
<public-dialog ref="publicDialog" @onCancel="onCancel">
<!-- 审核结果回显 -->
<template v-if="!confirmStatus" slot="content">
<template v-if="!confirmStatus && !showNote" slot="content">
<div class="title">{{ btnGroup[curBtn - 1] ? btnGroup[curBtn - 1].text : "" }}</div>
<div class="content" ref="publicContent">
<div v-if="curBtn != 1" class="noPass">
......@@ -79,39 +79,21 @@
>
<span>{{ item.note }}</span>
</el-tag>
<p class="handle-row" @click="handleEdit">编辑标签</p>
</div>
</div>
<p class="handle-row" @click="showNote = true">编辑标签</p>
</div>
<div class="btn">
<el-button type="primary" :loading="loading" @click="onSubmit">确 定</el-button>
</div>
</template>
<!-- 提交后结果 -->
<template v-if="confirmStatus" slot="content">
<div class="title">{{ btnGroup[curBtn - 1].text }}</div>
<div class="content">
<div v-if="curBtn == 1" class="pass">该病例审核合格成功!</div>
<div v-if="curBtn != 1" class="noPass">
<!-- 不合格和驳回 -->
<div class="label">{{ curBtn == 2 ? "不合格原因" : "驳回修改建议" }}</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" @click="nextExample" :loading="auditLoading">
<span v-if="tabActive < this.formEdit.length - 1">确认并进入下一列审核</span>
<span v-else>确 定</span>
</el-button>
<el-button type="primary" :loading="loading" @click="onCancel">确 定</el-button>
</div>
</template>
</public-dialog>
<!-- 标签操作 -->
<public-dialog ref="noteDialog" @onSubmit="onSubmit" @onCancel="onCancel" class="note-dialog">
<template v-if="!confirmStatus" slot="content">
<template slot="content" v-if="!confirmStatus && showNote">
<div class="left-back" @click="handleNoteDialog">
<i class="el-icon-back"></i>
</div>
<div class="title">编辑标签</div>
<div class="content" v-if="tagList.length>0" :style="{'min-height':minHeight}">
<div class="content note-dialog" v-if=" tagList.length>0" :style="{'min-height':minHeight}">
<el-row :key="index" v-for="(item, index) in tagList" class="mb-16">
<el-col :span="18">
<el-input
......@@ -120,12 +102,10 @@
class="tag-input"
:class="item.isSelect ? '' : 'unselect-tag'"
placeholder="请输入标签"
@click="seleckTag(item, index)"
@blur="handleTag(item)"
></el-input>
</el-col>
<el-col :span="3">
<span class="handle-text" style="color: #E02020;" @click="delTag(index)">删除</span>
<span class="handle-text" style="color: #E02020;" @click="delTag(item,index)">删除</span>
</el-col>
<el-col :span="2">
<span
......@@ -140,16 +120,10 @@
<div class="content" :style="{'min-height':minHeight}" v-else>
<el-row class="mb-16">
<el-col :span="18">
<el-input
size="medium"
v-model="newNote"
class="tag-input"
placeholder="请输入标签"
@blur="handleTag({note:newNote})"
></el-input>
<el-input size="medium" v-model="newNote" class="tag-input" placeholder="请输入标签"></el-input>
</el-col>
<el-col :span="3">
<span class="handle-text" style="color: #E02020;" @click="delTag(index)">删除</span>
<span class="handle-text" style="color: #E02020;" @click="delTag(item,index)">删除</span>
</el-col>
<el-col :span="2">
<span class="handle-text" style="color: #4E68FF;" @click="addTag">添加</span>
......@@ -157,11 +131,30 @@
</el-row>
</div>
<div class="btn">
<el-button type="primary" :loading="auditLoading" @click="noteSave">
<el-button type="primary" :loading="auditLoading" @click="saveTag">
<span>保 存</span>
</el-button>
</div>
</template>
<!-- 提交后结果 -->
<template v-if="confirmStatus" slot="content">
<div class="title">{{ btnGroup[curBtn - 1].text }}</div>
<div class="content">
<div v-if="curBtn == 1" class="pass">该病例审核合格成功!</div>
<div v-if="curBtn != 1" class="noPass">
<!-- 不合格和驳回 -->
<div class="label">{{ curBtn == 2 ? "不合格原因" : "驳回修改建议" }}</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" @click="nextExample" :loading="auditLoading">
<span v-if="tabActive < this.formEdit.length - 1">确认并进入下一列审核</span>
<span v-else>确 定</span>
</el-button>
</div>
</template>
</public-dialog>
</div>
</template>
......@@ -169,7 +162,7 @@
import publicDialog from "./components/publicDialog.vue"
import followReview from "./components/followReview.vue"
import { getFollowUnCheckDetail, putFollowCheck } from "@/api/followup"
import { getSysCheckNote,postSysCheckNote,putSysCheckNote,delSysCheckNote } from "@/api/note"
import { getSysCheckNote,postSysCheckNote } from "@/api/note"
export default {
components: { publicDialog, followReview },
data() {
......@@ -246,16 +239,16 @@ export default {
// },
],
newNote:'',
minHeight:'170px'
minHeight:'170px',
showNote:false
}
},
watch: {
tagList(){
this.$nextTick(() => {
this.minHeight = this.$refs.publicContent.offsetHeight + "px"
})
console.log('高度',this.$refs.publicContent.offsetHeight)
}
// tagList(){
// this.$nextTick(() => {
// this.minHeight = this.$refs.publicContent.offsetHeight + "px"
// })
// }
},
created() {
this.getDetail()
......@@ -269,9 +262,6 @@ export default {
},
},
methods: {
handleEdit() {
this.$refs.noteDialog.dialogVisible = true
},
showDialog(val, index) {
console.log("显示框", val)
this.curBtn = index + 1
......@@ -291,35 +281,14 @@ export default {
this.$refs.editDialog.dialogVisible = true
}
},
onSubmit() {
this.loading = true
// 切换文本
if (this.curBtn != 1) {
this.$refs.form.validate((valid) => {
if (valid) {
// alert("submit!")
// 保存成功,回显,调用接口
// 回调
this.confirmStatus = true
} else {
console.log("error submit!!")
return false
}
})
}
this.loading = false
// this.$refs.publicDialog.dialogVisible = true
},
onCancel() {
this.confirmStatus = false
if (this.curBtn != 1) {
this.form = {}
}
this.$refs.editDialog.dialogVisible = false
// this.$refs.publicDialog.dialogVisible = false
this.$refs.noteDialog.dialogVisible = false
this.$refs.publicDialog.dialogVisible = false
// this.$refs.noteDialog.dialogVisible = false
if (this.$refs.form) {
this.$refs.form.clearValidate()
}
......@@ -380,9 +349,19 @@ export default {
//选择标签
seleckTag(item, index) {
this.tagList[index]["isSelect"] = true
this.form.reason = this.form.reason + item.note
this.form.reason = this.form.reason + item.note + ''
this.$forceUpdate()
},
//标签保存
async saveTag(){
let params = this.tagList.map((e) => e.note)
let res = await postSysCheckNote(params)
if (res.code == 1) {
this.$message.success("保存标签成功")
this.getSysCheckNote()
// this.$refs.noteDialog.dialogVisible = false
}
},
//标签添加
addTag(){
this.tagList.push(
......@@ -392,22 +371,37 @@ export default {
)
this.$forceUpdate();
},
//标签对话框操作
noteSave(){
this.$refs.noteDialog.dialogVisible = false
//标签删除
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()
},
//添加、编辑标签
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)
}
}
// //标签保存对话框操作
// 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>
......@@ -543,4 +537,18 @@ export default {
}
}
}
.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;
}
}
</style>
......@@ -30,7 +30,6 @@ export default {
},
watch:{
model(val){
console.log('val',val)
switch(val){
case 'view':
this.disabled = true
......
......@@ -140,65 +140,7 @@ export default {
},
],
tableData: [
// {
// "patientId": "1598222607734341634",
// "name": "小飞", //姓名
// "idCard": "340822199510260215", //身份证
// "phone": "18311112222", //手机号
// "sex": 1, //性别
// "birthday": "2022-12-31 00:00:00", //生日
// "age": 18, //年龄
// "id": "", //id
// "unionName": "合肥高新附院", //医联体名称
// "screeningTime": "2022-12-01 00:00:00", //筛查时间
// "riskRank": "", //风险等级
// "followTime": "", //随访时间
// "followContents": "", //随访内容
// "nextFollowTime": "", //计划随访时间
// "followBatch": 0, //随访进度
// "unionId": "2", //联盟id
// "riskScore": "", //风险分数
// "screeningAdvise": "", //筛查建议
// "formRecordId": "", //表单记录id
// "linkPhone": "0556-5556666", //联系方式
// "isContinueFollow": 1, //是否继续随访
// "checkStatus": "", //审核状态
// "riskRank":"medium"
// },
// {
// name:'11',
// },
// {
// name:'11',
// },
// {
// name:'11',
// },
// {
// name:'11',
// },
// {
// name:'11',
// },
// {
// name:'11',
// },
// {
// name:'11',
// },
// {
// name:'11',
// },
// {
// name:'11',
// },
// {
// name:'11',
// },
// {
// name:'11',
// },
],//调试
],
formList: [
{
xs: 24,
......@@ -324,7 +266,7 @@ export default {
},
rowOpration(data, i,label) {
console.log('跳转',data, i,label)
this.$router.push({path:"/followupentry",query:{formEdit:JSON.stringify(data)}})
this.$router.push({path:"/followupentry",query:{patientId:data.patientId,formEdit:JSON.stringify(data)}})
},
onSearch(form) {
sessionStorage.setItem('followResearch-form',JSON.stringify(form))
......
......@@ -201,7 +201,7 @@ export default {
created() {
// 字典formType 1 筛查表单
this.getCurrentFormByType(this.formType)
console.log('大表单',this.disabled,this.tabDisabled)
console.log('大表单',this.disabled,this.tabDisabled,this.patientId)
},
methods: {
handleConfirm(data, done, cb) {
......@@ -392,7 +392,10 @@ export default {
// border-width: 0px 0px 0px 1px;
// }
.el-form-item {
height: 100%;
padding: 0px;
.el-form-item__label {
height: 100%;
text-align: left;
background: #fafafa;
font-size: 14px;
......@@ -403,10 +406,39 @@ export default {
padding: 18px 10px;
margin-right: 20px;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
}
}
.el-form-item {
padding: 0px;
}
}
//只读表单
::v-deep {
.read-input,
.read-time {
.el-input__inner {
border: none;
padding: 0px 30px 0px 15px;
cursor: text;
}
.el-input.is-disabled .el-input__icon,
.el-input__prefix {
display: none;
}
.el-input__icon {
}
}
.read-radio {
cursor: text;
.is-checked {
display: none;
}
.el-radio__input.is-checked + .el-radio__label {
color: #606266;
}
.el-radio__label {
padding-left: 15px;
}
}
}
......
......@@ -170,6 +170,7 @@ export default {
this.$refs.form.clearAge()
},
initData() {
console.log('初始化',this.formData)
this.formData.formRecordId = null
this.formCacheList = []
this.getPatientDetail()
......@@ -332,7 +333,7 @@ export default {
if (form["YZZKJC"] && typeof form["YZZKJC"] === "string") {
form["YZZKJC"] = JSON.parse(form["YZZKJC"])
}
console.log(form)
console.log('form形成',form,this.formData)
if (!cache) {
this.formData.formEdit = form
}
......@@ -357,6 +358,7 @@ export default {
this.formData.formEdit = form
},
getRecordList(formRecordId) {
console.log('获取表单id',formRecordId)
if (!this.patientId) return
getRecordList({
patientId: this.patientId,
......@@ -388,7 +390,7 @@ export default {
handler(v) {
if (v) {
this.$set(this.formData, "formEdit", { ...v })
console.log(this.formData.formEdit)
console.log('form-tab',this.formData.formEdit)
}
},
deep: true,
......
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