Commit 707b1ae3 authored by 刘予佳's avatar 刘予佳

随访审核列表

parent 08bb1b01
...@@ -12,15 +12,24 @@ export function getFollowSurvey(params = {}) { ...@@ -12,15 +12,24 @@ export function getFollowSurvey(params = {}) {
params, params,
}); });
} }
//审核质控 随访已审核列表 ///////////////审核质控/////////////////////
//随访已审核列表
export function getFollowCheck(params = {}) { export function getFollowCheck(params = {}) {
return request({ return request({
url: "/disease-data/follow/check", url: "/disease-data/dataCheck/follow/check",
method: "get", method: "get",
params, params,
}); });
} }
//审核质控 随访病例待审核(详情数据) //随访待审核列表
export function getFollowUncheck(params = {}) {
return request({
url: "/disease-data/dataCheck/follow/unCheck",
method: "get",
params,
});
}
//随访病例待审核(详情数据)
export function getFollowUnCheckDetail(params = {}) { export function getFollowUnCheckDetail(params = {}) {
return request({ return request({
url: "/disease-data/dataCheck/follow/unCheck/detail/", url: "/disease-data/dataCheck/follow/unCheck/detail/",
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<span <span
:style="{ fontSize: fontSize + 'px' }" :style="{ fontSize: fontSize + 'px' }"
v-else v-else
>{{ String(scope.row[column.value]) || "--" }}</span> >{{ String(scope.row[column.value]|| "--") }}</span>
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
......
...@@ -20,8 +20,7 @@ ...@@ -20,8 +20,7 @@
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>
...@@ -36,26 +35,20 @@ ...@@ -36,26 +35,20 @@
<div class="content"> <div class="content">
<div class="showTips"> <div class="showTips">
该病例已经审核【驳回修改】,需要改为{{ 该病例已经审核【驳回修改】,需要改为{{
btnGroup[curBtn - 1] ? btnGroup[curBtn - 1].text : "" btnGroup[curBtn - 1] ? btnGroup[curBtn - 1].text : ""
}} }}
</div> </div>
</div> </div>
<div class="btn"> <div class="btn">
<el-button type="primary" :loading="loading" @click="onCancel" <el-button type="primary" :loading="loading" @click="onCancel"></el-button>
></el-button <el-button type="primary" :loading="loading" @click="editSubmit"></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"> <div class="title">{{ btnGroup[curBtn - 1] ? btnGroup[curBtn - 1].text : "" }}</div>
{{ 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
...@@ -66,10 +59,7 @@ ...@@ -66,10 +59,7 @@
label-width="100px" label-width="100px"
class="demo-ruleForm" class="demo-ruleForm"
> >
<el-form-item <el-form-item :label="curBtn == 2 ? '不合格原因' : '驳回修改建议'" prop="reson">
:label="curBtn == 2 ? '不合格原因' : '驳回修改建议'"
prop="reson"
>
<el-input <el-input
v-model="form.reson" v-model="form.reson"
type="textarea" type="textarea"
...@@ -82,9 +72,7 @@ ...@@ -82,9 +72,7 @@
</div> </div>
</div> </div>
<div class="btn"> <div class="btn">
<el-button type="primary" :loading="loading" @click="onSubmit" <el-button type="primary" :loading="loading" @click="onSubmit">确 定</el-button>
>确 定</el-button
>
</div> </div>
</template> </template>
<!-- 提交后结果 --> <!-- 提交后结果 -->
...@@ -94,17 +82,11 @@ ...@@ -94,17 +82,11 @@
<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"> <div class="label">{{ curBtn == 2 ? "不合格原因" : "驳回修改建议" }}</div>
{{ curBtn == 2 ? "不合格原因" : "驳回修改建议" }} <div class="reson">{{ form.reson }}</div>
</div>
<div class="reson">
{{ form.reson }}
</div>
</div> </div>
</div> </div>
<div v-if="curBtn != 1" class="showTips"> <div v-if="curBtn != 1" class="showTips">该病例审核{{ curBtn == 2 ? "不合格原因" : "驳回修改建议" }}提交成功!</div>
该病例审核{{ 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>
...@@ -115,6 +97,7 @@ ...@@ -115,6 +97,7 @@
<script> <script>
import publicDialog from "./components/publicDialog.vue" import publicDialog from "./components/publicDialog.vue"
import screenReview from "./components/screenReview.vue" import screenReview from "./components/screenReview.vue"
import { getFollowUnCheckDetail } from "@/api/followup"
export default { export default {
components: { publicDialog, screenReview }, components: { publicDialog, screenReview },
data() { data() {
...@@ -145,7 +128,14 @@ export default { ...@@ -145,7 +128,14 @@ export default {
} }
}, },
watch: {}, watch: {},
mounted() {}, computed:{
unionId(){
return this.$route.query.id
}
},
mounted() {
this.getDetail()
},
methods: { methods: {
showDialog(val) { showDialog(val) {
this.curBtn = val this.curBtn = val
...@@ -210,6 +200,20 @@ export default { ...@@ -210,6 +200,20 @@ export default {
nextExample() { nextExample() {
this.onCancel() this.onCancel()
}, },
async getDetail(){
this.loading = true
let params={
unionId:this.unionId,
}
let res = await getFollowUnCheckDetail(params)
if(res.code==1){
//分页内容
// const d = res.data
// this.total= d.total
// this.tableData=d['records']
}
this.loading = false
},
}, },
} }
</script> </script>
......
<template>
<div class="audit-qualitycontrol">
<div class="aq-top-tab">
<el-tabs v-model="type" @tab-click="handleClick">
<el-tab-pane label="筛查病例数据" name="0"></el-tab-pane>
<el-tab-pane label="随访病例数据" name="1"></el-tab-pane>
</el-tabs>
</div>
<div class="aq-bot-table">
<div class="table-top-tab">
<el-tabs v-model="auditStatus" type="card" @tab-click="handleClick">
<el-tab-pane label="待审核" name="0"></el-tab-pane>
<el-tab-pane label="已审核" name="1"></el-tab-pane>
</el-tabs>
<div v-show="auditStatus == 1" class="keyExplain">
字段说明
<img src="~@/assets/img/DataCenter/question.png" alt />
</div>
</div>
<div class="bot-table">
<customs-table
ref="table"
:table-data="tableData"
:columns="columns"
:header-class="'newHeader'"
:list-loading="listLoading"
:current-page="pageIndex"
:total-count="total"
:page-sizes="pageSizes"
:page-size="pageSize"
@pageSizeChange="handleSizeChange"
@currentPageChange="handleCurrentChange"
/>
</div>
</div>
</div>
</template>
<script>
import CustomsTable from "@/components/CustomsTable"
import paginationMixin from "@/components/TabComponents/mixin"
import { getFollowCheck } from "@/api/followup"
export default {
components: {
CustomsTable,
},
mixins: [paginationMixin],
data() {
return {
type: "0",
auditStatus: "0",
listLoading: false,
columns: [
{
label: "医联体",
minWidth: 120,
value: "unionName",
},
{
label: "已审核(例)",
minWidth: 120,
value: "checkNums",
},
{
label: "待审核(例)备份",
minWidth: 120,
value: "unCheckNums",
},
{
label: "最新上报时间",
minWidth: 120,
value: "reportTime",
},
{
label: "操作",
width: 220,
fixed: "right",
operType: "button",
operations: [
{
func: this.auditHandle,
label: "审核",
type: "text",
},
],
},
],
tableData: [
{
"unionId": "2",
"unionName": "合肥高新附院",
"unCheckNums": 2,
"checkNums": 0,
"reportTime": "2022-12-09 09:12:35"
}
],
}
},
watch: {
auditStatus(val){
switch (this.type) {
case '1':
this.getFollowupList()
break;
}
},
type(val){
switch (val) {
case '1':
this.getFollowupList()
break;
}
}
},
mounted() {},
methods: {
handleClick() {
console.log("type:" + this.type, "auditStatus" + this.auditStatus)
if (this.auditStatus == 1) {
this.columns[this.columns.length - 1].operations[0].label =
"修改审核意见"
} else {
this.columns[this.columns.length - 1].operations[0].label = "审核"
}
},
auditHandle(data, i) {
console.log(data, i)
if(this.type=="1"){
this.$router.push("/followaudit")
}
else{
this.$router.push({
path: "/auditdetail",
query: {
id: i,
},
})
}
},
async getFollowupList(){
let params={
pageSize:10,
pageNum:1
}
let res
switch (this.auditStatus) {
case '1':
res = await getFollowCheck(params);
break;
}
},
},
}
</script>
<style lang="scss" scoped>
.audit-qualitycontrol {
padding: 20px 0;
.table-top-tab {
margin-bottom: 15px;
position: relative;
.keyExplain {
position: absolute;
display: flex;
align-items: center;
right: 0;
top: 10%;
font-size: 16px;
font-family: AlibabaPuHuiTiR;
color: #999999;
img {
width: 18px;
height: 18px;
margin-left: 5px;
transform: translateY(1px);
}
}
}
.aq-bot-table {
padding: 20px;
::v-deep {
.el-tabs__nav {
border: none;
}
.el-tabs__item {
margin-right: 10px;
border: 1px solid #e4e7ed;
border-radius: 5px 5px 0 0;
}
.is-active {
background: #4e68ff;
color: #fff;
}
}
}
}
::v-deep {
.el-tabs__item {
padding-left: 20px !important;
font-size: 18px;
font-family: AlibabaPuHuiTiM;
}
.is-active {
color: #4e68ff;
}
}
</style>
<template>
<div class="audit-qualitycontrol">
<div class="aq-top-tab">
<el-tabs v-model="type" @tab-click="handleClick">
<el-tab-pane label="筛查病例数据" name="0"></el-tab-pane>
<el-tab-pane label="随访病例数据" name="1"></el-tab-pane>
</el-tabs>
</div>
<div class="aq-bot-table">
<div class="table-top-tab">
<el-tabs v-model="auditStatus" type="card" @tab-click="handleClick">
<el-tab-pane label="待审核" name="0"></el-tab-pane>
<el-tab-pane label="已审核" name="1"></el-tab-pane>
</el-tabs>
<div v-show="auditStatus == 1" class="keyExplain">
字段说明
<img src="~@/assets/img/DataCenter/question.png" alt />
</div>
</div>
<div class="bot-table">
<customs-table
ref="table"
:table-data="tableData"
:columns="columns"
:header-class="'newHeader'"
:list-loading="listLoading"
:current-page="pageIndex"
:total-count="total"
:page-sizes="pageSizes"
:page-size="pageSize"
@pageSizeChange="handleSizeChange"
@currentPageChange="handleCurrentChange"
/>
</div>
</div>
</div>
</template>
<script>
import CustomsTable from "@/components/CustomsTable"
import paginationMixin from "@/components/TabComponents/mixin"
export default {
components: {
CustomsTable,
},
mixins: [paginationMixin],
data() {
return {
type: "0",
auditStatus: "0",
listLoading: false,
columns: [
{
label: "医联体",
minWidth: 120,
value: "title",
},
{
label: "已审核(例)",
minWidth: 120,
value: "file",
},
{
label: "待审核(例)备份",
minWidth: 120,
value: "uploadTime",
},
{
label: "最新上报时间",
minWidth: 120,
value: "editTime",
},
{
label: "操作",
width: 220,
fixed: "right",
operType: "button",
operations: [
{
func: this.auditHandle,
label: "审核",
type: "text",
},
],
},
],
tableData: [
{
title: "第一个",
isOpen: true,
},
],
}
},
watch: {},
mounted() {},
methods: {
handleClick() {
console.log("type:" + this.type, "auditStatus" + this.auditStatus)
if (this.auditStatus == 1) {
this.columns[this.columns.length - 1].operations[0].label =
"修改审核意见"
} else {
this.columns[this.columns.length - 1].operations[0].label = "审核"
}
},
auditHandle(data, i) {
console.log(data, i)
if(this.type=="1"){
this.$router.push("/followaudit")
}
else{
this.$router.push({
path: "/auditdetail",
query: {
id: i,
},
})
}
},
},
}
</script>
<style lang="scss" scoped>
.audit-qualitycontrol {
padding: 20px 0;
.table-top-tab {
margin-bottom: 15px;
position: relative;
.keyExplain {
position: absolute;
display: flex;
align-items: center;
right: 0;
top: 10%;
font-size: 16px;
font-family: AlibabaPuHuiTiR;
color: #999999;
img {
width: 18px;
height: 18px;
margin-left: 5px;
transform: translateY(1px);
}
}
}
.aq-bot-table {
padding: 20px;
::v-deep {
.el-tabs__nav {
border: none;
}
.el-tabs__item {
margin-right: 10px;
border: 1px solid #e4e7ed;
border-radius: 5px 5px 0 0;
}
.is-active {
background: #4e68ff;
color: #fff;
}
}
}
}
::v-deep {
.el-tabs__item {
padding-left: 20px !important;
font-size: 18px;
font-family: AlibabaPuHuiTiM;
}
.is-active {
color: #4e68ff;
}
}
</style>
<template>
<div class="audit-qualitycontrol">
<div class="aq-top-tab">
<el-tabs v-model="type" @tab-click="handleClick">
<el-tab-pane label="筛查病例数据" name="0"></el-tab-pane>
<el-tab-pane label="随访病例数据" name="1"></el-tab-pane>
</el-tabs>
</div>
<div class="aq-bot-table">
<div class="table-top-tab">
<el-tabs v-model="auditStatus" type="card" @tab-click="handleClick">
<el-tab-pane label="待审核" name="0"></el-tab-pane>
<el-tab-pane label="已审核" name="1"></el-tab-pane>
</el-tabs>
<div v-show="auditStatus == 1" class="keyExplain">
字段说明
<img src="~@/assets/img/DataCenter/question.png" alt />
</div>
</div>
<div class="bot-table">
<customs-table
ref="table"
:table-data="tableData"
:columns="columns"
:header-class="'newHeader'"
:list-loading="listLoading"
:current-page="pageIndex"
:total-count="total"
:page-sizes="pageSizes"
:page-size="pageSize"
@pageSizeChange="handleSizeChange"
@currentPageChange="handleCurrentChange"
/>
</div>
</div>
</div>
</template>
<script>
import CustomsTable from "@/components/CustomsTable"
import paginationMixin from "@/components/TabComponents/mixin"
export default {
components: {
CustomsTable,
},
mixins: [paginationMixin],
data() {
return {
type: "0",
auditStatus: "0",
listLoading: false,
columns: [
{
label: "医联体",
minWidth: 120,
value: "title",
},
{
label: "已审核(例)",
minWidth: 120,
value: "file",
},
{
label: "待审核(例)备份",
minWidth: 120,
value: "uploadTime",
},
{
label: "最新上报时间",
minWidth: 120,
value: "editTime",
},
{
label: "操作",
width: 220,
fixed: "right",
operType: "button",
operations: [
{
func: this.auditHandle,
label: "审核",
type: "text",
},
],
},
],
tableData: [
{
title: "第一个",
isOpen: true,
},
],
}
},
watch: {},
mounted() {},
methods: {
handleClick() {
console.log("type:" + this.type, "auditStatus" + this.auditStatus)
if (this.auditStatus == 1) {
this.columns[this.columns.length - 1].operations[0].label =
"修改审核意见"
} else {
this.columns[this.columns.length - 1].operations[0].label = "审核"
}
},
auditHandle(data, i) {
console.log(data,i,"表单")
if(this.type=="1"){
this.$router.push("/followaudit")
}
else{
this.$router.push({
path: "/auditdetail",
query: {
id: i,
},
})
}
},
},
}
</script>
<style lang="scss" scoped>
.audit-qualitycontrol {
padding: 20px 0;
.table-top-tab {
margin-bottom: 15px;
position: relative;
.keyExplain {
position: absolute;
display: flex;
align-items: center;
right: 0;
top: 10%;
font-size: 16px;
font-family: AlibabaPuHuiTiR;
color: #999999;
img {
width: 18px;
height: 18px;
margin-left: 5px;
transform: translateY(1px);
}
}
}
.aq-bot-table {
padding: 20px;
::v-deep {
.el-tabs__nav {
border: none;
}
.el-tabs__item {
margin-right: 10px;
border: 1px solid #e4e7ed;
border-radius: 5px 5px 0 0;
}
.is-active {
background: #4e68ff;
color: #fff;
}
}
}
}
::v-deep {
.el-tabs__item {
padding-left: 20px !important;
font-size: 18px;
font-family: AlibabaPuHuiTiM;
}
.is-active {
color: #4e68ff;
}
}
</style>
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
<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 } from "@/api/followup" import { getFollowCheck,getFollowUncheck } from "@/api/followup"
export default { export default {
components: { components: {
CustomsTable, CustomsTable,
...@@ -49,26 +49,62 @@ export default { ...@@ -49,26 +49,62 @@ export default {
type: "0", type: "0",
auditStatus: "0", auditStatus: "0",
listLoading: false, listLoading: false,
columns: [ tableData: [
{
"unionId": "2",
"unionName": "合肥高新附院",
"unCheckNums": 2,
"checkNums": 0,
"reportTime": "2022-12-09 09:12:35"
}
],
}
},
watch: {
auditStatus(val) {
sessionStorage.setItem('audit-status',val)
switch (this.type) {
case "1":
this.getFollowupList()
break
}
},
type(val) {
sessionStorage.setItem('audit-type',val)
switch (val) {
case "1":
this.getFollowupList()
break
}
},
},
computed:{
columns(){
const unCkeckColumns = [
{ {
label: "医联体", label: "医联体",
minWidth: 120, minWidth: 120,
value: "title", value: "unionName",
}, },
{ {
label: "已审核(例)", label: "已审核(例)",
minWidth: 120, minWidth: 120,
value: "file", value: "checkNums",
}, },
{ {
label: "待审核(例)备份", label: "待审核(例)备份",
minWidth: 120, minWidth: 120,
value: "uploadTime", value: "unCheckNums",
}, },
{ {
label: "最新上报时间", label: "最新上报时间",
minWidth: 120, minWidth: 120,
value: "editTime", value: "reportTime",
}, },
{ {
label: "操作", label: "操作",
...@@ -83,32 +119,71 @@ export default { ...@@ -83,32 +119,71 @@ export default {
}, },
], ],
}, },
], ]
tableData: [ const checkColumns = [
{
label: "筛查编号",
minWidth: 120,
value: "unionId",
},
{ {
title: "第一个", label: "医联体",
isOpen: true, minWidth: 120,
value: "unionName",
}, },
], {
label: "姓名",
minWidth: 120,
formatter: (row) => {
return row.name ? row.name : "--"
},
value: "name",
},
{
label: "年龄",
minWidth: 120,
value: "age",
formatter: (row) => {
return row.age ? row.age : "--"
},
},
{
label: "风险评估",
minWidth: 120,
value: "checkNums",
},
{
label: "审核状态",
minWidth: 120,
value: "unCheckNums",
},
{
label: "上报时间",
minWidth: 120,
value: "reportTime",
},
{
label: "操作",
width: 220,
fixed: "right",
operType: "button",
operations: [
{
func: this.auditHandle,
label: "审核",
type: "text",
},
],
},
]
return this.auditStatus == "1" ? checkColumns:unCkeckColumns
} }
}, },
watch: { mounted() {
auditStatus(val) { this.auditStatus = sessionStorage.getItem('audit-status') || "0"
switch (this.type) { this.type = sessionStorage.getItem('audit-type') || "0"
case "1": this.getFollowupList()
this.getFollowupList()
break
}
},
type(val) {
switch (val) {
case "1":
this.getFollowupList()
break
}
},
}, },
mounted() {},
methods: { methods: {
handleClick() { handleClick() {
console.log("type:" + this.type, "auditStatus" + this.auditStatus) console.log("type:" + this.type, "auditStatus" + this.auditStatus)
...@@ -127,7 +202,7 @@ export default { ...@@ -127,7 +202,7 @@ export default {
this.$router.push({ this.$router.push({
path: "/auditdetail", path: "/auditdetail",
query: { query: {
id: i, id: data['unionId'],
}, },
}) })
} }
...@@ -139,10 +214,15 @@ export default { ...@@ -139,10 +214,15 @@ export default {
} }
let res let res
switch (this.auditStatus) { switch (this.auditStatus) {
case "0":
res = await getFollowUncheck(params) //待审核
break;
case "1": case "1":
res = await getFollowCheck(params) res = await getFollowCheck(params) //已审核
break break;
} }
this.tableData = res.records
this.total= res.total
}, },
}, },
} }
......
...@@ -53,11 +53,12 @@ export default { ...@@ -53,11 +53,12 @@ export default {
label: "性别", label: "性别",
value: "sex", value: "sex",
minWidth: 120, minWidth: 120,
// trans:'d-sex', formatter: (row) => {
transList:{ return this.$handle.formatDicList(
1:'', this.dictMap["d-sex"],
2:'' String(row.sex)
} )
},
}, },
{ {
label: "身份证", label: "身份证",
...@@ -346,12 +347,12 @@ export default { ...@@ -346,12 +347,12 @@ export default {
const res = await getDictDetail(params) const res = await getDictDetail(params)
let item = this.formList.find(_ => _.trans == type) let item = this.formList.find(_ => _.trans == type)
res.data.forEach((itemD,inx) => { res.data.forEach((itemD,inx) => {
if(!this.columns[index]['transList']){ // if(!this.columns[index]['transList']){
this.columns[index]['transList']={} // this.columns[index]['transList']={}
} // }
else{ // else{
this.columns[index]['transList'][itemD.code]=itemD.name // this.columns[index]['transList'][itemD.code]=itemD.name
} // }
if(item){ if(item){
if(!item['opts']){ if(!item['opts']){
item['opts']=[] item['opts']=[]
......
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