Commit 4198bb1c authored by miaojiale's avatar miaojiale

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

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