Browse Source

Merge branch '20230223_pc_vue_new_branch' of http://git.shengws.com/csx/Vue_New into 20230223_pc_vue_new_branch

28169 1 year ago
parent
commit
5b0c8b0a99
66 changed files with 10752 additions and 244 deletions
  1. 1419 0
      .idea/shelf/Uncommitted_changes_before_Update_at_2023_4_26_15_16_[Changes]/AssessmentAfterDislysis.vue
  2. 2640 0
      .idea/shelf/Uncommitted_changes_before_Update_at_2023_4_26_15_16_[Changes]/shelved.patch
  3. 113 0
      .idea/shelf/Uncommitted_changes_before_Update_at_2023_5_30_16_44_[Changes]/shelved.patch
  4. 3 1
      src/router/index.js
  5. 107 0
      src/router/modules/Dialysisanalysis.js
  6. 12 12
      src/router/modules/dialysis.js
  7. 91 0
      src/router/modules/qcd.js
  8. 262 0
      src/xt_pages/Dialysisanalysis/albumin/albuminall.vue
  9. 218 0
      src/xt_pages/Dialysisanalysis/albumin/albuminalone.vue
  10. 102 0
      src/xt_pages/Dialysisanalysis/albumin/index.vue
  11. 102 0
      src/xt_pages/Dialysisanalysis/bloodPhosphorus/index.vue
  12. 262 0
      src/xt_pages/Dialysisanalysis/bloodPhosphorus/phosphorusall.vue
  13. 217 0
      src/xt_pages/Dialysisanalysis/bloodPhosphorus/phosphorusalone.vue
  14. 102 0
      src/xt_pages/Dialysisanalysis/bloodPotassium/index.vue
  15. 262 0
      src/xt_pages/Dialysisanalysis/bloodPotassium/potassiumall.vue
  16. 217 0
      src/xt_pages/Dialysisanalysis/bloodPotassium/potassiumalone.vue
  17. 262 0
      src/xt_pages/Dialysisanalysis/calcium/calciumall.vue
  18. 217 0
      src/xt_pages/Dialysisanalysis/calcium/calciumalone.vue
  19. 102 0
      src/xt_pages/Dialysisanalysis/calcium/index.vue
  20. 167 0
      src/xt_pages/Dialysisanalysis/dialysis_index.vue
  21. 261 0
      src/xt_pages/Dialysisanalysis/hemoglobin/hemoglobinall.vue
  22. 217 0
      src/xt_pages/Dialysisanalysis/hemoglobin/hemoglobinalone.vue
  23. 102 0
      src/xt_pages/Dialysisanalysis/hemoglobin/index.vue
  24. 209 0
      src/xt_pages/Dialysisanalysis/nonnumerical.vue
  25. 102 0
      src/xt_pages/Dialysisanalysis/otherIndicators/index.vue
  26. 262 0
      src/xt_pages/Dialysisanalysis/otherIndicators/otherall.vue
  27. 217 0
      src/xt_pages/Dialysisanalysis/otherIndicators/otheralone.vue
  28. 102 0
      src/xt_pages/Dialysisanalysis/platelets/index.vue
  29. 262 0
      src/xt_pages/Dialysisanalysis/platelets/plateletsall.vue
  30. 217 0
      src/xt_pages/Dialysisanalysis/platelets/plateletsalone.vue
  31. 243 0
      src/xt_pages/Dialysisanalysis/qualitycontrol/individual.vue
  32. 103 0
      src/xt_pages/Dialysisanalysis/qualitycontrol/thyroidGland.vue
  33. 268 0
      src/xt_pages/Dialysisanalysis/qualitycontrol/totalSstatistics.vue
  34. 3 0
      src/xt_pages/data/components/dialysisAfter.vue
  35. 2 0
      src/xt_pages/data/components/dialysisBefore.vue
  36. 2 0
      src/xt_pages/data/components/dialysisComputer.vue
  37. 2 0
      src/xt_pages/data/components/dialysisMonitor.vue
  38. 2 0
      src/xt_pages/data/components/dialysisOff.vue
  39. 2 0
      src/xt_pages/data/components/dialysisPrescription.vue
  40. 2 0
      src/xt_pages/data/components/dialysisSummary.vue
  41. 2 0
      src/xt_pages/data/components/doubleCheck.vue
  42. 2 0
      src/xt_pages/data/components/receiveTreatmentAsses.vue
  43. 12 9
      src/xt_pages/dialysis/bloodPresssWatch.vue
  44. 60 5
      src/xt_pages/dialysis/details/dialog/AssessmentAfterDislysis.vue
  45. 31 14
      src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue
  46. 19 2
      src/xt_pages/dialysis/details/dialog/acceptsTreatmentDialog.vue
  47. 58 0
      src/xt_pages/dialysis/details/dialog/adviceDialog/AddGroupAdvice.vue
  48. 2 2
      src/xt_pages/dialysis/details/dialog/assessmentBeforeDislysisDialog.vue
  49. 4 3
      src/xt_pages/dialysis/details/dialog/computer_dialog.vue
  50. 139 1
      src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue
  51. 17 16
      src/xt_pages/dialysis/details/dialog/doubleCheckDialog.vue
  52. 4 3
      src/xt_pages/dialysis/details/dialog/finish_dialog.vue
  53. 60 1
      src/xt_pages/dialysis/details/dialog/monitor_dialog.vue
  54. 1 1
      src/xt_pages/dialysis/details/dialog/treatmentSummaryDialog.vue
  55. 40 131
      src/xt_pages/dialysis/dialysisFlow.vue
  56. 40 35
      src/xt_pages/infor/index.vue
  57. 1 0
      src/xt_pages/outpatientDoctorStation/doctorDesk.vue
  58. 1 1
      src/xt_pages/outpatientDoctorStation/template/printOne.vue
  59. 167 0
      src/xt_pages/qcd/dialysis_index.vue
  60. 0 1
      src/xt_pages/qcd/patientAnalysis/bloodPressure.vue
  61. 243 0
      src/xt_pages/qcd/qualitycontrol/individual.vue
  62. 103 0
      src/xt_pages/qcd/qualitycontrol/thyroidGland.vue
  63. 274 0
      src/xt_pages/qcd/qualitycontrol/totalSstatistics.vue
  64. 4 3
      src/xt_pages/workforce/appointment.vue
  65. 1 1
      src/xt_pages/workforce/components/historyWeekTable.vue
  66. 10 2
      src/xt_pages/workforce/scheduleTablePrint.vue

File diff suppressed because it is too large
+ 1419 - 0
.idea/shelf/Uncommitted_changes_before_Update_at_2023_4_26_15_16_[Changes]/AssessmentAfterDislysis.vue


File diff suppressed because it is too large
+ 2640 - 0
.idea/shelf/Uncommitted_changes_before_Update_at_2023_4_26_15_16_[Changes]/shelved.patch


File diff suppressed because it is too large
+ 113 - 0
.idea/shelf/Uncommitted_changes_before_Update_at_2023_5_30_16_44_[Changes]/shelved.patch


+ 3 - 1
src/router/index.js View File

@@ -8,6 +8,7 @@ import device from './modules/device'
8 8
 import dialysis from './modules/dialysis'
9 9
 import patient from './modules/patient'
10 10
 import qcd from './modules/qcd'
11
+// import Dialysisanalysis from './modules/Dialysisanalysis'//
11 12
 import role from './modules/role'
12 13
 import stock from './modules/stock'
13 14
 import weight_sign from './modules/weight_sign'
@@ -172,6 +173,7 @@ var _asy_router_map = [
172 173
 
173 174
   otherManagement,
174 175
   qcd,
176
+ 
175 177
   device,
176 178
   org,
177 179
   data_upload,
@@ -202,7 +204,7 @@ var _asy_router_map = [
202 204
   integration,
203 205
   basicConfig,
204 206
   supply,
205
- 
207
+  // Dialysisanalysis,// 新菜单6.1
206 208
 ]
207 209
 
208 210
 var is_asy_router = process.env.NODE_ENV === 'production' // true; 设置为 true 强制进行路由验证

+ 107 - 0
src/router/modules/Dialysisanalysis.js View File

@@ -0,0 +1,107 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/Dialysisanalysis',
5
+  component: Layout,
6
+  redirect: 'noredirect',
7
+  name: 'Dialysisanalysis',
8
+  alwaysShow: true,
9
+  meta: {
10
+    title: '透析分析',
11
+    icon: 'statistics'
12
+  },
13
+  children: [
14
+    {
15
+      path: '/Dialysisanalysis/qualitycontrol/thyroidGland',
16
+      component: () => import('@/xt_pages/Dialysisanalysis/qualitycontrol/thyroidGland'),
17
+      name: 'thyroidGland',
18
+      meta: {
19
+        title: '甲状旁腺激素分析',
20
+        noCache: true
21
+      }
22
+    },
23
+    {
24
+      path: '/Dialysisanalysis/hemoglobin',
25
+      component: () => import('@/xt_pages/Dialysisanalysis/hemoglobin/index'),
26
+      name: 'index',
27
+      meta: {
28
+        title: '血红蛋白',
29
+        noCache: true
30
+      }
31
+    },
32
+    {
33
+      path: '/Dialysisanalysis/bloodPotassium',
34
+      component: () => import('@/xt_pages/Dialysisanalysis/bloodPotassium/index'),
35
+      name: 'index',
36
+      meta: {
37
+        title: '血钾',
38
+        noCache: true
39
+      }
40
+    },
41
+    {
42
+      path: '/Dialysisanalysis/albumin',
43
+      component: () => import('@/xt_pages/Dialysisanalysis/albumin/index'),
44
+      name: 'index',
45
+      meta: {
46
+        title: '白蛋白',
47
+        noCache: true
48
+      }
49
+    },
50
+    {
51
+      path: '/Dialysisanalysis/bloodPhosphorus',
52
+      component: () => import('@/xt_pages/Dialysisanalysis/bloodPhosphorus/index'),
53
+      name: 'index',
54
+      meta: {
55
+        title: '血磷',
56
+        noCache: true
57
+      }
58
+    },
59
+    {
60
+      path: '/Dialysisanalysis/calcium',
61
+      component: () => import('@/xt_pages/Dialysisanalysis/calcium/index'),
62
+      name: 'index',
63
+      meta: {
64
+        title: '钙',
65
+        noCache: true
66
+      }
67
+    },
68
+    {
69
+      path: '/Dialysisanalysis/platelets',
70
+      component: () => import('@/xt_pages/Dialysisanalysis/platelets/index'),
71
+      name: 'index',
72
+      meta: {
73
+        title: '血小板',
74
+        noCache: true
75
+      }
76
+    },
77
+    {
78
+      path: '/Dialysisanalysis/otherIndicators',
79
+      component: () => import('@/xt_pages/Dialysisanalysis/otherIndicators/index'),
80
+      name: 'index',
81
+      meta: {
82
+        title: '其他指标',
83
+        noCache: true
84
+      }
85
+    },
86
+    {
87
+      path: '/Dialysisanalysis/nonnumerical',
88
+      component: () => import('@/xt_pages/Dialysisanalysis/nonnumerical'),
89
+      name: 'nonnumerical',
90
+      meta: {
91
+        title: '非数值类的列表展示',
92
+        noCache: true
93
+      }
94
+    },
95
+    {
96
+      path: '/Dialysisanalysis/dialysis_index',
97
+      component: () => import('@/xt_pages/Dialysisanalysis/dialysis_index'),
98
+      name: 'dialysis_index',
99
+      meta: {
100
+        title: '透析指标详情',
101
+        noCache: true
102
+      }
103
+    },
104
+   
105
+  
106
+  ]
107
+}

+ 12 - 12
src/router/modules/dialysis.js View File

@@ -370,18 +370,18 @@ export default {
370 370
         noCache: true
371 371
       }
372 372
     },
373
-    // {
374
-    //   path: '/dialysis/print/batch/fiftyone',
375
-    //   component: () =>
376
-    //     import('@/xt_pages/dialysis/batch_print/batch_print_order_fiftyone'),
377
-    //   hidden: true,
378
-    //   is_menu: false,
379
-    //   name: 'dialysis_batch_fiftyone',
380
-    //   meta: {
381
-    //     title: '批量打印',
382
-    //     noCache: true
383
-    //   }
384
-    // },
373
+    {
374
+      path: '/dialysis/print/batch/sixtyFive',
375
+      component: () =>
376
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_sixtyFive'),
377
+      hidden: true,
378
+      is_menu: false,
379
+      name: 'dialysis_batch_sixtyFive',
380
+      meta: {
381
+        title: '批量打印',
382
+        noCache: true
383
+      }
384
+    },
385 385
     // {
386 386
     //   path: '/dialysis/print/batch/fiftythree',
387 387
     //   component: () =>

+ 91 - 0
src/router/modules/qcd.js View File

@@ -68,6 +68,97 @@ export default {
68 68
     //   }
69 69
     // },
70 70
     
71
+    
72
+    // {
73
+    //   path: '/qcd/thyroidGland',
74
+    //   component: () => import('@/xt_pages/qcd/qualitycontrol/thyroidGland'),
75
+    //   name: 'thyroidGland',
76
+    //   meta: {
77
+    //     title: '甲状旁腺激素分析',
78
+    //     noCache: true
79
+    //   }
80
+    // },
81
+    // {
82
+    //   path: '/qcd/hemoglobin',
83
+    //   component: () => import('@/xt_pages/qcd/hemoglobin/index'),
84
+    //   name: 'index',
85
+    //   meta: {
86
+    //     title: '血红蛋白',
87
+    //     noCache: true
88
+    //   }
89
+    // },
90
+    // {
91
+    //   path: '/qcd/bloodPotassium',
92
+    //   component: () => import('@/xt_pages/qcd/bloodPotassium/index'),
93
+    //   name: 'index',
94
+    //   meta: {
95
+    //     title: '血钾',
96
+    //     noCache: true
97
+    //   }
98
+    // },
99
+    // {
100
+    //   path: '/qcd/albumin',
101
+    //   component: () => import('@/xt_pages/qcd/albumin/index'),
102
+    //   name: 'index',
103
+    //   meta: {
104
+    //     title: '白蛋白',
105
+    //     noCache: true
106
+    //   }
107
+    // },
108
+    // {
109
+    //   path: '/qcd/bloodPhosphorus',
110
+    //   component: () => import('@/xt_pages/qcd/bloodPhosphorus/index'),
111
+    //   name: 'index',
112
+    //   meta: {
113
+    //     title: '血磷',
114
+    //     noCache: true
115
+    //   }
116
+    // },
117
+    // {
118
+    //   path: '/qcd/calcium',
119
+    //   component: () => import('@/xt_pages/qcd/calcium/index'),
120
+    //   name: 'index',
121
+    //   meta: {
122
+    //     title: '钙',
123
+    //     noCache: true
124
+    //   }
125
+    // },
126
+    // {
127
+    //   path: '/qcd/platelets',
128
+    //   component: () => import('@/xt_pages/qcd/platelets/index'),
129
+    //   name: 'index',
130
+    //   meta: {
131
+    //     title: '血小板',
132
+    //     noCache: true
133
+    //   }
134
+    // },
135
+    // {
136
+    //   path: '/qcd/otherIndicators',
137
+    //   component: () => import('@/xt_pages/qcd/otherIndicators/index'),
138
+    //   name: 'index',
139
+    //   meta: {
140
+    //     title: '其他指标',
141
+    //     noCache: true
142
+    //   }
143
+    // },
144
+    // {
145
+    //   path: '/qcd/nonnumerical',
146
+    //   component: () => import('@/xt_pages/qcd/nonnumerical'),
147
+    //   name: 'nonnumerical',
148
+    //   meta: {
149
+    //     title: '非数值类的列表展示',
150
+    //     noCache: true
151
+    //   }
152
+    // },
153
+    // {
154
+    //   path: '/qcd/dialysis_index',
155
+    //   component: () => import('@/xt_pages/qcd/dialysis_index'),
156
+    //   name: 'dialysis_index',
157
+    //   meta: {
158
+    //     title: '透析指标详情',
159
+    //     noCache: true
160
+    //   }
161
+    // },
71 162
     {
72 163
       path: '/qcd/basicInformationAnalysis',
73 164
       component: () => import('@/xt_pages/qcd/basicInformationAnalysis'),

+ 262 - 0
src/xt_pages/Dialysisanalysis/albumin/albuminall.vue View File

@@ -0,0 +1,262 @@
1
+<template>
2
+    <div>
3
+        <!-- <div class="content_top">
4
+            <div class="block">
5
+                <span>查询时间:</span>
6
+                <el-date-picker
7
+                v-model="time_month"
8
+                type="month"
9
+                placeholder="选择月">
10
+                </el-date-picker>
11
+            </div>
12
+            <div>
13
+                <el-date-picker
14
+                v-model="stat_time"
15
+                type="date"
16
+                placeholder="选择日期">
17
+                </el-date-picker>
18
+                <span>-</span>
19
+                <el-date-picker
20
+                v-model="end_time"
21
+                type="date"
22
+                placeholder="选择日期">
23
+                </el-date-picker>
24
+            </div>
25
+            <div style="width: 200px;">
26
+                <el-input v-model="input" placeholder="请输入内容"></el-input>
27
+            </div>
28
+            <el-button type="primary">查询</el-button>
29
+        </div> -->
30
+        
31
+        <el-row :gutter="20">
32
+        <el-col :span="5"> 
33
+          <div class="block">
34
+            <span>查询时间:</span>
35
+            <el-date-picker
36
+            v-model="time_month"
37
+            type="month"
38
+            placeholder="选择月">
39
+            </el-date-picker>
40
+          </div>
41
+        </el-col>
42
+        <el-col :span="8">
43
+          <div>
44
+            <el-date-picker
45
+            v-model="stat_time"
46
+            type="date"
47
+            placeholder="选择日期">
48
+            </el-date-picker>
49
+            <span>-</span>
50
+            <el-date-picker
51
+            v-model="end_time"
52
+            type="date"
53
+            placeholder="选择日期">
54
+            </el-date-picker>
55
+          </div>
56
+        </el-col>
57
+        <el-col :span="3">
58
+          <div style="width: 200px;">
59
+            <el-input v-model="input" placeholder="请输入内容"></el-input>
60
+          </div>
61
+        </el-col>
62
+        <el-col :span="2">
63
+            <el-button type="primary">查询</el-button>
64
+        </el-col>
65
+        </el-row>
66
+        
67
+        <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
68
+          <p class="chartTitle">统计图</p>
69
+        </div>
70
+        <div class="echart" id="mychart" :style={width:width,height:height}></div>
71
+        <div style="width: 80%;margin: auto;">
72
+            <el-table
73
+            :data="tableData"
74
+            :show-summary = true
75
+            border
76
+            style="width: 100%;">
77
+                <el-table-column
78
+                    prop="date"
79
+                    align="center"
80
+                    label="白蛋白"
81
+                    >
82
+                </el-table-column>
83
+                <el-table-column
84
+                    prop="name"
85
+                    
86
+                    label="人数"
87
+                    >
88
+                </el-table-column>
89
+                <el-table-column
90
+                    prop="address"
91
+                    align="center"
92
+                    label="操作">
93
+                    <template slot-scope="scope">
94
+                        <el-button @click="handleClick(scope.row)" style="font-size:16px;"
95
+                                type="text" >查看详情
96
+                        </el-button>
97
+                    </template>
98
+                </el-table-column>
99
+            </el-table>
100
+        </div>
101
+    </div>
102
+</template>
103
+<script>
104
+import * as echarts from "echarts";
105
+export default{
106
+    props: {
107
+   
108
+    width: {
109
+      type: String,
110
+      default: "100%"
111
+    },
112
+    height: {
113
+      type: String,
114
+      default: "400px"
115
+    },
116
+    
117
+  },
118
+    data() {
119
+        return {
120
+            time_month:'',
121
+            stat_time:'',
122
+            end_time:'',
123
+            input:'',
124
+            myChart: {},
125
+            pieData : [
126
+            {
127
+          value: 463,
128
+          name: "不达标值患者"
129
+        },
130
+        {
131
+          value: 395,
132
+          name: "未检查患者"
133
+        },
134
+        {
135
+          value: 157,
136
+          name: "达标值患者"
137
+        },
138
+        // {
139
+        //   value: 149,
140
+        //   name: "广东"
141
+        // },
142
+        // {
143
+        //   value: 147,
144
+        //   name: "湖南"
145
+        // }
146
+            
147
+            ],
148
+            pieName: [],
149
+            // myChartStyle:{float: "right", width: "100%", height: "400px"},
150
+            tableData:[],
151
+        }
152
+    },
153
+    mounted() {
154
+    this.initDate(); //数据初始化
155
+    this.initEcharts();
156
+  },
157
+  methods: {
158
+    initDate() {
159
+      for (let i = 0; i < this.pieData.length; i++) {
160
+        this.pieName[i] = this.pieData[i].name;
161
+      }
162
+    },
163
+    initEcharts() {
164
+      // 饼图
165
+      const option = {
166
+        legend: {
167
+          // 图例
168
+          data: this.pieName,
169
+          left: "10%",
170
+          top: "30%",
171
+          orient: "vertical"
172
+        },
173
+        color:['#ff7f9f','#fff67f','#1e5feb'],
174
+        title: {
175
+          // 设置饼图标题,位置设为顶部居中
176
+        //   text: "国内院士前五省份图示",
177
+          top: "0%",
178
+          left: "center"
179
+        },
180
+        series: [
181
+          {
182
+            type: "pie",
183
+            label: {
184
+              normal : {
185
+                formatter: '{b}:{c}: ({d}%)',
186
+                textStyle : {
187
+                    fontWeight : 'normal',
188
+                    fontSize : 15,
189
+                    color : "black"
190
+                }
191
+              }
192
+              // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
193
+            },
194
+            radius: "65%", //饼图半径
195
+            data: this.pieData,
196
+            itemStyle : {
197
+              emphasis: {
198
+                  shadowBlur: 10,
199
+                  shadowOffsetX: 0,
200
+                  shadowColor: 'rgba(0, 0, 0, 0.5)'
201
+              }
202
+            }
203
+          }
204
+        ]
205
+      };
206
+    //   console.log(this.seriesData);
207
+      const optionFree = {
208
+        series: [
209
+          {
210
+            data: this.seriesData,
211
+            type: "line",
212
+            smooth: true
213
+          }
214
+        ]
215
+      };
216
+      this.myChart = echarts.init(document.getElementById("mychart"));
217
+      this.myChart.setOption(option);
218
+      //随着屏幕大小调节图表
219
+      window.addEventListener("resize", () => {
220
+        this.myChart.resize();
221
+      });
222
+    },
223
+    getSummaries(param) {
224
+        const { columns, data } = param;
225
+        const sums = [];
226
+        columns.forEach((column, index) => {
227
+          if (index === 0) {
228
+            sums[index] = '总价';
229
+            return;
230
+          }
231
+          const values = data.map(item => Number(item[column.property]));
232
+          if (!values.every(value => isNaN(value))) {
233
+            sums[index] = values.reduce((prev, curr) => {
234
+              const value = Number(curr);
235
+              if (!isNaN(value)) {
236
+                return prev + curr;
237
+              } else {
238
+                return prev;
239
+              }
240
+            }, 0);
241
+            sums[index] += ' 元';
242
+          } else {
243
+            sums[index] = 'N/A';
244
+          }
245
+        });
246
+
247
+        return sums;
248
+    },
249
+    handleClick(id){
250
+        console.log(id);
251
+    }
252
+  }
253
+
254
+}
255
+</script>
256
+<style lang="scss" scoped>
257
+.content_top{
258
+    display: flex;
259
+    justify-content: space-around;
260
+    color: #1e5feb;
261
+}
262
+</style>

+ 218 - 0
src/xt_pages/Dialysisanalysis/albumin/albuminalone.vue View File

@@ -0,0 +1,218 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       
52
+       <div >
53
+        <el-row :gutter="20">
54
+            <el-col :span="4">
55
+              <div class="grid-content bg-purple">
56
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
57
+                
58
+                <el-table
59
+                :data="tableData"
60
+                border
61
+                style="width: 100%">
62
+                    <el-table-column
63
+                        align="center"
64
+                        prop="date"
65
+                        label="透析号"
66
+                       >
67
+                    </el-table-column>
68
+                    <el-table-column
69
+                        align="center"
70
+                        prop="name"
71
+                        label="姓名"
72
+                        >
73
+                    </el-table-column>
74
+                </el-table>
75
+              </div>
76
+            </el-col>
77
+            <el-col :span="19">
78
+               <div class="grid-content bg-purple">
79
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
80
+                <el-table
81
+                    :data="tableData"
82
+                    style="width: 100%"
83
+                    border
84
+                    align="center"
85
+                    max-height="250">
86
+                    <el-table-column
87
+                    fixed
88
+                    prop="date"
89
+                    label="姓名"
90
+                   >
91
+                    </el-table-column>
92
+                    <el-table-column
93
+                    prop="name"
94
+                    label="检查日期"
95
+                    >
96
+                    </el-table-column>
97
+                    <el-table-column
98
+                    prop="province"
99
+                    label="白蛋白(g/L)"
100
+                    >
101
+                    </el-table-column>
102
+                    
103
+                </el-table>
104
+               </div>
105
+           </el-col>
106
+        </el-row>
107
+       </div>
108
+
109
+    </div>
110
+</template>
111
+<script>
112
+  import * as echarts from 'echarts'
113
+export default{
114
+    // props: {
115
+    //     width: {
116
+    //         type: String,
117
+    //         default: "100%"
118
+    //     },
119
+    //     height: {
120
+    //         type: String,
121
+    //         default: "400px"
122
+    //     },
123
+    
124
+    // },
125
+    data() {
126
+        return {
127
+            inputValue:'',
128
+            stat_time:'',
129
+            end_time:'',
130
+            value:'',
131
+            myChart: {},
132
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
133
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
134
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
135
+            tableData:[],
136
+        }
137
+    },
138
+    created(){
139
+        
140
+    },
141
+    mounted() {
142
+        // this.$nextTick(function() {
143
+            this.initEcharts();
144
+		// })  
145
+        // this.myChart = echarts.init(document.getElementById("germychart"));
146
+        //     this.myChart.setOption(option);
147
+            //随着屏幕大小调节图表
148
+            window.addEventListener("resize", () => {
149
+                this.myChart.resize();
150
+            });
151
+    },
152
+    methods:{
153
+        handleSubmit(){
154
+            console.log('asdfa');
155
+        },
156
+        initEcharts() {
157
+            const option = {
158
+                xAxis: {
159
+                    type: 'category',
160
+                        boundaryGap:true,
161
+                        axisTick:{
162
+                            alignWithLabel:true //保证刻度线和标签对齐
163
+                        },
164
+                    data: this.xData,
165
+                    splitNumber:this.xData.length, //纵坐标数
166
+                    interval:this.xData //强制设置坐标轴分割间隔
167
+                },
168
+                yAxis: {
169
+                    type: 'value',
170
+                    boundaryGap: true,
171
+                    splitNumber:4, //纵坐标数
172
+                    interval:10 //强制设置坐标轴分割间隔
173
+                },
174
+                legend: {
175
+                    show: true,
176
+                    align:'left',//文字在前图标在后
177
+                    left:'15%',
178
+                    top:'5%',
179
+                    data: [{name:'白蛋白g/L'}]
180
+                },
181
+                series: [
182
+                {
183
+                    data: this.opinionData,
184
+                    name:'白蛋白g/L',
185
+                    type: "line",// 类型设置为折线图
186
+                    symbol: 'circle',
187
+                    itemStyle: {
188
+                        normal: {
189
+                            color: '#409eff', //改变折线点的颜色#a80000
190
+                            lineStyle: {
191
+                                color: '#409eff' //改变折线颜色
192
+                            }
193
+                        }
194
+                    },
195
+
196
+                },
197
+                
198
+                ],
199
+                
200
+            };
201
+            this.myChart = echarts.init(document.getElementById("germychart"));
202
+            this.myChart.setOption(option);
203
+            //随着屏幕大小调节图表
204
+            window.addEventListener("resize", () => {
205
+                this.myChart.resize();
206
+            });
207
+        },
208
+    },
209
+    
210
+}
211
+</script>
212
+<style lang="scss" scoped>
213
+.content_top{
214
+    display: flex;
215
+    justify-content: space-around;
216
+    margin-bottom: 20px;
217
+}
218
+</style>

+ 102 - 0
src/xt_pages/Dialysisanalysis/albumin/index.vue View File

@@ -0,0 +1,102 @@
1
+<!-- 白蛋白 -->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <albuminall v-if="activeName == 'first'"></albuminall>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive>
18
+                    <albuminalone v-if="activeName == 'second'"></albuminalone>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+// import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import albuminall from './albuminall.vue'
32
+import albuminalone from './albuminalone.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        albuminall,
38
+        albuminalone
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first'
43
+        }
44
+    },
45
+    methods:{
46
+      handleClick(tab, event) {
47
+        console.log(tab, event);
48
+      }
49
+    }
50
+}
51
+</script>
52
+
53
+<style lang="scss" scoped>
54
+// .page_patientControlAnalysis {
55
+
56
+// .pointTitle {
57
+//   font-size: 13px;
58
+// }
59
+
60
+// .chartTitle {
61
+//   font-size: 16px;
62
+//   font-weight: bold;
63
+//   color: #000000;
64
+// }
65
+
66
+// .point {
67
+//   width: 13px;
68
+//   height: 13px;
69
+//   background: linear-gradient(
70
+//       0deg,
71
+//       rgba(169, 224, 243, 1),
72
+//       rgba(159, 189, 252, 1)
73
+//   );
74
+//   border-radius: 7px;
75
+//   margin-right: 8px;
76
+// }
77
+
78
+// .pointTitle {
79
+//   font-size: 13px;
80
+// }
81
+
82
+// }
83
+
84
+</style>
85
+
86
+<style lang="scss">
87
+// .page_patientControlAnalysis {
88
+
89
+// .el-form-item {
90
+//   margin-bottom: 0;
91
+// }
92
+
93
+// .cell {
94
+//   text-align: center;
95
+// }
96
+
97
+// ::-webkit-scrollbar {
98
+//   height: 15px !important;
99
+// }
100
+
101
+// }
102
+</style>

