Compare commits

..

No commits in common. "58b11a20ebbbf8b0acb9cbd6df928484d291b78b" and "3af57751122a72b30711ac8d8c351a571c92f035" have entirely different histories.

13 changed files with 102 additions and 200 deletions

View File

@ -41,7 +41,6 @@
"vue-plugin-hiprint": "^0.0.60", "vue-plugin-hiprint": "^0.0.60",
"vue-router": "4.2.5", "vue-router": "4.2.5",
"vue3-print-nb": "^0.1.4", "vue3-print-nb": "^0.1.4",
"vue3-seamless-scroll": "^3.0.2",
"vue3-select2-component": "^0.1.7", "vue3-select2-component": "^0.1.7",
"vuedraggable": "^4.1.0", "vuedraggable": "^4.1.0",
"vxe-pc-ui": "^4.3.2", "vxe-pc-ui": "^4.3.2",

View File

@ -390,13 +390,6 @@ defineExpose({
} }
:deep(.el-table__footer-wrapper tfoot td.el-table__cell) {
color: #1f6dd3 !important;
font-weight: 700;
/* 可替换为任意颜色值 */
}

View File

@ -71,7 +71,6 @@ import TreeSelect from '@/components/TreeSelect'
// 字典标签组件 // 字典标签组件
import DictTag from '@/components/DictTag' import DictTag from '@/components/DictTag'
import print from 'vue3-print-nb'; import print from 'vue3-print-nb';
import Vue3SeamlessScroll from 'vue3-seamless-scroll' // 引入插件
const app = createApp(App) const app = createApp(App)
// 全局方法挂载 // 全局方法挂载
@ -98,7 +97,6 @@ app.component('Editor', Editor)
//VUE3标准方法注入全局方法 //VUE3标准方法注入全局方法
app.provide('comDict', comDict); app.provide('comDict', comDict);
app.use(print); // 注册打印插件 app.use(print); // 注册打印插件
app.use(Vue3SeamlessScroll)
app.provide('$vuePrint', app.config.globalProperties.$vuePrint); app.provide('$vuePrint', app.config.globalProperties.$vuePrint);
app.use(router) app.use(router)
app.use(store) app.use(store)

View File

@ -21,7 +21,7 @@ NProgress.configure({
showSpinner: false showSpinner: false
}); });
const whiteList = ['/login', '/register', '/report', '/checkCode']; const whiteList = ['/login', '/register', '/report'];
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
NProgress.start() NProgress.start()

View File

