浏览代码

今日当班情况修改为今日各人员工作情况

seimin 3 年之前
父节点
当前提交
aee41ee2d2

二进制
public/favicon.ico


+ 0 - 2
src/components/GroupPerformance.vue

@@ -331,8 +331,6 @@ export default {
331 331
           {
332 332
             name: '异常工单数(单)',
333 333
             type: 'bar',
334
-            xAxisIndex: 2,
335
-            yAxisIndex: 2,
336 334
             barWidth: 25,
337 335
             stack: '2',
338 336
             itemStyle: {

+ 16 - 13
src/components/OnDutyToday.vue

@@ -1,9 +1,9 @@
1 1
 <template>
2 2
   <div class="on-duty-today">
3 3
     <div class="on-duty-today__inner" :class="{marquee_top:animate}" :style="{transform:'translateY('+(2.7125*n)+'rem)'}">
4
-      <div class="on-duty-today__list" v-for="(item1,i) in todayGroutList" :key="i">
4
+      <div class="on-duty-today__list" v-for="(item1,i) in workList" :key="i">
5 5
         <div class="on-duty-today__item" v-for="item2 in item1" :key="item2[2]">
6
-          <OnDutyTodayPie :todayGroutListItem="item2"></OnDutyTodayPie>
6
+          <OnDutyTodayPie :workListItem="item2"></OnDutyTodayPie>
7 7
         </div>
8 8
       </div>
9 9
     </div>
@@ -23,7 +23,7 @@ export default {
23 23
       animate: false,
24 24
       n: 0,
25 25
       todayBeOnDuty: [], // 头部总当班人数
26
-      todayGroutList: [] // 当班人数(工作中,空闲中)
26
+      workList: [] // 当班人数(工作中,空闲中)
27 27
     }
28 28
   },
29 29
   components: {
@@ -42,33 +42,36 @@ export default {
42 42
     showMarquee () {
43 43
       this.animate = true
44 44
       this.n--
45
-      if (this.n === -(this.todayGroutList.length)) {
45
+      if (this.n === -(this.workList.length)) {
46 46
         this.animate = false
47 47
         this.n = 0
48 48
       }
49 49
     },
50 50
     // 获取数据
51 51
     async getData () {
52
+      const srartTime = this.$moment().format('YYYY-MM-DD')
53
+      const endTime = this.$moment().format('YYYY-MM-DD')
54
+      const postData = { srartTime, endTime }
52 55
       const result = await post(
53
-        `/largeScreen/getData/todayBeOnDuty/${this.hospitalId}`
56
+        `/largeScreen/getData/staffWorkingCondition/${this.hospitalId}`, postData
54 57
       )
55 58
       this.todayBeOnDuty = []
56
-      this.todayGroutList = []
59
+      this.workList = []
57 60
       this.todayBeOnDuty = result.todayBeOnDuty[0]
58
-      const len = Math.ceil(result.todayGroutList.length / 3)
61
+      const len = Math.ceil(result.workList.length / 3)
59 62
       for (let i = 0; i < len; i++) {
60 63
         let list = [
61
-          result.todayGroutList[0 + 3 * i],
62
-          result.todayGroutList[1 + 3 * i],
63
-          result.todayGroutList[2 + 3 * i]
64
+          result.workList[0 + 3 * i],
65
+          result.workList[1 + 3 * i],
66
+          result.workList[2 + 3 * i]
64 67
         ]
65 68
         list = list.filter((item) => item !== undefined)
66
-        this.todayGroutList.push(list)
69
+        this.workList.push(list)
67 70
       }
68 71
       this.$emit('todayBeOnDutyHandle', JSON.stringify(this.todayBeOnDuty))
69 72
       this.polling()
70
-      if (this.todayGroutList.length > 0) {
71
-        this.todayGroutList = [...this.todayGroutList, this.todayGroutList[0]]
73
+      if (this.workList.length > 0) {
74
+        this.workList = [...this.workList, this.workList[0]]
72 75
         this.scrollInfinite()
73 76
       }
74 77
     },

+ 13 - 13
src/components/OnDutyTodayPie.vue

@@ -4,12 +4,12 @@
4 4
     <div class="on-duty-today-pie__tips">
5 5
       <ul class="on-duty-today-pie__list">
6 6
         <li class="on-duty-today-pie__item">
7
-          <i class="on-duty-today-pie__item--red"></i>空闲中
8
-          <em>{{ todayGroutListItem[1] }}</em>
7
+          <i class="on-duty-today-pie__item--green"></i>已完成
8
+          <em>{{ workListItem[1] }}</em>
9 9
         </li>
10 10
         <li class="on-duty-today-pie__item">
11
-          <i class="on-duty-today-pie__item--green"></i>工作
12
-          <em>{{ todayGroutListItem[0] }}</em>
11
+          <i class="on-duty-today-pie__item--red"></i>执行
12
+          <em>{{ workListItem[2] }}</em>
13 13
         </li>
14 14
       </ul>
15 15
     </div>
@@ -27,13 +27,13 @@ export default {
27 27
     }
28 28
   },
29 29
   props: {
30
-    todayGroutListItem: {
30
+    workListItem: {
31 31
       type: Array,
32 32
       default: () => []
33 33
     }
34 34
   },
35 35
   watch: {
36
-    todayGroutListItem () {
36
+    workListItem () {
37 37
       this.draw()
38 38
     }
39 39
   },
@@ -41,10 +41,10 @@ export default {
41 41
     // 画图
42 42
     draw () {
43 43
       this.myChart = echarts.init(this.$refs.pie)
44
-      const todayGroutListItem = this.todayGroutListItem
44
+      const workListItem = this.workListItem
45 45
       const option = {
46 46
         title: {
47
-          text: todayGroutListItem[3],
47
+          text: workListItem[0],
48 48
           textStyle: {
49 49
             color: '#fff',
50 50
             fontSize: 14,
@@ -127,7 +127,7 @@ export default {
127 127
             // label: {
128 128
             //   show: true,
129 129
             //   formatter () {
130
-            //     const num = [todayGroutListItem[1], todayGroutListItem[0]]
130
+            //     const num = [workListItem[1], workListItem[0]]
131 131
             //     return `当班人数\n${num[0]}/${num[1]}`
132 132
             //   },
133 133
             //   fontSize: 14,
@@ -244,9 +244,9 @@ export default {
244 244
     },
245 245
     _pie4 () {
246 246
       const dataArr = []
247
-      const arr = ['空闲中', '工作中']
248
-      const color = ['#c27073', '#70c282']
249
-      const num = [this.todayGroutListItem[1], this.todayGroutListItem[0]]
247
+      const arr = ['已完成', '执行中']
248
+      const color = ['#70c282', '#c27073']
249
+      const num = [this.workListItem[1], this.workListItem[2]]
250 250
       for (var i = 0; i < arr.length; i++) {
251 251
         dataArr.push({
252 252
           name: arr[i],
@@ -263,7 +263,7 @@ export default {
263 263
           dataArr[0].label = {
264 264
             show: true,
265 265
             formatter () {
266
-              return `当班人数\n${num[0]}/${num[1]}`
266
+              return `工单总数\n${num[0] + num[1]}`
267 267
             },
268 268
             fontSize: 14,
269 269
             lineHeight: 30,

+ 4 - 9
src/components/PointsRanking.vue

@@ -188,22 +188,17 @@ export default {
188 188
     },
189 189
     // 获取数据
190 190
     async getData () {
191
-      const srartTime = this.$moment()
192
-        .subtract(29, 'days')
193
-        .format('YYYY-MM-DD') // 近三十天
191
+      const srartTime = this.$moment().format('YYYY-MM-DD') // 今天
194 192
       const endTime = this.$moment().format('YYYY-MM-DD') // 今天
195 193
       const result = await post(
196
-        `/largeScreen/getData/gradeRankingList/${this.hospitalId}`,
197
-        { srartTime, endTime }
194
+        `/largeScreen/getData/gradeRanking/${this.hospitalId}`,
195
+        { srartTime, endTime, pageSize: 3 }
198 196
       )
199 197
       this.gradeRankingListNum = []
200 198
       this.gradeRankingListName = []
201
-      if (result.gradeRankingList.length > 5) {
202
-        result.gradeRankingList = result.gradeRankingList.slice(0, 5)
203
-      }
204 199
       if (result.gradeRankingList.length > 0) {
205 200
         result.gradeRankingList.forEach(item => {
206
-          this.gradeRankingListNum.push(item[2]) // 获取到的数据
201
+          this.gradeRankingListNum.push(item[0]) // 获取到的数据
207 202
           this.gradeRankingListName.push(item[1]) // 获取到的名称
208 203
         })
209 204
       }

+ 9 - 0
src/router/index.js

@@ -6,11 +6,20 @@ Vue.use(VueRouter)
6 6
 const routes = [{
7 7
   path: '/:id',
8 8
   name: 'index',
9
+  meta: {
10
+    title: '大屏端'
11
+  },
9 12
   component: () => import('../views/AppIndex.vue')
10 13
 }]
11 14
 
12 15
 const router = new VueRouter({
13 16
   routes
14 17
 })
18
+router.beforeEach((to, from, next) => {
19
+  if (to.meta.title) {
20
+    document.title = document.title = to.meta.title + ' - 大势医院输送保障管理平台'
21
+  }
22
+  next()
23
+})
15 24
 
16 25
 export default router

+ 3 - 3
src/views/AppIndex.vue

@@ -69,9 +69,9 @@
69 69
             </div>
70 70
           </article>
71 71
           <aside class="app-index__right">
72
-            <!-- 近三十天人员积分排行榜 -->
72
+            <!-- 今日积分前三人员 -->
73 73
             <div class="app-item">
74
-              <h2 class="app-item__header">近三十天人员积分排行榜</h2>
74
+              <h2 class="app-item__header">今日积分前三人员</h2>
75 75
               <PointsRanking></PointsRanking>
76 76
             </div>
77 77
             <!-- 近三十天人员按时到达率排行榜 -->
@@ -111,7 +111,7 @@ export default {
111 111
     GroupPerformance, // 近三十天各小组完成以及异常工单数
112 112
     OnDutyToday, // 今日当班情况
113 113
     TodayWorkOrder, // 今日工单情况
114
-    PointsRanking, // 近三十天人员积分排行榜
114
+    PointsRanking, // 今日积分前三人员
115 115
     BusinessTypeRatio, // 近三十天各业务类型占比
116 116
     ErrorWorkOrder, // 今日工单异常情况
117 117
     DeliveryRate, // 近三十天各类型工单按时送达率趋势

+ 2 - 2
vue.config.js

@@ -4,13 +4,13 @@ module.exports = {
4 4
   productionSourceMap: false,
5 5
   devServer: {
6 6
     open: false, // 是否自动弹出浏览器页面
7
-    host: 'localhost',
7
+    host: '0.0.0.0',
8 8
     port: '8080',
9 9
     https: false, // 是否使用https协议
10 10
     hotOnly: false, // 是否开启热更新
11 11
     proxy: {
12 12
       '/service': {
13
-        target: 'http://192.168.3.108', // API服务器的地址
13
+        target: 'http://192.168.3.87', // API服务器的地址
14 14
         ws: true, // 代理websockets
15 15
         changeOrigin: true, // 虚拟的站点需要更管origin
16 16
         pathRewrite: {