+ 102 - 0
src/xt_pages/Dialysisanalysis/bloodPhosphorus/index.vue View File

@@ -0,0 +1,102 @@
1
+<!-- 血磷 -->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <phosphorusall v-if="activeName == 'first'"></phosphorusall>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive>
18
+                    <phosphorusalone v-if="activeName == 'second'"></phosphorusalone>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import phosphorusall from './phosphorusall.vue'
32
+import phosphorusalone from './phosphorusalone.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        phosphorusall,
38
+        phosphorusalone
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first'
43
+        }
44
+    },
45
+    methods:{
46
+      handleClick(tab, event) {
47
+        console.log(tab, event);
48
+      }
49
+    }
50
+}
51
+</script>
52
+
53
+<style lang="scss" scoped>
54
+// .page_patientControlAnalysis {
55
+
56
+// .pointTitle {
57
+//   font-size: 13px;
58
+// }
59
+
60
+// .chartTitle {
61
+//   font-size: 16px;
62
+//   font-weight: bold;
63
+//   color: #000000;
64
+// }
65
+
66
+// .point {
67
+//   width: 13px;
68
+//   height: 13px;
69
+//   background: linear-gradient(
70
+//       0deg,
71
+//       rgba(169, 224, 243, 1),
72
+//       rgba(159, 189, 252, 1)
73
+//   );
74
+//   border-radius: 7px;
75
+//   margin-right: 8px;
76
+// }
77
+
78
+// .pointTitle {
79
+//   font-size: 13px;
80
+// }
81
+
82
+// }
83
+
84
+</style>
85
+
86
+<style lang="scss">
87
+// .page_patientControlAnalysis {
88
+
89
+// .el-form-item {
90
+//   margin-bottom: 0;
91
+// }
92
+
93
+// .cell {
94
+//   text-align: center;
95
+// }
96
+
97
+// ::-webkit-scrollbar {
98
+//   height: 15px !important;
99
+// }
100
+
101
+// }
102
+</style>

+ 262 - 0
src/xt_pages/Dialysisanalysis/bloodPhosphorus/phosphorusall.vue View File

@@ -0,0 +1,262 @@
1
+<template>
2
+    <div>
3
+        <!-- <div class="content_top">
4
+            <div class="block">
5
+                <span>查询时间:</span>
6
+                <el-date-picker
7
+                v-model="time_month"
8
+                type="month"
9
+                placeholder="选择月">
10
+                </el-date-picker>
11
+            </div>
12
+            <div>
13
+                <el-date-picker
14
+                v-model="stat_time"
15
+                type="date"
16
+                placeholder="选择日期">
17
+                </el-date-picker>
18
+                <span>-</span>
19
+                <el-date-picker
20
+                v-model="end_time"
21
+                type="date"
22
+                placeholder="选择日期">
23
+                </el-date-picker>
24
+            </div>
25
+            <div style="width: 200px;">
26
+                <el-input v-model="input" placeholder="请输入内容"></el-input>
27
+            </div>
28
+            <el-button type="primary">查询</el-button>
29
+        </div> -->
30
+        <el-row :gutter="20">
31
+        <el-col :span="5"> 
32
+          <div class="block">
33
+            <span>查询时间:</span>
34
+            <el-date-picker
35
+            v-model="time_month"
36
+            type="month"
37
+            placeholder="选择月">
38
+            </el-date-picker>
39
+          </div>
40
+        </el-col>
41
+        <el-col :span="8">
42
+          <div>
43
+            <el-date-picker
44
+            v-model="stat_time"
45
+            type="date"
46
+            placeholder="选择日期">
47
+            </el-date-picker>
48
+            <span>-</span>
49
+            <el-date-picker
50
+            v-model="end_time"
51
+            type="date"
52
+            placeholder="选择日期">
53
+            </el-date-picker>
54
+          </div>
55
+        </el-col>
56
+        <el-col :span="3">
57
+          <div style="width: 200px;">
58
+            <el-input v-model="input" placeholder="请输入内容"></el-input>
59
+          </div>
60
+        </el-col>
61
+        <el-col :span="2">
62
+            <el-button type="primary">查询</el-button>
63
+        </el-col>
64
+        </el-row>
65
+        
66
+        
67
+        <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
68
+          <p class="chartTitle">统计图</p>
69
+        </div>
70
+        <div class="echart" id="mychart" :style={width:width,height:height}></div>
71
+        <div style="width: 80%;margin: auto;">
72
+            <el-table
73
+            :data="tableData"
74
+            :show-summary = true
75
+            border
76
+            style="width: 100%;">
77
+                <el-table-column
78
+                    prop="date"
79
+                    align="center"
80
+                    label="血磷"
81
+                    >
82
+                </el-table-column>
83
+                <el-table-column
84
+                    prop="name"
85
+                    
86
+                    label="人数"
87
+                    >
88
+                </el-table-column>
89
+                <el-table-column
90
+                    prop="address"
91
+                    align="center"
92
+                    label="操作">
93
+                    <template slot-scope="scope">
94
+                        <el-button @click="handleClick(scope.row)" style="font-size:16px;"
95
+                                type="text" >查看详情
96
+                        </el-button>
97
+                    </template>
98
+                </el-table-column>
99
+            </el-table>
100
+        </div>
101
+    </div>
102
+</template>
103
+<script>
104
+import * as echarts from "echarts";
105
+export default{
106
+    props: {
107
+   
108
+    width: {
109
+      type: String,
110
+      default: "100%"
111
+    },
112
+    height: {
113
+      type: String,
114
+      default: "400px"
115
+    },
116
+    
117
+  },
118
+    data() {
119
+        return {
120
+            time_month:'',
121
+            stat_time:'',
122
+            end_time:'',
123
+            input:'',
124
+            myChart: {},
125
+            pieData : [
126
+            {
127
+          value: 463,
128
+          name: "不达标值患者"
129
+        },
130
+        {
131
+          value: 395,
132
+          name: "未检查患者"
133
+        },
134
+        {
135
+          value: 157,
136
+          name: "达标值患者"
137
+        },
138
+        // {
139
+        //   value: 149,
140
+        //   name: "广东"
141
+        // },
142
+        // {
143
+        //   value: 147,
144
+        //   name: "湖南"
145
+        // }
146
+            
147
+            ],
148
+            pieName: [],
149
+            // myChartStyle:{float: "right", width: "100%", height: "400px"},
150
+            tableData:[],
151
+        }
152
+    },
153
+    mounted() {
154
+    this.initDate(); //数据初始化
155
+    this.initEcharts();
156
+  },
157
+  methods: {
158
+    initDate() {
159
+      for (let i = 0; i < this.pieData.length; i++) {
160
+        this.pieName[i] = this.pieData[i].name;
161
+      }
162
+    },
163
+    initEcharts() {
164
+      // 饼图
165
+      const option = {
166
+        legend: {
167
+          // 图例
168
+          data: this.pieName,
169
+          left: "10%",
170
+          top: "30%",
171
+          orient: "vertical"
172
+        },
173
+        color:['#ff7f9f','#fff67f','#1e5feb'],
174
+        title: {
175
+          // 设置饼图标题,位置设为顶部居中
176
+        //   text: "国内院士前五省份图示",
177
+          top: "0%",
178
+          left: "center"
179
+        },
180
+        series: [
181
+          {
182
+            type: "pie",
183
+            label: {
184
+              normal : {
185
+                formatter: '{b}:{c}: ({d}%)',
186
+                textStyle : {
187
+                    fontWeight : 'normal',
188
+                    fontSize : 15,
189
+                    color : "black"
190
+                }
191
+              }
192
+              // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
193
+            },
194
+            radius: "65%", //饼图半径
195
+            data: this.pieData,
196
+            itemStyle : {
197
+              emphasis: {
198
+                  shadowBlur: 10,
199
+                  shadowOffsetX: 0,
200
+                  shadowColor: 'rgba(0, 0, 0, 0.5)'
201
+              }
202
+            }
203
+          }
204
+        ]
205
+      };
206
+    //   console.log(this.seriesData);
207
+      const optionFree = {
208
+        series: [
209
+          {
210
+            data: this.seriesData,
211
+            type: "line",
212
+            smooth: true
213
+          }
214
+        ]
215
+      };
216
+      this.myChart = echarts.init(document.getElementById("mychart"));
217
+      this.myChart.setOption(option);
218
+      //随着屏幕大小调节图表
219
+      window.addEventListener("resize", () => {
220
+        this.myChart.resize();
221
+      });
222
+    },
223
+    getSummaries(param) {
224
+        const { columns, data } = param;
225
+        const sums = [];
226
+        columns.forEach((column, index) => {
227
+          if (index === 0) {
228
+            sums[index] = '总价';
229
+            return;
230
+          }
231
+          const values = data.map(item => Number(item[column.property]));
232
+          if (!values.every(value => isNaN(value))) {
233
+            sums[index] = values.reduce((prev, curr) => {
234
+              const value = Number(curr);
235
+              if (!isNaN(value)) {
236
+                return prev + curr;
237
+              } else {
238
+                return prev;
239
+              }
240
+            }, 0);
241
+            sums[index] += ' 元';
242
+          } else {
243
+            sums[index] = 'N/A';
244
+          }
245
+        });
246
+
247
+        return sums;
248
+    },
249
+    handleClick(id){
250
+        console.log(id);
251
+    }
252
+  }
253
+
254
+}
255
+</script>
256
+<style lang="scss" scoped>
257
+.content_top{
258
+    display: flex;
259
+    justify-content: space-around;
260
+    color: #1e5feb;
261
+}
262
+</style>

+ 217 - 0
src/xt_pages/Dialysisanalysis/bloodPhosphorus/phosphorusalone.vue View File

@@ -0,0 +1,217 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       <div >
52
+        <el-row :gutter="20">
53
+            <el-col :span="4">
54
+              <div class="grid-content bg-purple">
55
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
56
+                <!-- <h2>患者列表</h2> -->
57
+                <el-table
58
+                :data="tableData"
59
+                border
60
+                style="width: 100%">
61
+                    <el-table-column
62
+                        align="center"
63
+                        prop="date"
64
+                        label="透析号"
65
+                       >
66
+                    </el-table-column>
67
+                    <el-table-column
68
+                        align="center"
69
+                        prop="name"
70
+                        label="姓名"
71
+                        >
72
+                    </el-table-column>
73
+                </el-table>
74
+              </div>
75
+            </el-col>
76
+            <el-col :span="19">
77
+               <div class="grid-content bg-purple">
78
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
79
+                <el-table
80
+                    :data="tableData"
81
+                    style="width: 100%"
82
+                    border
83
+                    align="center"
84
+                    max-height="250">
85
+                    <el-table-column
86
+                    fixed
87
+                    prop="date"
88
+                    label="姓名"
89
+                   >
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                    prop="name"
93
+                    label="检查日期"
94
+                    >
95
+                    </el-table-column>
96
+                    <el-table-column
97
+                    prop="province"
98
+                    label="血磷(mmol/L)"
99
+                    >
100
+                    </el-table-column>
101
+                    
102
+                </el-table>
103
+               </div>
104
+           </el-col>
105
+        </el-row>
106
+       </div>
107
+
108
+    </div>
109
+</template>
110
+<script>
111
+  import * as echarts from 'echarts'
112
+export default{
113
+    // props: {
114
+    //     width: {
115
+    //         type: String,
116
+    //         default: "100%"
117
+    //     },
118
+    //     height: {
119
+    //         type: String,
120
+    //         default: "400px"
121
+    //     },
122
+    
123
+    // },
124
+    data() {
125
+        return {
126
+            inputValue:'',
127
+            stat_time:'',
128
+            end_time:'',
129
+            value:'',
130
+            myChart: {},
131
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
132
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
133
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
134
+            tableData:[],
135
+        }
136
+    },
137
+    created(){
138
+        
139
+    },
140
+    mounted() {
141
+        // this.$nextTick(function() {
142
+            this.initEcharts();
143
+		// })  
144
+        // this.myChart = echarts.init(document.getElementById("germychart"));
145
+        //     this.myChart.setOption(option);
146
+            //随着屏幕大小调节图表
147
+            window.addEventListener("resize", () => {
148
+                this.myChart.resize();
149
+            });
150
+    },
151
+    methods:{
152
+        handleSubmit(){
153
+            console.log('asdfa');
154
+        },
155
+        initEcharts() {
156
+            const option = {
157
+                xAxis: {
158
+                    type: 'category',
159
+                        boundaryGap:true,
160
+                        axisTick:{
161
+                            alignWithLabel:true //保证刻度线和标签对齐
162
+                        },
163
+                    data: this.xData,
164
+                    splitNumber:this.xData.length, //纵坐标数
165
+                    interval:this.xData //强制设置坐标轴分割间隔
166
+                },
167
+                yAxis: {
168
+                    type: 'value',
169
+                    boundaryGap: true,
170
+                    splitNumber:4, //纵坐标数
171
+                    interval:10 //强制设置坐标轴分割间隔
172
+                },
173
+                legend: {
174
+                    show: true,
175
+                    align:'left',//文字在前图标在后
176
+                    left:'15%',
177
+                    top:'5%',
178
+                    data: [{name:'血磷mmol/L'}]
179
+                },
180
+                series: [
181
+                {
182
+                    data: this.opinionData,
183
+                    name:'血磷mmol/L',
184
+                    type: "line",// 类型设置为折线图
185
+                    symbol: 'circle',
186
+                    itemStyle: {
187
+                        normal: {
188
+                            color: '#409eff', //改变折线点的颜色#a80000
189
+                            lineStyle: {
190
+                                color: '#409eff' //改变折线颜色
191
+                            }
192
+                        }
193
+                    },
194
+
195
+                },
196
+                
197
+                ],
198
+                
199
+            };
200
+            this.myChart = echarts.init(document.getElementById("germychart"));
201
+            this.myChart.setOption(option);
202
+            //随着屏幕大小调节图表
203
+            window.addEventListener("resize", () => {
204
+                this.myChart.resize();
205
+            });
206
+        },
207
+    },
208
+    
209
+}
210
+</script>
211
+<style lang="scss" scoped>
212
+.content_top{
213
+    display: flex;
214
+    justify-content: space-around;
215
+    margin-bottom: 20px;
216
+}
217
+</style>

+ 102 - 0
src/xt_pages/Dialysisanalysis/bloodPotassium/index.vue View File

@@ -0,0 +1,102 @@
1
+<!-- 血钾 -->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <potassiumall v-if="activeName == 'first'"></potassiumall>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive> 
18
+                    <potassiumalone v-if="activeName == 'second'"></potassiumalone>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import potassiumall from './potassiumall'
32
+import potassiumalone from './potassiumalone.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        potassiumall,
38
+        potassiumalone
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first'
43
+        }
44
+    },
45
+    methods:{
46
+      handleClick(tab, event) {
47
+        console.log(tab, event);
48
+      }
49
+    }
50
+}
51
+</script>
52
+
53
+<style lang="scss" scoped>
54
+// .page_patientControlAnalysis {
55
+
56
+// .pointTitle {
57
+//   font-size: 13px;
58
+// }
59
+
60
+// .chartTitle {
61
+//   font-size: 16px;
62
+//   font-weight: bold;
63
+//   color: #000000;
64
+// }
65
+
66
+// .point {
67
+//   width: 13px;
68
+//   height: 13px;
69
+//   background: linear-gradient(
70
+//       0deg,
71
+//       rgba(169, 224, 243, 1),
72
+//       rgba(159, 189, 252, 1)
73
+//   );
74
+//   border-radius: 7px;
75
+//   margin-right: 8px;
76
+// }
77
+
78
+// .pointTitle {
79
+//   font-size: 13px;
80
+// }
81
+
82
+// }
83
+
84
+</style>
85
+
86
+<style lang="scss">
87
+// .page_patientControlAnalysis {
88
+
89
+// .el-form-item {
90
+//   margin-bottom: 0;
91
+// }
92
+
93
+// .cell {
94
+//   text-align: center;
95
+// }
96
+
97
+// ::-webkit-scrollbar {
98
+//   height: 15px !important;
99
+// }
100
+
101
+// }
102
+</style>

+ 262 - 0
src/xt_pages/Dialysisanalysis/bloodPotassium/potassiumall.vue View File

@@ -0,0 +1,262 @@
1
+<template>
2
+    <div>
3
+        <!-- <div class="content_top">
4
+            <div class="block">
5
+                <span>查询时间:</span>
6
+                <el-date-picker
7
+                v-model="time_month"
8
+                type="month"
9
+                placeholder="选择月">
10
+                </el-date-picker>
11
+            </div>
12
+            <div>
13
+                <el-date-picker
14
+                v-model="stat_time"
15
+                type="date"
16
+                placeholder="选择日期">
17
+                </el-date-picker>
18
+                <span>-</span>
19
+                <el-date-picker
20
+                v-model="end_time"
21
+                type="date"
22
+                placeholder="选择日期">
23
+                </el-date-picker>
24
+            </div>
25
+            <div style="width: 200px;">
26
+                <el-input v-model="input" placeholder="请输入内容"></el-input>
27
+            </div>
28
+            <el-button type="primary">查询</el-button>
29
+        </div> -->
30
+        
31
+        <el-row :gutter="20">
32
+        <el-col :span="5"> 
33
+          <div class="block">
34
+            <span>查询时间:</span>
35
+            <el-date-picker
36
+            v-model="time_month"
37
+            type="month"
38
+            placeholder="选择月">
39
+            </el-date-picker>
40
+          </div>
41
+        </el-col>
42
+        <el-col :span="8">
43
+          <div>
44
+            <el-date-picker
45
+            v-model="stat_time"
46
+            type="date"
47
+            placeholder="选择日期">
48
+            </el-date-picker>
49
+            <span>-</span>
50
+            <el-date-picker
51
+            v-model="end_time"
52
+            type="date"
53
+            placeholder="选择日期">
54
+            </el-date-picker>
55
+          </div>
56
+        </el-col>
57
+        <el-col :span="3">
58
+          <div style="width: 200px;">
59
+            <el-input v-model="input" placeholder="请输入内容"></el-input>
60
+          </div>
61
+        </el-col>
62
+        <el-col :span="2">
63
+            <el-button type="primary">查询</el-button>
64
+        </el-col>
65
+        </el-row>
66
+        
67
+        <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
68
+          <p class="chartTitle">统计图</p>
69
+        </div>
70
+        <div class="echart" id="mychart" :style={width:width,height:height}></div>
71
+        <div style="width: 80%;margin: auto;">
72
+            <el-table
73
+            :data="tableData"
74
+            :show-summary = true
75
+            border
76
+            style="width: 100%;">
77
+                <el-table-column
78
+                    prop="date"
79
+                    align="center"
80
+                    label="血钾"
81
+                    >
82
+                </el-table-column>
83
+                <el-table-column
84
+                    prop="name"
85
+                    
86
+                    label="人数"
87
+                    >
88
+                </el-table-column>
89
+                <el-table-column
90
+                    prop="address"
91
+                    align="center"
92
+                    label="操作">
93
+                    <template slot-scope="scope">
94
+                        <el-button @click="handleClick(scope.row)" style="font-size:16px;"
95
+                                type="text" >查看详情
96
+                        </el-button>
97
+                    </template>
98
+                </el-table-column>
99
+            </el-table>
100
+        </div>
101
+    </div>
102
+</template>
103
+<script>
104
+import * as echarts from "echarts";
105
+export default{
106
+    props: {
107
+   
108
+    width: {
109
+      type: String,
110
+      default: "100%"
111
+    },
112
+    height: {
113
+      type: String,
114
+      default: "400px"
115
+    },
116
+    
117
+  },
118
+    data() {
119
+        return {
120
+            time_month:'',
121
+            stat_time:'',
122
+            end_time:'',
123
+            input:'',
124
+            myChart: {},
125
+            pieData : [
126
+            {
127
+          value: 463,
128
+          name: "不达标值患者"
129
+        },
130
+        {
131
+          value: 395,
132
+          name: "未检查患者"
133
+        },
134
+        {
135
+          value: 157,
136
+          name: "达标值患者"
137
+        },
138
+        // {
139
+        //   value: 149,
140
+        //   name: "广东"
141
+        // },
142
+        // {
143
+        //   value: 147,
144
+        //   name: "湖南"
145
+        // }
146
+            
147
+            ],
148
+            pieName: [],
149
+            // myChartStyle:{float: "right", width: "100%", height: "400px"},
150
+            tableData:[],
151
+        }
152
+    },
153
+    mounted() {
154
+    this.initDate(); //数据初始化
155
+    this.initEcharts();
156
+  },
157
+  methods: {
158
+    initDate() {
159
+      for (let i = 0; i < this.pieData.length; i++) {
160
+        this.pieName[i] = this.pieData[i].name;
161
+      }
162
+    },
163
+    initEcharts() {
164
+      // 饼图
165
+      const option = {
166
+        legend: {
167
+          // 图例
168
+          data: this.pieName,
169
+          left: "10%",
170
+          top: "30%",
171
+          orient: "vertical"
172
+        },
173
+        color:['#ff7f9f','#fff67f','#1e5feb'],
174
+        title: {
175
+          // 设置饼图标题,位置设为顶部居中
176
+        //   text: "国内院士前五省份图示",
177
+          top: "0%",
178
+          left: "center"
179
+        },
180
+        series: [
181
+          {
182
+            type: "pie",
183
+            label: {
184
+              normal : {
185
+                formatter: '{b}:{c}: ({d}%)',
186
+                textStyle : {
187
+                    fontWeight : 'normal',
188
+                    fontSize : 15,
189
+                    color : "black"
190
+                }
191
+              }
192
+              // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
193
+            },
194
+            radius: "65%", //饼图半径
195
+            data: this.pieData,
196
+            itemStyle : {
197
+              emphasis: {
198
+                shadowBlur: 10,
199
+                shadowOffsetX: 0,
200
+                shadowColor: 'rgba(0, 0, 0, 0.5)'
201
+              }
202
+            }
203
+          }
204
+        ]
205
+      };
206
+    //   console.log(this.seriesData);
207
+      const optionFree = {
208
+        series: [
209
+          {
210
+            data: this.seriesData,
211
+            type: "line",
212
+            smooth: true
213
+          }
214
+        ]
215
+      };
216
+      this.myChart = echarts.init(document.getElementById("mychart"));
217
+      this.myChart.setOption(option);
218
+      //随着屏幕大小调节图表
219
+      window.addEventListener("resize", () => {
220
+        this.myChart.resize();
221
+      });
222
+    },
223
+    getSummaries(param) {
224
+        const { columns, data } = param;
225
+        const sums = [];
226
+        columns.forEach((column, index) => {
227
+          if (index === 0) {
228
+            sums[index] = '总价';
229
+            return;
230
+          }
231
+          const values = data.map(item => Number(item[column.property]));
232
+          if (!values.every(value => isNaN(value))) {
233
+            sums[index] = values.reduce((prev, curr) => {
234
+              const value = Number(curr);
235
+              if (!isNaN(value)) {
236
+                return prev + curr;
237
+              } else {
238
+                return prev;
239
+              }
240
+            }, 0);
241
+            sums[index] += ' 元';
242
+          } else {
243
+            sums[index] = 'N/A';
244
+          }
245
+        });
246
+
247
+        return sums;
248
+    },
249
+    handleClick(id){
250
+        console.log(id);
251
+    }
252
+  }
253
+
254
+}
255
+</script>
256
+<style lang="scss" scoped>
257
+.content_top{
258
+    display: flex;
259
+    justify-content: space-around;
260
+    color: #1e5feb;
261
+}
262
+</style>

+ 217 - 0
src/xt_pages/Dialysisanalysis/bloodPotassium/potassiumalone.vue View File

@@ -0,0 +1,217 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       <div >
52
+        <el-row :gutter="20">
53
+            <el-col :span="4">
54
+              <div class="grid-content bg-purple">
55
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
56
+                <!-- <h2>患者列表</h2> -->
57
+                <el-table
58
+                :data="tableData"
59
+                border
60
+                style="width: 100%">
61
+                    <el-table-column
62
+                        align="center"
63
+                        prop="date"
64
+                        label="透析号"
65
+                       >
66
+                    </el-table-column>
67
+                    <el-table-column
68
+                        align="center"
69
+                        prop="name"
70
+                        label="姓名"
71
+                        >
72
+                    </el-table-column>
73
+                </el-table>
74
+              </div>
75
+            </el-col>
76
+            <el-col :span="19">
77
+               <div class="grid-content bg-purple">
78
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
79
+                <el-table
80
+                    :data="tableData"
81
+                    style="width: 100%"
82
+                    border
83
+                    align="center"
84
+                    max-height="250">
85
+                    <el-table-column
86
+                    fixed
87
+                    prop="date"
88
+                    label="姓名"
89
+                   >
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                    prop="name"
93
+                    label="检查日期"
94
+                    >
95
+                    </el-table-column>
96
+                    <el-table-column
97
+                    prop="province"
98
+                    label="血钾(mmol/L)"
99
+                    >
100
+                    </el-table-column>
101
+                    
102
+                </el-table>
103
+               </div>
104
+           </el-col>
105
+        </el-row>
106
+       </div>
107
+
108
+    </div>
109
+</template>
110
+<script>
111
+  import * as echarts from 'echarts'
112
+export default{
113
+    // props: {
114
+    //     width: {
115
+    //         type: String,
116
+    //         default: "100%"
117
+    //     },
118
+    //     height: {
119
+    //         type: String,
120
+    //         default: "400px"
121
+    //     },
122
+    
123
+    // },
124
+    data() {
125
+        return {
126
+            inputValue:'',
127
+            stat_time:'',
128
+            end_time:'',
129
+            value:'',
130
+            myChart: {},
131
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
132
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
133
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
134
+            tableData:[],
135
+        }
136
+    },
137
+    created(){
138
+        
139
+    },
140
+    mounted() {
141
+        // this.$nextTick(function() {
142
+            this.initEcharts();
143
+		// })  
144
+        // this.myChart = echarts.init(document.getElementById("germychart"));
145
+        //     this.myChart.setOption(option);
146
+            //随着屏幕大小调节图表
147
+            window.addEventListener("resize", () => {
148
+                this.myChart.resize();
149
+            });
150
+    },
151
+    methods:{
152
+        handleSubmit(){
153
+            console.log('asdfa');
154
+        },
155
+        initEcharts() {
156
+            const option = {
157
+                xAxis: {
158
+                    type: 'category',
159
+                        boundaryGap:true,
160
+                        axisTick:{
161
+                            alignWithLabel:true //保证刻度线和标签对齐
162
+                        },
163
+                    data: this.xData,
164
+                    splitNumber:this.xData.length, //纵坐标数
165
+                    interval:this.xData //强制设置坐标轴分割间隔
166
+                },
167
+                yAxis: {
168
+                    type: 'value',
169
+                    boundaryGap: true,
170
+                    splitNumber:4, //纵坐标数
171
+                    interval:10 //强制设置坐标轴分割间隔
172
+                },
173
+                legend: {
174
+                    show: true,
175
+                    align:'left',//文字在前图标在后
176
+                    left:'15%',
177
+                    top:'5%',
178
+                    data: [{name:'血钾mmol/L'}]
179
+                },
180
+                series: [
181
+                {
182
+                    data: this.opinionData,
183
+                    name:'血钾mmol/L',
184
+                    type: "line",// 类型设置为折线图
185
+                    symbol: 'circle',
186
+                    itemStyle: {
187
+                        normal: {
188
+                            color: '#409eff', //改变折线点的颜色#a80000
189
+                            lineStyle: {
190
+                                color: '#409eff' //改变折线颜色
191
+                            }
192
+                        }
193
+                    },
194
+
195
+                },
196
+                
197
+                ],
198
+                
199
+            };
200
+            this.myChart = echarts.init(document.getElementById("germychart"));
201
+            this.myChart.setOption(option);
202
+            //随着屏幕大小调节图表
203
+            window.addEventListener("resize", () => {
204
+                this.myChart.resize();
205
+            });
206
+        },
207
+    },
208
+    
209
+}
210
+</script>
211
+<style lang="scss" scoped>
212
+.content_top{
213
+    display: flex;
214
+    justify-content: space-around;
215
+    margin-bottom: 20px;
216
+}
217
+</style>

