Commit 7c67e700 authored by miaojiale's avatar miaojiale

Merge branch 'dev_lyj' into dev_Miaojiale

parents f517ea87 0605e72c
...@@ -12,11 +12,43 @@ export function getFollowSurvey(params = {}) { ...@@ -12,11 +12,43 @@ export function getFollowSurvey(params = {}) {
params, params,
}); });
} }
//审核质控 随访 ///////////////审核质控/////////////////////
//随访已审核列表
export function getFollowCheck(params = {}) { export function getFollowCheck(params = {}) {
return request({ return request({
url: "/disease-data/follow/check/patientFrom", 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(id) {
return request({
url: `/disease-data/dataCheck/follow/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,
})
} }
\ No newline at end of file
...@@ -34,16 +34,9 @@ ...@@ -34,16 +34,9 @@
</template> </template>
<!-- 表内容插槽 --> <!-- 表内容插槽 -->
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 转化文字 --> <span :style="{ fontSize: fontSize + 'px' }">
<span <span>{{scope.row[column.value]|| "--"}}</span>
:style="{ fontSize: fontSize + 'px' }" </span>
v-if="column.transList"
>{{column.transList[scope.row[String(column.value)]]|| "--"}}</span>
<!-- 一般情况 -->
<span
:style="{ fontSize: fontSize + 'px' }"
v-else
>{{ scope.row[column.value] || "--" }}</span>
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
......
...@@ -49,9 +49,11 @@ ...@@ -49,9 +49,11 @@
> >
<template slot="title"> <template slot="title">
{{ g.label }} {{ g.label }}
<span v-if="g.label == '二、排除标准'" class="noCol">{{ <span v-if="g.label == '二、排除标准'" class="noCol">
{{
errorText errorText
}}</span> }}
</span>
</template> </template>
<form-content <form-content
v-if="collapseNames.includes(g.prop)" v-if="collapseNames.includes(g.prop)"
...@@ -312,6 +314,7 @@ export default { ...@@ -312,6 +314,7 @@ export default {
// 绑定部分值(此时表单已渲染) // 绑定部分值(此时表单已渲染)
initfields(obj) { initfields(obj) {
for (let k in obj) { for (let k in obj) {
console.log("通用表单",k,obj)
// if (this.form.hasOwnProperty(k)) { // if (this.form.hasOwnProperty(k)) {
this.form[k] = obj[k] this.form[k] = obj[k]
// } // }
......
This diff is collapsed.
<template> <template>
<span v-if="themeBar"> <span v-if="themeBar">
<vab-icon <vab-icon title="主题配置" :icon="['fas', 'palette']" @click="handleChangeTheme" />
title="主题配置"
:icon="['fas', 'palette']"
@click="handleChangeTheme"
/>
<div class="theme-bar-setting"> <div class="theme-bar-setting">
<div @click="handleChangeTheme"> <div @click="handleChangeTheme">
<vab-icon :icon="['fas', 'palette']" /> <vab-icon :icon="['fas', 'palette']" />
...@@ -86,11 +82,7 @@ ...@@ -86,11 +82,7 @@
></el-color-picker> ></el-color-picker>
</el-form-item> </el-form-item>
<el-form-item label="菜单文字色"> <el-form-item label="菜单文字色">
<el-color-picker <el-color-picker v-model="theme.menuColor" :predefine="['#000', '#fff']" show-alpha></el-color-picker>
v-model="theme.menuColor"
:predefine="['#000', '#fff']"
show-alpha
></el-color-picker>
</el-form-item> </el-form-item>
<el-form-item label="标签主题色"> <el-form-item label="标签主题色">
<el-color-picker <el-color-picker
...@@ -115,13 +107,11 @@ ...@@ -115,13 +107,11 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleSetDfaultTheme">恢复默认</el-button> <el-button @click="handleSetDfaultTheme">恢复默认</el-button>
<el-button type="primary" @click="handleSaveTheme" <el-button type="primary" @click="handleSaveTheme">保存</el-button>
>保存</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div></el-scrollbar </div>
> </el-scrollbar>
</el-drawer> </el-drawer>
</span> </span>
</template> </template>
......
...@@ -26,13 +26,12 @@ ...@@ -26,13 +26,12 @@
:icon-class="onlyOneChildren.meta.remixIcon" :icon-class="onlyOneChildren.meta.remixIcon"
class="vab-nav-icon" class="vab-nav-icon"
/> />
<span slot="title">{{ onlyOneChildren.meta.title }} </span> <span slot="title">{{ onlyOneChildren.meta.title }}</span>
<el-tag <el-tag
v-if="onlyOneChildren.meta && onlyOneChildren.meta.badge" v-if="onlyOneChildren.meta && onlyOneChildren.meta.badge"
type="danger" type="danger"
effect="dark" effect="dark"
>{{ onlyOneChildren.meta.badge }}</el-tag >{{ onlyOneChildren.meta.badge }}</el-tag>
>
</el-menu-item> </el-menu-item>
</app-link> </app-link>
</template> </template>
......
...@@ -57,6 +57,7 @@ export default { ...@@ -57,6 +57,7 @@ export default {
if (meta.activeMenu) { if (meta.activeMenu) {
return meta.activeMenu return meta.activeMenu
} }
console.log("path",path)
return path return path
}, },
variables() { variables() {
......
...@@ -32,6 +32,7 @@ const actions = { ...@@ -32,6 +32,7 @@ const actions = {
newDictSet.push(v.type) newDictSet.push(v.type)
} }
}) })
console.log('执行getDictData', commit, state)
commit("setDictSet", latestDict) commit("setDictSet", latestDict)
newDictSet = Object.keys(dictMap).length === 0 ? latestDictSet : newDictSet newDictSet = Object.keys(dictMap).length === 0 ? latestDictSet : newDictSet
// 存在新增加的字典 // 存在新增加的字典
...@@ -56,10 +57,12 @@ const actions = { ...@@ -56,10 +57,12 @@ const actions = {
}, },
// 更新字典分类 // 更新字典分类
async updateDictType({ commit, state }, data) { async updateDictType({ commit, state }, data) {
console.log('执行updateDictType')
commit("setDictSet", data) commit("setDictSet", data)
}, },
// 更新字典详情 // 更新字典详情
async updateDictDetail({ commit, state }, { type, data }) { async updateDictDetail({ commit, state }, { type, data }) {
console.log('执行updateDictDetail')
const dictMap = state.dictMap const dictMap = state.dictMap
if (type) { if (type) {
const list = data.map((item) => { const list = data.map((item) => {
......
...@@ -213,7 +213,19 @@ html { ...@@ -213,7 +213,19 @@ html {
text-align: center; text-align: center;
white-space: nowrap; white-space: nowrap;
} }
.is-background{
button,.el-pager li{
border-radius: 6px !important;
}
button,.el-pager li:not(.active){
border: 1px solid #D9D9D9;
background: transparent !important;
}
.el-input__inner{
border-radius: 6px !important;
}
}
/* 分页结束 */ /* 分页结束 */
/* 菜单开始 */ /* 菜单开始 */
......
...@@ -153,7 +153,7 @@ export function getInfoByIdCard(idCard, type = "birthDate") { ...@@ -153,7 +153,7 @@ export function getInfoByIdCard(idCard, type = "birthDate") {
d.getFullYear() - d.getFullYear() -
birthdays.getFullYear() - birthdays.getFullYear() -
(d.getMonth() < birthdays.getMonth() || (d.getMonth() < birthdays.getMonth() ||
(d.getMonth() == birthdays.getMonth() && d.getDate() < birthdays.getDate()) (d.getMonth() == birthdays.getMonth() && d.getDate() < birthdays.getDate())
? 1 ? 1
: 0) : 0)
...@@ -182,12 +182,12 @@ export function paramObj(url) { ...@@ -182,12 +182,12 @@ export function paramObj(url) {
} }
return JSON.parse( return JSON.parse(
'{"' + '{"' +
decodeURIComponent(search) decodeURIComponent(search)
.replace(/"/g, '\\"') .replace(/"/g, '\\"')
.replace(/&/g, '","') .replace(/&/g, '","')
.replace(/=/g, '":"') .replace(/=/g, '":"')
.replace(/\+/g, " ") + .replace(/\+/g, " ") +
'"}' '"}'
) )
} }
...@@ -471,7 +471,7 @@ export function formatDicList(list, value, connector = ",") { ...@@ -471,7 +471,7 @@ export function formatDicList(list, value, connector = ",") {
if (!list) return "" if (!list) return ""
if (list.constructor !== Array) return "" if (list.constructor !== Array) return ""
// if (!value && value != 0) return "" // if (!value && value != 0) return ""
let result = "" let result = "--"
let multiple = Array.isArray(value) ? true : false let multiple = Array.isArray(value) ? true : false
if (multiple) { if (multiple) {
const resultList = [] const resultList = []
...@@ -489,6 +489,7 @@ export function formatDicList(list, value, connector = ",") { ...@@ -489,6 +489,7 @@ export function formatDicList(list, value, connector = ",") {
} }
}) })
} }
console.log('字典', list, value, result)
return result return result
} }
/** /**
...@@ -522,7 +523,7 @@ export function changeTime(time) { ...@@ -522,7 +523,7 @@ export function changeTime(time) {
let seconds = Math.floor(time % 60) //秒 let seconds = Math.floor(time % 60) //秒
return `${day ? day + "" : ""} ${hours ? hours + "小时" : ""}${ return `${day ? day + "" : ""} ${hours ? hours + "小时" : ""}${
minutes ? minutes + "" : "" minutes ? minutes + "" : ""
}${seconds}秒` }${seconds}秒`
} }
export default { formatDicList, excelExport } export default { formatDicList, excelExport }
...@@ -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"
export default { export default {
components: { publicDialog, screenReview }, components: { publicDialog, screenReview },
data() { data() {
...@@ -145,7 +128,9 @@ export default { ...@@ -145,7 +128,9 @@ export default {
} }
}, },
watch: {}, watch: {},
mounted() {},
mounted() {
},
methods: { methods: {
showDialog(val) { showDialog(val) {
this.curBtn = val this.curBtn = val
...@@ -210,6 +195,7 @@ export default { ...@@ -210,6 +195,7 @@ export default {
nextExample() { nextExample() {
this.onCancel() this.onCancel()
}, },
}, },
} }
</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: "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: {
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>
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</div> </div>
</div> </div>
<div class="bot-table"> <div class="bot-table">
<customs-table <el-table-self
ref="table" ref="table"
:table-data="tableData" :table-data="tableData"
:columns="columns" :columns="columns"
...@@ -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,64 @@ export default { ...@@ -49,26 +49,64 @@ 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.handleSearch()
break
}
console.log('status',val)
},
type(val) {
console.log('type',val)
sessionStorage.setItem('audit-type',val)
switch (val) {
case "1":
this.handleSearch()
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 +121,75 @@ export default { ...@@ -83,32 +121,75 @@ export default {
}, },
], ],
}, },
], ]
tableData: [ const checkColumns = [
{ {
title: "第一个", label: "筛查编号",
isOpen: true, minWidth: 120,
value: "unionId",
}, },
], {
label: "医联体",
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) { if(sessionStorage.getItem('audit-status') || sessionStorage.getItem('audit-type') ){
switch (this.type) { this.auditStatus = sessionStorage.getItem('audit-status') || "0"
case "1": this.type = sessionStorage.getItem('audit-type') || "0"
this.getFollowupList() }
break else{
} this.handleSearch()
}, }
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)
...@@ -122,7 +203,12 @@ export default { ...@@ -122,7 +203,12 @@ export default {
auditHandle(data, i) { auditHandle(data, i) {
console.log(data, i) console.log(data, i)
if (this.type == "1") { if (this.type == "1") {
this.$router.push("/followaudit") this.$router.push({
path: "/followaudit",
query: {
id: data['unionId'],
},
})
} else { } else {
this.$router.push({ this.$router.push({
path: "/auditdetail", path: "/auditdetail",
...@@ -132,17 +218,22 @@ export default { ...@@ -132,17 +218,22 @@ export default {
}) })
} }
}, },
async getFollowupList() { async handleSearch() {
let params = { let params = {
pageSize: 10, pageSize:this.pageSize,
pageNum: 1, pageNum:this.pageIndex
} }
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.data.records
this.total= res.data.total
}, },
}, },
} }
......
<template> <template>
<!-- 随访调查录入 --> <!-- 随访审核详情 -->
<div class="follow-form"> <div class="follow-form">
<!-- <ConfigForms form-type="2" formClass="follow-form"></ConfigForms> --> <!-- <ConfigForms form-type="2" formClass="follow-form"></ConfigForms> -->
<read-form ref="form" :options="followupForm" :formEdit="formEdit"></read-form> <read-form ref="form" :options="followupForm" :formEdit="formEdit"></read-form>
...@@ -10,11 +10,16 @@ ...@@ -10,11 +10,16 @@
import ConfigForms from "@/views/screening/components/ConfigForms.vue" import ConfigForms from "@/views/screening/components/ConfigForms.vue"
import ReadForm from "@/components/FormComponents/ReadForm/index" import ReadForm from "@/components/FormComponents/ReadForm/index"
export default { export default {
name: "FollowupAudit", name: "followReview",
components: { components: {
ConfigForms, ConfigForms,
ReadForm ReadForm
}, },
props: {
form: {
type: Object,
},
},
data() { data() {
return { return {
followupForm:{ followupForm:{
...@@ -685,15 +690,19 @@ export default { ...@@ -685,15 +690,19 @@ export default {
] ]
}, },
formEdit:{ formEdit:{
name:"djksh",
contact_phone:"12345678",
is_accept:"0",
gas_exam:"15",
G_17:"1"
} }
} }
}, },
created() {}, watch:{
form(val){
this.formEdit = val
console.log("form",val)
}
},
created() {
},
mounted(){
},
methods: {}, methods: {},
} }
</script> </script>
......
<template> <template>
<!-- 随访审核 -->
<div id="audit-detail"> <div id="audit-detail">
<div class="audit-detail_header p-24"> <div class="audit-detail_header p-24">
<div class="left"> <div class="left">
...@@ -9,6 +10,10 @@ ...@@ -9,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 class="table-content p-24">
<!-- <component :is="curComponent" :formEdit="formEdit"></component> -->
<follow-review :form="formEdit"></follow-review>
</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">
...@@ -23,9 +28,6 @@ ...@@ -23,9 +28,6 @@
<span v-if="editStatus" class="op">驳回修改建议:胃镜图片不合规</span> <span v-if="editStatus" class="op">驳回修改建议:胃镜图片不合规</span>
</div> </div>
</div> </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">
...@@ -95,6 +97,7 @@ ...@@ -95,6 +97,7 @@
<script> <script>
import publicDialog from "./components/publicDialog.vue" import publicDialog from "./components/publicDialog.vue"
import followReview from "./components/followReview.vue" import followReview from "./components/followReview.vue"
import { getFollowUnCheckDetail } from "@/api/followup"
export default { export default {
components: { publicDialog, followReview }, components: { publicDialog, followReview },
data() { data() {
...@@ -102,6 +105,13 @@ export default { ...@@ -102,6 +105,13 @@ export default {
medicalCombination:'无锡市人民医院医联体', medicalCombination:'无锡市人民医院医联体',
mcCount:7, mcCount:7,
editStatus: false, //进入的状态是第一次审核还是修改审核,false为第一次,true为修改 editStatus: false, //进入的状态是第一次审核还是修改审核,false为第一次,true为修改
formEdit:{
name:"djksh",
contact_phone:"12345678",
is_accept:"0",
gas_exam:"15",
G_17:"5"
},//填报数据
form: {}, form: {},
rules: { rules: {
reson: [{ required: true, message: "请填写", trigger: "blur" }], reson: [{ required: true, message: "请填写", trigger: "blur" }],
...@@ -127,7 +137,14 @@ export default { ...@@ -127,7 +137,14 @@ export default {
} }
}, },
watch: {}, watch: {},
mounted() {}, created() {
this.getDetail()
},
computed:{
unionId(){
return this.$route.query.id
}
},
methods: { methods: {
showDialog(val) { showDialog(val) {
this.curBtn = val this.curBtn = val
...@@ -192,6 +209,14 @@ export default { ...@@ -192,6 +209,14 @@ export default {
nextExample() { nextExample() {
this.onCancel() this.onCancel()
}, },
async getDetail(){
this.loading = true
let res = await getFollowUnCheckDetail(this.unionId)
if(res.code==1){
this.formEdit=res.data[0]
}
this.loading = false
},
}, },
} }
</script> </script>
...@@ -234,7 +259,8 @@ export default { ...@@ -234,7 +259,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;
......
...@@ -18,17 +18,7 @@ export default { ...@@ -18,17 +18,7 @@ export default {
}, },
created() { created() {
}, },
computed:{
formEdit(){
return this.$route.query
}
},
methods: {}, methods: {},
provide() {
return {
formEdit:this.$route.query.formEdit
}
},
} }
</script> </script>
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<form-components :forms="formList" :formEdit="formEdit" @handleSearch="onSearch"></form-components> <form-components :forms="formList" :formEdit="formEdit" @handleSearch="onSearch"></form-components>
</div> </div>
<div class="bot"> <div class="bot">
<customs-table <el-table-self
ref="table" ref="table"
:table-data="tableData" :table-data="tableData"
:columns="columns" :columns="columns"
...@@ -41,64 +41,82 @@ export default { ...@@ -41,64 +41,82 @@ export default {
columns: [ columns: [
{ {
label: "医联体", label: "医联体",
value: "unionName",
minWidth: 120, minWidth: 120,
value: "unionName",
formatter: (row) => {
return row.unionName ? row.unionName : "--"
},
}, },
{ {
label: "姓名", label: "姓名",
value: "name",
minWidth: 120, minWidth: 120,
formatter: (row) => {
return row.name ? row.name : "--"
},
value: "name",
}, },
{ {
label: "性别", label: "性别",
minWidth: 80,
value: "sex", value: "sex",
minWidth: 120, formatter: (row) => {
// trans:'d-sex', return this.$handle.formatDicList(this.dictMap["d-sex"], row.sex + "")
transList:{ },
1:'',
2:''
}
}, },
{ {
label: "身份证", label: "身份证",
value: "idCard",
minWidth: 120, minWidth: 120,
value: "idCard",
formatter: (row) => {
return row.idCard ? row.idCard : "--"
},
}, },
{ {
label: "年龄", label: "年龄",
value:"age",
minWidth: 120, minWidth: 120,
value: "age",
formatter: (row) => {
return row.age ? row.age : "--"
},
}, },
{ {
label: "筛查时间", label: "筛查时间",
minWidth: 180,
value: "screeningTime", value: "screeningTime",
minWidth: 120, formatter: (row) => {
return row.createTime ? row.createTime : "--"
},
}, },
{ {
label: "风险评估结果", label: "风险评估结果",
minWidth: 120,
value: "riskRank", value: "riskRank",
trans:'risk_level', formatter: (row) => {
transList:{ return this.$handle.formatDicList(this.dictMap["risk_level"],String(row.riskRank))
}, },
minWidth: 120,
}, },
{ {
label: "上次随访时间", label: "上次随访时间",
value: "followTime", value: "followTime",
minWidth: 120, minWidth: 120,
formatter: (row) => {
return row.followTime ? row.followTime : "--"
},
}, },
{ {
label: "随访进度", label: "随访进度",
value: "followBatch", value: "followBatch",
trans:'follow_type',
transList:{
},
minWidth: 120, minWidth: 120,
formatter: (row) => {
return this.$handle.formatDicList(this.dictMap["follow_type"],String(row.followBatch))
},
}, },
{ {
label: "计划随访时间", label: "计划随访时间",
value: "nextFollowTime", value: "nextFollowTime",
trans:'next_follow_time', formatter: (row) => {
return this.$handle.formatDicList(this.dictMap["next_follow_time"],String(row.nextFollowTime))
},
minWidth: 120, minWidth: 120,
}, },
{ {
...@@ -142,7 +160,8 @@ export default { ...@@ -142,7 +160,8 @@ export default {
"formRecordId": "", //表单记录id "formRecordId": "", //表单记录id
"linkPhone": "0556-5556666", //联系方式 "linkPhone": "0556-5556666", //联系方式
"isContinueFollow": 1, //是否继续随访 "isContinueFollow": 1, //是否继续随访
"checkStatus": "" //审核状态 "checkStatus": "", //审核状态
"riskRank":"medium"
}, },
{ {
name:'11', name:'11',
...@@ -283,7 +302,7 @@ export default { ...@@ -283,7 +302,7 @@ export default {
} }
}, },
created(){ created(){
this.initColumn() // this.initColumn()
}, },
mounted() { mounted() {
this.formEdit = JSON.parse(sessionStorage.getItem('followResearch-form')) ||{} this.formEdit = JSON.parse(sessionStorage.getItem('followResearch-form')) ||{}
...@@ -332,41 +351,41 @@ export default { ...@@ -332,41 +351,41 @@ export default {
} }
this.listLoading = false this.listLoading = false
}, },
initColumn(){ // initColumn(){
this.columns.forEach((item,index) => { // this.columns.forEach((item,index) => {
if(item.trans){ // if(item.trans){
this.initDict(item.trans,index) // this.initDict(item.trans,index)
} // }
}) // })
}, // },
async initDict(type,index){ // async initDict(type,index){
let params={ // let params={
type:type // type:type
} // }
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']=[]
} // }
else { // else {
item['opts']=res.data.map((_) => { // item['opts']=res.data.map((_) => {
return { // return {
label: _.name, // label: _.name,
value: _.code, // value: _.code,
} // }
}) // })
} // }
} // }
}) // })
} // }
}, },
} }
</script> </script>
......
...@@ -42,11 +42,7 @@ ...@@ -42,11 +42,7 @@
</el-switch>--> </el-switch>-->
</div> </div>
</el-row> </el-row>
<div <div ref="my-form" class="my-form" :class="externalScroll ? 'no-scroll' : ''">
ref="my-form"
class="my-form"
:class="externalScroll ? 'no-scroll' : ''"
>
<!-- <read-form <!-- <read-form
ref="form" ref="form"
:options="survivalForm" :options="survivalForm"
...@@ -344,7 +340,7 @@ export default { ...@@ -344,7 +340,7 @@ export default {
}, },
created() { created() {
if (this.$route.query.formEdit) { if (this.$route.query.formEdit) {
this.formData.formEdit = this.$route.query.formEdit this.formData.formEdit = JSON.parse(this.$route.query.formEdit)
} }
this.initForm() this.initForm()
if (this.getAll) { if (this.getAll) {
......
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