diff --git a/src/assets/img/DataCenter/circle.png b/src/assets/img/DataCenter/circle.png
new file mode 100644
index 0000000000000000000000000000000000000000..d08a2069a15d015d9f59533e8a4a5b640149f1ef
Binary files /dev/null and b/src/assets/img/DataCenter/circle.png differ
diff --git a/src/assets/img/DataCenter/message.png b/src/assets/img/DataCenter/message.png
new file mode 100644
index 0000000000000000000000000000000000000000..d60e43b5d445f10ce0cf00ef99394de3d57c974c
Binary files /dev/null and b/src/assets/img/DataCenter/message.png differ
diff --git a/src/assets/img/DataCenter/selected.png b/src/assets/img/DataCenter/selected.png
new file mode 100644
index 0000000000000000000000000000000000000000..5138a01ce74da27020be20559268350b2171022d
Binary files /dev/null and b/src/assets/img/DataCenter/selected.png differ
diff --git a/src/assets/img/DataCenter/shequ.png b/src/assets/img/DataCenter/shequ.png
new file mode 100644
index 0000000000000000000000000000000000000000..b49fa213ba19a24d4ffdae62b350709f25af8e43
Binary files /dev/null and b/src/assets/img/DataCenter/shequ.png differ
diff --git a/src/assets/img/DataCenter/shift.png b/src/assets/img/DataCenter/shift.png
new file mode 100644
index 0000000000000000000000000000000000000000..1120b5e707f583c36e49e1eade1494e64e0a6c84
Binary files /dev/null and b/src/assets/img/DataCenter/shift.png differ
diff --git a/src/assets/img/DataCenter/tijian.png b/src/assets/img/DataCenter/tijian.png
new file mode 100644
index 0000000000000000000000000000000000000000..16ad15b914e41c95013cf3c076b477a41ad8c9fa
Binary files /dev/null and b/src/assets/img/DataCenter/tijian.png differ
diff --git a/src/assets/img/DataCenter/user.png b/src/assets/img/DataCenter/user.png
new file mode 100644
index 0000000000000000000000000000000000000000..254089c22ee36192e01ee50b9df947eec8a0ae08
Binary files /dev/null and b/src/assets/img/DataCenter/user.png differ
diff --git a/src/assets/img/DataCenter/yiyuan.png b/src/assets/img/DataCenter/yiyuan.png
new file mode 100644
index 0000000000000000000000000000000000000000..7542b7ba7d58eced70b0eabc8bfe0f3c395b53b1
Binary files /dev/null and b/src/assets/img/DataCenter/yiyuan.png differ
diff --git a/src/components/CustomTable/index.vue b/src/components/CustomTable/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..1d614dbe3f8965c1eca4c5c407cde80e0fe7ad88
--- /dev/null
+++ b/src/components/CustomTable/index.vue
@@ -0,0 +1,124 @@
+
+
+
+
+
diff --git a/src/config/permission.js b/src/config/permission.js
index 51d654fe8006a43398646f9c56975893a008374f..cd2579ba3f1920e7689c5b395a21f5de9a4f29ab 100644
--- a/src/config/permission.js
+++ b/src/config/permission.js
@@ -28,9 +28,8 @@ router.beforeResolve(async (to, from, next) => {
if (!loginInterception) hasToken = true
if (hasToken) {
if (to.path === "/home") {
- next({
- path: "/",
- })
+ next()
+ // { path: "/" }
if (progressBar) VabProgress.done()
} else if (routesWhiteList.indexOf(to.path) !== -1) {
next()
@@ -49,6 +48,7 @@ router.beforeResolve(async (to, from, next) => {
accessRoutes = await store.dispatch("routes/setAllRoutes", menulist)
}
router.addRoutes(accessRoutes)
+ console.log(router)
if (accessRoutes.length === 1) {
Message({
message: "暂无菜单权限,请联系管理员",
diff --git a/src/layouts/components/Avatar/index.vue b/src/layouts/components/Avatar/index.vue
index fd349d3a26f451b0f131fdf46f2b7aa5057a575d..e7ec045f93e5421b944fab09b1ad1061a3ae1059 100644
--- a/src/layouts/components/Avatar/index.vue
+++ b/src/layouts/components/Avatar/index.vue
@@ -53,7 +53,7 @@ export default {
async () => {
const fullPath = this.$route.fullPath
await this.$store.dispatch("user/logout")
- this.$router.push(`/login?redirect=${fullPath}`)
+ this.$router.push(`/home?redirect=${fullPath}`)
}
)
},
diff --git a/src/layouts/components/NavBar/index.vue b/src/layouts/components/NavBar/index.vue
index 36b07fab5fbed4d897f4f2eca1d0e8847b27d2ab..e4e3d671ec94a9e7be639d3716900a9dfe9d9c49 100644
--- a/src/layouts/components/NavBar/index.vue
+++ b/src/layouts/components/NavBar/index.vue
@@ -4,9 +4,40 @@
无症状人群胃癌筛查随访数据中心
-
+
-
+
+
+
+
+
+

+
+
+
+
+

+ 消息
+
+
@@ -31,10 +62,37 @@ export default {
FullScreenBar,
ThemeBar,
},
+ props: {
+ curSelectedIndex: {
+ type: Number,
+ default: -1,
+ },
+ },
data() {
return {
pulse: false,
isDot: true,
+ messageCount: 10,
+ screeningList: [
+ {
+ title: "社区筛查",
+ src: require("@/assets/img/DataCenter/shequ.png"),
+ },
+ {
+ title: "医院筛查",
+ src: require("@/assets/img/DataCenter/yiyuan.png"),
+ },
+ {
+ title: "体检筛查",
+ src: require("@/assets/img/DataCenter/tijian.png"),
+ },
+ ],
+ fontList: [
+ { fontSize: "12px", label: "A-" },
+ { fontSize: "14px", label: "A" },
+ { fontSize: "16px", label: "A+" },
+ ],
+ fontIndex: localStorage.getItem("fontIndex") || 1,
}
},
computed: {
@@ -46,6 +104,8 @@ export default {
feedBackNumber: "user/feedBackNumber",
}),
},
+ created() {},
+ mounted() {},
methods: {
handleCollapse() {
this.$store.dispatch("settings/changeCollapse")
@@ -60,6 +120,14 @@ export default {
this.pulse = false
}, 1000)
},
+ openModalFlag() {
+ this.$emit("openModalFlag")
+ },
+ changeFont(i) {
+ this.fontIndex = i
+ this.$store.commit("table/setFontIndex", i)
+ localStorage.setItem("fontIndex", i)
+ },
},
}
@@ -104,63 +172,121 @@ export default {
}
}
}
-
- .right-panel {
+ .userInfo {
display: flex;
- align-content: center;
align-items: center;
- justify-content: flex-end;
- height: 74px;
-
- ::v-deep {
- .user-avatar {
- margin-top: 2px;
- margin-right: 5px;
- font-weight: 600;
- cursor: pointer;
- }
-
- .user-name {
- position: relative;
- margin-right: 35px;
- margin-left: 5px;
- font-weight: 600;
- cursor: pointer;
- }
-
- .user-name + i {
- position: absolute;
- top: 4px;
- right: 15px;
- }
-
- svg {
- width: 1em;
- height: 1em;
- margin-right: 20px;
- font-size: $base-font-size-big;
- color: $base-color-gray;
+ padding-right: 40px;
+ .fontSelect {
+ display: flex;
+ margin-right: 20px;
+ .font {
+ width: 40px;
+ height: 40px;
+ background: #4e68ff;
+ border-radius: 4px;
+ border: 1px solid #ffffff;
+ text-align: center;
+ line-height: 40px;
cursor: pointer;
- fill: $base-color-gray;
+ margin-left: 20px;
}
-
- button {
- svg {
- margin-right: 0;
- color: $base-color-white;
- cursor: pointer;
- fill: $base-color-white;
+ .active {
+ box-sizing: border-box;
+ background: #ffffff;
+ height: 40px;
+ color: #4e68ff;
+ padding: 1px;
+ .label {
+ height: 36px;
+ border: 1px solid #4e68ff;
}
}
-
- .el-badge {
- margin-right: 20px;
- padding: 0 5px;
- svg {
- margin-right: 0px;
- }
+ }
+ .community {
+ width: 106px;
+ height: 30px;
+ background: rgba(255, 255, 255, 0.1);
+ color: #fff;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ cursor: pointer;
+ img {
+ margin-right: 4px;
+ width: 18px;
+ height: 18px;
+ }
+ }
+ .user {
+ margin-left: 40px;
+ height: 30px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ cursor: pointer;
+ color: #fff;
+ img {
+ margin-right: 4px;
+ width: 18px;
+ height: 18px;
}
}
}
+ // .right-panel {
+ // display: flex;
+ // align-content: center;
+ // align-items: center;
+ // justify-content: flex-end;
+ // height: 74px;
+ // ::v-deep {
+ // .user-avatar {
+ // margin-top: 2px;
+ // margin-right: 5px;
+ // font-weight: 600;
+ // cursor: pointer;
+ // }
+
+ // .user-name {
+ // position: relative;
+ // margin-right: 35px;
+ // margin-left: 5px;
+ // font-weight: 600;
+ // cursor: pointer;
+ // }
+
+ // .user-name + i {
+ // position: absolute;
+ // top: 4px;
+ // right: 15px;
+ // }
+
+ // svg {
+ // width: 1em;
+ // height: 1em;
+ // margin-right: 20px;
+ // font-size: $base-font-size-big;
+ // color: $base-color-gray;
+ // cursor: pointer;
+ // fill: $base-color-gray;
+ // }
+
+ // button {
+ // svg {
+ // margin-right: 0;
+ // color: $base-color-white;
+ // cursor: pointer;
+ // fill: $base-color-white;
+ // }
+ // }
+
+ // .el-badge {
+ // margin-right: 20px;
+ // padding: 0 5px;
+ // svg {
+ // margin-right: 0px;
+ // }
+ // }
+ // }
+ // }
}
diff --git a/src/layouts/index.vue b/src/layouts/index.vue
index 3cc00a3b921db7e3bba042f55b35968651c0f39f..bd9ec4f42e0c40b226ff648a2b2b60636ce7968a 100644
--- a/src/layouts/index.vue
+++ b/src/layouts/index.vue
@@ -32,7 +32,10 @@
}"
>
-
+
@@ -40,6 +43,51 @@
+
+
+
请选择您的筛查填报场景
+
+ -
+
+
+

+

+
+
{{ item.title }}
+
+
+
![]()
+
+
+
+
+
+
+
+
@@ -68,7 +116,25 @@ export default {
},
mixins: [Media],
data() {
- return {}
+ return {
+ modalFlag: false,
+ screeningList: [
+ {
+ title: "社区筛查",
+ src: require("@/assets/img/DataCenter/shequ.png"),
+ },
+ {
+ title: "医院筛查",
+ src: require("@/assets/img/DataCenter/yiyuan.png"),
+ },
+ {
+ title: "体检筛查",
+ src: require("@/assets/img/DataCenter/tijian.png"),
+ },
+ ],
+ selectedIndex: 0,
+ curSelectedIndex: "",
+ }
},
computed: {
...mapGetters({
@@ -84,7 +150,18 @@ export default {
}
},
},
+ created() {
+ this.selectedIndex = localStorage.getItem("selectedIndex") || ""
+ this.curSelectedIndex = this.selectedIndex ? this.selectedIndex - 0 : -1
+ },
mounted() {
+ if (!this.selectedIndex) {
+ this.modalFlag = true
+ this.selectedIndex = 0
+ } else {
+ this.selectedIndex = this.selectedIndex - 0
+ this.curSelectedIndex = this.selectedIndex ? this.selectedIndex : -1
+ }
this.$nextTick(() => {
window.addEventListener(
"storage",
@@ -100,6 +177,15 @@ export default {
...mapActions({
handleFoldSideBar: "settings/foldSideBar",
}),
+ setSelectedIndex() {
+ console.log(this.selectedIndex)
+ this.curSelectedIndex = this.selectedIndex
+ localStorage.setItem("selectedIndex", this.selectedIndex)
+ this.modalFlag = false
+ },
+ openModalFlag() {
+ this.modalFlag = true
+ },
},
}
@@ -238,4 +324,61 @@ export default {
height: calc(100vh - 90px);
}
}
+
+.modalContent {
+ padding: 60px;
+ .title {
+ text-align: center;
+ height: 30px;
+ font-size: 24px;
+ font-family: AlibabaPuHuiTiM;
+ color: #333333;
+ line-height: 30px;
+ margin-bottom: 60px;
+ }
+ .list {
+ display: flex;
+ justify-content: space-between;
+ li {
+ cursor: pointer;
+ }
+ .screeningItem {
+ display: flex;
+ .circle {
+ width: 26px;
+ height: 26px;
+ margin-right: 12px;
+ img {
+ width: 100%;
+ height: 100%;
+ }
+ }
+ .itemTitle {
+ height: 24px;
+ font-size: 18px;
+ font-family: AlibabaPuHuiTiM;
+ color: #333333;
+ font-weight: bold;
+ line-height: 24px;
+ }
+ }
+ .ItemIamge {
+ width: 268px;
+ height: 180px;
+ margin-top: 14px;
+ img {
+ width: 100%;
+ height: 100%;
+ }
+ }
+ }
+ .submit {
+ margin-top: 60px;
+ text-align: center;
+ .btn {
+ width: 100px;
+ height: 32px;
+ }
+ }
+}
diff --git a/src/router/index.js b/src/router/index.js
index 189cc05c551cb33723bdbbd20064060273623c78..42bd05447032c44818a767e9739329d597c14d7e 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -9,7 +9,7 @@ export const constantRoutes = [
{
path: "/home",
name: "Home",
- redirect: "/home",
+ // redirect: "/home",
component: layout,
children: [
{
diff --git a/src/store/modules/table.js b/src/store/modules/table.js
new file mode 100644
index 0000000000000000000000000000000000000000..325bca7d02d89295939a042db95207d4479d1f41
--- /dev/null
+++ b/src/store/modules/table.js
@@ -0,0 +1,18 @@
+const state = {
+ fontIndex: localStorage.getItem("fontIndex") || 1,
+}
+const getters = {
+ fontIndex: (state) => state.fontIndex,
+}
+const mutations = {
+ setFontIndex(state, fontIndex) {
+ state.fontIndex = fontIndex
+ },
+}
+const actions = {}
+export default {
+ state,
+ getters,
+ mutations,
+ actions,
+}
diff --git a/src/views/dataoverview/index.vue b/src/views/dataoverview/index.vue
index 892a461d3e2ada56acedc20aed310a1dd5516fcd..95ae4b6054258d41a9941b2a002fe550b04c88ab 100644
--- a/src/views/dataoverview/index.vue
+++ b/src/views/dataoverview/index.vue
@@ -1,14 +1,154 @@
- 数据概览
+
+
+
+
-
+
diff --git a/src/views/followupquery/index.vue b/src/views/followupquery/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..f009df0f4eccb6c6962341989ec5a6d685a161b9
--- /dev/null
+++ b/src/views/followupquery/index.vue
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+ 待修改({{ tobeModified }})
+
+
+
+
+
+
+
+
+