+ 262 - 0
src/xt_pages/Dialysisanalysis/calcium/calciumall.vue View File

@@ -0,0 +1,262 @@
1
+<template>
2
+    <div>
3
+        <!-- <div class="content_top">
4
+            <div class="block">
5
+                <span>查询时间:</span>
6
+                <el-date-picker
7
+                v-model="time_month"
8
+                type="month"
9
+                placeholder="选择月">
10
+                </el-date-picker>
11
+            </div>
12
+            <div>
13
+                <el-date-picker
14
+                v-model="stat_time"
15
+                type="date"
16
+                placeholder="选择日期">
17
+                </el-date-picker>
18
+                <span>-</span>
19
+                <el-date-picker
20
+                v-model="end_time"
21
+                type="date"
22
+                placeholder="选择日期">
23
+                </el-date-picker>
24
+            </div>
25
+            <div style="width: 200px;">
26
+                <el-input v-model="input" placeholder="请输入内容"></el-input>
27
+            </div>
28
+            <el-button type="primary">查询</el-button>
29
+        </div> -->
30
+        
31
+        <el-row :gutter="20">
32
+        <el-col :span="5"> 
33
+          <div class="block">
34
+            <span>查询时间:</span>
35
+            <el-date-picker
36
+            v-model="time_month"
37
+            type="month"
38
+            placeholder="选择月">
39
+            </el-date-picker>
40
+          </div>
41
+        </el-col>
42
+        <el-col :span="8">
43
+          <div>
44
+            <el-date-picker
45
+            v-model="stat_time"
46
+            type="date"
47
+            placeholder="选择日期">
48
+            </el-date-picker>
49
+            <span>-</span>
50
+            <el-date-picker
51
+            v-model="end_time"
52
+            type="date"
53
+            placeholder="选择日期">
54
+            </el-date-picker>
55
+          </div>
56
+        </el-col>
57
+        <el-col :span="3">
58
+          <div style="width: 200px;">
59
+            <el-input v-model="input" placeholder="请输入内容"></el-input>
60
+          </div>
61
+        </el-col>
62
+        <el-col :span="2">
63
+            <el-button type="primary">查询</el-button>
64
+        </el-col>
65
+        </el-row>
66
+
67
+        <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
68
+          <p class="chartTitle">统计图</p>
69
+        </div>
70
+        <div class="echart" id="mychart" :style={width:width,height:height}></div>
71
+        <div style="width: 80%;margin: auto;">
72
+            <el-table
73
+            :data="tableData"
74
+            :show-summary = true
75
+            border
76
+            style="width: 100%;">
77
+                <el-table-column
78
+                    prop="date"
79
+                    align="center"
80
+                    label="钙"
81
+                    >
82
+                </el-table-column>
83
+                <el-table-column
84
+                    prop="name"
85
+                    
86
+                    label="人数"
87
+                    >
88
+                </el-table-column>
89
+                <el-table-column
90
+                    prop="address"
91
+                    align="center"
92
+                    label="操作">
93
+                    <template slot-scope="scope">
94
+                        <el-button @click="handleClick(scope.row)" style="font-size:16px;"
95
+                                type="text" >查看详情
96
+                        </el-button>
97
+                    </template>
98
+                </el-table-column>
99
+            </el-table>
100
+        </div>
101
+    </div>
102
+</template>
103
+<script>
104
+import * as echarts from "echarts";
105
+export default{
106
+    props: {
107
+   
108
+    width: {
109
+      type: String,
110
+      default: "100%"
111
+    },
112
+    height: {
113
+      type: String,
114
+      default: "400px"
115
+    },
116
+    
117
+  },
118
+    data() {
119
+        return {
120
+            time_month:'',
121
+            stat_time:'',
122
+            end_time:'',
123
+            input:'',
124
+            myChart: {},
125
+            pieData : [
126
+            {
127
+          value: 463,
128
+          name: "不达标值患者"
129
+        },
130
+        {
131
+          value: 395,
132
+          name: "未检查患者"
133
+        },
134
+        {
135
+          value: 157,
136
+          name: "达标值患者"
137
+        },
138
+        // {
139
+        //   value: 149,
140
+        //   name: "广东"
141
+        // },
142
+        // {
143
+        //   value: 147,
144
+        //   name: "湖南"
145
+        // }
146
+            
147
+            ],
148
+            pieName: [],
149
+            // myChartStyle:{float: "right", width: "100%", height: "400px"},
150
+            tableData:[],
151
+        }
152
+    },
153
+    mounted() {
154
+    this.initDate(); //数据初始化
155
+    this.initEcharts();
156
+  },
157
+  methods: {
158
+    initDate() {
159
+      for (let i = 0; i < this.pieData.length; i++) {
160
+        this.pieName[i] = this.pieData[i].name;
161
+      }
162
+    },
163
+    initEcharts() {
164
+      // 饼图
165
+      const option = {
166
+        legend: {
167
+          // 图例
168
+          data: this.pieName,
169
+          left: "10%",
170
+          top: "30%",
171
+          orient: "vertical"
172
+        },
173
+        color:['#ff7f9f','#fff67f','#1e5feb'],
174
+        title: {
175
+          // 设置饼图标题,位置设为顶部居中
176
+        //   text: "国内院士前五省份图示",
177
+          top: "0%",
178
+          left: "center"
179
+        },
180
+        series: [
181
+          {
182
+            type: "pie",
183
+            label: {
184
+              normal : {
185
+                formatter: '{b}:{c}: ({d}%)',
186
+                textStyle : {
187
+                    fontWeight : 'normal',
188
+                    fontSize : 15,
189
+                    color : "black"
190
+                }
191
+              }
192
+              // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
193
+            },
194
+            radius: "65%", //饼图半径
195
+            data: this.pieData,
196
+            itemStyle : {
197
+              emphasis: {
198
+                shadowBlur: 10,
199
+                shadowOffsetX: 0,
200
+                shadowColor: 'rgba(0, 0, 0, 0.5)'
201
+              }
202
+            }
203
+          }
204
+        ]
205
+      };
206
+    //   console.log(this.seriesData);
207
+      const optionFree = {
208
+        series: [
209
+          {
210
+            data: this.seriesData,
211
+            type: "line",
212
+            smooth: true
213
+          }
214
+        ]
215
+      };
216
+      this.myChart = echarts.init(document.getElementById("mychart"));
217
+      this.myChart.setOption(option);
218
+      //随着屏幕大小调节图表
219
+      window.addEventListener("resize", () => {
220
+        this.myChart.resize();
221
+      });
222
+    },
223
+    getSummaries(param) {
224
+        const { columns, data } = param;
225
+        const sums = [];
226
+        columns.forEach((column, index) => {
227
+          if (index === 0) {
228
+            sums[index] = '总价';
229
+            return;
230
+          }
231
+          const values = data.map(item => Number(item[column.property]));
232
+          if (!values.every(value => isNaN(value))) {
233
+            sums[index] = values.reduce((prev, curr) => {
234
+              const value = Number(curr);
235
+              if (!isNaN(value)) {
236
+                return prev + curr;
237
+              } else {
238
+                return prev;
239
+              }
240
+            }, 0);
241
+            sums[index] += ' 元';
242
+          } else {
243
+            sums[index] = 'N/A';
244
+          }
245
+        });
246
+
247
+        return sums;
248
+    },
249
+    handleClick(id){
250
+        console.log(id);
251
+    }
252
+  }
253
+
254
+}
255
+</script>
256
+<style lang="scss" scoped>
257
+.content_top{
258
+    display: flex;
259
+    justify-content: space-around;
260
+    color: #1e5feb;
261
+}
262
+</style>

+ 217 - 0
src/xt_pages/Dialysisanalysis/calcium/calciumalone.vue View File

@@ -0,0 +1,217 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       <div >
52
+        <el-row :gutter="20">
53
+            <el-col :span="4">
54
+              <div class="grid-content bg-purple">
55
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
56
+                <!-- <h2>患者列表</h2> -->
57
+                <el-table
58
+                :data="tableData"
59
+                border
60
+                style="width: 100%">
61
+                    <el-table-column
62
+                        align="center"
63
+                        prop="date"
64
+                        label="透析号"
65
+                       >
66
+                    </el-table-column>
67
+                    <el-table-column
68
+                        align="center"
69
+                        prop="name"
70
+                        label="姓名"
71
+                        >
72
+                    </el-table-column>
73
+                </el-table>
74
+              </div>
75
+            </el-col>
76
+            <el-col :span="19">
77
+               <div class="grid-content bg-purple">
78
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
79
+                <el-table
80
+                    :data="tableData"
81
+                    style="width: 100%"
82
+                    border
83
+                    align="center"
84
+                    max-height="250">
85
+                    <el-table-column
86
+                    fixed
87
+                    prop="date"
88
+                    label="姓名"
89
+                   >
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                    prop="name"
93
+                    label="检查日期"
94
+                    >
95
+                    </el-table-column>
96
+                    <el-table-column
97
+                    prop="province"
98
+                    label="钙(mmol/L)"
99
+                    >
100
+                    </el-table-column>
101
+                    
102
+                </el-table>
103
+               </div>
104
+           </el-col>
105
+        </el-row>
106
+       </div>
107
+
108
+    </div>
109
+</template>
110
+<script>
111
+  import * as echarts from 'echarts'
112
+export default{
113
+    // props: {
114
+    //     width: {
115
+    //         type: String,
116
+    //         default: "100%"
117
+    //     },
118
+    //     height: {
119
+    //         type: String,
120
+    //         default: "400px"
121
+    //     },
122
+    
123
+    // },
124
+    data() {
125
+        return {
126
+            inputValue:'',
127
+            stat_time:'',
128
+            end_time:'',
129
+            value:'',
130
+            myChart: {},
131
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
132
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
133
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
134
+            tableData:[],
135
+        }
136
+    },
137
+    created(){
138
+        
139
+    },
140
+    mounted() {
141
+        // this.$nextTick(function() {
142
+            this.initEcharts();
143
+		// })  
144
+        // this.myChart = echarts.init(document.getElementById("germychart"));
145
+        //     this.myChart.setOption(option);
146
+            //随着屏幕大小调节图表
147
+            window.addEventListener("resize", () => {
148
+                this.myChart.resize();
149
+            });
150
+    },
151
+    methods:{
152
+        handleSubmit(){
153
+            console.log('asdfa');
154
+        },
155
+        initEcharts() {
156
+            const option = {
157
+                xAxis: {
158
+                    type: 'category',
159
+                        boundaryGap:true,
160
+                        axisTick:{
161
+                            alignWithLabel:true //保证刻度线和标签对齐
162
+                        },
163
+                    data: this.xData,
164
+                    splitNumber:this.xData.length, //纵坐标数
165
+                    interval:this.xData //强制设置坐标轴分割间隔
166
+                },
167
+                yAxis: {
168
+                    type: 'value',
169
+                    boundaryGap: true,
170
+                    splitNumber:4, //纵坐标数
171
+                    interval:10 //强制设置坐标轴分割间隔
172
+                },
173
+                legend: {
174
+                    show: true,
175
+                    align:'left',//文字在前图标在后
176
+                    left:'15%',
177
+                    top:'5%',
178
+                    data: [{name:'钙mmol/L'}]
179
+                },
180
+                series: [
181
+                {
182
+                    data: this.opinionData,
183
+                    name:'钙mmol/L',
184
+                    type: "line",// 类型设置为折线图
185
+                    symbol: 'circle',
186
+                    itemStyle: {
187
+                        normal: {
188
+                            color: '#409eff', //改变折线点的颜色#a80000
189
+                            lineStyle: {
190
+                                color: '#409eff' //改变折线颜色
191
+                            }
192
+                        }
193
+                    },
194
+
195
+                },
196
+                
197
+                ],
198
+                
199
+            };
200
+            this.myChart = echarts.init(document.getElementById("germychart"));
201
+            this.myChart.setOption(option);
202
+            //随着屏幕大小调节图表
203
+            window.addEventListener("resize", () => {
204
+                this.myChart.resize();
205
+            });
206
+        },
207
+    },
208
+    
209
+}
210
+</script>
211
+<style lang="scss" scoped>
212
+.content_top{
213
+    display: flex;
214
+    justify-content: space-around;
215
+    margin-bottom: 20px;
216
+}
217
+</style>

+ 102 - 0
src/xt_pages/Dialysisanalysis/calcium/index.vue View File

@@ -0,0 +1,102 @@
1
+<!-- 钙-->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <calciumall v-if="activeName == 'first'"></calciumall>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive>
18
+                    <calciumalone v-if="activeName == 'second'"></calciumalone>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import calciumall from './calciumall'
32
+import calciumalone from './calciumalone.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        calciumall,
38
+        calciumalone
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first'
43
+        }
44
+    },
45
+    methods:{
46
+      handleClick(tab, event) {
47
+        console.log(tab, event);
48
+      }
49
+    }
50
+}
51
+</script>
52
+
53
+<style lang="scss" scoped>
54
+// .page_patientControlAnalysis {
55
+
56
+// .pointTitle {
57
+//   font-size: 13px;
58
+// }
59
+
60
+// .chartTitle {
61
+//   font-size: 16px;
62
+//   font-weight: bold;
63
+//   color: #000000;
64
+// }
65
+
66
+// .point {
67
+//   width: 13px;
68
+//   height: 13px;
69
+//   background: linear-gradient(
70
+//       0deg,
71
+//       rgba(169, 224, 243, 1),
72
+//       rgba(159, 189, 252, 1)
73
+//   );
74
+//   border-radius: 7px;
75
+//   margin-right: 8px;
76
+// }
77
+
78
+// .pointTitle {
79
+//   font-size: 13px;
80
+// }
81
+
82
+// }
83
+
84
+</style>
85
+
86
+<style lang="scss">
87
+// .page_patientControlAnalysis {
88
+
89
+// .el-form-item {
90
+//   margin-bottom: 0;
91
+// }
92
+
93
+// .cell {
94
+//   text-align: center;
95
+// }
96
+
97
+// ::-webkit-scrollbar {
98
+//   height: 15px !important;
99
+// }
100
+
101
+// }
102
+</style>

+ 167 - 0
src/xt_pages/Dialysisanalysis/dialysis_index.vue View File

@@ -0,0 +1,167 @@
1
+<template>
2
+
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+          <div class="content_top">
10
+            <div>
11
+                <span>查询时间:</span>
12
+                <el-date-picker
13
+                v-model="stat_time"
14
+                type="date"
15
+                placeholder="选择日期">
16
+                </el-date-picker>
17
+                <span>-</span>
18
+                <el-date-picker
19
+                v-model="end_time"
20
+                type="date"
21
+                placeholder="选择日期">
22
+                </el-date-picker>
23
+                <el-select v-model="value" placeholder="请选择">
24
+                    <el-option
25
+                    v-for="item in options"
26
+                    :key="item.value"
27
+                    :label="item.label"
28
+                    :value="item.value">
29
+                    </el-option>
30
+                </el-select>
31
+                <el-select v-model="value" placeholder="请选择">
32
+                    <el-option
33
+                    v-for="item in options"
34
+                    :key="item.value"
35
+                    :label="item.label"
36
+                    :value="item.value">
37
+                    </el-option>
38
+                </el-select>
39
+                <el-button type="primary">查询</el-button>
40
+            </div>
41
+            <div>
42
+                <el-button type="primary">设置</el-button>
43
+                <el-button type="primary">打印</el-button>
44
+                <el-button type="primary">导出</el-button>
45
+            </div>
46
+          </div>
47
+       <div >
48
+        <el-row :gutter="20">
49
+            <!-- <el-col :span="4">
50
+              <div class="grid-content bg-purple">
51
+                
52
+                <el-table
53
+                :data="tableData"
54
+                border
55
+                style="width: 100%">
56
+                    <el-table-column
57
+                        align="center"
58
+                        prop="date"
59
+                        label="透析号"
60
+                       >
61
+                    </el-table-column>
62
+                    <el-table-column
63
+                        align="center"
64
+                        prop="name"
65
+                        label="姓名"
66
+                        >
67
+                    </el-table-column>
68
+                </el-table>
69
+              </div>
70
+            </el-col> -->
71
+            <el-col :span="24">
72
+               <div class="grid-content bg-purple">
73
+                <el-table
74
+                    :data="tableData"
75
+                    style="width: 100%"
76
+                    border
77
+                    align="center"
78
+                    max-height="450">
79
+                    <el-table-column
80
+                    fixed
81
+                    prop="date"
82
+                    label="序号"
83
+                   >
84
+                    </el-table-column>
85
+                    <el-table-column
86
+                    prop="name"
87
+                    label="透析号"
88
+                    >
89
+                    </el-table-column>
90
+                    <el-table-column
91
+                    prop="province"
92
+                    label="姓名"
93
+                    >
94
+                    </el-table-column>
95
+                    <el-table-column
96
+                    prop="province"
97
+                    label="白蛋白(g/L)"
98
+                    >
99
+                    </el-table-column>
100
+                    <el-table-column
101
+                    fixed
102
+                    prop="date"
103
+                    label="血红蛋白(g/L)"
104
+                   >
105
+                    </el-table-column>
106
+                    <el-table-column
107
+                    prop="name"
108
+                    label="血钾(mmol/L)"
109
+                    >
110
+                    </el-table-column>
111
+                    <el-table-column
112
+                    prop="province"
113
+                    label="钙(mmol/L)"
114
+                    >
115
+                    </el-table-column>
116
+                    <el-table-column
117
+                    prop="province"
118
+                    label="无机磷(mmol/L)"
119
+                    >
120
+                    </el-table-column>
121
+                    <el-table-column
122
+                    prop="province"
123
+                    label="甲状旁腺激素(pmol/L)"
124
+                    >
125
+                    </el-table-column>
126
+                </el-table>
127
+               </div>
128
+           </el-col>
129
+        </el-row>
130
+       </div>
131
+        </div>
132
+      </div>
133
+    </div>
134
+</template>
135
+<script>
136
+export default{
137
+    data() {
138
+        return {
139
+            inputValue:'',
140
+            stat_time:'',
141
+            end_time:'',
142
+            value:'',
143
+            tableData:[],
144
+        }
145
+    },
146
+    created(){
147
+        
148
+    },
149
+    mounted() {
150
+        
151
+    },
152
+    methods:{
153
+        handleSubmit(){
154
+            console.log('asdfa');
155
+        },
156
+       
157
+    },
158
+    
159
+}
160
+</script>
161
+<style lang="scss" scoped>
162
+.content_top{
163
+    display: flex;
164
+    justify-content: space-around;
165
+    margin: 20px;
166
+}
167
+</style>

+ 261 - 0
src/xt_pages/Dialysisanalysis/hemoglobin/hemoglobinall.vue View File

@@ -0,0 +1,261 @@
1
+<template>
2
+    <div>
3
+        <!-- <div class="content_top">
4
+            <div class="block">
5
+                <span>查询时间:</span>
6
+                <el-date-picker
7
+                v-model="time_month"
8
+                type="month"
9
+                placeholder="选择月">
10
+                </el-date-picker>
11
+            </div>
12
+            <div>
13
+                <el-date-picker
14
+                v-model="stat_time"
15
+                type="date"
16
+                placeholder="选择日期">
17
+                </el-date-picker>
18
+                <span>-</span>
19
+                <el-date-picker
20
+                v-model="end_time"
21
+                type="date"
22
+                placeholder="选择日期">
23
+                </el-date-picker>
24
+            </div>
25
+            <div style="width: 200px;">
26
+                <el-input v-model="input" placeholder="请输入内容"></el-input>
27
+            </div>
28
+            <el-button type="primary">查询</el-button>
29
+        </div> -->
30
+        <el-row :gutter="20">
31
+        <el-col :span="5"> 
32
+          <div class="block">
33
+            <span>查询时间:</span>
34
+            <el-date-picker
35
+            v-model="time_month"
36
+            type="month"
37
+            placeholder="选择月">
38
+            </el-date-picker>
39
+          </div>
40
+        </el-col>
41
+        <el-col :span="8">
42
+          <div>
43
+            <el-date-picker
44
+            v-model="stat_time"
45
+            type="date"
46
+            placeholder="选择日期">
47
+            </el-date-picker>
48
+            <span>-</span>
49
+            <el-date-picker
50
+            v-model="end_time"
51
+            type="date"
52
+            placeholder="选择日期">
53
+            </el-date-picker>
54
+          </div>
55
+        </el-col>
56
+        <el-col :span="3">
57
+          <div style="width: 200px;">
58
+            <el-input v-model="input" placeholder="请输入内容"></el-input>
59
+          </div>
60
+        </el-col>
61
+        <el-col :span="2">
62
+            <el-button type="primary">查询</el-button>
63
+        </el-col>
64
+        </el-row>
65
+        
66
+        <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
67
+          <p class="chartTitle">统计图</p>
68
+        </div>
69
+        <div class="echart" id="mychart" :style={width:width,height:height}></div>
70
+        <div style="width: 80%;margin: auto;">
71
+            <el-table
72
+            :data="tableData"
73
+            :show-summary = true
74
+            border
75
+            style="width: 100%;">
76
+                <el-table-column
77
+                    prop="date"
78
+                    align="center"
79
+                    label="血红蛋白"
80
+                    >
81
+                </el-table-column>
82
+                <el-table-column
83
+                    prop="name"
84
+                    
85
+                    label="人数"
86
+                    >
87
+                </el-table-column>
88
+                <el-table-column
89
+                    prop="address"
90
+                    align="center"
91
+                    label="操作">
92
+                    <template slot-scope="scope">
93
+                        <el-button @click="handleClick(scope.row)" style="font-size:16px;"
94
+                                type="text" >查看详情
95
+                        </el-button>
96
+                    </template>
97
+                </el-table-column>
98
+            </el-table>
99
+        </div>
100
+    </div>
101
+</template>
102
+<script>
103
+import * as echarts from "echarts";
104
+export default{
105
+    props: {
106
+   
107
+    width: {
108
+      type: String,
109
+      default: "100%"
110
+    },
111
+    height: {
112
+      type: String,
113
+      default: "400px"
114
+    },
115
+    
116
+  },
117
+    data() {
118
+        return {
119
+            time_month:'',
120
+            stat_time:'',
121
+            end_time:'',
122
+            input:'',
123
+            myChart: {},
124
+            pieData : [
125
+            {
126
+          value: 463,
127
+          name: "不达标值患者"
128
+        },
129
+        {
130
+          value: 395,
131
+          name: "未检查患者"
132
+        },
133
+        {
134
+          value: 157,
135
+          name: "达标值患者"
136
+        },
137
+        // {
138
+        //   value: 149,
139
+        //   name: "广东"
140
+        // },
141
+        // {
142
+        //   value: 147,
143
+        //   name: "湖南"
144
+        // }
145
+            
146
+            ],
147
+            pieName: [],
148
+            // myChartStyle:{float: "right", width: "100%", height: "400px"},
149
+            tableData:[],
150
+        }
151
+    },
152
+    mounted() {
153
+    this.initDate(); //数据初始化
154
+    this.initEcharts();
155
+  },
156
+  methods: {
157
+    initDate() {
158
+      for (let i = 0; i < this.pieData.length; i++) {
159
+        this.pieName[i] = this.pieData[i].name;
160
+      }
161
+    },
162
+    initEcharts() {
163
+      // 饼图
164
+      const option = {
165
+        legend: {
166
+          // 图例
167
+          data: this.pieName,
168
+          left: "10%",
169
+          top: "30%",
170
+          orient: "vertical"
171
+        },
172
+        color:['#ff7f9f','#fff67f','#1e5feb'],
173
+        title: {
174
+          // 设置饼图标题,位置设为顶部居中
175
+        //   text: "国内院士前五省份图示",
176
+          top: "0%",
177
+          left: "center"
178
+        },
179
+        series: [
180
+          {
181
+            type: "pie",
182
+            label: {
183
+              normal : {
184
+                formatter: '{b}:{c}: ({d}%)',
185
+                textStyle : {
186
+                    fontWeight : 'normal',
187
+                    fontSize : 15,
188
+                    color : "black"
189
+                }
190
+              }
191
+              // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
192
+            },
193
+            radius: "65%", //饼图半径
194
+            data: this.pieData,
195
+            itemStyle : {
196
+              emphasis: {
197
+                shadowBlur: 10,
198
+                shadowOffsetX: 0,
199
+                shadowColor: 'rgba(0, 0, 0, 0.5)'
200
+              }
201
+            }
202
+          }
203
+        ]
204
+      };
205
+    //   console.log(this.seriesData);
206
+      const optionFree = {
207
+        series: [
208
+          {
209
+            data: this.seriesData,
210
+            type: "line",
211
+            smooth: true
212
+          }
213
+        ]
214
+      };
215
+      this.myChart = echarts.init(document.getElementById("mychart"));
216
+      this.myChart.setOption(option);
217
+      //随着屏幕大小调节图表
218
+      window.addEventListener("resize", () => {
219
+        this.myChart.resize();
220
+      });
221
+    },
222
+    getSummaries(param) {
223
+        const { columns, data } = param;
224
+        const sums = [];
225
+        columns.forEach((column, index) => {
226
+          if (index === 0) {
227
+            sums[index] = '总价';
228
+            return;
229
+          }
230
+          const values = data.map(item => Number(item[column.property]));
231
+          if (!values.every(value => isNaN(value))) {
232
+            sums[index] = values.reduce((prev, curr) => {
233
+              const value = Number(curr);
234
+              if (!isNaN(value)) {
235
+                return prev + curr;
236
+              } else {
237
+                return prev;
238
+              }
239
+            }, 0);
240
+            sums[index] += ' 元';
241
+          } else {
242
+            sums[index] = 'N/A';
243
+          }
244
+        });
245
+
246
+        return sums;
247
+    },
248
+    handleClick(id){
249
+        console.log(id);
250
+    }
251
+  }
252
+
253
+}
254
+</script>
255
+<style lang="scss" scoped>
256
+.content_top{
257
+    display: flex;
258
+    justify-content: space-around;
259
+    color: #1e5feb;
260
+}
261
+</style>

+ 217 - 0
src/xt_pages/Dialysisanalysis/hemoglobin/hemoglobinalone.vue View File

@@ -0,0 +1,217 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       <div >
52
+        <el-row :gutter="20">
53
+            <el-col :span="4">
54
+              <div class="grid-content bg-purple">
55
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
56
+                <!-- <h2>患者列表</h2> -->
57
+                <el-table
58
+                :data="tableData"
59
+                border
60
+                style="width: 100%">
61
+                    <el-table-column
62
+                        align="center"
63
+                        prop="date"
64
+                        label="透析号"
65
+                       >
66
+                    </el-table-column>
67
+                    <el-table-column
68
+                        align="center"
69
+                        prop="name"
70
+                        label="姓名"
71
+                        >
72
+                    </el-table-column>
73
+                </el-table>
74
+              </div>
75
+            </el-col>
76
+            <el-col :span="19">
77
+               <div class="grid-content bg-purple">
78
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
79
+                <el-table
80
+                    :data="tableData"
81
+                    style="width: 100%"
82
+                    border
83
+                    align="center"
84
+                    max-height="250">
85
+                    <el-table-column
86
+                    fixed
87
+                    prop="date"
88
+                    label="姓名"
89
+                   >
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                    prop="name"
93
+                    label="检查日期"
94
+                    >
95
+                    </el-table-column>
96
+                    <el-table-column
97
+                    prop="province"
98
+                    label="血红蛋白(g/L)"
99
+                    >
100
+                    </el-table-column>
101
+                    
102
+                </el-table>
103
+               </div>
104
+           </el-col>
105
+        </el-row>
106
+       </div>
107
+
108
+    </div>
109
+</template>
110
+<script>
111
+  import * as echarts from 'echarts'
112
+export default{
113
+    // props: {
114
+    //     width: {
115
+    //         type: String,
116
+    //         default: "100%"
117
+    //     },
118
+    //     height: {
119
+    //         type: String,
120
+    //         default: "400px"
121
+    //     },
122
+    
123
+    // },
124
+    data() {
125
+        return {
126
+            inputValue:'',
127
+            stat_time:'',
128
+            end_time:'',
129
+            value:'',
130
+            myChart: {},
131
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
132
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
133
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
134
+            tableData:[],
135
+        }
136
+    },
137
+    created(){
138
+        
139
+    },
140
+    mounted() {
141
+        // this.$nextTick(function() {
142
+            this.initEcharts();
143
+		// })  
144
+        // this.myChart = echarts.init(document.getElementById("germychart"));
145
+        //     this.myChart.setOption(option);
146
+            //随着屏幕大小调节图表
147
+            window.addEventListener("resize", () => {
148
+                this.myChart.resize();
149
+            });
150
+    },
151
+    methods:{
152
+        handleSubmit(){
153
+            console.log('asdfa');
154
+        },
155
+        initEcharts() {
156
+            const option = {
157
+                xAxis: {
158
+                    type: 'category',
159
+                        boundaryGap:true,
160
+                        axisTick:{
161
+                            alignWithLabel:true //保证刻度线和标签对齐
162
+                        },
163
+                    data: this.xData,
164
+                    splitNumber:this.xData.length, //纵坐标数
165
+                    interval:this.xData //强制设置坐标轴分割间隔
166
+                },
167
+                yAxis: {
168
+                    type: 'value',
169
+                    boundaryGap: true,
170
+                    splitNumber:4, //纵坐标数
171
+                    interval:10 //强制设置坐标轴分割间隔
172
+                },
173
+                legend: {
174
+                    show: true,
175
+                    align:'left',//文字在前图标在后
176
+                    left:'15%',
177
+                    top:'5%',
178
+                    data: [{name:'血红蛋白g/L'}]
179
+                },
180
+                series: [
181
+                {
182
+                    data: this.opinionData,
183
+                    name:'血红蛋白g/L',
184
+                    type: "line",// 类型设置为折线图
185
+                    symbol: 'circle',
186
+                    itemStyle: {
187
+                        normal: {
188
+                            color: '#409eff', //改变折线点的颜色#a80000
189
+                            lineStyle: {
190
+                                color: '#409eff' //改变折线颜色
191
+                            }
192
+                        }
193
+                    },
194
+
195
+                },
196
+                
197
+                ],
198
+                
199
+            };
200
+            this.myChart = echarts.init(document.getElementById("germychart"));
201
+            this.myChart.setOption(option);
202
+            //随着屏幕大小调节图表
203
+            window.addEventListener("resize", () => {
204
+                this.myChart.resize();
205
+            });
206
+        },
207
+    },
208
+    
209
+}
210
+</script>
211
+<style lang="scss" scoped>
212
+.content_top{
213
+    display: flex;
214
+    justify-content: space-around;
215
+    margin-bottom: 20px;
216
+}
217
+</style>

