From 1233b7e8950107382c361f5a1858bb5ae6e42d40 Mon Sep 17 00:00:00 2001
From: lrw <319150264@qq.com>
Date: Mon, 15 May 2023 11:22:29 +0800
Subject: [PATCH] =?UTF-8?q?=E6=A6=82=E8=A7=88=E6=80=BB=E8=AE=A1=E3=80=81?=
=?UTF-8?q?=E5=AE=A1=E6=A0=B8=E8=B4=A8=E6=8E=A7=E6=80=BB=E8=AE=A1=E3=80=81?=
=?UTF-8?q?=E5=8F=8D=E9=A6=88=E7=A0=81=E6=B7=BB=E5=8A=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/dataoverview.js | 28 +++++++++++++++
src/components/CustomsTable/index.vue | 41 +++++++++++++--------
src/layouts/index.vue | 34 +++++++++++++++++-
src/views/audit-qualitycontrol/index.vue | 21 +++++++++++
src/views/dataoverview/index.vue | 46 +++++++++++++++++++-----
src/views/followupentry/followaudit.vue | 3 +-
6 files changed, 146 insertions(+), 27 deletions(-)
diff --git a/src/api/dataoverview.js b/src/api/dataoverview.js
index 0860573..ad0adf1 100644
--- a/src/api/dataoverview.js
+++ b/src/api/dataoverview.js
@@ -10,3 +10,31 @@ export function getPatientPage(params = {}) {
params,
})
}
+
+// 数据概览总计
+export function getReportCount(params = {}) {
+ return request({
+ url: "/disease-data/data/report/count",
+ method: "get",
+ params,
+ })
+}
+
+// 审核质控-筛查总计
+
+export function getScreeningTotal(params = {}) {
+ return request({
+ url: "disease-data/dataCheck/screening/total",
+ method: "get",
+ params,
+ })
+}
+
+// 审核质控-随访总计
+export function getFollowTotal(params = {}) {
+ return request({
+ url: "disease-data/dataCheck/follow/total",
+ method: "get",
+ params,
+ })
+}
diff --git a/src/components/CustomsTable/index.vue b/src/components/CustomsTable/index.vue
index 2e5449e..eb6a993 100644
--- a/src/components/CustomsTable/index.vue
+++ b/src/components/CustomsTable/index.vue
@@ -6,12 +6,19 @@
:max-height="maxHeight || maxTableHeight"
:height="tableHeight"
:data="tableData"
+ :summary-method="getSummaries"
+ :show-summary="showSummary"
:show-overflow-tooltip="true"
:highlight-current-row="highLight"
:header-row-class-name="headerClass"
style="width: 100%"
>
-
+
- {{column.label}}
+ {{
+ column.label
+ }}
- {{scope.row[column.value]|| "--"}}
+ {{ scope.row[column.value] || "--" }}
@@ -55,15 +64,15 @@
- {{
- column.label
- }}
+ {{ column.label }}
-
+
{{
- op.formatter
- ? op.formatter(scope.row).label
- : op.label
- ? op.label
- : scope.row[column.value]
+ op.formatter
+ ? op.formatter(scope.row).label
+ : op.label
+ ? op.label
+ : scope.row[column.value]
}}
@@ -118,9 +127,9 @@
{{
- scope.row[column.value]
- ? scope.row[column.value][0].fileName
- : ""
+ scope.row[column.value]
+ ? scope.row[column.value][0].fileName
+ : ""
}}
@@ -177,6 +186,8 @@ export default {
columns: Array, // 表格列配置数据,{vlaue:对应数据对象中的属性,label:对应的是标题文字,fixed:列是否固定,width:列宽, sortable:是否可排序,formatter:列格式化, className:对应的是列的样式类名}
tableData: Array, // 表格数据
showIndex: { default: false }, // 是否展示索引
+ getSummaries: Function,
+ showSummary: { type: Boolean, default: false },
},
data() {
return {
diff --git a/src/layouts/index.vue b/src/layouts/index.vue
index 2d8e2b2..aeaa6b5 100644
--- a/src/layouts/index.vue
+++ b/src/layouts/index.vue
@@ -182,7 +182,7 @@
:close-on-click-modal="true"
:close-on-press-escape="false"
:show-close="true"
- width="520px"
+ width="680px"
>
驳回修改提醒
@@ -200,6 +200,10 @@
>
+
@@ -688,6 +692,33 @@ export default {
.refuteList {
display: flex;
justify-content: space-around;
+ .qrcode {
+ width: 108px;
+ height: 136px;
+ background: #546184;
+ border-radius: 4px;
+ padding: 8px;
+ margin-left: 40px;
+ margin-top: 5px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ .img {
+ width: 92px;
+ height: 92px;
+ background: url("~@/assets/img/DataCenter/qrcode.jpg") no-repeat;
+ background-size: cover;
+ background-position: center center;
+ border-radius: 2px;
+ }
+ .text {
+ font-size: 14px;
+ font-family: AlibabaPuHuiTiR;
+ color: #ffffff;
+ text-align: center;
+ margin-top: 8px;
+ }
+ }
.rufuteItem {
width: 200px;
height: 148px;
@@ -699,6 +730,7 @@ export default {
&:first-child {
margin-right: 20px;
}
+
.title {
font-size: 16px;
margin: 16px 0;
diff --git a/src/views/audit-qualitycontrol/index.vue b/src/views/audit-qualitycontrol/index.vue
index ff16be4..22e767f 100644
--- a/src/views/audit-qualitycontrol/index.vue
+++ b/src/views/audit-qualitycontrol/index.vue
@@ -30,6 +30,8 @@
:page-size="pageSize"
@pageSizeChange="handleSizeChange"
@currentPageChange="handleCurrentChange"
+ :showSummary="auditStatus === '0'"
+ :getSummaries="getSummaries"
/>
@@ -40,6 +42,7 @@
import paginationMixin from "@/components/TabComponents/mixin"
import { getFollowCheck, getFollowUncheck } from "@/api/followup"
import { getScreeningCheck, getScreeningUncheck } from "@/api/screeningAudit"
+import { getScreeningTotal, getFollowTotal } from "@/api/dataoverview.js"
export default {
components: {
// CustomsTable,
@@ -59,6 +62,7 @@ export default {
// reportTime: "2022-12-09 09:12:35",
// },
],
+ reportMap: {},
}
},
watch: {
@@ -213,6 +217,13 @@ export default {
this.handleClick()
},
methods: {
+ getSummaries() {
+ return [
+ "总计",
+ this.reportMap["checkNums"],
+ this.reportMap["unCheckNums"],
+ ]
+ },
handleClick() {
if (this.auditStatus == 1) {
this.columns[this.columns.length - 1].operations[0].label =
@@ -265,6 +276,7 @@ export default {
},
async handleSearch() {
this.listLoading = true
+ this.getReportTotal()
let params = {
pageSize: this.pageSize,
pageNum: this.pageIndex,
@@ -290,6 +302,15 @@ export default {
this.total = res.data.total
this.listLoading = false
},
+ getFollowTotal() {
+ getFollowTotal().then((res) => {})
+ },
+ getReportTotal() {
+ const API = this.type === "1" ? getFollowTotal : getScreeningTotal
+ API().then((res) => {
+ this.reportMap = res.data
+ })
+ },
},
}
diff --git a/src/views/dataoverview/index.vue b/src/views/dataoverview/index.vue
index f1c838d..1c45bb8 100644
--- a/src/views/dataoverview/index.vue
+++ b/src/views/dataoverview/index.vue
@@ -22,13 +22,15 @@
:page-size="pageSize"
@pageSizeChange="handleSizeChange"
@currentPageChange="handleCurrentChange"
+ showSummary
+ :getSummaries="getSummaries"
/>