@ -52,12 +52,6 @@ export const constantRoutes = [{
component: () => import('@/views/checkCode/report'), component: () => import('@/views/checkCode/report'),
hidden: true hidden: true
}, },
{
path: '/checkCode',
component: () => import('@/views/checkCode/index'),
hidden: true
},
{ {
path: "/:pathMatch(.*)*", path: "/:pathMatch(.*)*",
component: () => import('@/views/error/404'), component: () => import('@/views/error/404'),
@ -68,12 +62,6 @@ export const constantRoutes = [{
component: () => import('@/views/error/401'), component: () => import('@/views/error/401'),
hidden: true hidden: true
}, },
// 大屏
{
path: '/regional/statistics/overview',
component: () => import('@/views/regional/statistics/overview/index'),
hidden: true
},
{ {
path: '', path: '',
component: Layout, component: Layout,

View File

@ -28,12 +28,9 @@ const useUserStore = defineStore(
loginAnonymous({ loginAnonymous({
username: data.name username: data.name
}).then(res => { }).then(res => {
if (res.code == 200) { setToken(res.token)
setToken(res.token) this.token = res.token
this.token = res.token resolve()
resolve(true)
}
}).catch(error => { }).catch(error => {
reject(error) reject(error)
}) })

View File

@ -165,12 +165,9 @@ import { usePrintStore } from '@/store/modules/printStore'
import { fetchCodeList, addObj, fetchCodeDetail, fetchCodeExec, fetchCodeReqmain } from '@/api/checkCode/index' import { fetchCodeList, addObj, fetchCodeDetail, fetchCodeExec, fetchCodeReqmain } from '@/api/checkCode/index'
const aotuSize = classCom.useAutoSize(); const aotuSize = classCom.useAutoSize();
//@ts-ignore //@ts-ignore
import useUserStore from '@/store/modules/user'
//@ts-ignore
import { comDict } from '@/utils/dict' import { comDict } from '@/utils/dict'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus'
const router = useRouter() const router = useRouter()
const userStore = useUserStore()
const printStore = usePrintStore(); const printStore = usePrintStore();
const compactForm = ref<HTMLElement | null>(null); const compactForm = ref<HTMLElement | null>(null);
const heightForm = ref(90); const heightForm = ref(90);
@ -536,17 +533,12 @@ const cancelHandle = () => {
} }
onMounted(async () => { onMounted(async () => {
// 进入页面单点登录
const result = await userStore.loginAnonymous({ name: 'admin' })
if (result) {
getList()
}
// 初始化3天区间(今天-前两天) // 初始化3天区间(今天-前两天)
// const end = dayjs().format('YYYY-MM-DD HH:mm:ss'); // const end = dayjs().format('YYYY-MM-DD HH:mm:ss');
// const start = dayjs().subtract(2, 'day').format('YYYY-MM-DD HH:mm:ss'); //add 时间往后 // const start = dayjs().subtract(2, 'day').format('YYYY-MM-DD HH:mm:ss'); //add 时间往后
// queryParams.times = [start, end]; // queryParams.times = [start, end];
// console.log(queryParams.times); // console.log(queryParams.times);
getList()
adjustTableHeight(); adjustTableHeight();
// 加载病人来源字典 // 加载病人来源字典
const dictRefs = await comDict('PT', 'HOS', 'ST'); const dictRefs = await comDict('PT', 'HOS', 'ST');
@ -575,8 +567,8 @@ function adjustTableHeight() {
if (compactForm.value) { if (compactForm.value) {
// 获取高度 // 获取高度
heightForm.value = compactForm.value.offsetHeight; heightForm.value = compactForm.value.offsetHeight;
tableConfig.value.height = `calc(80vh - ${heightForm.value}px)`; // 设置表格容器的高度 tableConfig.value.height = `calc(74vh - ${heightForm.value}px)`; // 设置表格容器的高度
rightTableConfig.value.height = `calc(80vh - ${heightForm.value}px)`; rightTableConfig.value.height = `calc(74vh - ${heightForm.value}px)`;
} }
} }
@ -673,7 +665,6 @@ const printPdf = () => {
} }
.right-table { .right-table {
margin-top: .625rem;
border: 1px solid #E1E9F7; border: 1px solid #E1E9F7;
padding-top: .3125rem; padding-top: .3125rem;
} }
@ -692,7 +683,6 @@ const printPdf = () => {
margin-top: .35rem; margin-top: .35rem;
background-color: #f0f3f8; background-color: #f0f3f8;
padding: .3rem 2.5rem; padding: .3rem 2.5rem;
margin-top: .625rem;
} }
.time-line-item { .time-line-item {
@ -700,7 +690,6 @@ const printPdf = () => {
align-items: center; align-items: center;
justify-content: space-around; justify-content: space-around;
width: 16.6%; width: 16.6%;
// padding: 0 30px; // padding: 0 30px;
.timeline-content { .timeline-content {

View File

@ -819,7 +819,6 @@ interface DictData {
// 字典数据存储 // 字典数据存储
const dictData = ref<DictData>({}); const dictData = ref<DictData>({});
onMounted(async () => { onMounted(async () => {
// 初始化3天区间(今天-前两天) // 初始化3天区间(今天-前两天)
// const end = dayjs().format('YYYY-MM-DD HH:mm:ss'); // const end = dayjs().format('YYYY-MM-DD HH:mm:ss');
@ -827,10 +826,8 @@ onMounted(async () => {
// queryParams.times = [start, end]; // queryParams.times = [start, end];
// console.log(queryParams.times); // console.log(queryParams.times);
// 进入页面单点登录 // 进入页面单点登录
const result = await userStore.loginAnonymous({ name: 'admin' }) userStore.loginAnonymous({ name: 'admin' })
if (result) { getList()
getList()
}
adjustTableHeight(); adjustTableHeight();
// 加载病人来源字典 // 加载病人来源字典

View File

@ -17,7 +17,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="日期:" prop="times"> <el-form-item label="开单时间:" prop="times">
<el-date-picker v-model="queryParams.times" type="daterange" range-separator="-" start-placeholder="开始时间" <el-date-picker v-model="queryParams.times" type="daterange" range-separator="-" start-placeholder="开始时间"
end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" /> end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
</el-form-item> </el-form-item>
@ -53,13 +53,10 @@ import { listhospital } from "@/api/regional/dict/hospital.js";
import { listregdict } from "@/api/regional/dict/regdict.js"; import { listregdict } from "@/api/regional/dict/regdict.js";
import { ElMessage } from 'element-plus'; import { ElMessage } from 'element-plus';
const aotuSize = classCom.useAutoSize(); const aotuSize = classCom.useAutoSize();
import dayjs from 'dayjs';
const today = dayjs().format('YYYY-MM-DD');
const queryParams: any = ref({ const queryParams: any = ref({
pageSize: 50, pageSize: 50,
pageNum: 1, pageNum: 1,
times: [today, today]
}) })
const tableData: any = ref([]) const tableData: any = ref([])
const columns: any = ref([ const columns: any = ref([
@ -67,6 +64,7 @@ const columns: any = ref([
{ prop: 'sampletypecode', label: '标本代码', align: 'center', visible: true, }, { prop: 'sampletypecode', label: '标本代码', align: 'center', visible: true, },
{ prop: 'sampletypename', label: '标本类别', align: 'center', visible: true, }, { prop: 'sampletypename', label: '标本类别', align: 'center', visible: true, },
{ prop: 'sl', label: '数量(份)', align: 'center', visible: true, }, { prop: 'sl', label: '数量(份)', align: 'center', visible: true, },
{ prop: 'OrderTime', label: '开单时间', align: 'center', visible: true, },
]) ])
const tableConfig = ref({ const tableConfig = ref({
border: true, // 边框 border: true, // 边框
@ -121,7 +119,6 @@ const resetHandle = () => {
queryParams.value = { queryParams.value = {
pageSize: 50, pageSize: 50,
pageNum: 1, pageNum: 1,
times: [today, today]
} }
handleQuery() handleQuery()
} }
@ -134,7 +131,7 @@ const getList = () => {
const hosList = ref([]) const hosList = ref([])
const regdictList: any = ref([]) const regdictList: any = ref([])
onMounted(() => { onMounted(() => {
handleQuery() getList()
listhospital().then((res: any) => { listhospital().then((res: any) => {
hosList.value = res.rows.map((item: any) => { hosList.value = res.rows.map((item: any) => {
return { return {

View File

@ -53,12 +53,10 @@ import { listhospital } from "@/api/regional/dict/hospital.js";
import { listregdict } from "@/api/regional/dict/regdict.js"; import { listregdict } from "@/api/regional/dict/regdict.js";
import { ElMessage } from 'element-plus'; import { ElMessage } from 'element-plus';
const aotuSize = classCom.useAutoSize(); const aotuSize = classCom.useAutoSize();
import dayjs from 'dayjs';
const today = dayjs().format('YYYY-MM-DD');
const queryParams: any = ref({ const queryParams: any = ref({
pageSize: 50, pageSize: 50,
pageNum: 1, pageNum: 1,
times: [today, today]
}) })
const tableData: any = ref([]) const tableData: any = ref([])
const columns: any = ref([ const columns: any = ref([
@ -130,7 +128,6 @@ const resetHandle = () => {
queryParams.value = { queryParams.value = {
pageSize: 50, pageSize: 50,
pageNum: 1, pageNum: 1,
times: [today, today]
} }
handleQuery() handleQuery()
} }
@ -143,7 +140,7 @@ const getList = () => {
const hosList = ref([]) const hosList = ref([])
const regdictList: any = ref([]) const regdictList: any = ref([])
onMounted(() => { onMounted(() => {
handleQuery() getList()
listhospital().then((res: any) => { listhospital().then((res: any) => {
hosList.value = res.rows.map((item: any) => { hosList.value = res.rows.map((item: any) => {
return { return {

View File

@ -6,7 +6,7 @@
width: 100%; width: 100%;
min-height: 100vh; min-height: 100vh;
background: url(../images/bg2.jpg) no-repeat; background: url(../images/bg2.jpg) no-repeat;
background-size: 100% 100%; background-size: cover;
padding-top: 0rem; padding-top: 0rem;
padding: 0rem 3.125rem; padding: 0rem 3.125rem;
@ -113,7 +113,7 @@
font-size: 1.25rem; font-size: 1.25rem;
font-weight: 700; font-weight: 700;
color: #fff; color: #fff;
} }
.leftMain_top ul li .liIn .shu { .leftMain_top ul li .liIn .shu {
font-size: 1.875rem; font-size: 1.875rem;
@ -157,11 +157,7 @@
width: 100%; width: 100%;
min-height: 3.75rem; min-height: 3.75rem;
position: relative; position: relative;
padding: .625rem; padding: 1.25rem 0.78125rem;
}
.leftMain_middle_leftIn_zhe {
margin-top: 2vh;
} }
.leftMain_middle .leftMain_middle_left .leftMain_middle_leftIn h3 { .leftMain_middle .leftMain_middle_left .leftMain_middle_leftIn h3 {
@ -184,7 +180,7 @@
width: 100%; width: 100%;
min-height: 3.75rem; min-height: 3.75rem;
position: relative; position: relative;
padding: .625rem; padding: 1.25rem 0.78125rem;
} }
.leftMain_middle .leftMain_middle_right .leftMain_middle_rightIn h3 { .leftMain_middle .leftMain_middle_right .leftMain_middle_rightIn h3 {
@ -201,11 +197,9 @@
/*左边中间部分排行榜*/ /*左边中间部分排行榜*/
.leftMain_middle .leftMain_middle_right .leftMain_middle_rightIn .biaoge_pai { .leftMain_middle .leftMain_middle_right .leftMain_middle_rightIn .biaoge_pai {
width: 100%; width: 100%;
height: 68vh;
overflow: hidden; overflow: hidden;
} }
.leftMain_middle .leftMain_middle_right .leftMain_middle_rightIn .biaoge_pai ul li .liIn { .leftMain_middle .leftMain_middle_right .leftMain_middle_rightIn .biaoge_pai ul li .liIn {
display: flex; display: flex;
display: -webkit-flex; display: -webkit-flex;
@ -216,15 +210,15 @@
} }
.leftMain_middle .leftMain_middle_right .leftMain_middle_rightIn .biaoge_pai ul li .liIn .liIn_left { .leftMain_middle .leftMain_middle_right .leftMain_middle_rightIn .biaoge_pai ul li .liIn .liIn_left {
width: 43%; width: 25%;
position: relative; position: relative;
padding-left: 1.25rem; padding-left: 2.1875rem;
} }
.leftMain_middle .leftMain_middle_right .leftMain_middle_rightIn .biaoge_pai ul li .liIn .liIn_left .bot { .leftMain_middle .leftMain_middle_right .leftMain_middle_rightIn .biaoge_pai ul li .liIn .liIn_left .bot {
width: 1.25rem; width: 1.25rem;
height: 1.25rem; height: 1.25rem;
background: #05d1fc; background: #f78cf3;
border-radius: 62.5rem; border-radius: 62.5rem;
display: block; display: block;
position: absolute; position: absolute;
@ -254,12 +248,10 @@
background: #05d1fc; background: #05d1fc;
} }
.leftMain_middle .leftMain_middle_right .leftMain_middle_rightIn .biaoge_pai ul li .liIn .liIn_left zi { .leftMain_middle .leftMain_middle_right .leftMain_middle_rightIn .biaoge_pai ul li .liIn .liIn_left zi {}
}
.leftMain_middle .leftMain_middle_right .leftMain_middle_rightIn .biaoge_pai ul li .liIn .liIn_line { .leftMain_middle .leftMain_middle_right .leftMain_middle_rightIn .biaoge_pai ul li .liIn .liIn_line {
width: 40%; width: 58%;
height: 1.25rem; height: 1.25rem;
background: rgba(255, 255, 255, 0.5); background: rgba(255, 255, 255, 0.5);
border-radius: 125rem; border-radius: 125rem;
@ -268,7 +260,7 @@
.leftMain_middle .leftMain_middle_right .leftMain_middle_rightIn .biaoge_pai ul li .liIn .liIn_line .line_lineIn { .leftMain_middle .leftMain_middle_right .leftMain_middle_rightIn .biaoge_pai ul li .liIn .liIn_line .line_lineIn {
width: 100%; width: 100%;
height: 1.25rem; height: 1.25rem;
background: #05d1fc; background: #f78cf3;
border-radius: 6.25rem; border-radius: 6.25rem;
-webkit-animation: widthMove1 2s ease-in-out; -webkit-animation: widthMove1 2s ease-in-out;
} }
@ -402,14 +394,13 @@
width: 100%; width: 100%;
min-height: 3.75rem; min-height: 3.75rem;
position: relative; position: relative;
padding: .625rem; padding: 1.25rem 0.78125rem;
} }
.rightMain .rightMain_topIn h3 { .rightMain .rightMain_topIn h3 {
font-size: 1.25rem; font-size: 1.25rem;
color: #fff; color: #fff;
margin-bottom: 0.78125rem; margin-bottom: 0.78125rem;
font-weight: 700;
} }
.rightMain .rightMain_topIn .biaoge { .rightMain .rightMain_topIn .biaoge {
@ -432,7 +423,6 @@
font-size: 1.25rem; font-size: 1.25rem;
color: #fff; color: #fff;
margin-bottom: 0.78125rem; margin-bottom: 0.78125rem;
font-weight: 700;
} }
/*右下角表格*/ /*右下角表格*/

View File

@ -2,7 +2,7 @@
/* CSS Document */ /* CSS Document */
@font-face{ @font-face{
font-family: 'dig'; font-family: 'dig';
src : url('../fonts/DIN-Bold.otf'); src : url('../fonts/DIN-Light'),url('../fonts/DIN-Medium'),url('../fonts/DIN-Bold.otf');
} }
body,p,div,h1,h2,h3,h4,h5,h6,button,input,ol,li,ul,dl,dt,dd,img,table,tr,td,th,select{ body,p,div,h1,h2,h3,h4,h5,h6,button,input,ol,li,ul,dl,dt,dd,img,table,tr,td,th,select{
margin:0; margin:0;

View File

@ -63,15 +63,7 @@
<div class="leftMain_middle_leftIn"> <div class="leftMain_middle_leftIn">
<h3>委托机构当月送检标本数量</h3> <h3>委托机构当月送检标本数量</h3>
<!-- 为ECharts准备一个具备大小(宽高)的Dom --> <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div class="biaoge" style="width:100%; height:30vh" ref="chartmain" id="chartmain"></div> <div class="biaoge" style="width:100%; height:26vh" ref="chartmain" id="chartmain"></div>
<span class="border_bg_leftTop"></span>
<span class="border_bg_rightTop"></span>
<span class="border_bg_leftBottom"></span>
<span class="border_bg_rightBottom"></span>
</div>
<div class="leftMain_middle_leftIn leftMain_middle_leftIn_zhe">
<h3>近一个月送检标本数量趋势图</h3>
<div class="biaoge" style="width:100%; height:30vh" ref="chartmain_zhe" id="chartmain_zhe"></div>
<span class="border_bg_leftTop"></span> <span class="border_bg_leftTop"></span>
<span class="border_bg_rightTop"></span> <span class="border_bg_rightTop"></span>
<span class="border_bg_leftBottom"></span> <span class="border_bg_leftBottom"></span>
@ -80,25 +72,33 @@
</div> </div>
<div class="leftMain_middle_right"> <div class="leftMain_middle_right">
<div class="leftMain_middle_rightIn"> <div class="leftMain_middle_rightIn">
<h3>委托机构当月送检标本占比</h3> <h3>当日送检样本情况</h3>
<div class="biaoge biaoge_pai"> <div class="biaoge biaoge_pai" ref="biaoge_pai" style="width:100%; height:26vh">
<div class="biaoge_paiIn">
<Vue3SeamlessScroll :list="list" :config="scrollConfig">
<ul>
<li v-for="(item, i) in list">
<div class="liIn">
<div class="liIn_left"><span class="zi">{{ item.name }}</span></div>
<div class="liIn_line">
<div class="line_lineIn" :style="{ width: ` ${item.pre}%` }"></div>
</div>
<p class="num">{{ item.pre }}%</p>
</div>
</li>
</ul>
</Vue3SeamlessScroll>
</div>
</div> </div>
<span class="border_bg_leftTop"></span>
<span class="border_bg_rightTop"></span>
<span class="border_bg_leftBottom"></span>
<span class="border_bg_rightBottom"></span>
</div>
</div>
</div>
<div class="leftMain_middle">
<div class="leftMain_middle_left">
<div class="leftMain_middle_leftIn">
<h3>近一个月送检标本数量趋势图</h3>
<div class="biaoge" style="width:100%; height:28vh" ref="chartmain_zhe" id="chartmain_zhe"></div>
<span class="border_bg_leftTop"></span>
<span class="border_bg_rightTop"></span>
<span class="border_bg_leftBottom"></span>
<span class="border_bg_rightBottom"></span>
</div>
</div>
<div class="leftMain_middle_right">
<div class="leftMain_middle_rightIn">
<h3>送检项目分类占比</h3>
<div class="biaoge biaoge_bi" ref="sxEhart" style="width:100%; height:28vh">
</div>
<span class="border_bg_leftTop"></span> <span class="border_bg_leftTop"></span>
<span class="border_bg_rightTop"></span> <span class="border_bg_rightTop"></span>
<span class="border_bg_leftBottom"></span> <span class="border_bg_leftBottom"></span>
@ -110,8 +110,8 @@
<div class="rightMain"> <div class="rightMain">
<div class="rightMain_top"> <div class="rightMain_top">
<div class="rightMain_topIn"> <div class="rightMain_topIn">
<h3>当日送检样本情况</h3> <h3>这里是标题</h3>
<div class="biaoge" style="width:100%; height:35vh" ref="chartmain_bing" id="chartmain_bing"></div> <div class="biaoge" style="width:100%; height:30vh" id="chartmain_bing"></div>
<span class="border_bg_leftTop"></span> <span class="border_bg_leftTop"></span>
<span class="border_bg_rightTop"></span> <span class="border_bg_rightTop"></span>
<span class="border_bg_leftBottom"></span> <span class="border_bg_leftBottom"></span>
@ -120,8 +120,8 @@
</div> </div>
<div class="rightMain_bottom"> <div class="rightMain_bottom">
<div class="rightMain_bottomIn"> <div class="rightMain_bottomIn">
<h3>送检项目分类占比</h3> <h3>这里是标题</h3>
<div class="biaoge biaoge_list" ref="sjRef" style="width:100%; height:34vh"> <div class="biaoge biaoge_list" style="width:100%; height:36vh">
</div> </div>
<span class="border_bg_leftTop"></span> <span class="border_bg_leftTop"></span>
@ -138,46 +138,13 @@
<script setup lang="ts"> <script setup lang="ts">
import * as echarts from 'echarts'; import * as echarts from 'echarts';
import { Vue3SeamlessScroll } from 'vue3-seamless-scroll'
//@ts-ignore //@ts-ignore
const list: any = ref([
{ name: '武汉汉阳医院', pre: 89.7 },
{ name: '武汉大学人民医院', pre: 89.2 },
{ name: '武汉市汉阳区洲头街社区卫生服务中心', pre: 79.7 },
{ name: '武汉市汉阳区五里墩街社区卫生服务中心', pre: 89.1 },
{ name: '武汉市汉阳区二桥街社区卫生服务中心', pre: 89.7 },
{ name: '武汉市汉阳区洲头街社区卫生服务中心', pre: 89 },
{ name: '武汉市汉阳区洲头街社区卫生服务中心', pre: 49.7 },
{ name: '武汉市汉阳区永丰街社区卫生服务中', pre: 89.5 },
{ name: '武汉市汉阳区鹦鹉街社区卫生服务中心', pre: 69.7 },
{ name: '武汉市汉阳区四新街社区卫生服务中心', pre: 89 },
{ name: '武汉市汉阳区五里墩街社区卫生服务中心', pre: 89.7 },
{ name: '武汉大学人民医院', pre: 89.8 },
{ name: '武汉市汉阳区五里墩街社区卫生服务中心', pre: 49.7 },
{ name: '武汉市汉阳区江堤街社区卫生服务中心', pre: 89.7 },
{ name: '武汉市汉阳区洲头街社区卫生服务中心', pre: 89 },
])
const scrollConfig = {
hoverStop: true, // 鼠标点击后停止
direction: 'up', // 滚动方向:up/down/left/right
step: 0.8, // 滚动速度(数值越小越慢)
limitScrollNum: 3, // 列表长度大于等于此值才开始滚动
passive: true,
waitTime: 1000 // 单步滚动完成后停留时间(ms)
}
const chartmain = ref() const chartmain = ref()
const getEcharts1 = () => { const getEcharts1 = () => {
const Intance = echarts.init(chartmain.value); const Intance = echarts.init(chartmain.value);
var dataAxis = ['1日', '2日', '3日', '4日', '5日', '6日', '7日', '8日', '9日', '10日', '11日', '12日', '13日', '14日', '15日', '16日', '17日', '18日', '19日', '20日', '21日', '22日', '23日', '24日', '25日', '26日', '27日', '28日', '29日', '30日', '31日']; var dataAxis = ['1日', '2日', '3日', '4日', '5日', '6日', '7日', '8日', '9日', '10日', '11日', '12日', '13日', '14日', '15日'];
var data = [220, 182, 191, 234, 290, 330, 310, 123, 442, 321, 90, 149, 210, 122, 200, 306, 270, 210, 230, 120, 230, 210, 230, 210, 230, 210, 230, 210, 230, 210, 230, 210, 230, 210, 230, 210, 230, 210, 230, 210, 230, 210, 230, 210, 230, 210, 230,]; var data = [220, 182, 191, 234, 290, 330, 310, 123, 442, 321, 90, 149, 210, 122, 200];
const option = { const option = {
@ -189,7 +156,7 @@ const getEcharts1 = () => {
x: 40, x: 40,
y: 40, y: 40,
x2: 20, x2: 20,
y2: 50, y2: 20,
}, },
tooltip: { tooltip: {
trigger: 'axis' trigger: 'axis'
@ -199,8 +166,10 @@ const getEcharts1 = () => {
axisLabel: { axisLabel: {
/*inside: true,*/ /*inside: true,*/
interval: 0, interval: 0,
color: '#fff', textStyle: {
fontSize: 12 color: '#fff',
fontSize: 12
},
}, },
axisTick: { axisTick: {
show: false, show: false,
@ -213,20 +182,8 @@ const getEcharts1 = () => {
color: '#fff', color: '#fff',
} }
}, },
lineStyle: {
color: '#fff',
},
z: 10 z: 10
}, },
dataZoom: [{
type: 'slider',
show: true, //flase直接隐藏图形
xAxisIndex: [0],
left: '9%', //滚动条靠左侧的百分比
bottom: 0,
start: 0,//滚动条的起始位置
end: 60 //滚动条的截止位置(按比例分割你的柱状图x轴长度)
}],
yAxis: { yAxis: {
type: 'value', type: 'value',
name: '单位:个', name: '单位:个',
@ -242,13 +199,18 @@ const getEcharts1 = () => {
show: false show: false
}, },
axisLabel: { axisLabel: {
color: '#fff', textStyle: {
fontSize: 12 color: '#fff',
fontSize: 12
}
} }
}, },
dataZoom: [
{
type: 'inside'
}
],
series: [ series: [
{ {
type: 'bar', type: 'bar',
@ -280,10 +242,10 @@ const getEcharts1 = () => {
}; };
Intance.setOption(option); Intance.setOption(option);
} }
const chartmain_bing = ref() const biaoge_pai = ref()
const getEcharts2 = () => { const getEcharts2 = () => {
const Intance = echarts.init(chartmain_bing.value); const Intance = echarts.init(biaoge_pai.value);
const option = { const option = {
title: { title: {
text: '数据情况统计', text: '数据情况统计',
@ -325,7 +287,7 @@ const getEcharts2 = () => {
{ {
type: 'pie', type: 'pie',
radius: '65%', radius: '65%',
center: ['45%', '50%'], center: ['50%', '50%'],
selectedMode: 'single', selectedMode: 'single',
data: [ data: [
{ {
@ -355,7 +317,6 @@ const chartmain_zhe = ref()
const getEcharts3 = () => { const getEcharts3 = () => {
const Intance = echarts.init(chartmain_zhe.value); const Intance = echarts.init(chartmain_zhe.value);
const xData = ['1日', '2日', '3日', '4日', '5日', '6日', '7日', '8日', '9日', '10日', '11日', '12日', '13日', '14日', '15日', '16日', '17日', '18日', '19日', '20日', '21日', '22日', '23日', '24', '25日', '26日', '27日', '28日', '29日', '30日', '31日'];
const option = { const option = {
title: { title: {
@ -370,13 +331,13 @@ const getEcharts3 = () => {
fontSize: 12, fontSize: 12,
}, },
right: '10%', right: '10%',
data: ['武汉汉阳医院', '武汉第五医院'] data: ['折线一', '折线二']
}, },
grid: { grid: {
x: 40, x: 40,
y: 40, y: 40,
x2: 20, x2: 20,
y2: 50, y2: 20,
}, },
toolbox: { toolbox: {
feature: { feature: {
@ -389,9 +350,11 @@ const getEcharts3 = () => {
axisLabel: { axisLabel: {
/*inside: true,*/ /*inside: true,*/
interval: 0, interval: 0,
color: '#fff', textStyle: {
fontSize: 12 color: '#fff',
fontSize: 12
}
}, },
axisTick: { axisTick: {
show: false, show: false,
@ -404,18 +367,8 @@ const getEcharts3 = () => {
color: '#fff', color: '#fff',
} }
}, },
data: xData data: ['1日', '2日', '3日', '4日', '5日', '6日', '7日', '8日', '9日', '10日', '11日', '12日', '13日', '14日', '15日']
}, },
dataZoom: [{
type: 'slider',
show: true, //flase直接隐藏图形
xAxisIndex: [0],
left: '9%', //滚动条靠左侧的百分比
bottom: 0,
start: 0,//滚动条的起始位置
end: 60 //滚动条的截止位置(按比例分割你的柱状图x轴长度)
}],
yAxis: { yAxis: {
type: 'value', type: 'value',
@ -431,29 +384,33 @@ const getEcharts3 = () => {
show: false show: false
}, },
axisLabel: { axisLabel: {
color: '#fff', textStyle: {
fontSize: 12 color: '#fff',
fontSize: 12
}
} }
}, },
series: [ series: [
{ {
name: '武汉汉阳医院', name: '折线一',
type: 'line', type: 'line',
data: [457, 122, 213, 544, 260, 830, 710, 256, 300, 270, 210, 567, 234, 160, 150, 456, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300,] stack: '总量',
, data: [280, 102, 191, 134, 390, 230, 210],
itemStyle: { itemStyle: {
color: "#0efdff",//折线点的颜色 normal: {
}, color: "#0efdff",//折线点的颜色
lineStyle: { lineStyle: {
color: "#0efdff",//折线的颜色 color: "#0efdff",//折线的颜色
width: 2, width: 2,
}
},
} }
}, },
{ {
name: '武汉第五医院', name: '折线二',
type: 'line', type: 'line',
data: [100, 589, 131, 234, 290, 330, 110, 543, 130, 467, 150, 160, 170, 180, 653, 763, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420,] stack: '总量',
data: [100, 132, 131, 234, 290, 330, 110]
}, },
] ]
}; };
@ -464,10 +421,10 @@ const getEcharts3 = () => {
Intance.setOption(option); Intance.setOption(option);
} }
const sjRef = ref() const sxEhart = ref()
const getEcharts4 = () => { const getEcharts4 = () => {
const Intance = echarts.init(sjRef.value); const Intance = echarts.init(sxEhart.value);
const option = { const option = {
title: { title: {
text: '数据情况统计', text: '数据情况统计',
@ -509,7 +466,7 @@ const getEcharts4 = () => {
{ {
type: 'pie', type: 'pie',
radius: '65%', radius: '65%',
center: ['45%', '50%'], center: ['50%', '50%'],
selectedMode: 'single', selectedMode: 'single',
data: [ data: [
{ value: 156, name: '尿液' }, { value: 156, name: '尿液' },