+ 102 - 0
src/xt_pages/Dialysisanalysis/hemoglobin/index.vue View File

@@ -0,0 +1,102 @@
1
+<!-- 血红蛋白 -->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <hemoglobinall v-if="activeName == 'first'"></hemoglobinall>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive>
18
+                    <hemoglobinalone v-if="activeName == 'second'"></hemoglobinalone>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import hemoglobinall from './hemoglobinall'
32
+import hemoglobinalone from './hemoglobinalone.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        hemoglobinall,
38
+        hemoglobinalone
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first'
43
+        }
44
+    },
45
+    methods:{
46
+      handleClick(tab, event) {
47
+        console.log(tab, event);
48
+      }
49
+    }
50
+}
51
+</script>
52
+
53
+<style lang="scss" scoped>
54
+// .page_patientControlAnalysis {
55
+
56
+// .pointTitle {
57
+//   font-size: 13px;
58
+// }
59
+
60
+// .chartTitle {
61
+//   font-size: 16px;
62
+//   font-weight: bold;
63
+//   color: #000000;
64
+// }
65
+
66
+// .point {
67
+//   width: 13px;
68
+//   height: 13px;
69
+//   background: linear-gradient(
70
+//       0deg,
71
+//       rgba(169, 224, 243, 1),
72
+//       rgba(159, 189, 252, 1)
73
+//   );
74
+//   border-radius: 7px;
75
+//   margin-right: 8px;
76
+// }
77
+
78
+// .pointTitle {
79
+//   font-size: 13px;
80
+// }
81
+
82
+// }
83
+
84
+</style>
85
+
86
+<style lang="scss">
87
+// .page_patientControlAnalysis {
88
+
89
+// .el-form-item {
90
+//   margin-bottom: 0;
91
+// }
92
+
93
+// .cell {
94
+//   text-align: center;
95
+// }
96
+
97
+// ::-webkit-scrollbar {
98
+//   height: 15px !important;
99
+// }
100
+
101
+// }
102
+</style>

+ 209 - 0
src/xt_pages/Dialysisanalysis/nonnumerical.vue View File

@@ -0,0 +1,209 @@
1
+<template>
2
+
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+          <div class="content_top">
10
+            <el-autocomplete
11
+            class="inline-input"
12
+            v-model="inputValue"
13
+            :fetch-suggestions="querySearch"
14
+            :trigger-on-focus="false"
15
+            placeholder="请输入患者名字或透析号"
16
+            @select="handleSubmit"
17
+            ></el-autocomplete>
18
+            <div>
19
+                <span>查询时间:</span>
20
+                <el-date-picker
21
+                v-model="stat_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <span>-</span>
26
+                <el-date-picker
27
+                v-model="end_time"
28
+                type="date"
29
+                placeholder="选择日期">
30
+                </el-date-picker>
31
+                <el-select v-model="value" placeholder="请选择">
32
+                    <el-option
33
+                    v-for="item in options"
34
+                    :key="item.value"
35
+                    :label="item.label"
36
+                    :value="item.value">
37
+                    </el-option>
38
+                </el-select>
39
+                <el-select v-model="value" placeholder="请选择">
40
+                    <el-option
41
+                    v-for="item in options"
42
+                    :key="item.value"
43
+                    :label="item.label"
44
+                    :value="item.value">
45
+                    </el-option>
46
+                </el-select>
47
+                <el-button type="primary">查询</el-button>
48
+            </div>
49
+            <div>
50
+                <el-button type="primary">打印</el-button>
51
+                <el-button type="primary">导出</el-button>
52
+            </div>
53
+          </div>
54
+       <div style="margin-bottom:20px;"> <h2>患者列表</h2></div>
55
+       <div >
56
+        <el-row :gutter="20">
57
+            <el-col :span="4">
58
+              <div class="grid-content bg-purple">
59
+                
60
+                <el-table
61
+                :data="tableData"
62
+                border
63
+                style="width: 100%">
64
+                    <el-table-column
65
+                        align="center"
66
+                        prop="date"
67
+                        label="透析号"
68
+                       >
69
+                    </el-table-column>
70
+                    <el-table-column
71
+                        align="center"
72
+                        prop="name"
73
+                        label="姓名"
74
+                        >
75
+                    </el-table-column>
76
+                </el-table>
77
+              </div>
78
+            </el-col>
79
+            <el-col :span="19">
80
+               <div class="grid-content bg-purple">
81
+                <el-table
82
+                    :data="tableData"
83
+                    style="width: 100%"
84
+                    border
85
+                    align="center"
86
+                    max-height="250">
87
+                    <el-table-column
88
+                    fixed
89
+                    prop="date"
90
+                    label="名字"
91
+                   >
92
+                    </el-table-column>
93
+                    <el-table-column
94
+                    prop="name"
95
+                    label="检查日期"
96
+                    >
97
+                    </el-table-column>
98
+                    <el-table-column
99
+                    prop="province"
100
+                    label="乙型肝炎病毒表面抗体(AntiHBs)"
101
+                    >
102
+                    </el-table-column>
103
+                    <el-table-column
104
+                    prop="province"
105
+                    label="参考值"
106
+                    >
107
+                    </el-table-column>
108
+                </el-table>
109
+               </div>
110
+           </el-col>
111
+        </el-row>
112
+       </div>
113
+        </div>
114
+      </div>
115
+    </div>
116
+</template>
117
+<script>
118
+export default{
119
+    data() {
120
+        return {
121
+            inputValue:'',
122
+            stat_time:'',
123
+            end_time:'',
124
+            value:'',
125
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
126
+            tableData:[],
127
+        }
128
+    },
129
+    created(){
130
+        
131
+    },
132
+    mounted() {
133
+        // this.$nextTick(function() {
134
+            // this.initEcharts();
135
+		// })  
136
+        // this.myChart = echarts.init(document.getElementById("germychart"));
137
+        //     this.myChart.setOption(option);
138
+            //随着屏幕大小调节图表
139
+            // window.addEventListener("resize", () => {
140
+            //     this.myChart.resize();
141
+            // });
142
+    },
143
+    methods:{
144
+        handleSubmit(){
145
+            console.log('asdfa');
146
+        },
147
+        // initEcharts() {
148
+        //     const option = {
149
+        //         xAxis: {
150
+        //             type: 'category',
151
+        //                 boundaryGap:true,
152
+        //                 axisTick:{
153
+        //                     alignWithLabel:true //保证刻度线和标签对齐
154
+        //                 },
155
+        //             data: this.xData,
156
+        //             splitNumber:this.xData.length, //纵坐标数
157
+        //             interval:this.xData //强制设置坐标轴分割间隔
158
+        //         },
159
+        //         yAxis: {
160
+        //             type: 'value',
161
+        //             boundaryGap: true,
162
+        //             splitNumber:4, //纵坐标数
163
+        //             interval:10 //强制设置坐标轴分割间隔
164
+        //         },
165
+        //         legend: {
166
+        //             show: true,
167
+        //             align:'left',//文字在前图标在后
168
+        //             left:'15%',
169
+        //             top:'5%',
170
+        //             data: [{name:'血红蛋白g/L'}]
171
+        //         },
172
+        //         series: [
173
+        //         {
174
+        //             data: this.opinionData,
175
+        //             name:'血红蛋白g/L',
176
+        //             type: "line",// 类型设置为折线图
177
+        //             symbol: 'circle',
178
+        //             itemStyle: {
179
+        //                 normal: {
180
+        //                     color: '#409eff', //改变折线点的颜色#a80000
181
+        //                     lineStyle: {
182
+        //                         color: '#409eff' //改变折线颜色
183
+        //                     }
184
+        //                 }
185
+        //             },
186
+
187
+        //         },
188
+                
189
+        //         ],
190
+                
191
+        //     };
192
+        //     this.myChart = echarts.init(document.getElementById("germychart"));
193
+        //     this.myChart.setOption(option);
194
+        //     //随着屏幕大小调节图表
195
+        //     window.addEventListener("resize", () => {
196
+        //         this.myChart.resize();
197
+        //     });
198
+        // },
199
+    },
200
+    
201
+}
202
+</script>
203
+<style lang="scss" scoped>
204
+.content_top{
205
+    display: flex;
206
+    justify-content: space-around;
207
+    margin: 20px;
208
+}
209
+</style>

+ 102 - 0
src/xt_pages/Dialysisanalysis/otherIndicators/index.vue View File

@@ -0,0 +1,102 @@
1
+<!-- 其他指标 -->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <otherall v-if="activeName == 'first'"></otherall>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive>
18
+                    <otheralone v-if="activeName == 'second'"></otheralone>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+// import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import otherall from './otherall.vue'
32
+import otheralone from './otheralone.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        otherall,
38
+        otheralone
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first'
43
+        }
44
+    },
45
+    methods:{
46
+      handleClick(tab, event) {
47
+        console.log(tab, event);
48
+      }
49
+    }
50
+}
51
+</script>
52
+
53
+<style lang="scss" scoped>
54
+// .page_patientControlAnalysis {
55
+
56
+// .pointTitle {
57
+//   font-size: 13px;
58
+// }
59
+
60
+// .chartTitle {
61
+//   font-size: 16px;
62
+//   font-weight: bold;
63
+//   color: #000000;
64
+// }
65
+
66
+// .point {
67
+//   width: 13px;
68
+//   height: 13px;
69
+//   background: linear-gradient(
70
+//       0deg,
71
+//       rgba(169, 224, 243, 1),
72
+//       rgba(159, 189, 252, 1)
73
+//   );
74
+//   border-radius: 7px;
75
+//   margin-right: 8px;
76
+// }
77
+
78
+// .pointTitle {
79
+//   font-size: 13px;
80
+// }
81
+
82
+// }
83
+
84
+</style>
85
+
86
+<style lang="scss">
87
+// .page_patientControlAnalysis {
88
+
89
+// .el-form-item {
90
+//   margin-bottom: 0;
91
+// }
92
+
93
+// .cell {
94
+//   text-align: center;
95
+// }
96
+
97
+// ::-webkit-scrollbar {
98
+//   height: 15px !important;
99
+// }
100
+
101
+// }
102
+</style>

+ 262 - 0
src/xt_pages/Dialysisanalysis/otherIndicators/otherall.vue View File

@@ -0,0 +1,262 @@
1
+<template>
2
+    <div>
3
+        <!-- <div class="content_top">
4
+            <div class="block">
5
+                <span>查询时间:</span>
6
+                <el-date-picker
7
+                v-model="time_month"
8
+                type="month"
9
+                placeholder="选择月">
10
+                </el-date-picker>
11
+            </div>
12
+            <div>
13
+                <el-date-picker
14
+                v-model="stat_time"
15
+                type="date"
16
+                placeholder="选择日期">
17
+                </el-date-picker>
18
+                <span>-</span>
19
+                <el-date-picker
20
+                v-model="end_time"
21
+                type="date"
22
+                placeholder="选择日期">
23
+                </el-date-picker>
24
+            </div>
25
+            <div style="width: 200px;">
26
+                <el-input v-model="input" placeholder="请输入内容"></el-input>
27
+            </div>
28
+            <el-button type="primary">查询</el-button>
29
+        </div> -->
30
+        
31
+        <el-row :gutter="20">
32
+        <el-col :span="5"> 
33
+          <div class="block">
34
+            <span>查询时间:</span>
35
+            <el-date-picker
36
+            v-model="time_month"
37
+            type="month"
38
+            placeholder="选择月">
39
+            </el-date-picker>
40
+          </div>
41
+        </el-col>
42
+        <el-col :span="8">
43
+          <div>
44
+            <el-date-picker
45
+            v-model="stat_time"
46
+            type="date"
47
+            placeholder="选择日期">
48
+            </el-date-picker>
49
+            <span>-</span>
50
+            <el-date-picker
51
+            v-model="end_time"
52
+            type="date"
53
+            placeholder="选择日期">
54
+            </el-date-picker>
55
+          </div>
56
+        </el-col>
57
+        <el-col :span="3">
58
+          <div style="width: 200px;">
59
+            <el-input v-model="input" placeholder="请输入内容"></el-input>
60
+          </div>
61
+        </el-col>
62
+        <el-col :span="2">
63
+            <el-button type="primary">查询</el-button>
64
+        </el-col>
65
+        </el-row>
66
+        
67
+        <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
68
+          <p class="chartTitle">统计图</p>
69
+        </div>
70
+        <div class="echart" id="mychart" :style={width:width,height:height}></div>
71
+        <div style="width: 80%;margin: auto;">
72
+            <el-table
73
+            :data="tableData"
74
+            :show-summary = true
75
+            border
76
+            style="width: 100%;">
77
+                <el-table-column
78
+                    prop="date"
79
+                    align="center"
80
+                    label="白蛋白"
81
+                    >
82
+                </el-table-column>
83
+                <el-table-column
84
+                    prop="name"
85
+                    
86
+                    label="人数"
87
+                    >
88
+                </el-table-column>
89
+                <el-table-column
90
+                    prop="address"
91
+                    align="center"
92
+                    label="操作">
93
+                    <template slot-scope="scope">
94
+                        <el-button @click="handleClick(scope.row)" style="font-size:16px;"
95
+                                type="text" >查看详情
96
+                        </el-button>
97
+                    </template>
98
+                </el-table-column>
99
+            </el-table>
100
+        </div>
101
+    </div>
102
+</template>
103
+<script>
104
+import * as echarts from "echarts";
105
+export default{
106
+    props: {
107
+   
108
+    width: {
109
+      type: String,
110
+      default: "100%"
111
+    },
112
+    height: {
113
+      type: String,
114
+      default: "400px"
115
+    },
116
+    
117
+  },
118
+    data() {
119
+        return {
120
+            time_month:'',
121
+            stat_time:'',
122
+            end_time:'',
123
+            input:'',
124
+            myChart: {},
125
+            pieData : [
126
+            {
127
+          value: 463,
128
+          name: "不达标值患者"
129
+        },
130
+        {
131
+          value: 395,
132
+          name: "未检查患者"
133
+        },
134
+        {
135
+          value: 157,
136
+          name: "达标值患者"
137
+        },
138
+        // {
139
+        //   value: 149,
140
+        //   name: "广东"
141
+        // },
142
+        // {
143
+        //   value: 147,
144
+        //   name: "湖南"
145
+        // }
146
+            
147
+            ],
148
+            pieName: [],
149
+            // myChartStyle:{float: "right", width: "100%", height: "400px"},
150
+            tableData:[],
151
+        }
152
+    },
153
+    mounted() {
154
+    this.initDate(); //数据初始化
155
+    this.initEcharts();
156
+  },
157
+  methods: {
158
+    initDate() {
159
+      for (let i = 0; i < this.pieData.length; i++) {
160
+        this.pieName[i] = this.pieData[i].name;
161
+      }
162
+    },
163
+    initEcharts() {
164
+      // 饼图
165
+      const option = {
166
+        legend: {
167
+          // 图例
168
+          data: this.pieName,
169
+          left: "10%",
170
+          top: "30%",
171
+          orient: "vertical"
172
+        },
173
+        color:['#ff7f9f','#fff67f','#1e5feb'],
174
+        title: {
175
+          // 设置饼图标题,位置设为顶部居中
176
+        //   text: "国内院士前五省份图示",
177
+          top: "0%",
178
+          left: "center"
179
+        },
180
+        series: [
181
+          {
182
+            type: "pie",
183
+            label: {
184
+              normal : {
185
+                formatter: '{b}:{c}: ({d}%)',
186
+                textStyle : {
187
+                    fontWeight : 'normal',
188
+                    fontSize : 15,
189
+                    color : "black"
190
+                }
191
+              }
192
+              // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
193
+            },
194
+            radius: "65%", //饼图半径
195
+            data: this.pieData,
196
+            itemStyle : {
197
+              emphasis: {
198
+                shadowBlur: 10,
199
+                shadowOffsetX: 0,
200
+                shadowColor: 'rgba(0, 0, 0, 0.5)'
201
+              }
202
+            }
203
+          }
204
+        ]
205
+      };
206
+    //   console.log(this.seriesData);
207
+      const optionFree = {
208
+        series: [
209
+          {
210
+            data: this.seriesData,
211
+            type: "line",
212
+            smooth: true
213
+          }
214
+        ]
215
+      };
216
+      this.myChart = echarts.init(document.getElementById("mychart"));
217
+      this.myChart.setOption(option);
218
+      //随着屏幕大小调节图表
219
+      window.addEventListener("resize", () => {
220
+        this.myChart.resize();
221
+      });
222
+    },
223
+    getSummaries(param) {
224
+        const { columns, data } = param;
225
+        const sums = [];
226
+        columns.forEach((column, index) => {
227
+          if (index === 0) {
228
+            sums[index] = '总价';
229
+            return;
230
+          }
231
+          const values = data.map(item => Number(item[column.property]));
232
+          if (!values.every(value => isNaN(value))) {
233
+            sums[index] = values.reduce((prev, curr) => {
234
+              const value = Number(curr);
235
+              if (!isNaN(value)) {
236
+                return prev + curr;
237
+              } else {
238
+                return prev;
239
+              }
240
+            }, 0);
241
+            sums[index] += ' 元';
242
+          } else {
243
+            sums[index] = 'N/A';
244
+          }
245
+        });
246
+
247
+        return sums;
248
+    },
249
+    handleClick(id){
250
+        console.log(id);
251
+    }
252
+  }
253
+
254
+}
255
+</script>
256
+<style lang="scss" scoped>
257
+.content_top{
258
+    display: flex;
259
+    justify-content: space-around;
260
+    color: #1e5feb;
261
+}
262
+</style>

+ 217 - 0
src/xt_pages/Dialysisanalysis/otherIndicators/otheralone.vue View File

@@ -0,0 +1,217 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       <div >
52
+        <el-row :gutter="20">
53
+            <el-col :span="4">
54
+              <div class="grid-content bg-purple">
55
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
56
+                <!-- <h2>患者列表</h2> -->
57
+                <el-table
58
+                :data="tableData"
59
+                border
60
+                style="width: 100%">
61
+                    <el-table-column
62
+                        align="center"
63
+                        prop="date"
64
+                        label="透析号"
65
+                       >
66
+                    </el-table-column>
67
+                    <el-table-column
68
+                        align="center"
69
+                        prop="name"
70
+                        label="姓名"
71
+                        >
72
+                    </el-table-column>
73
+                </el-table>
74
+              </div>
75
+            </el-col>
76
+            <el-col :span="19">
77
+               <div class="grid-content bg-purple">
78
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
79
+                <el-table
80
+                    :data="tableData"
81
+                    style="width: 100%"
82
+                    border
83
+                    align="center"
84
+                    max-height="250">
85
+                    <el-table-column
86
+                    fixed
87
+                    prop="date"
88
+                    label="姓名"
89
+                   >
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                    prop="name"
93
+                    label="检查日期"
94
+                    >
95
+                    </el-table-column>
96
+                    <el-table-column
97
+                    prop="province"
98
+                    label="白蛋白(g/L)"
99
+                    >
100
+                    </el-table-column>
101
+                    
102
+                </el-table>
103
+               </div>
104
+           </el-col>
105
+        </el-row>
106
+       </div>
107
+
108
+    </div>
109
+</template>
110
+<script>
111
+  import * as echarts from 'echarts'
112
+export default{
113
+    // props: {
114
+    //     width: {
115
+    //         type: String,
116
+    //         default: "100%"
117
+    //     },
118
+    //     height: {
119
+    //         type: String,
120
+    //         default: "400px"
121
+    //     },
122
+    
123
+    // },
124
+    data() {
125
+        return {
126
+            inputValue:'',
127
+            stat_time:'',
128
+            end_time:'',
129
+            value:'',
130
+            myChart: {},
131
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
132
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
133
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
134
+            tableData:[],
135
+        }
136
+    },
137
+    created(){
138
+        
139
+    },
140
+    mounted() {
141
+        // this.$nextTick(function() {
142
+            this.initEcharts();
143
+		// })  
144
+        // this.myChart = echarts.init(document.getElementById("germychart"));
145
+        //     this.myChart.setOption(option);
146
+            //随着屏幕大小调节图表
147
+            window.addEventListener("resize", () => {
148
+                this.myChart.resize();
149
+            });
150
+    },
151
+    methods:{
152
+        handleSubmit(){
153
+            console.log('asdfa');
154
+        },
155
+        initEcharts() {
156
+            const option = {
157
+                xAxis: {
158
+                    type: 'category',
159
+                        boundaryGap:true,
160
+                        axisTick:{
161
+                            alignWithLabel:true //保证刻度线和标签对齐
162
+                        },
163
+                    data: this.xData,
164
+                    splitNumber:this.xData.length, //纵坐标数
165
+                    interval:this.xData //强制设置坐标轴分割间隔
166
+                },
167
+                yAxis: {
168
+                    type: 'value',
169
+                    boundaryGap: true,
170
+                    splitNumber:4, //纵坐标数
171
+                    interval:10 //强制设置坐标轴分割间隔
172
+                },
173
+                legend: {
174
+                    show: true,
175
+                    align:'left',//文字在前图标在后
176
+                    left:'15%',
177
+                    top:'5%',
178
+                    data: [{name:'白蛋白g/L'}]
179
+                },
180
+                series: [
181
+                {
182
+                    data: this.opinionData,
183
+                    name:'白蛋白g/L',
184
+                    type: "line",// 类型设置为折线图
185
+                    symbol: 'circle',
186
+                    itemStyle: {
187
+                        normal: {
188
+                            color: '#409eff', //改变折线点的颜色#a80000
189
+                            lineStyle: {
190
+                                color: '#409eff' //改变折线颜色
191
+                            }
192
+                        }
193
+                    },
194
+
195
+                },
196
+                
197
+                ],
198
+                
199
+            };
200
+            this.myChart = echarts.init(document.getElementById("germychart"));
201
+            this.myChart.setOption(option);
202
+            //随着屏幕大小调节图表
203
+            window.addEventListener("resize", () => {
204
+                this.myChart.resize();
205
+            });
206
+        },
207
+    },
208
+    
209
+}
210
+</script>
211
+<style lang="scss" scoped>
212
+.content_top{
213
+    display: flex;
214
+    justify-content: space-around;
215
+    margin-bottom: 20px;
216
+}
217
+</style>

+ 102 - 0
src/xt_pages/Dialysisanalysis/platelets/index.vue View File

@@ -0,0 +1,102 @@
1
+<!-- 血小板-->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <plateletsall v-if="activeName == 'first'"></plateletsall>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive>
18
+                    <plateletsalone v-if="activeName == 'second'"></plateletsalone>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import plateletsall from './plateletsall'
32
+import plateletsalone from './plateletsalone.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        plateletsall,
38
+        plateletsalone
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first'
43
+        }
44
+    },
45
+    methods:{
46
+      handleClick(tab, event) {
47
+        console.log(tab, event);
48
+      }
49
+    }
50
+}
51
+</script>
52
+
53
+<style lang="scss" scoped>
54
+// .page_patientControlAnalysis {
55
+
56
+// .pointTitle {
57
+//   font-size: 13px;
58
+// }
59
+
60
+// .chartTitle {
61
+//   font-size: 16px;
62
+//   font-weight: bold;
63
+//   color: #000000;
64
+// }
65
+
66
+// .point {
67
+//   width: 13px;
68
+//   height: 13px;
69
+//   background: linear-gradient(
70
+//       0deg,
71
+//       rgba(169, 224, 243, 1),
72
+//       rgba(159, 189, 252, 1)
73
+//   );
74
+//   border-radius: 7px;
75
+//   margin-right: 8px;
76
+// }
77
+
78
+// .pointTitle {
79
+//   font-size: 13px;
80
+// }
81
+
82
+// }
83
+
84
+</style>
85
+
86
+<style lang="scss">
87
+// .page_patientControlAnalysis {
88
+
89
+// .el-form-item {
90
+//   margin-bottom: 0;
91
+// }
92
+
93
+// .cell {
94
+//   text-align: center;
95
+// }
96
+
97
+// ::-webkit-scrollbar {
98
+//   height: 15px !important;
99
+// }
100
+
101
+// }
102
+</style>

+ 262 - 0
src/xt_pages/Dialysisanalysis/platelets/plateletsall.vue View File

