Commit 4198bb1c authored by miaojiale's avatar miaojiale

1.审核质控列表筛查接口

2.过期跳转
3.数据概览修改地址
4.筛查查询医联体回显问题
5.审核质控表单和数据
parent 11ce260f
......@@ -5,7 +5,7 @@ import request from "@/utils/request"
// 累计上报
export function getPatientPage(params = {}) {
return request({
url: "/disease-data/data/patient/page",
url: "/disease-data/data/report/page",
method: "get",
params,
})
......
import request from "@/utils/request"
/**
* 筛查审核
*
* */
///////////////筛查质控/////////////////////
//筛查已审核列表
export function getScreeningCheck(params = {}) {
return request({
url: "/disease-data/dataCheck/screening/check",
method: "get",
params,
})
}
//筛查待审核列表
export function getScreeningUncheck(params = {}) {
return request({
url: "/disease-data/dataCheck/screening/unCheck",
method: "get",
params,
})
}
//筛查病例待审核(用户)
export function getScreeningUser(id) {
return request({
url: `/disease-data/dataCheck/screening/unCheck/detail/${id}`,
method: "get",
})
}
// //随访病例审核
// export function putFollowCheck(data = {}) {
// return request({
// url: "/disease-data/dataCheck/follow/check",
// method: "put",
// data,
// })
// }
// //修改随访审核意见
// export function putFollowCheckAdvice(data = {}) {
// return request({
// url: "/disease-data/dataCheck/follow/check/advice",
// method: "put",
// data,
// })
// }
......@@ -53,7 +53,7 @@
<form-item-text
:item="item"
:form="form"
:unionList="unionList"
:union-list="unionList"
></form-item-text>
</template>
<!-- 可输入 -->
......@@ -279,7 +279,7 @@
@change="handleChange"
></el-time-picker>
<!-- 日期 -->
<div class="flex" v-else-if="item.type === 'date'">
<div v-else-if="item.type === 'date'" class="flex">
<el-date-picker
v-model="form[item.prop]"
:placeholder="item.placeholder ? item.placeholder : '请选择'"
......@@ -419,7 +419,9 @@ export default {
default: false,
},
vwForm: {},
formId: {},
formId: {
default: () => "",
},
getPatientId: {
type: Function,
default: () => {},
......@@ -447,7 +449,6 @@ export default {
columns: Array,
columnIndex: Number,
group: Array,
type: String,
},
data() {
return {
......@@ -486,20 +487,39 @@ export default {
this.timerangeReset()
this.numberReset()
this.checkboxReset()
//! 处理医联体名称,新增直接请求,其他等union_id后再请求
if (this.item.prop == "union_id") {
this.getMedicalunionList()
this.unionList = []
// this.getMedicalunionList()
if (this.$route.path == "/screening/add") {
this.getMedicalunionList()
} else {
this.$watch(
() => this.form[this.item.prop],
(newVal, oldVal) => {
// console.log("----------有值----------")
this.getMedicalunionList()
// 做点什么
}
)
}
}
},
mounted() {
this.showFormItem()
},
beforeDestroy() {
this.$watch(
() => this.form[this.item.prop],
(newVal, oldVal) => {}
)
},
methods: {
// 获取医联体列表
getMedicalunionList() {
getMedicalunionList().then((res) => {
console.log(res)
if (res.code == 1) {
this.unionList = res.data
this.unionList = [...res.data]
} else {
this.unionList = []
}
......@@ -703,6 +723,7 @@ export default {
if (!targetItem) {
// !没有在表单子组件中找到,查找大表单id
targetItem = group.find((_) => _.prop === key)
console.log(targetItem)
}
if (!targetItem) return
const values = dyMap[key]
......@@ -734,7 +755,7 @@ export default {
: (flag = false)
}
}
console.log(flag, targetItem)
// console.log(flag, targetItem)
display = flag
if (display) {
targetItem.rules = [
......@@ -799,7 +820,7 @@ export default {
if (e.prop == "esd_path") {
return
}
console.log(e.label, ":", e.rules)
// console.log(e.label, ":", e.rules)
if (e.rules && val == 0) {
targetItem.column[index].rules = []
} else if (e.rules && val == 1) {
......
......@@ -78,7 +78,7 @@ export default {
watch: {
unionList(v) {
if (v.length > 0 && this.form[this.item.prop]) {
console.log()
// console.log("获取到了医联体列表", this.form[this.item.prop])
this.unionName = v.filter(
(e) => e.unionNo == this.form[this.item.prop]
)[0].unionName
......
......@@ -177,6 +177,7 @@ export default {
watch: {
formEdit: {
handler() {
console.log("configforms:", this.formEdit)
this.initfields(this.formEdit)
},
},
......
......@@ -124,7 +124,7 @@ export default {
watch: {
value: {
handler(newValue, oldValue) {
console.log(this.value)
// console.log(this.value)
if (newValue === oldValue) return
this.fileList = newValue.map((_) => {
return {
......
......@@ -126,7 +126,7 @@ service.interceptors.response.use(
store.dispatch("user/resetAccessToken").then(() => {
// location.reload()
router.push({
path: "/login",
path: "/home",
})
})
return Promise.reject(error)
......
<template>
<!-- 组件 -->
<div>
<el-container v-loading="fromLoading">
<el-main class="transition-box">
<el-empty v-if="!isEmpty" description="暂无数据"></el-empty>
<template v-if="isEmpty">
<div ref="my-form" class="my-form">
<custom-form
ref="customForm"
class="mb-20"
:options="jsonList[1]"
:form-edit="form"
></custom-form>
<custom-form
ref="form"
:options="jsonList[2]"
class="mb-20"
:form-edit="form"
></custom-form>
<custom-form
ref="form"
:options="jsonList[3]"
class="mb-20"
:form-edit="form"
></custom-form>
<custom-form
ref="form"
class="mb-20"
:options="jsonList[4]"
:form-edit="form"
></custom-form>
<template v-for="(item, index) in jsonList">
<custom-form
:key="index"
ref="customForm"
class="mb-20"
:options="item"
:form-edit="formList"
></custom-form
></template>
</div>
</template>
</el-main>
......@@ -55,7 +41,10 @@ import { mapGetters } from "vuex"
import CustomForm from "@/components/FormComponents/CustomForm/index"
import { getCurrentFormByType } from "@/api/coop-group.js"
import { getFormDetail } from "@/api/field"
import { getPatientDetail } from "@/api/patient.js"
import { getScreeningUser } from "@/api/screeningAudit"
export default {
nameL: "组件",
components: { CustomForm },
data() {
return {
......@@ -63,12 +52,7 @@ export default {
formTabs: [],
formTabsList: [],
jsonList: [],
form: {
name: "123",
phone: "18712412341",
age: "18",
is_continue_follow: "1",
},
formList: {},
asideShow: true,
screenList: [
{
......@@ -98,9 +82,35 @@ export default {
watch: {},
created() {
this.getCurrentFormByType()
let id = this.$route.query.id
this.getUser(id)
},
mounted() {},
methods: {
// 获取当前用户
getUser(id) {
getScreeningUser(id).then((res) => {
if (res.code == 1) {
this.patientId = res.data[0].patientId
}
})
},
// 获取当前用户的表单
getPatientDetail() {
console.log(this.formTabs)
for (let i = 0; i < this.formTabs.length; i++) {
getPatientDetail({
patientId: this.patientId,
formId: this.formTabs[i].formId,
}).then((res) => {
if (res.code == 1) {
const { data } = res.data
this.formList = { ...this.formList, ...data }
// console.log(this.formList)
}
})
}
},
getCurrentFormByType(type = 1) {
this.fromLoading = true
getCurrentFormByType({
......@@ -152,17 +162,24 @@ export default {
obj.closeBtn = true
obj.detail = true
this.jsonList.push(obj)
if (i == 4) {
console.log(this.jsonList)
if (i == this.formTabs.length - 1) {
// console.log(this.jsonList)
this.fromLoading = false
}
}
})
.finally(() => {
// console.log(this.formTabs)
if (i < this.formTabs.length - 1) {
i++
this.initForm(i)
}
// console.log(this.jsonList)
if (this.jsonList.length == this.formTabs.length) {
this.$nextTick(() => {
this.getPatientDetail()
})
}
})
},
},
......
......@@ -10,24 +10,26 @@
<el-button class="btn" @click="$router.go(-1)">返回</el-button>
</div>
</div>
<div class="choose-handle p-24">
<span v-if="!editStatus">请选择审核结果:</span>
<div class="btn_group">
<el-button
v-for="(item, index) in btnGroup"
:key="index"
type="primary"
class="p-btn"
size="medium"
@click="showDialog(item.value)"
>{{ item.text }}</el-button>
<span v-if="editStatus" class="op">驳回修改建议:胃镜图片不合规</span>
</div>
</div>
</div>
<div class="table-content p-24">
<component :is="curComponent"></component>
</div>
<div class="choose-handle p-24">
<span v-if="!editStatus">请选择审核结果:</span>
<div class="btn_group">
<el-button
v-for="(item, index) in btnGroup"
:key="index"
type="primary"
class="p-btn"
size="medium"
@click="showDialog(item.value)"
>{{ item.text }}</el-button
>
<span v-if="editStatus" class="op">驳回修改建议:胃镜图片不合规</span>
</div>
</div>
<div class="p-24 empty"></div>
<public-dialog ref="editDialog" @onSubmit="onSubmit" @onCancel="onCancel">
<!-- 修改审核结果 优先触发提示 -->
<template v-if="!confirmStatus" slot="content">
......@@ -35,20 +37,26 @@
<div class="content">
<div class="showTips">
该病例已经审核【驳回修改】,需要改为{{
btnGroup[curBtn - 1] ? btnGroup[curBtn - 1].text : ""
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" :loading="loading" @click="onCancel"
></el-button
>
<el-button type="primary" :loading="loading" @click="editSubmit"
></el-button
>
</div>
</template>
</public-dialog>
<public-dialog ref="publicDialog" @onSubmit="onSubmit" @onCancel="onCancel">
<!-- 审核结果回显 -->
<template v-if="!confirmStatus" slot="content">
<div class="title">{{ btnGroup[curBtn - 1] ? btnGroup[curBtn - 1].text : "" }}</div>
<div class="title">
{{ btnGroup[curBtn - 1] ? btnGroup[curBtn - 1].text : "" }}
</div>
<div class="content">
<div v-if="curBtn != 1" class="noPass">
<el-form
......@@ -59,7 +67,10 @@
label-width="100px"
class="demo-ruleForm"
>
<el-form-item :label="curBtn == 2 ? '不合格原因' : '驳回修改建议'" prop="reson">
<el-form-item
:label="curBtn == 2 ? '不合格原因' : '驳回修改建议'"
prop="reson"
>
<el-input
v-model="form.reson"
type="textarea"
......@@ -72,7 +83,9 @@
</div>
</div>
<div class="btn">
<el-button type="primary" :loading="loading" @click="onSubmit">确 定</el-button>
<el-button type="primary" :loading="loading" @click="onSubmit"
>确 定</el-button
>
</div>
</template>
<!-- 提交后结果 -->
......@@ -82,11 +95,15 @@
<div v-if="curBtn == 1" class="pass">该病例审核合格成功!</div>
<div v-if="curBtn != 1" class="noPass">
<!-- 不合格和驳回 -->
<div class="label">{{ curBtn == 2 ? "不合格原因" : "驳回修改建议" }}</div>
<div class="label">
{{ curBtn == 2 ? "不合格原因" : "驳回修改建议" }}
</div>
<div class="reson">{{ form.reson }}</div>
</div>
</div>
<div v-if="curBtn != 1" class="showTips">该病例审核{{ curBtn == 2 ? "不合格原因" : "驳回修改建议" }}提交成功!</div>
<div v-if="curBtn != 1" class="showTips">
该病例审核{{ curBtn == 2 ? "不合格原因" : "驳回修改建议" }}提交成功!
</div>
<div class="btn">
<el-button type="primary" @click="nextExample">下一例</el-button>
</div>
......@@ -128,9 +145,8 @@ export default {
}
},
watch: {},
mounted() {
},
mounted() {},
methods: {
showDialog(val) {
this.curBtn = val
......@@ -195,7 +211,6 @@ export default {
nextExample() {
this.onCancel()
},
},
}
</script>
......@@ -236,7 +251,8 @@ export default {
font-size: 14px;
font-family: AlibabaPuHuiTiM;
color: #333333;
box-shadow: 0px 2px 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 {
margin-left: 24px;
......@@ -287,9 +303,14 @@ export default {
margin-left: 20px;
}
.table-content {
height: calc(100vh - 260px);
overflow: auto;
// height: calc(100vh - 260px);
// overflow: auto;
padding-top: 20px;
padding-bottom: 20px;
}
.empty {
width: 100%;
height: 15px;
background: #f6f8f9;
}
</style>
......@@ -36,48 +36,44 @@
</div>
</template>
<script>
import CustomsTable from "@/components/CustomsTable"
// import CustomsTable from "@/components/CustomsTable"
import paginationMixin from "@/components/TabComponents/mixin"
import { getFollowCheck,getFollowUncheck } from "@/api/followup"
import { getFollowCheck, getFollowUncheck } from "@/api/followup"
import { getScreeningCheck, getScreeningUncheck } from "@/api/screeningAudit"
export default {
components: {
CustomsTable,
// CustomsTable,
},
mixins: [paginationMixin],
data() {
return {
type: "0",
auditStatus: "0",
type: "", // 0是筛查 1是随访
auditStatus: "", // 0 待审核 1 已审核
listLoading: false,
tableData: [
{
"unionId": "2",
"unionName": "合肥高新附院",
"unCheckNums": 2,
"checkNums": 0,
"reportTime": "2022-12-09 09:12:35"
}
// {
// unionId: "2",
// unionName: "合肥高新附院",
// unCheckNums: 2,
// checkNums: 0,
// reportTime: "2022-12-09 09:12:35",
// },
],
}
},
watch: {
auditStatus(val) {
sessionStorage.setItem('audit-status',val)
sessionStorage.setItem("audit-status", val)
switch (this.type) {
case "1":
this.handleSearch()
break
}
console.log('status',val)
console.log("status", val)
},
type(val) {
console.log('type',val)
sessionStorage.setItem('audit-type',val)
console.log("type", val)
sessionStorage.setItem("audit-type", val)
switch (val) {
case "1":
this.handleSearch()
......@@ -85,8 +81,8 @@ export default {
}
},
},
computed:{
columns(){
computed: {
columns() {
const unCkeckColumns = [
{
label: "医联体",
......@@ -178,17 +174,18 @@ export default {
],
},
]
return this.auditStatus == "1" ? checkColumns:unCkeckColumns
}
return this.auditStatus == "1" ? checkColumns : unCkeckColumns
},
},
mounted() {
if(sessionStorage.getItem('audit-status') || sessionStorage.getItem('audit-type') ){
this.auditStatus = sessionStorage.getItem('audit-status') || "0"
this.type = sessionStorage.getItem('audit-type') || "0"
if (
sessionStorage.getItem("audit-status") ||
sessionStorage.getItem("audit-type")
) {
this.auditStatus = sessionStorage.getItem("audit-status") || "0"
this.type = sessionStorage.getItem("audit-type") || "0"
}
else{
this.handleSearch()
}
this.handleSearch()
},
methods: {
handleClick() {
......@@ -199,6 +196,7 @@ export default {
} else {
this.columns[this.columns.length - 1].operations[0].label = "审核"
}
this.handleSearch()
},
auditHandle(data, i) {
console.log(data, i)
......@@ -206,34 +204,44 @@ export default {
this.$router.push({
path: "/followaudit",
query: {
id: data['unionId'],
id: data["unionId"],
},
})
} else {
this.$router.push({
path: "/auditdetail",
query: {
id: i,
id: data["unionId"],
},
})
}
},
async handleSearch() {
this.listLoading = true
let params = {
pageSize:this.pageSize,
pageNum:this.pageIndex
pageSize: this.pageSize,
pageNum: this.pageIndex,
}
let res
switch (this.auditStatus) {
case "0":
res = await getFollowUncheck(params) //待审核
break;
if (this.type == "0") {
res = await getScreeningUncheck(params) //待审核
} else {
res = await getFollowUncheck(params) //待审核
}
break
case "1":
res = await getFollowCheck(params) //已审核
break;
if (this.type == "0") {
res = await getScreeningCheck(params) //待审核
} else {
res = await getFollowCheck(params) //待审核
}
break
}
this.tableData = res.data.records
this.total= res.data.total
this.total = res.data.total
this.listLoading = false
},
},
}
......
......@@ -11,7 +11,6 @@ export default {
},
provide() {
const showIndex = true
return {
showIndex,
}
......
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