@@ -0,0 +1,262 @@
1
+<template>
2
+    <div>
3
+        <!-- <div class="content_top">
4
+            <div class="block">
5
+                <span>查询时间:</span>
6
+                <el-date-picker
7
+                v-model="time_month"
8
+                type="month"
9
+                placeholder="选择月">
10
+                </el-date-picker>
11
+            </div>
12
+            <div>
13
+                <el-date-picker
14
+                v-model="stat_time"
15
+                type="date"
16
+                placeholder="选择日期">
17
+                </el-date-picker>
18
+                <span>-</span>
19
+                <el-date-picker
20
+                v-model="end_time"
21
+                type="date"
22
+                placeholder="选择日期">
23
+                </el-date-picker>
24
+            </div>
25
+            <div style="width: 200px;">
26
+                <el-input v-model="input" placeholder="请输入内容"></el-input>
27
+            </div>
28
+            <el-button type="primary">查询</el-button>
29
+        </div> -->
30
+        
31
+        <el-row :gutter="20">
32
+        <el-col :span="5"> 
33
+          <div class="block">
34
+            <span>查询时间:</span>
35
+            <el-date-picker
36
+            v-model="time_month"
37
+            type="month"
38
+            placeholder="选择月">
39
+            </el-date-picker>
40
+          </div>
41
+        </el-col>
42
+        <el-col :span="8">
43
+          <div>
44
+            <el-date-picker
45
+            v-model="stat_time"
46
+            type="date"
47
+            placeholder="选择日期">
48
+            </el-date-picker>
49
+            <span>-</span>
50
+            <el-date-picker
51
+            v-model="end_time"
52
+            type="date"
53
+            placeholder="选择日期">
54
+            </el-date-picker>
55
+          </div>
56
+        </el-col>
57
+        <el-col :span="3">
58
+          <div style="width: 200px;">
59
+            <el-input v-model="input" placeholder="请输入内容"></el-input>
60
+          </div>
61
+        </el-col>
62
+        <el-col :span="2">
63
+            <el-button type="primary">查询</el-button>
64
+        </el-col>
65
+        </el-row>
66
+        
67
+        <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
68
+          <p class="chartTitle">统计图</p>
69
+        </div>
70
+        <div class="echart" id="mychart" :style={width:width,height:height}></div>
71
+        <div style="width: 80%;margin: auto;">
72
+            <el-table
73
+            :data="tableData"
74
+            :show-summary = true
75
+            border
76
+            style="width: 100%;">
77
+                <el-table-column
78
+                    prop="date"
79
+                    align="center"
80
+                    label="血小板"
81
+                    >
82
+                </el-table-column>
83
+                <el-table-column
84
+                    prop="name"
85
+                    
86
+                    label="人数"
87
+                    >
88
+                </el-table-column>
89
+                <el-table-column
90
+                    prop="address"
91
+                    align="center"
92
+                    label="操作">
93
+                    <template slot-scope="scope">
94
+                        <el-button @click="handleClick(scope.row)" style="font-size:16px;"
95
+                                type="text" >查看详情
96
+                        </el-button>
97
+                    </template>
98
+                </el-table-column>
99
+            </el-table>
100
+        </div>
101
+    </div>
102
+</template>
103
+<script>
104
+import * as echarts from "echarts";
105
+export default{
106
+    props: {
107
+   
108
+    width: {
109
+      type: String,
110
+      default: "100%"
111
+    },
112
+    height: {
113
+      type: String,
114
+      default: "400px"
115
+    },
116
+    
117
+  },
118
+    data() {
119
+        return {
120
+            time_month:'',
121
+            stat_time:'',
122
+            end_time:'',
123
+            input:'',
124
+            myChart: {},
125
+            pieData : [
126
+            {
127
+          value: 463,
128
+          name: "不达标值患者"
129
+        },
130
+        {
131
+          value: 395,
132
+          name: "未检查患者"
133
+        },
134
+        {
135
+          value: 157,
136
+          name: "达标值患者"
137
+        },
138
+        // {
139
+        //   value: 149,
140
+        //   name: "广东"
141
+        // },
142
+        // {
143
+        //   value: 147,
144
+        //   name: "湖南"
145
+        // }
146
+            
147
+            ],
148
+            pieName: [],
149
+            // myChartStyle:{float: "right", width: "100%", height: "400px"},
150
+            tableData:[],
151
+        }
152
+    },
153
+    mounted() {
154
+    this.initDate(); //数据初始化
155
+    this.initEcharts();
156
+  },
157
+  methods: {
158
+    initDate() {
159
+      for (let i = 0; i < this.pieData.length; i++) {
160
+        this.pieName[i] = this.pieData[i].name;
161
+      }
162
+    },
163
+    initEcharts() {
164
+      // 饼图
165
+      const option = {
166
+        legend: {
167
+          // 图例
168
+          data: this.pieName,
169
+          left: "10%",
170
+          top: "30%",
171
+          orient: "vertical"
172
+        },
173
+        color:['#ff7f9f','#fff67f','#1e5feb'],
174
+        title: {
175
+          // 设置饼图标题,位置设为顶部居中
176
+        //   text: "国内院士前五省份图示",
177
+          top: "0%",
178
+          left: "center"
179
+        },
180
+        series: [
181
+          {
182
+            type: "pie",
183
+            label: {
184
+              normal : {
185
+                formatter: '{b}:{c}: ({d}%)',
186
+                textStyle : {
187
+                    fontWeight : 'normal',
188
+                    fontSize : 15,
189
+                    color : "black"
190
+                }
191
+              }
192
+              // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
193
+            },
194
+            radius: "65%", //饼图半径
195
+            data: this.pieData,
196
+            itemStyle : {
197
+              emphasis: {
198
+                shadowBlur: 10,
199
+                shadowOffsetX: 0,
200
+                shadowColor: 'rgba(0, 0, 0, 0.5)'
201
+              }
202
+            }
203
+          }
204
+        ]
205
+      };
206
+    //   console.log(this.seriesData);
207
+      const optionFree = {
208
+        series: [
209
+          {
210
+            data: this.seriesData,
211
+            type: "line",
212
+            smooth: true
213
+          }
214
+        ]
215
+      };
216
+      this.myChart = echarts.init(document.getElementById("mychart"));
217
+      this.myChart.setOption(option);
218
+      //随着屏幕大小调节图表
219
+      window.addEventListener("resize", () => {
220
+        this.myChart.resize();
221
+      });
222
+    },
223
+    getSummaries(param) {
224
+        const { columns, data } = param;
225
+        const sums = [];
226
+        columns.forEach((column, index) => {
227
+          if (index === 0) {
228
+            sums[index] = '总价';
229
+            return;
230
+          }
231
+          const values = data.map(item => Number(item[column.property]));
232
+          if (!values.every(value => isNaN(value))) {
233
+            sums[index] = values.reduce((prev, curr) => {
234
+              const value = Number(curr);
235
+              if (!isNaN(value)) {
236
+                return prev + curr;
237
+              } else {
238
+                return prev;
239
+              }
240
+            }, 0);
241
+            sums[index] += ' 元';
242
+          } else {
243
+            sums[index] = 'N/A';
244
+          }
245
+        });
246
+
247
+        return sums;
248
+    },
249
+    handleClick(id){
250
+        console.log(id);
251
+    }
252
+  }
253
+
254
+}
255
+</script>
256
+<style lang="scss" scoped>
257
+.content_top{
258
+    display: flex;
259
+    justify-content: space-around;
260
+    color: #1e5feb;
261
+}
262
+</style>

+ 217 - 0
src/xt_pages/Dialysisanalysis/platelets/plateletsalone.vue View File

@@ -0,0 +1,217 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       <div >
52
+        <el-row :gutter="20">
53
+            <el-col :span="4">
54
+              <div class="grid-content bg-purple">
55
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
56
+                <!-- <h2>患者列表</h2> -->
57
+                <el-table
58
+                :data="tableData"
59
+                border
60
+                style="width: 100%">
61
+                    <el-table-column
62
+                        align="center"
63
+                        prop="date"
64
+                        label="透析号"
65
+                       >
66
+                    </el-table-column>
67
+                    <el-table-column
68
+                        align="center"
69
+                        prop="name"
70
+                        label="姓名"
71
+                        >
72
+                    </el-table-column>
73
+                </el-table>
74
+              </div>
75
+            </el-col>
76
+            <el-col :span="19">
77
+               <div class="grid-content bg-purple">
78
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
79
+                <el-table
80
+                    :data="tableData"
81
+                    style="width: 100%"
82
+                    border
83
+                    align="center"
84
+                    max-height="250">
85
+                    <el-table-column
86
+                    fixed
87
+                    prop="date"
88
+                    label="姓名"
89
+                   >
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                    prop="name"
93
+                    label="检查日期"
94
+                    >
95
+                    </el-table-column>
96
+                    <el-table-column
97
+                    prop="province"
98
+                    label="血小板(/L)"
99
+                    >
100
+                    </el-table-column>
101
+                    
102
+                </el-table>
103
+               </div>
104
+           </el-col>
105
+        </el-row>
106
+       </div>
107
+
108
+    </div>
109
+</template>
110
+<script>
111
+  import * as echarts from 'echarts'
112
+export default{
113
+    // props: {
114
+    //     width: {
115
+    //         type: String,
116
+    //         default: "100%"
117
+    //     },
118
+    //     height: {
119
+    //         type: String,
120
+    //         default: "400px"
121
+    //     },
122
+    
123
+    // },
124
+    data() {
125
+        return {
126
+            inputValue:'',
127
+            stat_time:'',
128
+            end_time:'',
129
+            value:'',
130
+            myChart: {},
131
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
132
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
133
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
134
+            tableData:[],
135
+        }
136
+    },
137
+    created(){
138
+        
139
+    },
140
+    mounted() {
141
+        // this.$nextTick(function() {
142
+            this.initEcharts();
143
+		// })  
144
+        // this.myChart = echarts.init(document.getElementById("germychart"));
145
+        //     this.myChart.setOption(option);
146
+            //随着屏幕大小调节图表
147
+            window.addEventListener("resize", () => {
148
+                this.myChart.resize();
149
+            });
150
+    },
151
+    methods:{
152
+        handleSubmit(){
153
+            console.log('asdfa');
154
+        },
155
+        initEcharts() {
156
+            const option = {
157
+                xAxis: {
158
+                    type: 'category',
159
+                        boundaryGap:true,
160
+                        axisTick:{
161
+                            alignWithLabel:true //保证刻度线和标签对齐
162
+                        },
163
+                    data: this.xData,
164
+                    splitNumber:this.xData.length, //纵坐标数
165
+                    interval:this.xData //强制设置坐标轴分割间隔
166
+                },
167
+                yAxis: {
168
+                    type: 'value',
169
+                    boundaryGap: true,
170
+                    splitNumber:4, //纵坐标数
171
+                    interval:10 //强制设置坐标轴分割间隔
172
+                },
173
+                legend: {
174
+                    show: true,
175
+                    align:'left',//文字在前图标在后
176
+                    left:'15%',
177
+                    top:'5%',
178
+                    data: [{name:'血小板/L'}]
179
+                },
180
+                series: [
181
+                {
182
+                    data: this.opinionData,
183
+                    name:'血小板/L',
184
+                    type: "line",// 类型设置为折线图
185
+                    symbol: 'circle',
186
+                    itemStyle: {
187
+                        normal: {
188
+                            color: '#409eff', //改变折线点的颜色#a80000
189
+                            lineStyle: {
190
+                                color: '#409eff' //改变折线颜色
191
+                            }
192
+                        }
193
+                    },
194
+
195
+                },
196
+                
197
+                ],
198
+                
199
+            };
200
+            this.myChart = echarts.init(document.getElementById("germychart"));
201
+            this.myChart.setOption(option);
202
+            //随着屏幕大小调节图表
203
+            window.addEventListener("resize", () => {
204
+                this.myChart.resize();
205
+            });
206
+        },
207
+    },
208
+    
209
+}
210
+</script>
211
+<style lang="scss" scoped>
212
+.content_top{
213
+    display: flex;
214
+    justify-content: space-around;
215
+    margin-bottom: 20px;
216
+}
217
+</style>

+ 243 - 0
src/xt_pages/Dialysisanalysis/qualitycontrol/individual.vue View File

@@ -0,0 +1,243 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       <div >
52
+        <el-row :gutter="20">
53
+            <el-col :span="4">
54
+              <div class="grid-content bg-purple">
55
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
56
+                <!-- <h2>患者列表</h2> -->
57
+                <el-table
58
+                :data="tableData"
59
+                border
60
+                style="width: 100%">
61
+                    <el-table-column
62
+                        align="center"
63
+                        prop="date"
64
+                        label="透析号"
65
+                       >
66
+                    </el-table-column>
67
+                    <el-table-column
68
+                        align="center"
69
+                        prop="name"
70
+                        label="姓名"
71
+                        >
72
+                    </el-table-column>
73
+                </el-table>
74
+              </div>
75
+            </el-col>
76
+            <el-col :span="19">
77
+               <div class="grid-content bg-purple">
78
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
79
+                <el-table
80
+                    :data="tableData"
81
+                    style="width: 100%"
82
+                    border
83
+                    align="center"
84
+                    max-height="250">
85
+                    <el-table-column
86
+                    fixed
87
+                    prop="date"
88
+                    label="姓名"
89
+                   >
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                    prop="name"
93
+                    label="检查日期"
94
+                    >
95
+                    </el-table-column>
96
+                    <el-table-column
97
+                    prop="province"
98
+                    label="甲状旁腺激素(pg/ml)"
99
+                    >
100
+                    </el-table-column>
101
+                    
102
+                </el-table>
103
+               </div>
104
+           </el-col>
105
+        </el-row>
106
+       </div>
107
+
108
+    </div>
109
+</template>
110
+<script>
111
+  import * as echarts from 'echarts'
112
+export default{
113
+    // props: {
114
+    //     width: {
115
+    //         type: String,
116
+    //         default: "100%"
117
+    //     },
118
+    //     height: {
119
+    //         type: String,
120
+    //         default: "400px"
121
+    //     },
122
+    
123
+    // },
124
+    data() {
125
+        return {
126
+            inputValue:'',
127
+            stat_time:'',
128
+            end_time:'',
129
+            value:'',
130
+            querySearch:'',
131
+            tableData:[],
132
+            options:[],
133
+            myChartTwo: {},
134
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
135
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
136
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
137
+            
138
+        }
139
+    },
140
+    created(){
141
+        
142
+       
143
+    },
144
+    mounted() {
145
+        // this.$nextTick(function() {
146
+            this.initEcharts();
147
+            // this.myChartTwo = echarts.init(document.getElementById("germychart"));
148
+            // this.myChartTwo.setOption(option);
149
+            // // //随着屏幕大小调节图表
150
+            // window.addEventListener("resize", () => {
151
+            //     console.log('asdfgfdhdgfdghdffgasda');
152
+            //     this.myChartTwo.resize();
153
+            // });
154
+            
155
+            // window.onresize = this.myChartTwo.resize;
156
+		// })  
157
+    },
158
+    // beforeDestroy(){
159
+    //     window.addEventListener("resize", () => {
160
+    //         this.myChartTwo.resize();
161
+    //     });
162
+    //     const quality = document.getElementById("germychart");
163
+    //     quality.addEventListener("transitionend", this.__resizeHanlder);
164
+    // },
165
+    methods:{
166
+        handleSubmit(){
167
+            console.log('asdfa');
168
+            this.querySearch
169
+        },
170
+        initEcharts() {
171
+            this.myChartTwo = echarts.init(document.getElementById("germychart"));
172
+            console.log('zxczvbbnm,m');
173
+            const option = {
174
+                xAxis: {
175
+                    type: 'category',
176
+                        boundaryGap:true,
177
+                        axisTick:{
178
+                            alignWithLabel:true //保证刻度线和标签对齐
179
+                        },
180
+                    data: this.xData,
181
+                    splitNumber:this.xData.length, //纵坐标数
182
+                    interval:this.xData //强制设置坐标轴分割间隔
183
+                },
184
+                yAxis: {
185
+                    type: 'value',
186
+                    boundaryGap: true,
187
+                    splitNumber:4, //纵坐标数
188
+                    interval:10 //强制设置坐标轴分割间隔
189
+                },
190
+                legend: {
191
+                    // show: true,
192
+                    align:'left',//文字在前图标在后
193
+                    left:'15%',
194
+                    top:'5%',
195
+                    data: [{name:'甲状旁腺激素 pg/ml'}]
196
+                },
197
+                grid:{
198
+                    show:true,
199
+                    left: "5%",
200
+                    right: "5%",
201
+                    bottom: "5%"
202
+                },
203
+                series: [
204
+                {
205
+                    data: this.opinionData,
206
+                    name:'甲状旁腺激素 pg/ml',
207
+                    type: "line",// 类型设置为折线图
208
+                    symbol: 'circle',
209
+                    itemStyle: {
210
+                        normal: {
211
+                            color: '#409eff', //改变折线点的颜色#a80000
212
+                            lineStyle: {
213
+                                color: '#409eff' //改变折线颜色
214
+                            }
215
+                        }
216
+                    },
217
+
218
+                },
219
+                
220
+                ],
221
+                
222
+            };
223
+            
224
+            this.myChartTwo.setOption(option);
225
+            // //随着屏幕大小调节图表
226
+            window.addEventListener("resize", () => {
227
+                console.log('123456788');
228
+                this.myChartTwo.resize();
229
+            });
230
+            
231
+            // window.onresize = this.myChartTwo.resize;
232
+        },
233
+    },
234
+    
235
+}
236
+</script>
237
+<style lang="scss" scoped>
238
+.content_top{
239
+    display: flex;
240
+    justify-content: space-around;
241
+    margin-bottom: 20px;
242
+}
243
+</style>

+ 103 - 0
src/xt_pages/Dialysisanalysis/qualitycontrol/thyroidGland.vue View File

@@ -0,0 +1,103 @@
1
+<!-- 甲状旁腺激素分析 -->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <totalSstatistics v-if="activeName == 'first'"></totalSstatistics>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive>
18
+                    <individual v-if="activeName == 'second'"></individual>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+// import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import totalSstatistics from './totalSstatistics.vue'
32
+import individual from './individual.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        totalSstatistics,
38
+        individual
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first',
43
+          
44
+        }
45
+    },
46
+    methods:{
47
+      handleClick(tab, event) {
48
+        console.log(tab, event);
49
+      }
50
+    }
51
+}
52
+</script>
53
+
54
+<style lang="scss" scoped>
55
+// .page_patientControlAnalysis {
56
+
57
+// .pointTitle {
58
+//   font-size: 13px;
59
+// }
60
+
61
+// .chartTitle {
62
+//   font-size: 16px;
63
+//   font-weight: bold;
64
+//   color: #000000;
65
+// }
66
+
67
+// .point {
68
+//   width: 13px;
69
+//   height: 13px;
70
+//   background: linear-gradient(
71
+//       0deg,
72
+//       rgba(169, 224, 243, 1),
73
+//       rgba(159, 189, 252, 1)
74
+//   );
75
+//   border-radius: 7px;
76
+//   margin-right: 8px;
77
+// }
78
+
79
+// .pointTitle {
80
+//   font-size: 13px;
81
+// }
82
+
83
+// }
84
+
85
+</style>
86
+
87
+<style lang="scss">
88
+// .page_patientControlAnalysis {
89
+
90
+// .el-form-item {
91
+//   margin-bottom: 0;
92
+// }
93
+
94
+// .cell {
95
+//   text-align: center;
96
+// }
97
+
98
+// ::-webkit-scrollbar {
99
+//   height: 15px !important;
100
+// }
101
+
102
+// }
103
+</style>

+ 268 - 0
src/xt_pages/Dialysisanalysis/qualitycontrol/totalSstatistics.vue View File

@@ -0,0 +1,268 @@
1
+
2
+<template>
3
+  <div>
4
+      <!-- <div class="content_top">
5
+          <div class="block">
6
+              <span>查询时间:</span>
7
+              <el-date-picker
8
+              v-model="time_month"
9
+              type="month"
10
+              placeholder="选择月">
11
+              </el-date-picker>
12
+          </div>
13
+          <div>
14
+              <el-date-picker
15
+              v-model="stat_time"
16
+              type="date"
17
+              placeholder="选择日期">
18
+              </el-date-picker>
19
+              <span>-</span>
20
+              <el-date-picker
21
+              v-model="end_time"
22
+              type="date"
23
+              placeholder="选择日期">
24
+              </el-date-picker>
25
+          </div>
26
+          <div style="width: 200px;">
27
+              <el-input v-model="input" placeholder="请输入内容"></el-input>
28
+          </div>
29
+          <el-button type="primary">查询</el-button>
30
+      </div> -->
31
+      <el-row :gutter="20">
32
+      <el-col :span="5"> 
33
+        <div class="block">
34
+          <span>查询时间:</span>
35
+          <el-date-picker
36
+          v-model="time_month"
37
+          type="month"
38
+          placeholder="选择月">
39
+          </el-date-picker>
40
+        </div>
41
+      </el-col>
42
+      <el-col :span="8">
43
+        <div>
44
+          <el-date-picker
45
+          v-model="stat_time"
46
+          type="date"
47
+          placeholder="选择日期">
48
+          </el-date-picker>
49
+          <span>-</span>
50
+          <el-date-picker
51
+          v-model="end_time"
52
+          type="date"
53
+          placeholder="选择日期">
54
+          </el-date-picker>
55
+        </div>
56
+      </el-col>
57
+      <el-col :span="3">
58
+        <div style="width: 200px;">
59
+          <el-input v-model="input" placeholder="请输入内容"></el-input>
60
+        </div>
61
+      </el-col>
62
+      <el-col :span="2">
63
+          <el-button type="primary">查询</el-button>
64
+      </el-col>
65
+      </el-row>
66
+      
67
+      <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
68
+        <p class="chartTitle">统计图</p>
69
+      </div>
70
+      <div class="echart" id="mychart" :style={width:width,height:height}></div>
71
+      <div style="width: 80%;margin: auto;">
72
+          <el-table
73
+          :data="tableData"
74
+          :show-summary = true
75
+          border
76
+          style="width: 100%;">
77
+              <el-table-column
78
+                  prop="date"
79
+                  align="center"
80
+                  label="甲状旁腺激素"
81
+                  >
82
+              </el-table-column>
83
+              <el-table-column
84
+                  prop="name"
85
+                  
86
+                  label="人数"
87
+                  >
88
+              </el-table-column>
89
+              <el-table-column
90
+                  prop="address"
91
+                  align="center"
92
+                  label="操作">
93
+                  <template slot-scope="scope">
94
+                      <el-button @click="handleClick(scope.row)" style="font-size:16px;"
95
+                              type="text" >查看详情
96
+                      </el-button>
97
+                  </template>
98
+              </el-table-column>
99
+          </el-table>
100
+      </div>
101
+  </div>
102
+</template>
103
+<script>
104
+import * as echarts from "echarts";
105
+export default{
106
+  props: {
107
+ 
108
+  width: {
109
+    type: String,
110
+    default: "100%"
111
+  },
112
+  height: {
113
+    type: String,
114
+    default: "400px"
115
+  },
116
+  
117
+},
118
+  data() {
119
+      return {
120
+          time_month:'',
121
+          stat_time:'',
122
+          end_time:'',
123
+          input:'',
124
+          myChart: {},
125
+          pieData : [
126
+          {
127
+        value: 463,
128
+        name: "不达标值患者"
129
+      },
130
+      {
131
+        value: 395,
132
+        name: "未检查患者"
133
+      },
134
+      {
135
+        value: 157,
136
+        name: "达标值患者"
137
+      },
138
+      // {
139
+      //   value: 149,
140
+      //   name: "广东"
141
+      // },
142
+      // {
143
+      //   value: 147,
144
+      //   name: "湖南"
145
+      // }
146
+          
147
+          ],
148
+          pieName: [],
149
+          // myChartStyle:{float: "right", width: "100%", height: "400px"},
150
+          tableData:[],
151
+      }
152
+  },
153
+  mounted() {
154
+  this.initDate(); //数据初始化
155
+  this.initEcharts();
156
+},
157
+methods: {
158
+  initDate() {
159
+    for (let i = 0; i < this.pieData.length; i++) {
160
+      this.pieName[i] = this.pieData[i].name;
161
+    }
162
+  },
163
+  initEcharts() {
164
+    // 饼图
165
+    this.myChart = echarts.init(document.getElementById("mychart"));
166
+    window.addEventListener("resize", () => {
167
+      console.log('098765adsfghg');
168
+      this.myChart.resize();
169
+    });
170
+    console.log('09876543454676');
171
+    const option = {
172
+      legend: {
173
+        // 图例
174
+        data: this.pieName,
175
+        left: "10%",
176
+        top: "30%",
177
+        orient: "vertical"
178
+      },
179
+      color:['#ff7f9f','#fff67f','#1e5feb'],
180
+      title: {
181
+        // 设置饼图标题,位置设为顶部居中
182
+      //   text: "国内院士前五省份图示",
183
+        top: "0%",
184
+        left: "center"
185
+      },
186
+      series: [
187
+        {
188
+          type: "pie",
189
+          label: {
190
+            normal : {
191
+              formatter: '{b}:{c}: ({d}%)',
192
+              textStyle : {
193
+                  fontWeight : 'normal',
194
+                  fontSize : 15,
195
+                  color : "black"
196
+              }
197
+            }
198
+            // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
199
+          },
200
+          radius: "65%", //饼图半径
201
+          data: this.pieData,
202
+          itemStyle : {
203
+            emphasis: {
204
+              shadowBlur: 10,
205
+              shadowOffsetX: 0,
206
+              shadowColor: 'rgba(0, 0, 0, 0.5)'
207
+            }
208
+          }
209
+        }
210
+      ]
211
+    };
212
+  //   console.log(this.seriesData);
213
+    const optionFree = {
214
+      series: [
215
+        {
216
+          data: this.seriesData,
217
+          type: "line",
218
+          smooth: true
219
+        }
220
+      ]
221
+    };
222
+    this.myChart = echarts.init(document.getElementById("mychart"));
223
+    this.myChart.setOption(option);
224
+    //随着屏幕大小调节图表
225
+  //   window.addEventListener("resize", () => {
226
+  //     this.myChart.resize();
227
+  //   });
228
+  },
229
+  getSummaries(param) {
230
+      const { columns, data } = param;
231
+      const sums = [];
232
+      columns.forEach((column, index) => {
233
+        if (index === 0) {
234
+          sums[index] = '总价';
235
+          return;
236
+        }
237
+        const values = data.map(item => Number(item[column.property]));
238
+        if (!values.every(value => isNaN(value))) {
239
+          sums[index] = values.reduce((prev, curr) => {
240
+            const value = Number(curr);
241
+            if (!isNaN(value)) {
242
+              return prev + curr;
243
+            } else {
244
+              return prev;
245
+            }
246
+          }, 0);
247
+          sums[index] += ' 元';
248
+        } else {
249
+          sums[index] = 'N/A';
250
+        }
251
+      });
252
+
253
+      return sums;
254
+  },
255
+  handleClick(id){
256
+      console.log(id);
257
+  }
258
+}
259
+
260
+}
261
+</script>
262
+<style lang="scss" scoped>
263
+.content_top{
264
+  display: flex;
265
+  justify-content: space-around;
266
+  color: #1e5feb;
267
+}
268
+</style>

+ 3 - 0
src/xt_pages/data/components/dialysisAfter.vue View File

@@ -55,6 +55,7 @@
55 55
               type="primary"
56 56
               icon="el-icon-view"
57 57
               @click="handleShow(scope.$index, scope.row)"
58
+
58 59
             >
59 60
             </el-button>
60 61
             
@@ -64,12 +65,14 @@
64 65
               type="danger"
65 66
               icon="el-icon-remove-outline"
66 67
               @click="handleHideOne(scope.$index, scope.row)"
68
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
67 69
             >
68 70
             </el-button>
69 71
 
70 72
            
71 73
             <el-button
72 74
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 0"
75
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
73 76
               size="small"
74 77
               type="primary"
75 78
               icon="el-icon-view"

+ 2 - 0
src/xt_pages/data/components/dialysisBefore.vue View File

@@ -63,11 +63,13 @@
63 63
               size="small"
64 64
               type="danger"
65 65
               icon="el-icon-remove-outline"
66
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
66 67
               @click="handleHideOne(scope.$index, scope.row)"
67 68
             >
68 69
             </el-button>
69 70
 
70 71
             <el-button
72
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
71 73
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 0"
72 74
               size="small"
73 75
               type="primary"

+ 2 - 0
src/xt_pages/data/components/dialysisComputer.vue View File

@@ -64,12 +64,14 @@
64 64
               type="danger"
65 65
               icon="el-icon-remove-outline"
66 66
               @click="handleHideOne(scope.$index, scope.row)"
67
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
67 68
             >
68 69
             </el-button>
69 70
 
70 71
             
71 72
             <el-button
72 73
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 0"
74
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
73 75
               size="small"
74 76
               type="primary"
75 77
               icon="el-icon-view"

+ 2 - 0
src/xt_pages/data/components/dialysisMonitor.vue View File

@@ -64,6 +64,7 @@
64 64
               type="danger"
65 65
               icon="el-icon-remove-outline"
66 66
               @click="handleHideOne(scope.$index, scope.row)"
67
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
67 68
             >
68 69
             </el-button>
69 70
 
@@ -74,6 +75,7 @@
74 75
               type="primary"
75 76
               icon="el-icon-view"
76 77
               @click="handleShowOne(scope.$index, scope.row)"
78
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
77 79
             >
78 80
             </el-button>
79 81
         </template>

+ 2 - 0
src/xt_pages/data/components/dialysisOff.vue View File

@@ -59,6 +59,7 @@
59 59
 
60 60
             <el-button
61 61
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 1"
62
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
62 63
               size="small"
63 64
               type="danger"
64 65
               icon="el-icon-remove-outline"
@@ -69,6 +70,7 @@
69 70
            
70 71
             <el-button
71 72
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 0"
73
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
72 74
               size="small"
73 75
               type="primary"
74 76
               icon="el-icon-view"

+ 2 - 0
src/xt_pages/data/components/dialysisPrescription.vue View File

@@ -64,6 +64,7 @@
64 64
               size="small"
65 65
               type="danger"
66 66
               icon="el-icon-remove-outline"
67
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
67 68
               @click="handleHideOne(scope.$index, scope.row)"
68 69
             >
69 70
             </el-button>
@@ -73,6 +74,7 @@
73 74
               size="small"
74 75
               type="primary"
75 76
               icon="el-icon-view"
77
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
76 78
               @click="handleShowOne(scope.$index, scope.row)"
77 79
             >
78 80
             </el-button>

+ 2 - 0
src/xt_pages/data/components/dialysisSummary.vue View File

@@ -59,6 +59,7 @@
59 59
             </el-button>
60 60
             <el-button
61 61
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 1"
62
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
62 63
               size="small"
63 64
               type="danger"
64 65
               icon="el-icon-remove-outline"
@@ -69,6 +70,7 @@
69 70
             
70 71
             <el-button
71 72
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 0"
73
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
72 74
               size="small"
73 75
               type="primary"
74 76
               icon="el-icon-view"

+ 2 - 0
src/xt_pages/data/components/doubleCheck.vue View File

@@ -64,6 +64,7 @@
64 64
               type="danger"
65 65
               icon="el-icon-remove-outline"
66 66
               @click="handleHideOne(scope.$index, scope.row)"
67
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
67 68
             >
68 69
             </el-button>
69 70
 
@@ -73,6 +74,7 @@
73 74
               type="primary"
74 75
               icon="el-icon-view"
75 76
               @click="handleShowOne(scope.$index, scope.row)"
77
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
76 78
             >
77 79
             </el-button>
78 80
         </template>

+ 2 - 0
src/xt_pages/data/components/receiveTreatmentAsses.vue View File

@@ -63,6 +63,7 @@
63 63
               size="small"
64 64
               type="danger"
65 65
               icon="el-icon-remove-outline"
66
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
66 67
               @click="handleHideOne(scope.$index, scope.row)"
67 68
             >
68 69
             </el-button>
@@ -73,6 +74,7 @@
73 74
               size="small"
74 75
               type="primary"
75 76
               icon="el-icon-view"
77
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
76 78
               @click="handleShowOne(scope.$index, scope.row)"
77 79
             >
78 80
             </el-button>

+ 12 - 9
src/xt_pages/dialysis/bloodPresssWatch.vue View File

@@ -383,7 +383,15 @@
383 383
           type="primary"
384 384
           >批量打印</el-button>
385 385
       </template>
386
-      
386
+      <template v-if="this.template_id == 65">
387
+        <el-button
388
+          size="small"
389
+          icon="el-icon-printer"
390
+          :disabled="selecting_schs.length == 0"
391
+          @click="batchPrintAction"
392
+          type="primary"
393
+          >批量打印</el-button>
394
+      </template>
387 395
 
388 396
     </div>
389 397
     <div class="app-container">
@@ -501,7 +509,6 @@
501 509
         style="width: 100%"
502 510
         v-loading="loading"
503 511
         border
504
-
505 512
         @current-change="clickCurrent"
506 513
         @selection-change="handleSelectionChange"
507 514
         highlight-current-row
@@ -691,12 +698,6 @@
691 698
         </el-table-column>
692 699
 
693 700
 
694
-
695
-
696
-
697
-
698
-
699
-
700 701
        <el-table-column label="超滤量(ml)" align="center"
701 702
              v-if="
702 703
               isShow('超滤量') &&
@@ -953,7 +954,6 @@
953 954
             </template>
954 955
         </el-table-column>
955 956
 
956
-
957 957
       <el-table-column label="置换率(L/h)" align="center"
958 958
           v-if="
959 959
           isShow('置换率') &&
@@ -2125,7 +2125,10 @@ export default {
2125 2125
         this.$router.push({ path: "/dialysis/print/batch/sixtyOne" });
2126 2126
       }else if (this.template_id == 62) {
2127 2127
         this.$router.push({ path: "/dialysis/print/batch/sixtyTwo" });
2128
+      }else if (this.template_id == 65) {//dialysis/print/batch/sixtyFive
2129
+        this.$router.push({ path: "/dialysis/print/batch/sixtyFive" });
2128 2130
       }
2131
+
2129 2132
     },
2130 2133
     batchPrintActionOne: function() {
2131 2134
       if (this.selecting_schs.length === 0) {

+ 60 - 5
src/xt_pages/dialysis/details/dialog/AssessmentAfterDislysis.vue View File

@@ -642,13 +642,47 @@
642 642
       v-on:dialog-comfirm="DialogComfirm"
643 643
       v-on:dialog-cancle="DialogCancle"
644 644
     ></multi-select-box>
645
+
646
+    <el-dialog
647
+          title="提示"
648
+          :visible.sync="infoDialogVisible"
649
+          width="30%">
650
+          <span>
651
+           <el-form>
652
+             <el-row>
653
+               <span>申请日期:</span>
654
+                <span>
655
+                    <el-date-picker
656
+                      type="datetime"
657
+                      format="yyyy-MM-dd HH:mm"
658
+                      value-format="yyyy-MM-dd HH:mm"
659
+                      placeholder="选择时间"
660
+                      v-model="selected_date"
661
+                  ></el-date-picker>
662
+                </span>
663
+             </el-row>
664
+             <el-row>
665
+               <span>备注:</span>
666
+                <span>
667
+                   <el-input v-model="remark" style="width:200px"></el-input>
668
+                </span>
669
+             </el-row>
670
+           </el-form>
671
+         
672
+          </span>
673
+          <span slot="footer" class="dialog-footer">
674
+            <el-button @click="infoDialogVisible = false">取 消</el-button>
675
+            <el-button type="primary" @click="saveInformation">确 定</el-button>
676
+          </span>
677
+        </el-dialog>
678
+
645 679
   </div>
646 680
 </template>
647 681
 
648 682
 <script>
649 683
 import { getDataConfig } from '@/utils/data'
650 684
 import MultiSelectBox from './MultiSelectBox'
651
-import { postAssessmentAfterDislysis } from '@/api/dialysis'
685
+import { postAssessmentAfterDislysis,saveInformation } from '@/api/dialysis'
652 686
 import { uParseTime } from '@/utils/tools'
653 687
 import store from '@/store'
654 688
 import { parseTime } from '@/utils'
@@ -818,7 +852,9 @@ export default {
818 852
       consciousnessList:[],
819 853
       fallriskList:[],
820 854
       machineList:[],
821
-      
855
+      infoDialogVisible:false,
856
+      selected_date:"",
857
+      remark:""
822 858
     }
823 859
   },
824 860
   watch: {
@@ -1131,6 +1167,7 @@ export default {
1131 1167
           data["after_urea"] = this.form.after_urea
1132 1168
           data["pip_coagulation"] = this.form.pip_coagulation
1133 1169
           data["accumulated_blood_volume"] = this.form.accumulated_blood_volume
1170
+          console.log("Data",data)
1134 1171
           console.log("Paramsquery",data)
1135 1172
 
1136 1173
           postAssessmentAfterDislysis(ParamsQuery, data)
@@ -1138,6 +1175,9 @@ export default {
1138 1175
               this.loading = false
1139 1176
               if (response.data.state == 0) {
1140 1177
                 this.$message.error(response.data.msg)
1178
+                if(response.data.code == 600000008){
1179
+                  this.infoDialogVisible = true
1180
+                }
1141 1181
                 return false
1142 1182
               } else {
1143 1183
                 this.$notify({
@@ -1157,8 +1197,7 @@ export default {
1157 1197
                 }
1158 1198
                 this.hide()
1159 1199
               }
1160
-            })
1161
-            .catch(v => {
1200
+            }).catch(v => {
1162 1201
               this.loading = false
1163 1202
             })
1164 1203
         }else {
@@ -1426,7 +1465,23 @@ export default {
1426 1465
             }
1427 1466
           }
1428 1467
         })
1429
-    }
1468
+    },
1469
+    saveInformation(){
1470
+        var params = {
1471
+          selected_date:this.selected_date,
1472
+          patient_id:this.$route.query.patient_id,
1473
+          record_date:this.$route.query.date,
1474
+          module:2,
1475
+          remark:this.remark,
1476
+        }
1477
+        saveInformation(params).then(response=>{
1478
+           if(response.data.state == 1){
1479
+             var information = response.data.data.information
1480
+             this.$message.success("提交成功!")
1481
+             this.infoDialogVisible = false
1482
+           }
1483
+        })
1484
+      }
1430 1485
   },
1431 1486
   created() {
1432 1487
     // console.log("this.form", this.form.consciousness);

+ 31 - 14
src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue View File

@@ -223,7 +223,7 @@
223 223
         :cell-class-name="adviceNameShow"
224 224
         :modal-append-to-body="false"
225 225
         highlight-current-row
226
-        
226
+
227 227
       >
228 228
       <!-- @selection-change="handleSelectionChange" -->
229 229
         <!-- <el-table-column type="selection"  width="55"></el-table-column> -->
@@ -257,7 +257,7 @@
257 257
             <el-dropdown trigger="click" v-if="scope.row.parent_id > 0">
258 258
               <span class="el-dropdown-link">
259 259
                 &emsp;{{ getAdviceContent(scope.row, 2)}}
260
-               
260
+
261 261
                 <i class="el-icon-arrow-down el-icon--right"></i>
262 262
               </span>
263 263
               <el-dropdown-menu slot="dropdown">
@@ -305,7 +305,7 @@
305 305
         </el-table-column>
306 306
       </el-table>
307 307
 
308
-     
308
+
309 309
 
310 310
       <el-table
311 311
         v-if="his_is_open  == 1 || is_advice_open == 1"
@@ -360,7 +360,7 @@
360 360
             <el-dropdown trigger="click" v-if="scope.row.parent_id > 0">
361 361
               <span class="el-dropdown-link">
362 362
                 &emsp;{{ getAdviceContent(scope.row, 2)}}
363
-                 
363
+
364 364
                 <i class="el-icon-arrow-down el-icon--right"></i>
365 365
               </span>
366 366
               <el-dropdown-menu slot="dropdown">
@@ -628,7 +628,7 @@
628 628
     getPatientSchedule
629 629
   } from '@/api/advice'
630 630
   import { getDataConfig } from '@/utils/data'
631
-
631
+  import { saveInformation } from '@/api/dialysis'
632 632
   import request from '@/utils/request'
633 633
   import { getDialysisScheduleDetail } from '@/api/dialysis_record'
634 634
   import { getSelfMedicalList } from "@/api/drug/drug"
@@ -799,15 +799,15 @@
799 799
       },
800 800
 
801 801
       'doctor_advices': function() {
802
-      
802
+
803 803
         this.handleSpanTempArrOne();
804 804
       },
805
-     
805
+
806 806
     },
807 807
     methods: {
808 808
       handleSpanTempArrOne() {
809 809
           this.tempArrOne = [];
810
-         
810
+
811 811
           for (let i = 0; i < this.doctor_advices.length; i++) {
812 812
             if (i === 0) {
813 813
               this.tempArrOne.push(1);
@@ -830,8 +830,8 @@
830 830
       handleSelectionChange(){
831 831
 
832 832
       },
833
-     
834
-    
833
+
834
+
835 835
       //调试
836 836
       lili(index,row){
837 837
         // console.log("==index==",index)
@@ -949,7 +949,7 @@
949 949
           return ''
950 950
         }
951 951
       },
952
-     
952
+
953 953
       submitEditAdvice() {
954 954
         // console.log()
955 955
         console.log("保存22222222222222")
@@ -2126,8 +2126,8 @@
2126 2126
         return true
2127 2127
       }
2128 2128
       ,
2129
-    
2130
-      
2129
+
2130
+
2131 2131
       handleSpanTempArr() {
2132 2132
         this.tempArr = []
2133 2133
 
@@ -2631,10 +2631,27 @@
2631 2631
          }
2632 2632
          console.log("nam e23233232322323wo",name)
2633 2633
          return name
2634
+      },
2635
+
2636
+     saveInformation(){
2637
+        var params = {
2638
+          selected_date:this.selected_date,
2639
+          patient_id:this.$route.query.patient_id,
2640
+          record_date:this.$route.query.date,
2641
+          module:4,
2642
+          remark:this.remark,
2643
+        }
2644
+        saveInformation(params).then(response=>{
2645
+           if(response.data.state == 1){
2646
+             var information = response.data.data.information
2647
+             this.$message.success("提交成功!")
2648
+             this.infoDialogVisible = false
2649
+           }
2650
+        })
2634 2651
       }
2635 2652
     },
2636 2653
     created() {
2637
-     
2654
+
2638 2655
       var date = this.$route.query && this.$route.query.date
2639 2656
       this.record_date = uParseTime(date, '{y}-{m}-{d}')
2640 2657
       this.form.advice_date = this.record_date

+ 19 - 2
src/xt_pages/dialysis/details/dialog/acceptsTreatmentDialog.vue View File

@@ -1,4 +1,5 @@
1 1
 <template>
2
+ <div>
2 3
   <div>
3 4
   <el-dialog
4 5
     title="接诊评估"
@@ -507,6 +508,19 @@ export default {
507 508
 
508 509
     handleComfirm: function (formName) {
509 510
       // var arr = [];
511
+        if(this.precaution_arr!=null && this.precaution_arr.length >0){
512
+        for (let i = 0; i < this.precaution_arr.length; i++) {
513
+          for (let j = 0; j < this.precautionTwo.length; j++) {
514
+            if (this.precaution_arr[i].name == this.precautionTwo[j]) {
515
+              this.arr.push(this.precaution_arr[i].id);
516
+            }
517
+          }
518
+        }
519
+        var obj = this.arr.join(",");
520
+      }
521
+
522
+      this.receiveTreatmentAsses.precaution = obj;
523
+
510 524
 
511 525
       if(this.precaution_arr!=null){
512 526
         for (let i = 0; i < this.precaution_arr.length; i++) {
@@ -520,7 +534,7 @@ export default {
520 534
           var obj = this.arr.join(",");
521 535
           this.receiveTreatmentAsses.precaution = obj;
522 536
          }
523
-            
537
+
524 538
       }
525 539
 
526 540
 
@@ -546,6 +560,9 @@ export default {
546 560
           postAccepts(ParamsQuery).then((response) => {
547 561
             if (response.data.state == 0) {
548 562
               this.$message.error(response.data.msg);
563
+               if(response.data.code == 600000008){
564
+                 this.infoDialogVisible = true
565
+               }
549 566
               return false;
550 567
             } else {
551 568
               this.$notify({
@@ -698,7 +715,7 @@ export default {
698 715
         saveInformation(params).then(response=>{
699 716
            if(response.data.state == 1){
700 717
              var information = response.data.data.information
701
-             this.$message.success("审核成功!")
718
+             this.$message.success("提交成功!")
702 719
              this.infoDialogVisible = false
703 720
            }
704 721
         })

+ 58 - 0
src/xt_pages/dialysis/details/dialog/adviceDialog/AddGroupAdvice.vue View File

@@ -556,6 +556,40 @@
556 556
         </el-button>
557 557
       </div>
558 558
     </el-dialog>
559
+
560
+
561
+    <el-dialog
562
+      title="提示"
563
+      :visible.sync="infoDialogVisible"
564
+      width="30%">
565
+      <span>
566
+        <el-form>
567
+          <el-row>
568
+            <span>申请日期:</span>
569
+            <span>
570
+                <el-date-picker
571
+                  type="datetime"
572
+                  format="yyyy-MM-dd HH:mm"
573
+                  value-format="yyyy-MM-dd HH:mm"
574
+                  placeholder="选择时间"
575
+                  v-model="selected_date"
576
+              ></el-date-picker>
577
+            </span>
578
+          </el-row>
579
+          <el-row>
580
+            <span>备注:</span>
581
+            <span>
582
+                <el-input v-model="remark" style="width:200px"></el-input>
583
+            </span>
584
+          </el-row>
585
+        </el-form>
586
+      
587
+      </span>
588
+      <span slot="footer" class="dialog-footer">
589
+        <el-button @click="infoDialogVisible = false">取 消</el-button>
590
+        <el-button type="primary" @click="saveInformation">确 定</el-button>
591
+      </span>
592
+    </el-dialog>
559 593
   </div>
560 594
 </template>
561 595
 
@@ -570,6 +604,7 @@ import {
570 604
   getDoctorAdviceList,
571 605
   StopDoctorAdvice
572 606
 } from "@/api/advice";
607
+import { saveInformation } from "@/api/dialysis";
573 608
 import { getDataConfig } from '@/utils/data'
574 609
 import {getSelfMedicalList,getDrugDescByDrugName } from "@/api/drug/drug"
575 610
 import { duration } from 'moment';
@@ -655,6 +690,9 @@ export default {
655 690
       src_type:"",
656 691
       private_drug_config:{},
657 692
       units:[],
693
+      infoDialogVisible:false,
694
+      selected_date:"",
695
+      remark:""
658 696
     };
659 697
   },
660 698
   props: {
@@ -770,6 +808,9 @@ export default {
770 808
             response => {
771 809
               if (response.data.state == 0) {
772 810
                 this.$message.error(response.data.msg);
811
+                if(response.data.code == 600000008){
812
+                 this.infoDialogVisible = true
813
+                }
773 814
                 return false;
774 815
               } else {
775 816
                 this.$notify({
@@ -1905,6 +1946,23 @@ export default {
1905 1946
            }
1906 1947
          }
1907 1948
          return name
1949
+      },
1950
+    
1951
+    saveInformation(){
1952
+        var params = {
1953
+          selected_date:this.selected_date,
1954
+          patient_id:this.$route.query.patient_id,
1955
+          record_date:this.$route.query.date,
1956
+          module:4,
1957
+          remark:this.remark,
1958
+        }
1959
+        saveInformation(params).then(response=>{
1960
+           if(response.data.state == 1){
1961
+             var information = response.data.data.information
1962
+             this.$message.success("提交成功!")
1963
+             this.infoDialogVisible = false
1964
+           }
1965
+        })
1908 1966
       }
1909 1967
   },
1910 1968
   watch: {

+ 2 - 2
src/xt_pages/dialysis/details/dialog/assessmentBeforeDislysisDialog.vue View File

@@ -1719,13 +1719,13 @@
1719 1719
           selected_date:this.selected_date,
1720 1720
           patient_id:this.$route.query.patient_id,
1721 1721
           record_date:this.$route.query.date,
1722
-          module:2,
1722
+          module:3,
1723 1723
           remark:this.remark,
1724 1724
         }
1725 1725
         saveInformation(params).then(response=>{
1726 1726
            if(response.data.state == 1){
1727 1727
              var information = response.data.data.information
1728
-             this.$message.success("审核成功!")
1728
+             this.$message.success("提交成功!")
1729 1729
              this.infoDialogVisible = false
1730 1730
            }
1731 1731
         })

+ 4 - 3
src/xt_pages/dialysis/details/dialog/computer_dialog.vue View File

@@ -388,6 +388,7 @@ import {
388 388
   PostModifyStartDialysis,
389 389
   startDialysis,
390 390
 } from "@/api/dialysis_record";
391
+  import { saveInformation } from '@/api/dialysis'
391 392
 import { uParseTime } from "@/utils/tools";
392 393
 import { getDataConfig } from "@/utils/data";
393 394
 import { parseTime } from "@/utils";
@@ -931,7 +932,7 @@ export default {
931 932
             } else {
932 933
 
933 934
               this.$message.error(resp.msg);
934
-              if(response.data.code == 600000008){
935
+              if(resp.code == 600000008){
935 936
                 this.infoDialogVisible = true
936 937
               }
937 938
             }
@@ -1145,13 +1146,13 @@ export default {
1145 1146
           selected_date:this.selected_date,
1146 1147
           patient_id:this.$route.query.patient_id,
1147 1148
           record_date:this.$route.query.date,
1148
-          module:2,
1149
+          module:6,
1149 1150
           remark:this.remark,
1150 1151
         }
1151 1152
         saveInformation(params).then(response=>{
1152 1153
            if(response.data.state == 1){
1153 1154
              var information = response.data.data.information
1154
-             this.$message.success("审核成功!")
1155
+             this.$message.success("提交成功!")
1155 1156
              this.infoDialogVisible = false
1156 1157
            }
1157 1158
         })

+ 139 - 1
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue View File

@@ -1246,11 +1246,45 @@
1246 1246
                 v-on:dialog-cancle="innerDialogCancle"
1247 1247
         ></multi-select-box>
1248 1248
 
1249
+
1250
+     <el-dialog
1251
+      title="提示"
1252
+      :visible.sync="infoDialogVisible"
1253
+      width="30%">
1254
+      <span>
1255
+        <el-form>
1256
+          <el-row>
1257
+            <span>申请日期:</span>
1258
+            <span>
1259
+                <el-date-picker
1260
+                  type="datetime"
1261
+                  format="yyyy-MM-dd HH:mm"
1262
+                  value-format="yyyy-MM-dd HH:mm"
1263
+                  placeholder="选择时间"
1264
+                  v-model="selected_date"
1265
+              ></el-date-picker>
1266
+            </span>
1267
+          </el-row>
1268
+          <el-row>
1269
+            <span>备注:</span>
1270
+            <span>
1271
+                <el-input v-model="remark" style="width:200px"></el-input>
1272
+            </span>
1273
+          </el-row>
1274
+        </el-form>
1275
+      
1276
+      </span>
1277
+      <span slot="footer" class="dialog-footer">
1278
+        <el-button @click="infoDialogVisible = false">取 消</el-button>
1279
+        <el-button type="primary" @click="saveInformation">确 定</el-button>
1280
+      </span>
1281
+    </el-dialog>
1282
+
1249 1283
     </div>
1250 1284
 </template>
1251 1285
 
1252 1286
 <script>
1253
-  import { CreateGroupAdvice, GetSolution, postPrescription, postSoulution } from '@/api/dialysis'
1287
+  import { CreateGroupAdvice, GetSolution, postPrescription, postSoulution,saveInformation } from '@/api/dialysis'
1254 1288
   import { getDataConfig } from '@/utils/data'
1255 1289
   import { calculateAnticoagulantZL, uParseTime,replacementFlow } from '@/utils/tools'
1256 1290
   import store from '@/store'
@@ -1687,6 +1721,9 @@
1687 1721
         zongliang:"",
1688 1722
         educationList:[],
1689 1723
         value:"",
1724
+        infoDialogVisible:false,
1725
+        selected_date:"",
1726
+        remark:"",
1690 1727
       }
1691 1728
 
1692 1729
     },
@@ -2104,6 +2141,9 @@ mu
2104 2141
                 postPrescription(ParamsQuery).then(response => {
2105 2142
                   if (response.data.state == 0) {
2106 2143
                     this.$message.error(response.data.msg)
2144
+                    if(response.data.code == 600000008){
2145
+                       this.infoDialogVisible = true
2146
+                    }
2107 2147
                     this.isLoading = false
2108 2148
                     return false
2109 2149
                   } else {
@@ -2140,6 +2180,9 @@ mu
2140 2180
                           this.isLoading = false
2141 2181
                         } else {
2142 2182
                           this.isLoading = false
2183
+                          if(resp.code == 600000008){
2184
+                            this.infoDialogVisible = true
2185
+                          }
2143 2186
                         }
2144 2187
                       }
2145 2188
                     )
@@ -2169,6 +2212,9 @@ mu
2169 2212
                 postSoulution(ParamsQuery).then(response => {
2170 2213
                   if (response.data.state == 0) {
2171 2214
                     this.$message.error(response.data.msg)
2215
+                    if(response.data.code == 600000008){
2216
+                     this.infoDialogVisible = true
2217
+                    }
2172 2218
                     this.isLoading = false
2173 2219
                     return false
2174 2220
                   } else {
@@ -2212,6 +2258,9 @@ mu
2212 2258
                           this.isLoading = false
2213 2259
                         } else {
2214 2260
                           this.isLoading = false
2261
+                          if(resp.code == 600000008){
2262
+                            this.infoDialogVisible = true
2263
+                          }
2215 2264
                         }
2216 2265
                       }
2217 2266
                     )
@@ -2261,6 +2310,9 @@ mu
2261 2310
               postPrescription(ParamsQuery).then(response => {
2262 2311
                 if (response.data.state == 0) {
2263 2312
                   this.$message.error(response.data.msg)
2313
+                   if(response.data.code == 600000008){
2314
+                      this.infoDialogVisible = true
2315
+                    }
2264 2316
                   return false
2265 2317
                 } else {
2266 2318
                   this.$notify({
@@ -2296,6 +2348,9 @@ mu
2296 2348
               postSoulution(ParamsQuery).then(response => {
2297 2349
                 if (response.data.state == 0) {
2298 2350
                   this.$message.error(response.data.msg)
2351
+                   if(response.data.code == 600000008){
2352
+                     this.infoDialogVisible = true
2353
+                    }
2299 2354
                   return false
2300 2355
                 } else {
2301 2356
                   this.$notify({
@@ -2766,6 +2821,9 @@ mu
2766 2821
                 postPrescription(ParamsQuery).then(response => {
2767 2822
                   if (response.data.state == 0) {
2768 2823
                     this.$message.error(response.data.msg)
2824
+                     if(response.data.code == 600000008){
2825
+                      this.infoDialogVisible = true
2826
+                     }
2769 2827
                     return false
2770 2828
                   } else {
2771 2829
                     this.$notify({
@@ -2809,6 +2867,9 @@ mu
2809 2867
                   postPrescription(ParamsQuery).then(response => {
2810 2868
                     if (response.data.state == 0) {
2811 2869
                       this.$message.error(response.data.msg)
2870
+                       if(response.data.code == 600000008){
2871
+                        this.infoDialogVisible = true
2872
+                       }
2812 2873
                       return false
2813 2874
                     } else {
2814 2875
                       this.$notify({
@@ -2858,6 +2919,9 @@ mu
2858 2919
                   postPrescription(ParamsQuery).then(response => {
2859 2920
                     if (response.data.state == 0) {
2860 2921
                       this.$message.error(response.data.msg)
2922
+                       if(response.data.code == 600000008){
2923
+                        this.infoDialogVisible = true
2924
+                       }
2861 2925
                       return false
2862 2926
                     } else {
2863 2927
                       this.$notify({
@@ -2892,6 +2956,9 @@ mu
2892 2956
                             // this.doctorAdvices = resp.data.advices
2893 2957
                             this.$emit('advice')
2894 2958
                           } else {
2959
+                             if(resp.code == 600000008){
2960
+                               this.infoDialogVisible = true
2961
+                             }
2895 2962
                           }
2896 2963
                         }
2897 2964
                       )
@@ -2930,6 +2997,9 @@ mu
2930 2997
                   postPrescription(ParamsQuery).then(response => {
2931 2998
                     if (response.data.state == 0) {
2932 2999
                       this.$message.error(response.data.msg)
3000
+                       if(response.data.code == 600000008){
3001
+                        this.infoDialogVisible = true
3002
+                       }
2933 3003
                       return false
2934 3004
                     } else {
2935 3005
                       this.$notify({
@@ -2973,6 +3043,9 @@ mu
2973 3043
                   postPrescription(ParamsQuery).then(response => {
2974 3044
                     if (response.data.state == 0) {
2975 3045
                       this.$message.error(response.data.msg)
3046
+                       if(response.data.code == 600000008){
3047
+                        this.infoDialogVisible = true
3048
+                       }
2976 3049
                       return false
2977 3050
                     } else {
2978 3051
                       this.$notify({
@@ -3016,6 +3089,9 @@ mu
3016 3089
                     postPrescription(ParamsQuery).then(response => {
3017 3090
                       if (response.data.state == 0) {
3018 3091
                         this.$message.error(response.data.msg)
3092
+                         if(response.data.code == 600000008){
3093
+                            this.infoDialogVisible = true
3094
+                          }
3019 3095
                         return false
3020 3096
                       } else {
3021 3097
                         this.$notify({
@@ -3065,6 +3141,9 @@ mu
3065 3141
                     postPrescription(ParamsQuery).then(response => {
3066 3142
                       if (response.data.state == 0) {
3067 3143
                         this.$message.error(response.data.msg)
3144
+                        if(response.data.code == 600000008){
3145
+                           this.infoDialogVisible = true
3146
+                        }
3068 3147
                         return false
3069 3148
                       } else {
3070 3149
                         this.$notify({
@@ -3104,6 +3183,9 @@ mu
3104 3183
                             // this.doctorAdvices = resp.data.advices
3105 3184
                             this.$emit('advice')
3106 3185
                           } else {
3186
+                             if(resp.code == 600000008){
3187
+                              this.infoDialogVisible = true
3188
+                             }
3107 3189
                           }
3108 3190
                         })
3109 3191
 
@@ -3137,6 +3219,9 @@ mu
3137 3219
                     postPrescription(ParamsQuery).then(response => {
3138 3220
                       if (response.data.state == 0) {
3139 3221
                         this.$message.error(response.data.msg)
3222
+                        if(response.data.code == 600000008){
3223
+                            this.infoDialogVisible = true
3224
+                          }
3140 3225
                         return false
3141 3226
                       } else {
3142 3227
                         this.$notify({
@@ -3184,6 +3269,9 @@ mu
3184 3269
                 postPrescription(ParamsQuery).then(response => {
3185 3270
                   if (response.data.state == 0) {
3186 3271
                     this.$message.error(response.data.msg)
3272
+                    if(response.data.code == 600000008){
3273
+                       this.infoDialogVisible = true
3274
+                    }
3187 3275
                     return false
3188 3276
                   } else {
3189 3277
                     this.$notify({
@@ -3274,6 +3362,9 @@ mu
3274 3362
                   postSoulution(ParamsQuery).then(response => {
3275 3363
                     if (response.data.state == 0) {
3276 3364
                       this.$message.error(response.data.msg)
3365
+                       if(response.data.code == 600000008){
3366
+                         this.infoDialogVisible = true
3367
+                      }
3277 3368
                       return false
3278 3369
                     } else {
3279 3370
                       this.$notify({
@@ -3324,6 +3415,9 @@ mu
3324 3415
                     postSoulution(ParamsQuery).then(response => {
3325 3416
                       if (response.data.state == 0) {
3326 3417
                         this.$message.error(response.data.msg)
3418
+                        if(response.data.code == 600000008){
3419
+                          this.infoDialogVisible = true
3420
+                        }
3327 3421
                         return false
3328 3422
                       } else {
3329 3423
                         this.$notify({
@@ -3379,6 +3473,9 @@ mu
3379 3473
                     postPrescription(ParamsQuery).then(response => {
3380 3474
                       if (response.data.state == 0) {
3381 3475
                         this.$message.error(response.data.msg)
3476
+                        if(response.data.code == 600000008){
3477
+                            this.infoDialogVisible = true
3478
+                        }
3382 3479
                         return false
3383 3480
                       } else {
3384 3481
                         this.$notify({
@@ -3413,6 +3510,9 @@ mu
3413 3510
                               // this.doctorAdvices = resp.data.advices
3414 3511
                               this.$emit('advice')
3415 3512
                             } else {
3513
+                               if(resp.code == 600000008){
3514
+                                 this.infoDialogVisible = true
3515
+                                }
3416 3516
                             }
3417 3517
                           }
3418 3518
                         )
@@ -3447,6 +3547,9 @@ mu
3447 3547
                     postSoulution(ParamsQuery).then(response => {
3448 3548
                       if (response.data.state == 0) {
3449 3549
                         this.$message.error(response.data.msg)
3550
+                        if(response.data.code == 600000008){
3551
+                          this.infoDialogVisible = true
3552
+                        }
3450 3553
                         return false
3451 3554
                       } else {
3452 3555
                         this.$notify({
@@ -3494,6 +3597,9 @@ mu
3494 3597
                     postSoulution(ParamsQuery).then(response => {
3495 3598
                       if (response.data.state == 0) {
3496 3599
                         this.$message.error(response.data.msg)
3600
+                         if(response.data.code == 600000008){
3601
+                          this.infoDialogVisible = true
3602
+                         }
3497 3603
                         return false
3498 3604
                       } else {
3499 3605
                         this.$notify({
@@ -3543,6 +3649,9 @@ mu
3543 3649
                       postSoulution(ParamsQuery).then(response => {
3544 3650
                         if (response.data.state == 0) {
3545 3651
                           this.$message.error(response.data.msg)
3652
+                           if(response.data.code == 600000008){
3653
+                           this.infoDialogVisible = true
3654
+                          }
3546 3655
                           return false
3547 3656
                         } else {
3548 3657
                           this.$notify({
@@ -3595,6 +3704,9 @@ mu
3595 3704
                       postSoulution(ParamsQuery).then(response => {
3596 3705
                         if (response.data.state == 0) {
3597 3706
                           this.$message.error(response.data.msg)
3707
+                          if(response.data.code == 600000008){
3708
+                           this.infoDialogVisible = true
3709
+                          }
3598 3710
                           return false
3599 3711
                         } else {
3600 3712
                           this.$notify({
@@ -3633,6 +3745,9 @@ mu
3633 3745
                               // this.doctorAdvices = resp.data.advices
3634 3746
                               this.$emit('advice')
3635 3747
                             } else {
3748
+                               if(resp.code == 600000008){
3749
+                                 this.infoDialogVisible = true
3750
+                                }
3636 3751
                             }
3637 3752
                           })
3638 3753
                           const prescription_resp = response.data.data.prescription
@@ -3672,6 +3787,9 @@ mu
3672 3787
                       postSoulution(ParamsQuery).then(response => {
3673 3788
                         if (response.data.state == 0) {
3674 3789
                           this.$message.error(response.data.msg)
3790
+                          if(response.data.code == 600000008){
3791
+                           this.infoDialogVisible = true
3792
+                         }
3675 3793
                           return false
3676 3794
                         } else {
3677 3795
                           this.$notify({
@@ -3719,6 +3837,9 @@ mu
3719 3837
                   postSoulution(ParamsQuery).then(response => {
3720 3838
                     if (response.data.state == 0) {
3721 3839
                       this.$message.error(response.data.msg)
3840
+                       if(response.data.code == 600000008){
3841
+                         this.infoDialogVisible = true
3842
+                       }
3722 3843
                       return false
3723 3844
                     } else {
3724 3845
                       this.$notify({
@@ -4158,6 +4279,23 @@ mu
4158 4279
       }
4159 4280
     }
4160 4281
     },
4282
+
4283
+    saveInformation(){
4284
+      var params = {
4285
+        selected_date:this.selected_date,
4286
+        patient_id:this.$route.query.patient_id,
4287
+        record_date:this.$route.query.date,
4288
+        module:1,
4289
+        remark:this.remark,
4290
+      }
4291
+      saveInformation(params).then(response=>{
4292
+          if(response.data.state == 1){
4293
+            var information = response.data.data.information
4294
+            this.$message.success("提交成功!")
4295
+            this.infoDialogVisible = false
4296
+          }
4297
+      })
4298
+     }
4161 4299
   },
4162 4300
 
4163 4301
     watch: {

+ 17 - 16
src/xt_pages/dialysis/details/dialog/doubleCheckDialog.vue View File

@@ -1299,6 +1299,22 @@ export default {
1299 1299
         }
1300 1300
       });
1301 1301
     },
1302
+    saveInformation(){
1303
+        var params = {
1304
+          selected_date:this.selected_date,
1305
+          patient_id:this.$route.query.patient_id,
1306
+          record_date:this.$route.query.date,
1307
+          module:5,
1308
+          remark:this.remark,
1309
+        }
1310
+        saveInformation(params).then(response=>{
1311
+           if(response.data.state == 1){
1312
+             var information = response.data.data.information
1313
+             this.$message.success("提交成功!")
1314
+             this.infoDialogVisible = false
1315
+           }
1316
+        })
1317
+      }
1302 1318
   },
1303 1319
 
1304 1320
   props: {
@@ -1889,22 +1905,7 @@ export default {
1889 1905
       }
1890 1906
     },
1891 1907
 
1892
-   saveInformation(){
1893
-        var params = {
1894
-          selected_date:this.selected_date,
1895
-          patient_id:this.$route.query.patient_id,
1896
-          record_date:this.$route.query.date,
1897
-          module:5,
1898
-          remark:this.remark,
1899
-        }
1900
-        saveInformation(params).then(response=>{
1901
-           if(response.data.state == 1){
1902
-             var information = response.data.data.information
1903
-             this.$message.success("审核成功!")
1904
-             this.infoDialogVisible = false
1905
-           }
1906
-        })
1907
-      }
1908
+  
1908 1909
   },
1909 1910
   created() {
1910 1911
     var date = this.$route.query && this.$route.query.date;

+ 4 - 3
src/xt_pages/dialysis/details/dialog/finish_dialog.vue View File

@@ -191,8 +191,9 @@
191 191
             return time.getTime() > Date.now()
192 192
           }
193 193
         },
194
-        remark:""
195
-       
194
+        remark:"",
195
+        infoDialogVisible:false,
196
+        selected_date:"",
196 197
       }
197 198
     },
198 199
     props: {
@@ -477,7 +478,7 @@
477 478
 
478 479
               } else {
479 480
                 this.$message.error(resp.msg)
480
-               if(response.data.code == 600000008){
481
+               if(response.code == 600000008){
481 482
                   this.infoDialogVisible = true
482 483
                 }
483 484
               }

+ 60 - 1
src/xt_pages/dialysis/details/dialog/monitor_dialog.vue View File

@@ -1754,6 +1754,40 @@
1754 1754
       </div>
1755 1755
       <!--</div>-->
1756 1756
     </el-dialog>
1757
+
1758
+
1759
+    <el-dialog
1760
+      title="提示"
1761
+      :visible.sync="infoDialogVisible"
1762
+      width="30%">
1763
+      <span>
1764
+        <el-form>
1765
+          <el-row>
1766
+            <span>申请日期:</span>
1767
+            <span>
1768
+                <el-date-picker
1769
+                  type="datetime"
1770
+                  format="yyyy-MM-dd HH:mm"
1771
+                  value-format="yyyy-MM-dd HH:mm"
1772
+                  placeholder="选择时间"
1773
+                  v-model="selected_date"
1774
+              ></el-date-picker>
1775
+            </span>
1776
+          </el-row>
1777
+          <el-row>
1778
+            <span>备注:</span>
1779
+            <span>
1780
+                <el-input v-model="remark" style="width:200px"></el-input>
1781
+            </span>
1782
+          </el-row>
1783
+        </el-form>
1784
+      
1785
+      </span>
1786
+      <span slot="footer" class="dialog-footer">
1787
+        <el-button @click="infoDialogVisible = false">取 消</el-button>
1788
+        <el-button type="primary" @click="saveInformation">确 定</el-button>
1789
+      </span>
1790
+    </el-dialog>
1757 1791
   </div>
1758 1792
 </template>
1759 1793
 
@@ -1766,7 +1800,7 @@ import {
1766 1800
   getTodayMonitor,
1767 1801
 } from "@/api/dialysis_record";
1768 1802
 import store from "@/store";
1769
-
1803
+import { saveInformation } from '@/api/dialysis'
1770 1804
 import request from "@/utils/request";
1771 1805
 
1772 1806
 export default {
@@ -1854,6 +1888,9 @@ export default {
1854 1888
       anticoagulantsConfit: {},
1855 1889
       bloodPressureMmonitoringSite: [],
1856 1890
       complicationList: [],
1891
+      infoDialogVisible:false,
1892
+      selected_date:"",
1893
+      remark:""
1857 1894
     };
1858 1895
   },
1859 1896
   props: {
@@ -2718,6 +2755,9 @@ export default {
2718 2755
                 ? 0
2719 2756
                 : parseFloat(this.form.heparin_amount);
2720 2757
             this.$message.error(resp.msg);
2758
+            if(resp.code == 600000008){
2759
+              this.infoDialogVisible = true
2760
+            }
2721 2761
           }
2722 2762
         }
2723 2763
       );
@@ -2815,6 +2855,9 @@ export default {
2815 2855
                 }
2816 2856
               }
2817 2857
               this.$message.success("删除成功");
2858
+              if(response.data.code =600000008){
2859
+                this.infoDialogVisible = true
2860
+              }
2818 2861
             }
2819 2862
           });
2820 2863
         })
@@ -2866,6 +2909,22 @@ export default {
2866 2909
       }
2867 2910
       return name;
2868 2911
     },
2912
+   saveInformation(){
2913
+        var params = {
2914
+          selected_date:this.selected_date,
2915
+          patient_id:this.$route.query.patient_id,
2916
+          record_date:this.$route.query.date,
2917
+          module:7,
2918
+          remark:this.remark,
2919
+        }
2920
+        saveInformation(params).then(response=>{
2921
+           if(response.data.state == 1){
2922
+             var information = response.data.data.information
2923
+             this.$message.success("审核成功!")
2924
+             this.infoDialogVisible = false
2925
+           }
2926
+        })
2927
+      }
2869 2928
   },
2870 2929
   watch: {
2871 2930
     patient: {

+ 1 - 1
src/xt_pages/dialysis/details/dialog/treatmentSummaryDialog.vue View File

@@ -528,7 +528,7 @@ export default {
528 528
           module:1,
529 529
           remark:this.remark,
530 530
         }
531
-        console.log("params32222222222----",params)
531
+       
532 532
       saveInformation(params).then(response=>{
533 533
            if(response.data.state == 1){
534 534
              var information = response.data.data.information

+ 40 - 131
src/xt_pages/dialysis/dialysisFlow.vue View File

@@ -135,7 +135,19 @@
135 135
                {{ scope.row.patient.name }}
136 136
              </template>
137 137
           </el-table-column>
138
-          <el-table-column prop="mode_name" label="透析处方" align="center"  width="100">
138
+          <el-table-column
139
+          align="center"
140
+          prop="name"
141
+          v-for="(item,index) in moduleList"
142
+          :key="index"
143
+          :label="item.name"
144
+        >
145
+          <template slot-scope="scope">
146
+            <span>{{getModeFinish(scope.row.dialysis_finish,item.id)}}</span>
147
+          </template>
148
+
149
+        </el-table-column>
150
+          <!-- <el-table-column prop="mode_name" label="透析处方" align="center"  width="100">
139 151
             <template slot-scope="scope">
140 152
                 <span v-if="scope.row.dialysis_finish!=null && scope.row.dialysis_finish.module == 1">
141 153
@@ -304,7 +316,7 @@
304 316
                   ×
305 317
                 </span>
306 318
            </template>
307
-         </el-table-column>
319
+         </el-table-column> -->
308 320
   
309 321
 
310 322
         </el-table>
@@ -356,6 +368,19 @@
356 368
           { value: 2, label: "下午" },
357 369
           { value: 3, label: "晚上" }
358 370
         ],
371
+        moduleList:[
372
+        {id:1,name:"透析处方"},
373
+        {id:2,name:"接诊评估"},
374
+        {id:3,name:"透前评估"},
375
+        {id:4,name:"临时医嘱"},  
376
+        {id:5,name:"双人核对"}, 
377
+        {id:6,name:"透析上机"}, 
378
+        {id:7,name:"透析监测"},
379
+        {id:8,name:"透析下机"},
380
+        {id:9,name:"透后评估"},
381
+        {id:10,name:"治疗小结"},
382
+        {id:11,name:"耗材出库"},
383
+        ],
359 384
         template_id: 0,
360 385
   
361 386
         partitionType: 0,
@@ -749,135 +774,19 @@
749 774
         this.listQuery.limit = val;
750 775
         this.getSchedualPatientList();
751 776
       },
752
-      batchPrintAction: function() {
753
-        if (this.selecting_schs.length === 0) {
754
-          this.$message.error("请至少选择一条需要打印的内容");
755
-          return false;
756
-        }
757
-        // 模板ID为6
758
-        var sch_ids = [];
759
-  
760
-        for (let index = 0; index < this.selecting_schs.length; index++) {
761
-          sch_ids.push(this.selecting_schs[index].sch_id);
762
-        }
763
-        console.log("sch_ids",sch_ids)
764
-        this.$store.dispatch("SetBatchPrintDialysisRecordIDs", sch_ids);
765
-        if (this.template_id == 2 || this.template_id == 0) {
766
-          this.$router.push({ path: "/dialysis/print/batch/other" });
767
-        } else if (this.template_id == 1) {
768
-          this.$router.push({ path: "/dialysis/print/batch" });
769
-        } else if (this.template_id == 3) {
770
-          this.$router.push({ path: "/dialysis/print/batch/three" });
771
-        } else if (this.template_id == 4) {
772
-          this.$router.push({ path: "/dialysis/print/batch/four" });
773
-        } else if (this.template_id == 5) {
774
-          this.$router.push({ path: "/dialysis/print/batch/five" });
775
-        } else if (this.template_id == 6) {
776
-          this.$router.push({ path: "/dialysis/print/batch/six" });
777
-        } else if (this.template_id == 7) {
778
-          this.$router.push({ path: "/dialysis/print/batch/seven" });
779
-        } else if (this.template_id == 8) {
780
-          this.$router.push({ path: "/dialysis/print/batch/eight" });
781
-        } else if (this.template_id == 9) {
782
-          this.$router.push({ path: "/dialysis/print/batch/nine" });
783
-        } else if (this.template_id == 12) {
784
-          this.$router.push({ path: "/dialysis/print/batch/twelve" });
785
-        } else if (this.template_id == 13) {
786
-          this.$router.push({ path: "/dialysis/print/batch/thirteen" });
787
-        } else if (this.template_id == 15) {
788
-          this.$router.push({ path: "/dialysis/print/batch/fifteen" });
789
-        } else if (this.template_id == 17) {
790
-          this.$router.push({ path: "/dialysis/print/batch/seventeen" });
791
-        } else if (this.template_id == 20) {
792
-          this.$router.push({ path: "/dialysis/print/batch/twenty" });
793
-        } else if (this.template_id == 22) {
794
-          this.$router.push({ path: "/dialysis/print/batch/twentyTwo" });
795
-        } else if (this.template_id == 25) {
796
-          this.$router.push({ path: "/dialysis/print/batch/twentyFive" });
797
-        }else if (this.template_id == 27) {
798
-          this.$router.push({ path: "/dialysis/print/batch/twentySeven" });
799
-        } else if(this.template_id == 28){
800
-           this.$router.push({path:"/dialysis/print/batch/twentyEight"})
801
-        } else if (this.template_id == 30) {
802
-          this.$router.push({ path: "/dialysis/print/batch/thirty" });
803
-        } else if (this.template_id == 32) {
804
-          this.$router.push({ path: "/dialysis/print/batch/thirtyTwo" });
805
-        } else if (this.template_id == 33) {
806
-          this.$router.push({ path: "/dialysis/print/batch/thirtyThree" });
807
-        } else if (this.template_id == 37) {
808
-          this.$router.push({ path: "/dialysis/print/batch/thirtySeven" });
809
-        } else if (this.template_id == 38) {
810
-          this.$router.push({ path: "/dialysis/print/batch/thirtyEight" });
811
-        } else if (this.template_id == 39) {
812
-          this.$router.push({ path: "/dialysis/print/batch/thirtyNine" });
813
-        } else if (this.template_id == 40) {
814
-          this.$router.push({ path: "/dialysis/print/batch/forty" });
815
-        } else if (this.template_id == 41) {
816
-          this.$router.push({ path: "/dialysis/print/batch/fortyOne" });
817
-        } else if (this.template_id == 43) {
818
-          this.$router.push({ path: "/dialysis/print/batch/fortyThree" });
819
-        } else if (this.template_id == 47) {
820
-          this.$router.push({ path: "/dialysis/print/batch/fortyThree" });
821
-        } else if (this.template_id == 48) {
822
-          this.$router.push({ path: "/dialysis/print/batch/six" });
823
-        }else if (this.template_id == 51) {
824
-          this.$router.push({ path: "/dialysis/print/batch/fiftyOne" });
825
-        }else if (this.template_id == 53) {
826
-          this.$router.push({ path: "/dialysis/print/batch/fiftyThree" });
827
-        }else if (this.template_id == 59) {
828
-          this.$router.push({ path: "/dialysis/print/batch/fiftynine" });
829
-        }else if (this.template_id == 60) {
830
-          this.$router.push({ path: "/dialysis/print/batch/sixty" });
831
-        }else if (this.template_id == 61) {
832
-          this.$router.push({ path: "/dialysis/print/batch/sixtyOne" });
833
-        }else if (this.template_id == 62) {
834
-          this.$router.push({ path: "/dialysis/print/batch/sixtyTwo" });
835
-        }
836
-      },
837
-      batchPrintActionOne: function() {
838
-        if (this.selecting_schs.length === 0) {
839
-          this.$message.error("请至少选择一条需要打印的内容");
840
-          return false;
841
-        }
842
-        var sch_ids = [];
843
-        for (let index = 0; index < this.selecting_schs.length; index++) {
844
-          sch_ids.push(this.selecting_schs[index].sch_id);
845
-        }
846
-        this.$store.dispatch("SetBatchPrintDialysisRecordIDs", sch_ids);
847
-        if (this.template_id == 2 || this.template_id == 0) {
848
-          this.$router.push({ path: "/dialysis/print/batch/otherone" });
849
-        } else if (this.template_id == 1) {
850
-          this.$router.push({ path: "/dialysis/print/batch" });
851
-        } else if (this.template_id == 5) {
852
-          this.$router.push({ path: "/dialysis/print/batch/fiveone" });
853
-        } else if (this.template_id == 22) {
854
-          this.$router.push({ path: "/dialysis/print/batch/twentyTwo_one" });
855
-        } else if(this.template_id == 33){
856
-          this.$router.push({ path: "/dialysis/print/batch/thirtyThree_one" });
857
-        }
858
-      },
859
-      batchPrintActionTwo: function() {
860
-        if (this.selecting_schs.length === 0) {
861
-          this.$message.error("请至少选择一条需要打印的内容");
862
-          return false;
863
-        }
864
-        var sch_ids = [];
865
-        for (let index = 0; index < this.selecting_schs.length; index++) {
866
-          sch_ids.push(this.selecting_schs[index].sch_id);
867
-        }
868
-        this.$store.dispatch("SetBatchPrintDialysisRecordIDs", sch_ids);
869
-        if (this.template_id == 2 || this.template_id == 0) {
870
-          this.$router.push({ path: "/dialysis/print/batch/othertwo" });
871
-        } else if (this.template_id == 1) {
872
-          this.$router.push({ path: "/dialysis/print/batch" });
873
-        } else if (this.template_id == 5) {
874
-          this.$router.push({ path: "/dialysis/print/batch/fivetwo" });
875
-        } else if (this.template_id == 22) {
876
-          this.$router.push({ path: "/dialysis/print/batch/twentyTwo_two" });
877
-        } else if (this.template_id == 33) {
878
-          this.$router.push({ path: "/dialysis/print/batch/thirtyThree_two" });
879
-        }
880
-      }
777
+     getModeFinish(val,id){
778
+      var name = "×"
779
+       if(val!=null){
780
+         for(let i=0;i<val.length;i++){
781
+            if(val[i].module == id){
782
+               name = "√"
783
+            }
784
+         }
785
+       }
786
+       return name
787
+     }
788
+      
789
+      
881 790
     },
882 791
     components: {
883 792
       BreadCrumb

+ 40 - 35
src/xt_pages/infor/index.vue View File

@@ -10,12 +10,12 @@
10 10
                 :data="list"
11 11
                 border
12 12
                 style="width: 100%">
13
-                <el-table-column  prop="date" label="序号"  width="50" align="center">
13
+                <el-table-column  prop="date" label="序号" min-width="50"  align="center">
14 14
                    <template slot-scope="scope" >
15 15
                        {{scope.$index + 1 }}
16 16
                    </template>
17 17
                 </el-table-column>
18
-                <el-table-column prop="name"  label="信息模块"  width="100" align="center">
18
+                <el-table-column prop="name"  label="信息模块" min-width="120"  align="center">
19 19
                   <template slot-scope="scope" >
20 20
                       <span v-if="scope.row.module == 1">透析处方</span> 
21 21
                       <span v-if="scope.row.module == 2">接诊评估</span> 
@@ -27,53 +27,54 @@
27 27
                       <span v-if="scope.row.module == 8">透析下机</span> 
28 28
                       <span v-if="scope.row.module == 9">透后评估</span> 
29 29
                       <span v-if="scope.row.module == 10">治疗小结</span> 
30
+                      <span v-if="scope.row.module == 11">耗材出库</span> 
30 31
                    </template>
31 32
                 </el-table-column>
32
-                <el-table-column  prop="address" label="患者姓名" width="100" align="center">
33
+                <el-table-column  prop="address" label="患者姓名" min-width="100" align="center">
33 34
                   <template slot-scope="scope">
34 35
                      {{getPatientName(scope.row.patient_id) }}
35 36
                    </template>
36 37
                 </el-table-column>
37
-                <el-table-column prop="date" label="治疗日期" width="100" align="center">
38
+                <el-table-column prop="date" label="治疗日期"  min-width="100" align="center">
38 39
                    <template  slot-scope="scope" >
39 40
                       {{getTimeOne(scope.row.record_date)  }}
40 41
                    </template>
41 42
                 </el-table-column>
42
-                <el-table-column prop="name"  label="申请人"  width="100" align="center">
43
+                <el-table-column prop="name"  label="申请人"  min-width="100"  align="center">
43 44
                   <template  slot-scope="scope">
44 45
                       {{getUserName(scope.row.creater)  }}
45 46
                    </template>
46 47
                 </el-table-column>
47
-                <el-table-column  prop="address" label="申请时间" width="180" align="center">
48
+                <el-table-column  prop="address" label="申请时间"   min-width="150" align="center">
48 49
                   <template  slot-scope="scope" >
49
-                      {{getTimeTwo(scope.row.record_date)  }}
50
+                      {{getTimeTwo(scope.row.application_date)  }}
50 51
                    </template>
51 52
 
52 53
                 </el-table-column>
53 54
 
54
-                <el-table-column  prop="date" label="状态" width="100" align="center">
55
+                <el-table-column  prop="date" label="状态" align="center"  min-width="100">
55 56
                   <template  slot-scope="scope" >
56 57
                      <span v-if="scope.row.application_status == 1">已审核</span>
57 58
                      <span v-if="scope.row.application_status == 2">未审核</span>
58 59
                      <span v-if="scope.row.application_status == 3">拒绝</span>
59 60
                   </template>
60 61
                 </el-table-column>
61
-                <el-table-column prop="name" label="审批人" width="100" align="center">
62
+                <el-table-column prop="name" label="审批人"  min-width="100" align="center">
62 63
                   <template  slot-scope="scope" >
63 64
                       {{getUserName(scope.row.checker)  }}
64 65
                    </template>
65 66
                 </el-table-column>
66
-                <el-table-column prop="address" label="审批时间" width="180" align="center">
67
+                <el-table-column prop="address" label="审批时间"   min-width="100" align="center">
67 68
                   <template  slot-scope="scope">
68 69
                       {{getTimeOne(scope.row.check_time)  }}
69 70
                    </template>
70 71
                 </el-table-column>
71
-                <el-table-column  prop="address" label="备注" width="180" align="center">
72
+                <el-table-column  prop="address" label="备注"   min-width="100" align="center">
72 73
                   <template  slot-scope="scope">
73 74
                       {{scope.row.remark }}
74 75
                    </template>
75 76
                 </el-table-column>
76
-                <el-table-column prop="address" label="操作" width="180" align="center">
77
+                <el-table-column prop="address" label="操作"   min-width="150" align="center">
77 78
                   <template slot-scope="scope">
78 79
                     <el-tooltip
79 80
                       class="item"
@@ -111,7 +112,7 @@
111 112
               <el-pagination
112 113
                 @size-change="handleSizeChange"
113 114
                 @current-change="handleCurrentChange"
114
-                :page-size="5"
115
+                :page-size="10"
115 116
                 background
116 117
                 style="margin-top:20px;float: right"
117 118
                 :total="total"
@@ -123,12 +124,12 @@
123 124
                 :data="inforList"
124 125
                 border
125 126
                 style="width: 100%">
126
-                <el-table-column  prop="date" label="序号"  width="50" align="center">
127
+                <el-table-column  prop="date" label="序号"  min-width="50" align="center">
127 128
                    <template slot-scope="scope" >
128 129
                        {{scope.$index + 1 }}
129 130
                    </template>
130 131
                 </el-table-column>
131
-                <el-table-column prop="name"  label="信息模块"  width="100" align="center">
132
+                <el-table-column prop="name"  label="信息模块"  min-width="100" align="center">
132 133
                   <template slot-scope="scope" >
133 134
                       <span v-if="scope.row.module == 1">透析处方</span> 
134 135
                       <span v-if="scope.row.module == 2">接诊评估</span> 
@@ -140,48 +141,49 @@
140 141
                       <span v-if="scope.row.module == 8">透析下机</span> 
141 142
                       <span v-if="scope.row.module == 9">透后评估</span> 
142 143
                       <span v-if="scope.row.module == 10">治疗小结</span> 
144
+                      <span v-if="scope.row.module == 11">耗材出库</span> 
143 145
                    </template>
144 146
                 </el-table-column>
145
-                <el-table-column  prop="address" label="患者姓名" width="100" align="center">
147
+                <el-table-column  prop="address" label="患者姓名" min-width="100" align="center">
146 148
                   <template slot-scope="scope">
147 149
                      {{getPatientName(scope.row.patient_id) }}
148 150
                    </template>
149 151
                 </el-table-column>
150
-                <el-table-column prop="date" label="治疗日期" width="100" align="center">
152
+                <el-table-column prop="date" label="治疗日期"  min-width="100" align="center">
151 153
                    <template  slot-scope="scope" >
152 154
                       {{getTimeOne(scope.row.record_date)  }}
153 155
                    </template>
154 156
                 </el-table-column>
155
-                <el-table-column prop="name"  label="申请人"  width="100" align="center">
157
+                <el-table-column prop="name"  label="申请人"  min-width="100" align="center">
156 158
                   <template  slot-scope="scope">
157 159
                       {{getUserName(scope.row.creater)  }}
158 160
                    </template>
159 161
                 </el-table-column>
160
-                <el-table-column  prop="address" label="申请时间" width="180" align="center">
162
+                <el-table-column  prop="address" label="申请时间" min-width="180" align="center">
161 163
                   <template  slot-scope="scope" >
162
-                      {{getTimeTwo(scope.row.record_date)  }}
164
+                      {{getTimeTwo(scope.row.application_date)  }}
163 165
                    </template>
164 166
 
165 167
                 </el-table-column>
166 168
 
167
-                <el-table-column  prop="date" label="状态" width="100" align="center">
169
+                <el-table-column  prop="date" label="状态" min-width="100" align="center">
168 170
                   <template  slot-scope="scope" >
169 171
                      <span v-if="scope.row.application_status == 1">已审核</span>
170 172
                      <span v-if="scope.row.application_status == 2">未审核</span>
171 173
                      <span v-if="scope.row.application_status == 3">拒绝</span>
172 174
                   </template>
173 175
                 </el-table-column>
174
-                <el-table-column prop="name" label="审批人" width="100" align="center">
176
+                <el-table-column prop="name" label="审批人" min-width="100" align="center">
175 177
                   <template  slot-scope="scope" >
176 178
                       {{getUserName(scope.row.checker)  }}
177 179
                    </template>
178 180
                 </el-table-column>
179
-                <el-table-column prop="address" label="审批时间" width="180" align="center">
181
+                <el-table-column prop="address" label="审批时间" min-width="180" align="center">
180 182
                   <template  slot-scope="scope">
181 183
                       {{getTimeOne(scope.row.check_time)  }}
182 184
                    </template>
183 185
                 </el-table-column>
184
-                <el-table-column  prop="address" label="备注" width="260" align="center">
186
+                <el-table-column  prop="address" label="备注" min-width="260" align="center">
185 187
                   <template  slot-scope="scope">
186 188
                       {{scope.row.remark }}
187 189
                    </template>
@@ -190,12 +192,12 @@
190 192
                 
191 193
               </el-table>
192 194
               <el-pagination
193
-                @size-change="handleSizeChange"
194
-                @current-change="handleCurrentChange"
195
-                :page-size="5"
195
+                @size-change="handleSizeChangeOne"
196
+                @current-change="handleCurrentChangeOne"
197
+                :page-size="10"
196 198
                 background
197 199
                 style="margin-top:20px;float: right"
198
-                :total="total"
200
+                :total="totalOne"
199 201
             ></el-pagination>
200 202
 
201 203
             </el-tab-pane>
@@ -231,8 +233,7 @@
231 233
      <el-dialog
232 234
         title="信息归档设置"
233 235
         :visible.sync="dialogVisible"
234
-        width="30%"
235
-        :before-close="handleClose">
236
+        width="30%">
236 237
         <span>
237 238
           <span>归档天数:</span> <el-input v-model="week_day" style="width:200px"></el-input>   
238 239
         </span>
@@ -270,7 +271,7 @@
270 271
     },
271 272
     methods: {
272 273
         handleClick(val){
273
-          console.log("val----------------",val)
274
+           this.getlist()
274 275
         },
275 276
         toSeeting(){
276 277
           var params = {
@@ -296,7 +297,9 @@
296 297
             SaveDialysisInformationSetting(params).then(response=>{
297 298
              if(response.data.state == 1){
298 299
                var informaitonSetting = response.data.data.informaitonSetting
300
+               this.$message.success("保存成功!")
299 301
                this.dialogVisible = false
302
+               this.toSeeting()
300 303
              }
301 304
           })
302 305
         },
@@ -305,6 +308,7 @@
305 308
              limit:this.limit,
306 309
              page:this.page
307 310
            }
311
+           console.log("params23433232wo",params)
308 312
           getDialysisInformationSetting(params).then(response=>{
309 313
             if(response.data.state == 1){
310 314
               var informaitonSetting =  response.data.data.informaitonSetting
@@ -338,8 +342,7 @@
338 342
         this.getlist()
339 343
       },
340 344
       getPatientName(patient_id){
341
-        console.log("patinet_id---",patient_id)
342
-        console.log("patients",this.patients)
345
+       
343 346
         var name = ""
344 347
         for(let i=0;i<this.patients.length;i++){
345 348
            if(patient_id == this.patients[i].id){
@@ -359,7 +362,7 @@
359 362
         if(val == ""){
360 363
         return ""
361 364
         }else {
362
-        return uParseTime(val, '{y}-{m}-{d} {h}:{i}:{s}')
365
+        return uParseTime(val, '{y}-{m}-{d} {h}:{i}')
363 366
         }
364 367
      },
365 368
      getUserName(admin_user_id){
@@ -423,12 +426,14 @@
423 426
             }
424 427
           });
425 428
         }).catch(() => {});
426
-    }
429
+    },
430
+
427 431
     
428 432
     },
429 433
    
430 434
     created(){
431 435
       this.getlist()
436
+     
432 437
     }
433 438
   };
434 439
 </script>

+ 1 - 0
src/xt_pages/outpatientDoctorStation/doctorDesk.vue View File

@@ -275,6 +275,7 @@
275 275
           </template>
276 276
         </el-table-column>
277 277
       </el-table>
278
+
278 279
       <el-dialog
279 280
           class="centerDialog"
280 281
           width="600px"

+ 1 - 1
src/xt_pages/outpatientDoctorStation/template/printOne.vue View File

@@ -197,7 +197,7 @@
197 197
           <!--            <p>药费:551.2元</p>-->
198 198
           <!--            <p>药费:466.2元</p>-->
199 199
         </div>
200
-        <div style="page-break-after: always"></div>
200
+        <!-- <div style="page-break-after: always"></div> -->
201 201
       </div>
202 202
     </div>
203 203
   </div>

+ 167 - 0
src/xt_pages/qcd/dialysis_index.vue View File

@@ -0,0 +1,167 @@
1
+<template>
2
+
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+          <div class="content_top">
10
+            <div>
11
+                <span>查询时间:</span>
12
+                <el-date-picker
13
+                v-model="stat_time"
14
+                type="date"
15
+                placeholder="选择日期">
16
+                </el-date-picker>
17
+                <span>-</span>
18
+                <el-date-picker
19
+                v-model="end_time"
20
+                type="date"
21
+                placeholder="选择日期">
22
+                </el-date-picker>
23
+                <el-select v-model="value" placeholder="请选择">
24
+                    <el-option
25
+                    v-for="item in options"
26
+                    :key="item.value"
27
+                    :label="item.label"
28
+                    :value="item.value">
29
+                    </el-option>
30
+                </el-select>
31
+                <el-select v-model="value" placeholder="请选择">
32
+                    <el-option
33
+                    v-for="item in options"
34
+                    :key="item.value"
35
+                    :label="item.label"
36
+                    :value="item.value">
37
+                    </el-option>
38
+                </el-select>
39
+                <el-button type="primary">查询</el-button>
40
+            </div>
41
+            <div>
42
+                <el-button type="primary">设置</el-button>
43
+                <el-button type="primary">打印</el-button>
44
+                <el-button type="primary">导出</el-button>
45
+            </div>
46
+          </div>
47
+       <div >
48
+        <el-row :gutter="20">
49
+            <!-- <el-col :span="4">
50
+              <div class="grid-content bg-purple">
51
+                
52
+                <el-table
53
+                :data="tableData"
54
+                border
55
+                style="width: 100%">
56
+                    <el-table-column
57
+                        align="center"
58
+                        prop="date"
59
+                        label="透析号"
60
+                       >
61
+                    </el-table-column>
62
+                    <el-table-column
63
+                        align="center"
64
+                        prop="name"
65
+                        label="姓名"
66
+                        >
67
+                    </el-table-column>
68
+                </el-table>
69
+              </div>
70
+            </el-col> -->
71
+            <el-col :span="24">
72
+               <div class="grid-content bg-purple">
73
+                <el-table
74
+                    :data="tableData"
75
+                    style="width: 100%"
76
+                    border
77
+                    align="center"
78
+                    max-height="450">
79
+                    <el-table-column
80
+                    fixed
81
+                    prop="date"
82
+                    label="序号"
83
+                   >
84
+                    </el-table-column>
85
+                    <el-table-column
86
+                    prop="name"
87
+                    label="透析号"
88
+                    >
89
+                    </el-table-column>
90
+                    <el-table-column
91
+                    prop="province"
92
+                    label="姓名"
93
+                    >
94
+                    </el-table-column>
95
+                    <el-table-column
96
+                    prop="province"
97
+                    label="白蛋白(g/L)"
98
+                    >
99
+                    </el-table-column>
100
+                    <el-table-column
101
+                    fixed
102
+                    prop="date"
103
+                    label="血红蛋白(g/L)"
104
+                   >
105
+                    </el-table-column>
106
+                    <el-table-column
107
+                    prop="name"
108
+                    label="血钾(mmol/L)"
109
+                    >
110
+                    </el-table-column>
111
+                    <el-table-column
112
+                    prop="province"
113
+                    label="钙(mmol/L)"
114
+                    >
115
+                    </el-table-column>
116
+                    <el-table-column
117
+                    prop="province"
118
+                    label="无机磷(mmol/L)"
119
+                    >
120
+                    </el-table-column>
121
+                    <el-table-column
122
+                    prop="province"
123
+                    label="甲状旁腺激素(pmol/L)"
124
+                    >
125
+                    </el-table-column>
126
+                </el-table>
127
+               </div>
128
+           </el-col>
129
+        </el-row>
130
+       </div>
131
+        </div>
132
+      </div>
133
+    </div>
134
+</template>
135
+<script>
136
+export default{
137
+    data() {
138
+        return {
139
+            inputValue:'',
140
+            stat_time:'',
141
+            end_time:'',
142
+            value:'',
143
+            tableData:[],
144
+        }
145
+    },
146
+    created(){
147
+        
148
+    },
149
+    mounted() {
150
+        
151
+    },
152
+    methods:{
153
+        handleSubmit(){
154
+            console.log('asdfa');
155
+        },
156
+       
157
+    },
158
+    
159
+}
160
+</script>
161
+<style lang="scss" scoped>
162
+.content_top{
163
+    display: flex;
164
+    justify-content: space-around;
165
+    margin: 20px;
166
+}
167
+</style>

+ 0 - 1
src/xt_pages/qcd/patientAnalysis/bloodPressure.vue View File

@@ -147,7 +147,6 @@
147 147
   </div>
148 148
 </template>
149 149
 
150
-
151 150
 <script>
152 151
 import { GetPABloodPressureData  } from "@/api/qcd";
153 152
 import PieChart from '../components/PieChart'

+ 243 - 0
src/xt_pages/qcd/qualitycontrol/individual.vue View File

@@ -0,0 +1,243 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       <div >
52
+        <el-row :gutter="20">
53
+            <el-col :span="4">
54
+              <div class="grid-content bg-purple">
55
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
56
+                <!-- <h2>患者列表</h2> -->
57
+                <el-table
58
+                :data="tableData"
59
+                border
60
+                style="width: 100%">
61
+                    <el-table-column
62
+                        align="center"
63
+                        prop="date"
64
+                        label="透析号"
65
+                       >
66
+                    </el-table-column>
67
+                    <el-table-column
68
+                        align="center"
69
+                        prop="name"
70
+                        label="姓名"
71
+                        >
72
+                    </el-table-column>
73
+                </el-table>
74
+              </div>
75
+            </el-col>
76
+            <el-col :span="19">
77
+               <div class="grid-content bg-purple">
78
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
79
+                <el-table
80
+                    :data="tableData"
81
+                    style="width: 100%"
82
+                    border
83
+                    align="center"
84
+                    max-height="250">
85
+                    <el-table-column
86
+                    fixed
87
+                    prop="date"
88
+                    label="姓名"
89
+                   >
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                    prop="name"
93
+                    label="检查日期"
94
+                    >
95
+                    </el-table-column>
96
+                    <el-table-column
97
+                    prop="province"
98
+                    label="甲状旁腺激素(pg/ml)"
99
+                    >
100
+                    </el-table-column>
101
+                    
102
+                </el-table>
103
+               </div>
104
+           </el-col>
105
+        </el-row>
106
+       </div>
107
+
108
+    </div>
109
+</template>
110
+<script>
111
+  import * as echarts from 'echarts'
112
+export default{
113
+    // props: {
114
+    //     width: {
115
+    //         type: String,
116
+    //         default: "100%"
117
+    //     },
118
+    //     height: {
119
+    //         type: String,
120
+    //         default: "400px"
121
+    //     },
122
+    
123
+    // },
124
+    data() {
125
+        return {
126
+            inputValue:'',
127
+            stat_time:'',
128
+            end_time:'',
129
+            value:'',
130
+            querySearch:'',
131
+            tableData:[],
132
+            options:[],
133
+            myChartTwo: {},
134
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
135
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
136
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
137
+            
138
+        }
139
+    },
140
+    created(){
141
+        
142
+       
143
+    },
144
+    mounted() {
145
+        // this.$nextTick(function() {
146
+            this.initEcharts();
147
+            // this.myChartTwo = echarts.init(document.getElementById("germychart"));
148
+            // this.myChartTwo.setOption(option);
149
+            // // //随着屏幕大小调节图表
150
+            // window.addEventListener("resize", () => {
151
+            //     console.log('asdfgfdhdgfdghdffgasda');
152
+            //     this.myChartTwo.resize();
153
+            // });
154
+            
155
+            // window.onresize = this.myChartTwo.resize;
156
+		// })  
157
+    },
158
+    // beforeDestroy(){
159
+    //     window.addEventListener("resize", () => {
160
+    //         this.myChartTwo.resize();
161
+    //     });
162
+    //     const quality = document.getElementById("germychart");
163
+    //     quality.addEventListener("transitionend", this.__resizeHanlder);
164
+    // },
165
+    methods:{
166
+        handleSubmit(){
167
+            console.log('asdfa');
168
+            this.querySearch
169
+        },
170
+        initEcharts() {
171
+            this.myChartTwo = echarts.init(document.getElementById("germychart"));
172
+            console.log('zxczvbbnm,m');
173
+            const option = {
174
+                xAxis: {
175
+                    type: 'category',
176
+                        boundaryGap:true,
177
+                        axisTick:{
178
+                            alignWithLabel:true //保证刻度线和标签对齐
179
+                        },
180
+                    data: this.xData,
181
+                    splitNumber:this.xData.length, //纵坐标数
182
+                    interval:this.xData //强制设置坐标轴分割间隔
183
+                },
184
+                yAxis: {
185
+                    type: 'value',
186
+                    boundaryGap: true,
187
+                    splitNumber:4, //纵坐标数
188
+                    interval:10 //强制设置坐标轴分割间隔
189
+                },
190
+                legend: {
191
+                    // show: true,
192
+                    align:'left',//文字在前图标在后
193
+                    left:'15%',
194
+                    top:'5%',
195
+                    data: [{name:'甲状旁腺激素 pg/ml'}]
196
+                },
197
+                grid:{
198
+                    show:true,
199
+                    left: "5%",
200
+                    right: "5%",
201
+                    bottom: "5%"
202
+                },
203
+                series: [
204
+                {
205
+                    data: this.opinionData,
206
+                    name:'甲状旁腺激素 pg/ml',
207
+                    type: "line",// 类型设置为折线图
208
+                    symbol: 'circle',
209
+                    itemStyle: {
210
+                        normal: {
211
+                            color: '#409eff', //改变折线点的颜色#a80000
212
+                            lineStyle: {
213
+                                color: '#409eff' //改变折线颜色
214
+                            }
215
+                        }
216
+                    },
217
+
218
+                },
219
+                
220
+                ],
221
+                
222
+            };
223
+            
224
+            this.myChartTwo.setOption(option);
225
+            // //随着屏幕大小调节图表
226
+            window.addEventListener("resize", () => {
227
+                console.log('123456788');
228
+                this.myChartTwo.resize();
229
+            });
230
+            
231
+            // window.onresize = this.myChartTwo.resize;
232
+        },
233
+    },
234
+    
235
+}
236
+</script>
237
+<style lang="scss" scoped>
238
+.content_top{
239
+    display: flex;
240
+    justify-content: space-around;
241
+    margin-bottom: 20px;
242
+}
243
+</style>

+ 103 - 0
src/xt_pages/qcd/qualitycontrol/thyroidGland.vue View File

@@ -0,0 +1,103 @@
1
+<!-- 甲状旁腺激素分析 -->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <totalSstatistics v-if="activeName == 'first'"></totalSstatistics>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive>
18
+                    <individual v-if="activeName == 'second'"></individual>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+// import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import totalSstatistics from './totalSstatistics.vue'
32
+import individual from './individual.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        totalSstatistics,
38
+        individual
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first',
43
+          
44
+        }
45
+    },
46
+    methods:{
47
+      handleClick(tab, event) {
48
+        console.log(tab, event);
49
+      }
50
+    }
51
+}
52
+</script>
53
+
54
+<style lang="scss" scoped>
55
+// .page_patientControlAnalysis {
56
+
57
+// .pointTitle {
58
+//   font-size: 13px;
59
+// }
60
+
61
+// .chartTitle {
62
+//   font-size: 16px;
63
+//   font-weight: bold;
64
+//   color: #000000;
65
+// }
66
+
67
+// .point {
68
+//   width: 13px;
69
+//   height: 13px;
70
+//   background: linear-gradient(
71
+//       0deg,
72
+//       rgba(169, 224, 243, 1),
73
+//       rgba(159, 189, 252, 1)
74
+//   );
75
+//   border-radius: 7px;
76
+//   margin-right: 8px;
77
+// }
78
+
79
+// .pointTitle {
80
+//   font-size: 13px;
81
+// }
82
+
83
+// }
84
+
85
+</style>
86
+
87
+<style lang="scss">
88
+// .page_patientControlAnalysis {
89
+
90
+// .el-form-item {
91
+//   margin-bottom: 0;
92
+// }
93
+
94
+// .cell {
95
+//   text-align: center;
96
+// }
97
+
98
+// ::-webkit-scrollbar {
99
+//   height: 15px !important;
100
+// }
101
+
102
+// }
103
+</style>

+ 274 - 0
src/xt_pages/qcd/qualitycontrol/totalSstatistics.vue View File

@@ -0,0 +1,274 @@
1
+
2
+<template>
3
+  <div>
4
+      <!-- <div class="content_top">
5
+          <div class="block">
6
+              <span>查询时间:</span>
7
+              <el-date-picker
8
+              v-model="time_month"
9
+              type="month"
10
+              placeholder="选择月">
11
+              </el-date-picker>
12
+          </div>
13
+          <div>
14
+              <el-date-picker
15
+              v-model="stat_time"
16
+              type="date"
17
+              placeholder="选择日期">
18
+              </el-date-picker>
19
+              <span>-</span>
20
+              <el-date-picker
21
+              v-model="end_time"
22
+              type="date"
23
+              placeholder="选择日期">
24
+              </el-date-picker>
25
+          </div>
26
+          <div style="width: 200px;">
27
+              <el-input v-model="input" placeholder="请输入内容"></el-input>
28
+          </div>
29
+          <el-button type="primary">查询</el-button>
30
+      </div> -->
31
+      <el-row :gutter="20">
32
+      <el-col :span="5"> 
33
+        <div class="block">
34
+          <span>查询时间:</span>
35
+          <el-date-picker
36
+          v-model="time_month"
37
+          type="month"
38
+          placeholder="选择月">
39
+          </el-date-picker>
40
+        </div>
41
+      </el-col>
42
+      <el-col :span="8">
43
+        <div>
44
+          <el-date-picker
45
+          v-model="stat_time"
46
+          type="date"
47
+          placeholder="选择日期">
48
+          </el-date-picker>
49
+          <span>-</span>
50
+          <el-date-picker
51
+          v-model="end_time"
52
+          type="date"
53
+          placeholder="选择日期">
54
+          </el-date-picker>
55
+        </div>
56
+      </el-col>
57
+      <el-col :span="3">
58
+        <div style="width: 200px;">
59
+          <el-input v-model="input" placeholder="请输入内容"></el-input>
60
+        </div>
61
+      </el-col>
62
+      <el-col :span="2">
63
+          <el-button type="primary">查询</el-button>
64
+      </el-col>
65
+      </el-row>
66
+      
67
+      <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
68
+        <p class="chartTitle">统计图</p>
69
+      </div>
70
+      <div class="echart" id="mychart" :style={width:width,height:height}></div>
71
+      <div style="width: 80%;margin: auto;">
72
+          <el-table
73
+          :data="tableData"
74
+          :show-summary = true
75
+          border
76
+          style="width: 100%;">
77
+              <el-table-column
78
+                  prop="date"
79
+                  align="center"
80
+                  label="甲状旁腺激素"
81
+                  >
82
+              </el-table-column>
83
+              <el-table-column
84
+                  prop="name"
85
+                  
86
+                  label="人数"
87
+                  >
88
+              </el-table-column>
89
+              <el-table-column
90
+                  prop="address"
91
+                  align="center"
92
+                  label="操作">
93
+                  <template slot-scope="scope">
94
+                      <el-button @click="handleClick(scope.row)" style="font-size:16px;"
95
+                              type="text" >查看详情
96
+                      </el-button>
97
+                  </template>
98
+              </el-table-column>
99
+          </el-table>
100
+      </div>
101
+  </div>
102
+</template>
103
+<script>
104
+import * as echarts from "echarts";
105
+export default{
106
+  props: {
107
+ 
108
+  width: {
109
+    type: String,
110
+    default: "100%"
111
+  },
112
+  height: {
113
+    type: String,
114
+    default: "400px"
115
+  },
116
+  
117
+},
118
+  data() {
119
+      return {
120
+          time_month:'',
121
+          stat_time:'',
122
+          end_time:'',
123
+          input:'',
124
+          myChart: {},
125
+          pieData : [
126
+          {
127
+        value: 463,
128
+        name: "不达标值患者"
129
+      },
130
+      {
131
+        value: 395,
132
+        name: "未检查患者"
133
+      },
134
+      {
135
+        value: 157,
136
+        name: "达标值患者"
137
+      },
138
+      // {
139
+      //   value: 149,
140
+      //   name: "广东"
141
+      // },
142
+      // {
143
+      //   value: 147,
144
+      //   name: "湖南"
145
+      // }
146
+          
147
+          ],
148
+          pieName: [],
149
+          // myChartStyle:{float: "right", width: "100%", height: "400px"},
150
+          tableData:[],
151
+      }
152
+  },
153
+  mounted() {
154
+  this.initDate(); //数据初始化
155
+  this.initEcharts();
156
+},
157
+methods: {
158
+  initDate() {
159
+    for (let i = 0; i < this.pieData.length; i++) {
160
+      this.pieName[i] = this.pieData[i].name;
161
+    }
162
+  },
163
+  initEcharts() {
164
+    // 饼图
165
+    this.myChart = echarts.init(document.getElementById("mychart"));
166
+    window.addEventListener("resize", () => {
167
+      console.log('098765adsfghg');
168
+      this.myChart.resize();
169
+    });
170
+    console.log('09876543454676');
171
+    const option = {
172
+      legend: {
173
+        // 图例
174
+        data: this.pieName,
175
+        left: "10%",
176
+        top: "30%",
177
+        orient: "vertical"
178
+      },
179
+      color:['#ff7f9f','#fff67f','#1e5feb'],
180
+      title: {
181
+        // 设置饼图标题,位置设为顶部居中
182
+      //   text: "国内院士前五省份图示",
183
+        top: "0%",
184
+        left: "center"
185
+      },
186
+      tooltip : {
187
+        trigger: 'item',
188
+        formatter: "{a} <br/>{b} : {c} ({d}%)"
189
+      },
190
+      series: [
191
+        {
192
+          type: "pie",
193
+          label: {
194
+            // show: true,
195
+            // formatter:"{b} : {d}% ({c})",
196
+            normal : {
197
+              formatter: '{b}:{c}: ({d}%)',
198
+              textStyle : {
199
+                  fontWeight : 'normal',
200
+                  fontSize : 15,
201
+                  color : "black"
202
+              }
203
+            }
204
+            // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
205
+          },
206
+          radius: "65%", //饼图半径
207
+          data: this.pieData,
208
+          itemStyle : {
209
+            emphasis: {
210
+                  shadowBlur: 10,
211
+                  shadowOffsetX: 0,
212
+                  shadowColor: 'rgba(0, 0, 0, 0.5)'
213
+              }
214
+          }
215
+        }
216
+      ]
217
+    };
218
+  //   console.log(this.seriesData);
219
+    const optionFree = {
220
+      series: [
221
+        {
222
+          data: this.seriesData,
223
+          type: "line",
224
+          smooth: true
225
+        }
226
+      ]
227
+    };
228
+    this.myChart = echarts.init(document.getElementById("mychart"));
229
+    this.myChart.setOption(option);
230
+    //随着屏幕大小调节图表
231
+  //   window.addEventListener("resize", () => {
232
+  //     this.myChart.resize();
233
+  //   });
234
+  },
235
+  getSummaries(param) {
236
+      const { columns, data } = param;
237
+      const sums = [];
238
+      columns.forEach((column, index) => {
239
+        if (index === 0) {
240
+          sums[index] = '总价';
241
+          return;
242
+        }
243
+        const values = data.map(item => Number(item[column.property]));
244
+        if (!values.every(value => isNaN(value))) {
245
+          sums[index] = values.reduce((prev, curr) => {
246
+            const value = Number(curr);
247
+            if (!isNaN(value)) {
248
+              return prev + curr;
249
+            } else {
250
+              return prev;
251
+            }
252
+          }, 0);
253
+          sums[index] += ' 元';
254
+        } else {
255
+          sums[index] = 'N/A';
256
+        }
257
+      });
258
+
259
+      return sums;
260
+  },
261
+  handleClick(id){
262
+      console.log(id);
263
+  }
264
+}
265
+
266
+}
267
+</script>
268
+<style lang="scss" scoped>
269
+.content_top{
270
+  display: flex;
271
+  justify-content: space-around;
272
+  color: #1e5feb;
273
+}
274
+</style>

+ 4 - 3
src/xt_pages/workforce/appointment.vue View File

@@ -174,7 +174,7 @@
174 174
       </div>
175 175
         </edit-table-data>
176 176
 
177
-        <HistoryWeekTable v-show="showtable" ref="tableDataZero"  :week-time="activeName" partitions-prop="partitions"
177
+        <HistoryWeekTable v-show="showtable" ref="tableDataZero"  :week-time="activeName" :partitions-prop="partitions"
178 178
                   :schedule-zone-row-prop="scheduleZoneRow"
179 179
                   :schedule-zone-prop="scheduleZone" title="" >
180 180
           </HistoryWeekTable>
@@ -334,7 +334,6 @@ export default {
334 334
         this.showtable=true
335 335
         this.showtableOne=false
336 336
         this.$nextTick(() => {
337
-
338 337
           this.$refs.tableDataZero.start()
339 338
         })
340 339
         // console.log('12343545',this.$refs.tableDataZero);
@@ -892,7 +891,9 @@ export default {
892 891
 
893 892
     printScheduleAction: function () {
894 893
       var date = new Date().getTime()
895
-      if (this.activeName == 'lastWeek') {
894
+      if(this.activeName == 'historyWeek'){
895
+        date = date - 14 * 24 * 60 * 60 * 1000
896
+      }else if (this.activeName == 'lastWeek') {
896 897
         date = date - 7 * 24 * 60 * 60 * 1000
897 898
       } else if (this.activeName == 'nextWeek') {
898 899
         date = date + 7 * 24 * 60 * 60 * 1000

+ 1 - 1
src/xt_pages/workforce/components/historyWeekTable.vue View File

@@ -791,7 +791,7 @@ export default {
791 791
     this.now_time = date.getTime()/1000
792 792
     this.getAllZones()
793 793
 
794
-    this.changeScheduleType(1)
794
+    // this.changeScheduleType(1)
795 795
     rowNumber = 0;
796 796
     this.modeOptions = this.$store.getters.treatment_mode;
797 797
 

+ 10 - 2
src/xt_pages/workforce/scheduleTablePrint.vue View File

@@ -198,6 +198,7 @@ export default {
198 198
             scheduleZoneRow: [],
199 199
             partitions: {},
200 200
             theWeek: {
201
+              historyWeek: 0,
201 202
               lastWeek: 0,
202 203
               thisWeek: 0,
203 204
               nextWeek: 0,
@@ -217,7 +218,7 @@ export default {
217 218
         this.partition_id = this.$route.query.partition_id
218 219
         var newList = []
219 220
         var arr =  this.$route.query.week_date
220
-
221
+        console.log('1234325431',this.$route.query);
221 222
         if(arr!=""){
222 223
           var newArr = arr.split(",")
223 224
 
@@ -294,6 +295,7 @@ export default {
294 295
                 }
295 296
                 var partitions = response.data.data.partitions
296 297
                 console.log("分区",partitions)
298
+                this.theWeek.historyWeek = this.theWeek.thisWeek - 2 
297 299
                 this.theWeek.thisWeek = response.data.data.theWeek
298 300
                 this.theWeek.lastWeek = this.theWeek.thisWeek - 1
299 301
                 this.theWeek.nextWeek = this.theWeek.thisWeek + 1
@@ -473,6 +475,9 @@ export default {
473 475
         },
474 476
         getSchedules() {
475 477
             var theType = 2;
478
+            if(this.$route.query.weekTime == "historyWeek"){
479
+                theType =0
480
+            }
476 481
             if(this.$route.query.weekTime == "lastWeek"){
477 482
                theType = 1
478 483
             }
@@ -863,6 +868,9 @@ export default {
863 868
         },
864 869
         getPatientSheduleCount(){
865 870
             var theType = 2;
871
+            if(this.$route.query.weekTime == "historyWeek"){
872
+                theType =0
873
+            }
866 874
             if(this.$route.query.weekTime == "lastWeek"){
867 875
                theType = 1
868 876
             }
@@ -894,7 +902,7 @@ export default {
894 902
                if(response.data.state == 1){
895 903
                   var list = response.data.data.list
896 904
                   console.log("list22222",list)
897
-
905
+                    console.log('asdfgfffffff',response.data.data);
898 906
                   this.scheduleCountList = list
899 907
                   var total = response.data.data.total
900 908
                   console.log("totalw222",total)