浏览代码

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

28169 2 年前
父节点
当前提交
cfc712add9
共有 68 个文件被更改,包括 10836 次插入304 次删除
  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. 92 53
      src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue
  46. 22 3
      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. 7 7
      src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue
  58. 1 0
      src/xt_pages/outpatientDoctorStation/doctorDesk.vue
  59. 1 1
      src/xt_pages/outpatientDoctorStation/template/printOne.vue
  60. 167 0
      src/xt_pages/qcd/dialysis_index.vue
  61. 0 1
      src/xt_pages/qcd/patientAnalysis/bloodPressure.vue
  62. 243 0
      src/xt_pages/qcd/qualitycontrol/individual.vue
  63. 103 0
      src/xt_pages/qcd/qualitycontrol/thyroidGland.vue
  64. 274 0
      src/xt_pages/qcd/qualitycontrol/totalSstatistics.vue
  65. 4 3
      src/xt_pages/workforce/appointment.vue
  66. 1 1
      src/xt_pages/workforce/components/historyWeekTable.vue
  67. 10 2
      src/xt_pages/workforce/scheduleTablePrint.vue
  68. 13 13
      src/xt_permission.js

文件差异内容过多而无法显示
+ 1419 - 0
.idea/shelf/Uncommitted_changes_before_Update_at_2023_4_26_15_16_[Changes]/AssessmentAfterDislysis.vue


文件差异内容过多而无法显示
+ 2640 - 0
.idea/shelf/Uncommitted_changes_before_Update_at_2023_4_26_15_16_[Changes]/shelved.patch


文件差异内容过多而无法显示
+ 113 - 0
.idea/shelf/Uncommitted_changes_before_Update_at_2023_5_30_16_44_[Changes]/shelved.patch


+ 3 - 1
src/router/index.js 查看文件

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

+ 107 - 0
src/router/modules/Dialysisanalysis.js 查看文件

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 查看文件

370
         noCache: true
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
     //   path: '/dialysis/print/batch/fiftythree',
386
     //   path: '/dialysis/print/batch/fiftythree',
387
     //   component: () =>
387
     //   component: () =>

+ 91 - 0
src/router/modules/qcd.js 查看文件

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
       path: '/qcd/basicInformationAnalysis',
163
       path: '/qcd/basicInformationAnalysis',
73
       component: () => import('@/xt_pages/qcd/basicInformationAnalysis'),
164
       component: () => import('@/xt_pages/qcd/basicInformationAnalysis'),

+ 262 - 0
src/xt_pages/Dialysisanalysis/albumin/albuminall.vue 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

55
               type="primary"
55
               type="primary"
56
               icon="el-icon-view"
56
               icon="el-icon-view"
57
               @click="handleShow(scope.$index, scope.row)"
57
               @click="handleShow(scope.$index, scope.row)"
58
+
58
             >
59
             >
59
             </el-button>
60
             </el-button>
60
             
61
             
64
               type="danger"
65
               type="danger"
65
               icon="el-icon-remove-outline"
66
               icon="el-icon-remove-outline"
66
               @click="handleHideOne(scope.$index, scope.row)"
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
             </el-button>
70
             </el-button>
69
 
71
 
70
            
72
            
71
             <el-button
73
             <el-button
72
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 0"
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
               size="small"
76
               size="small"
74
               type="primary"
77
               type="primary"
75
               icon="el-icon-view"
78
               icon="el-icon-view"

+ 2 - 0
src/xt_pages/data/components/dialysisBefore.vue 查看文件

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

+ 2 - 0
src/xt_pages/data/components/dialysisComputer.vue 查看文件

64
               type="danger"
64
               type="danger"
65
               icon="el-icon-remove-outline"
65
               icon="el-icon-remove-outline"
66
               @click="handleHideOne(scope.$index, scope.row)"
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
             </el-button>
69
             </el-button>
69
 
70
 
70
             
71
             
71
             <el-button
72
             <el-button
72
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 0"
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
               size="small"
75
               size="small"
74
               type="primary"
76
               type="primary"
75
               icon="el-icon-view"
77
               icon="el-icon-view"

+ 2 - 0
src/xt_pages/data/components/dialysisMonitor.vue 查看文件

64
               type="danger"
64
               type="danger"
65
               icon="el-icon-remove-outline"
65
               icon="el-icon-remove-outline"
66
               @click="handleHideOne(scope.$index, scope.row)"
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
             </el-button>
69
             </el-button>
69
 
70
 
74
               type="primary"
75
               type="primary"
75
               icon="el-icon-view"
76
               icon="el-icon-view"
76
               @click="handleShowOne(scope.$index, scope.row)"
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
             </el-button>
80
             </el-button>
79
         </template>
81
         </template>

+ 2 - 0
src/xt_pages/data/components/dialysisOff.vue 查看文件

59
 
59
 
60
             <el-button
60
             <el-button
61
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 1"
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
               size="small"
63
               size="small"
63
               type="danger"
64
               type="danger"
64
               icon="el-icon-remove-outline"
65
               icon="el-icon-remove-outline"
69
            
70
            
70
             <el-button
71
             <el-button
71
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 0"
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
               size="small"
74
               size="small"
73
               type="primary"
75
               type="primary"
74
               icon="el-icon-view"
76
               icon="el-icon-view"

+ 2 - 0
src/xt_pages/data/components/dialysisPrescription.vue 查看文件

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

+ 2 - 0
src/xt_pages/data/components/dialysisSummary.vue 查看文件

59
             </el-button>
59
             </el-button>
60
             <el-button
60
             <el-button
61
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 1"
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
               size="small"
63
               size="small"
63
               type="danger"
64
               type="danger"
64
               icon="el-icon-remove-outline"
65
               icon="el-icon-remove-outline"
69
             
70
             
70
             <el-button
71
             <el-button
71
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 0"
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
               size="small"
74
               size="small"
73
               type="primary"
75
               type="primary"
74
               icon="el-icon-view"
76
               icon="el-icon-view"

+ 2 - 0
src/xt_pages/data/components/doubleCheck.vue 查看文件

64
               type="danger"
64
               type="danger"
65
               icon="el-icon-remove-outline"
65
               icon="el-icon-remove-outline"
66
               @click="handleHideOne(scope.$index, scope.row)"
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
             </el-button>
69
             </el-button>
69
 
70
 
73
               type="primary"
74
               type="primary"
74
               icon="el-icon-view"
75
               icon="el-icon-view"
75
               @click="handleShowOne(scope.$index, scope.row)"
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
             </el-button>
79
             </el-button>
78
         </template>
80
         </template>

+ 2 - 0
src/xt_pages/data/components/receiveTreatmentAsses.vue 查看文件

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

+ 12 - 9
src/xt_pages/dialysis/bloodPresssWatch.vue 查看文件

383
           type="primary"
383
           type="primary"
384
           >批量打印</el-button>
384
           >批量打印</el-button>
385
       </template>
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
     </div>
396
     </div>
389
     <div class="app-container">
397
     <div class="app-container">
501
         style="width: 100%"
509
         style="width: 100%"
502
         v-loading="loading"
510
         v-loading="loading"
503
         border
511
         border
504
-
505
         @current-change="clickCurrent"
512
         @current-change="clickCurrent"
506
         @selection-change="handleSelectionChange"
513
         @selection-change="handleSelectionChange"
507
         highlight-current-row
514
         highlight-current-row
691
         </el-table-column>
698
         </el-table-column>
692
 
699
 
693
 
700
 
694
-
695
-
696
-
697
-
698
-
699
-
700
        <el-table-column label="超滤量(ml)" align="center"
701
        <el-table-column label="超滤量(ml)" align="center"
701
              v-if="
702
              v-if="
702
               isShow('超滤量') &&
703
               isShow('超滤量') &&
953
             </template>
954
             </template>
954
         </el-table-column>
955
         </el-table-column>
955
 
956
 
956
-
957
       <el-table-column label="置换率(L/h)" align="center"
957
       <el-table-column label="置换率(L/h)" align="center"
958
           v-if="
958
           v-if="
959
           isShow('置换率') &&
959
           isShow('置换率') &&
2125
         this.$router.push({ path: "/dialysis/print/batch/sixtyOne" });
2125
         this.$router.push({ path: "/dialysis/print/batch/sixtyOne" });
2126
       }else if (this.template_id == 62) {
2126
       }else if (this.template_id == 62) {
2127
         this.$router.push({ path: "/dialysis/print/batch/sixtyTwo" });
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
     batchPrintActionOne: function() {
2133
     batchPrintActionOne: function() {
2131
       if (this.selecting_schs.length === 0) {
2134
       if (this.selecting_schs.length === 0) {

+ 60 - 5
src/xt_pages/dialysis/details/dialog/AssessmentAfterDislysis.vue 查看文件

642
       v-on:dialog-comfirm="DialogComfirm"
642
       v-on:dialog-comfirm="DialogComfirm"
643
       v-on:dialog-cancle="DialogCancle"
643
       v-on:dialog-cancle="DialogCancle"
644
     ></multi-select-box>
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
   </div>
679
   </div>
646
 </template>
680
 </template>
647
 
681
 
648
 <script>
682
 <script>
649
 import { getDataConfig } from '@/utils/data'
683
 import { getDataConfig } from '@/utils/data'
650
 import MultiSelectBox from './MultiSelectBox'
684
 import MultiSelectBox from './MultiSelectBox'
651
-import { postAssessmentAfterDislysis } from '@/api/dialysis'
685
+import { postAssessmentAfterDislysis,saveInformation } from '@/api/dialysis'
652
 import { uParseTime } from '@/utils/tools'
686
 import { uParseTime } from '@/utils/tools'
653
 import store from '@/store'
687
 import store from '@/store'
654
 import { parseTime } from '@/utils'
688
 import { parseTime } from '@/utils'
818
       consciousnessList:[],
852
       consciousnessList:[],
819
       fallriskList:[],
853
       fallriskList:[],
820
       machineList:[],
854
       machineList:[],
821
-      
855
+      infoDialogVisible:false,
856
+      selected_date:"",
857
+      remark:""
822
     }
858
     }
823
   },
859
   },
824
   watch: {
860
   watch: {
1131
           data["after_urea"] = this.form.after_urea
1167
           data["after_urea"] = this.form.after_urea
1132
           data["pip_coagulation"] = this.form.pip_coagulation
1168
           data["pip_coagulation"] = this.form.pip_coagulation
1133
           data["accumulated_blood_volume"] = this.form.accumulated_blood_volume
1169
           data["accumulated_blood_volume"] = this.form.accumulated_blood_volume
1170
+          console.log("Data",data)
1134
           console.log("Paramsquery",data)
1171
           console.log("Paramsquery",data)
1135
 
1172
 
1136
           postAssessmentAfterDislysis(ParamsQuery, data)
1173
           postAssessmentAfterDislysis(ParamsQuery, data)
1138
               this.loading = false
1175
               this.loading = false
1139
               if (response.data.state == 0) {
1176
               if (response.data.state == 0) {
1140
                 this.$message.error(response.data.msg)
1177
                 this.$message.error(response.data.msg)
1178
+                if(response.data.code == 600000008){
1179
+                  this.infoDialogVisible = true
1180
+                }
1141
                 return false
1181
                 return false
1142
               } else {
1182
               } else {
1143
                 this.$notify({
1183
                 this.$notify({
1157
                 }
1197
                 }
1158
                 this.hide()
1198
                 this.hide()
1159
               }
1199
               }
1160
-            })
1161
-            .catch(v => {
1200
+            }).catch(v => {
1162
               this.loading = false
1201
               this.loading = false
1163
             })
1202
             })
1164
         }else {
1203
         }else {
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
   created() {
1486
   created() {
1432
     // console.log("this.form", this.form.consciousness);
1487
     // console.log("this.form", this.form.consciousness);

+ 92 - 53
src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue 查看文件

223
         :cell-class-name="adviceNameShow"
223
         :cell-class-name="adviceNameShow"
224
         :modal-append-to-body="false"
224
         :modal-append-to-body="false"
225
         highlight-current-row
225
         highlight-current-row
226
-        
226
+
227
       >
227
       >
228
       <!-- @selection-change="handleSelectionChange" -->
228
       <!-- @selection-change="handleSelectionChange" -->
229
         <!-- <el-table-column type="selection"  width="55"></el-table-column> -->
229
         <!-- <el-table-column type="selection"  width="55"></el-table-column> -->
257
             <el-dropdown trigger="click" v-if="scope.row.parent_id > 0">
257
             <el-dropdown trigger="click" v-if="scope.row.parent_id > 0">
258
               <span class="el-dropdown-link">
258
               <span class="el-dropdown-link">
259
                 &emsp;{{ getAdviceContent(scope.row, 2)}}
259
                 &emsp;{{ getAdviceContent(scope.row, 2)}}
260
-               
260
+
261
                 <i class="el-icon-arrow-down el-icon--right"></i>
261
                 <i class="el-icon-arrow-down el-icon--right"></i>
262
               </span>
262
               </span>
263
               <el-dropdown-menu slot="dropdown">
263
               <el-dropdown-menu slot="dropdown">
305
         </el-table-column>
305
         </el-table-column>
306
       </el-table>
306
       </el-table>
307
 
307
 
308
-     
308
+
309
 
309
 
310
       <el-table
310
       <el-table
311
         v-if="his_is_open  == 1 || is_advice_open == 1"
311
         v-if="his_is_open  == 1 || is_advice_open == 1"
360
             <el-dropdown trigger="click" v-if="scope.row.parent_id > 0">
360
             <el-dropdown trigger="click" v-if="scope.row.parent_id > 0">
361
               <span class="el-dropdown-link">
361
               <span class="el-dropdown-link">
362
                 &emsp;{{ getAdviceContent(scope.row, 2)}}
362
                 &emsp;{{ getAdviceContent(scope.row, 2)}}
363
-                 
363
+
364
                 <i class="el-icon-arrow-down el-icon--right"></i>
364
                 <i class="el-icon-arrow-down el-icon--right"></i>
365
               </span>
365
               </span>
366
               <el-dropdown-menu slot="dropdown">
366
               <el-dropdown-menu slot="dropdown">
628
     getPatientSchedule
628
     getPatientSchedule
629
   } from '@/api/advice'
629
   } from '@/api/advice'
630
   import { getDataConfig } from '@/utils/data'
630
   import { getDataConfig } from '@/utils/data'
631
-
631
+  import { saveInformation } from '@/api/dialysis'
632
   import request from '@/utils/request'
632
   import request from '@/utils/request'
633
   import { getDialysisScheduleDetail } from '@/api/dialysis_record'
633
   import { getDialysisScheduleDetail } from '@/api/dialysis_record'
634
   import { getSelfMedicalList } from "@/api/drug/drug"
634
   import { getSelfMedicalList } from "@/api/drug/drug"
799
       },
799
       },
800
 
800
 
801
       'doctor_advices': function() {
801
       'doctor_advices': function() {
802
-      
802
+
803
         this.handleSpanTempArrOne();
803
         this.handleSpanTempArrOne();
804
       },
804
       },
805
-     
805
+
806
     },
806
     },
807
     methods: {
807
     methods: {
808
       handleSpanTempArrOne() {
808
       handleSpanTempArrOne() {
809
           this.tempArrOne = [];
809
           this.tempArrOne = [];
810
-         
810
+
811
           for (let i = 0; i < this.doctor_advices.length; i++) {
811
           for (let i = 0; i < this.doctor_advices.length; i++) {
812
             if (i === 0) {
812
             if (i === 0) {
813
               this.tempArrOne.push(1);
813
               this.tempArrOne.push(1);
830
       handleSelectionChange(){
830
       handleSelectionChange(){
831
 
831
 
832
       },
832
       },
833
-     
834
-    
833
+
834
+
835
       //调试
835
       //调试
836
       lili(index,row){
836
       lili(index,row){
837
         // console.log("==index==",index)
837
         // console.log("==index==",index)
915
               response => {
915
               response => {
916
                 if (response.data.state == 0) {
916
                 if (response.data.state == 0) {
917
                   this.$message.error(response.data.msg);
917
                   this.$message.error(response.data.msg);
918
+                  if(response.data.code == 600000008){
919
+                     this.infoDialogVisible = true
920
+                   }
918
                   return false;
921
                   return false;
919
                 } else {
922
                 } else {
920
                   this.$notify({
923
                   this.$notify({
949
           return ''
952
           return ''
950
         }
953
         }
951
       },
954
       },
952
-     
955
+
953
       submitEditAdvice() {
956
       submitEditAdvice() {
954
         // console.log()
957
         // console.log()
955
         console.log("保存22222222222222")
958
         console.log("保存22222222222222")
975
           response => {
978
           response => {
976
             if (response.data.state == 0) {
979
             if (response.data.state == 0) {
977
               this.$message.error(response.data.msg)
980
               this.$message.error(response.data.msg)
981
+              if(response.data.code == 600000008){
982
+               this.infoDialogVisible = true
983
+              }
978
               return false
984
               return false
979
             } else {
985
             } else {
980
               this.$notify({
986
               this.$notify({
1283
         ExecDoctorAdvice(this.patient.id, this.currentRow.id, this.execTime, mode,this.currentRow.origin).then(response => {
1289
         ExecDoctorAdvice(this.patient.id, this.currentRow.id, this.execTime, mode,this.currentRow.origin).then(response => {
1284
             if (response.data.state == 0) {
1290
             if (response.data.state == 0) {
1285
               this.$message.error(response.data.msg)
1291
               this.$message.error(response.data.msg)
1292
+             if(response.data.code == 600000008){
1293
+               this.infoDialogVisible = true
1294
+             }
1286
               this.exceLoading = false
1295
               this.exceLoading = false
1287
               return false
1296
               return false
1288
             } else {
1297
             } else {
1377
             this.loading = false
1386
             this.loading = false
1378
             if (response.data.state == 0) {
1387
             if (response.data.state == 0) {
1379
               this.$message.error(response.data.msg)
1388
               this.$message.error(response.data.msg)
1389
+              if(response.data.code == 600000008){
1390
+               this.infoDialogVisible = true
1391
+              }
1380
               return false
1392
               return false
1381
             } else {
1393
             } else {
1382
               this.$notify({
1394
               this.$notify({
1650
               response => {
1662
               response => {
1651
                 if (response.data.state == 0) {
1663
                 if (response.data.state == 0) {
1652
                   this.$message.error(response.data.msg)
1664
                   this.$message.error(response.data.msg)
1653
-
1665
+                  if(response.data.code == 600000008){
1666
+                    this.infoDialogVisible = true
1667
+                  }
1654
                   this.deleLoading = false
1668
                   this.deleLoading = false
1655
                   return false
1669
                   return false
1656
                 } else {
1670
                 } else {
1822
             DeleteGroupAdvice(groupno, mode).then(response => {
1836
             DeleteGroupAdvice(groupno, mode).then(response => {
1823
               if (response.data.state == 0) {
1837
               if (response.data.state == 0) {
1824
                 this.$message.error(response.data.msg)
1838
                 this.$message.error(response.data.msg)
1839
+                if(response.data.code == 600000008){
1840
+                 this.infoDialogVisible = true
1841
+                }
1825
                 return false
1842
                 return false
1826
               } else {
1843
               } else {
1827
                 this.$notify({
1844
                 this.$notify({
1870
               this.deleLoading = false
1887
               this.deleLoading = false
1871
               if (response.data.state == 0) {
1888
               if (response.data.state == 0) {
1872
                 this.$message.error(response.data.msg)
1889
                 this.$message.error(response.data.msg)
1890
+                if(response.data.code == 600000008){
1891
+                   this.infoDialogVisible = true
1892
+                }
1873
                 return false
1893
                 return false
1874
               } else {
1894
               } else {
1875
                 this.$notify({
1895
                 this.$notify({
1911
             DeleteDoctorAdvice(this.currentRow.id, mode).then(response => {
1931
             DeleteDoctorAdvice(this.currentRow.id, mode).then(response => {
1912
               this.deleLoading = false
1932
               this.deleLoading = false
1913
               if (response.data.state == 0) {
1933
               if (response.data.state == 0) {
1934
+                 if(response.data.code == 600000008){
1935
+                  this.infoDialogVisible = true
1936
+                 }
1914
                 this.$message.error(response.data.msg)
1937
                 this.$message.error(response.data.msg)
1915
                 return false
1938
                 return false
1916
               } else {
1939
               } else {
2126
         return true
2149
         return true
2127
       }
2150
       }
2128
       ,
2151
       ,
2129
-    
2130
-      
2152
+      mergeSpan({ row, column, rowIndex, columnIndex }) {
2153
+        if (columnIndex != 2) {
2154
+          const _row = this.tempArr[rowIndex]
2155
+          const _col = _row > 0 ? 1 : 0
2156
+          return {
2157
+            rowspan: _row,
2158
+            colspan: _col
2159
+          }
2160
+        }
2161
+      }
2162
+      ,
2131
       handleSpanTempArr() {
2163
       handleSpanTempArr() {
2132
         this.tempArr = []
2164
         this.tempArr = []
2133
 
2165
 
2290
         // });
2322
         // });
2291
       },
2323
       },
2292
       objectSpanMethod({ row, column, rowIndex, columnIndex }) {
2324
       objectSpanMethod({ row, column, rowIndex, columnIndex }) {
2293
-        console.log("hhhhhhhhhh",this.tempArrOne)
2294
-        //合并单元格
2295
-        if (columnIndex === 0 || columnIndex === 1 ) {
2296
-          const _row = this.tempArrOne[rowIndex];
2297
-          const _col = _row > 0 ? 1 : 0;
2298
-          console.log("_row====",_row)
2299
-          console.log("_row----------",_col)
2300
-          return {
2301
-            rowspan: _row,
2302
-            colspan: _col
2303
-          };
2304
-        }
2305
-        // if (columnIndex === 0) {
2306
-        //   if (rowIndex % 2 === 0) {
2307
-        //     return {
2308
-        //       rowspan: 2,
2309
-        //       colspan: 1
2310
-        //     }
2311
-        //   } else {
2312
-        //     return {
2313
-        //       rowspan: 0,
2314
-        //       colspan: 0
2315
-        //     }
2316
-        //   }
2317
-        // }
2318
 
2325
 
2319
-        // if (columnIndex === 1) {
2320
-        //   if (rowIndex % 2 === 0) {
2321
-        //     return {
2322
-        //       rowspan: 2,
2323
-        //       colspan: 1
2324
-        //     }
2325
-        //   } else {
2326
-        //     return {
2327
-        //       rowspan: 0,
2328
-        //       colspan: 0
2329
-        //     }
2330
-        //   }
2331
-        // }
2326
+        if (columnIndex === 0) {
2327
+          if (rowIndex % 2 === 0) {
2328
+            return {
2329
+              rowspan: 2,
2330
+              colspan: 1
2331
+            }
2332
+          } else {
2333
+            return {
2334
+              rowspan: 0,
2335
+              colspan: 0
2336
+            }
2337
+          }
2338
+        }
2339
+
2340
+        if (columnIndex === 1) {
2341
+          if (rowIndex % 2 === 0) {
2342
+            return {
2343
+              rowspan: 2,
2344
+              colspan: 1
2345
+            }
2346
+          } else {
2347
+            return {
2348
+              rowspan: 0,
2349
+              colspan: 0
2350
+            }
2351
+          }
2352
+        }
2332
       }
2353
       }
2333
       ,
2354
       ,
2334
       GetLastOrNextDoctorAdvice(params) {
2355
       GetLastOrNextDoctorAdvice(params) {
2631
          }
2652
          }
2632
          console.log("nam e23233232322323wo",name)
2653
          console.log("nam e23233232322323wo",name)
2633
          return name
2654
          return name
2655
+      },
2656
+
2657
+     saveInformation(){
2658
+        var params = {
2659
+          selected_date:this.selected_date,
2660
+          patient_id:this.$route.query.patient_id,
2661
+          record_date:this.$route.query.date,
2662
+          module:2,
2663
+          remark:this.remark,
2664
+        }
2665
+        saveInformation(params).then(response=>{
2666
+           if(response.data.state == 1){
2667
+             var information = response.data.data.information
2668
+             this.$message.success("审核成功!")
2669
+             this.infoDialogVisible = false
2670
+           }
2671
+        })
2634
       }
2672
       }
2673
+
2635
     },
2674
     },
2636
     created() {
2675
     created() {
2637
-     
2676
+
2638
       var date = this.$route.query && this.$route.query.date
2677
       var date = this.$route.query && this.$route.query.date
2639
       this.record_date = uParseTime(date, '{y}-{m}-{d}')
2678
       this.record_date = uParseTime(date, '{y}-{m}-{d}')
2640
       this.form.advice_date = this.record_date
2679
       this.form.advice_date = this.record_date

+ 22 - 3
src/xt_pages/dialysis/details/dialog/acceptsTreatmentDialog.vue 查看文件

1
 <template>
1
 <template>
2
+ <div>
3
+  <div>
2
   <div>
4
   <div>
3
   <el-dialog
5
   <el-dialog
4
     title="接诊评估"
6
     title="接诊评估"
434
       infoDialogVisible:false,
436
       infoDialogVisible:false,
435
       selected_date:"",
437
       selected_date:"",
436
       remark:"",
438
       remark:"",
439
+      arr:[]
437
       arr:[],
440
       arr:[],
438
-   
441
+
439
     };
442
     };
440
   },
443
   },
441
   methods: {
444
   methods: {
508
 
511
 
509
     handleComfirm: function (formName) {
512
     handleComfirm: function (formName) {
510
       // var arr = [];
513
       // var arr = [];
514
+        if(this.precaution_arr!=null && this.precaution_arr.length >0){
515
+        for (let i = 0; i < this.precaution_arr.length; i++) {
516
+          for (let j = 0; j < this.precautionTwo.length; j++) {
517
+            if (this.precaution_arr[i].name == this.precautionTwo[j]) {
518
+              this.arr.push(this.precaution_arr[i].id);
519
+            }
520
+          }
521
+        }
522
+        var obj = this.arr.join(",");
523
+      }
524
+
525
+      this.receiveTreatmentAsses.precaution = obj;
526
+
511
 
527
 
512
       if(this.precaution_arr!=null){
528
       if(this.precaution_arr!=null){
513
         for (let i = 0; i < this.precaution_arr.length; i++) {
529
         for (let i = 0; i < this.precaution_arr.length; i++) {
521
           var obj = this.arr.join(",");
537
           var obj = this.arr.join(",");
522
           this.receiveTreatmentAsses.precaution = obj;
538
           this.receiveTreatmentAsses.precaution = obj;
523
          }
539
          }
524
-            
540
+
525
       }
541
       }
526
 
542
 
527
 
543
 
547
           postAccepts(ParamsQuery).then((response) => {
563
           postAccepts(ParamsQuery).then((response) => {
548
             if (response.data.state == 0) {
564
             if (response.data.state == 0) {
549
               this.$message.error(response.data.msg);
565
               this.$message.error(response.data.msg);
566
+               if(response.data.code == 600000008){
567
+                 this.infoDialogVisible = true
568
+               }
550
               return false;
569
               return false;
551
             } else {
570
             } else {
552
               this.$notify({
571
               this.$notify({
699
         saveInformation(params).then(response=>{
718
         saveInformation(params).then(response=>{
700
            if(response.data.state == 1){
719
            if(response.data.state == 1){
701
              var information = response.data.data.information
720
              var information = response.data.data.information
702
-             this.$message.success("审核成功!")
721
+             this.$message.success("提交成功!")
703
              this.infoDialogVisible = false
722
              this.infoDialogVisible = false
704
            }
723
            }
705
         })
724
         })

+ 58 - 0
src/xt_pages/dialysis/details/dialog/adviceDialog/AddGroupAdvice.vue 查看文件

556
         </el-button>
556
         </el-button>
557
       </div>
557
       </div>
558
     </el-dialog>
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
   </div>
593
   </div>
560
 </template>
594
 </template>
561
 
595
 
570
   getDoctorAdviceList,
604
   getDoctorAdviceList,
571
   StopDoctorAdvice
605
   StopDoctorAdvice
572
 } from "@/api/advice";
606
 } from "@/api/advice";
607
+import { saveInformation } from "@/api/dialysis";
573
 import { getDataConfig } from '@/utils/data'
608
 import { getDataConfig } from '@/utils/data'
574
 import {getSelfMedicalList,getDrugDescByDrugName } from "@/api/drug/drug"
609
 import {getSelfMedicalList,getDrugDescByDrugName } from "@/api/drug/drug"
575
 import { duration } from 'moment';
610
 import { duration } from 'moment';
655
       src_type:"",
690
       src_type:"",
656
       private_drug_config:{},
691
       private_drug_config:{},
657
       units:[],
692
       units:[],
693
+      infoDialogVisible:false,
694
+      selected_date:"",
695
+      remark:""
658
     };
696
     };
659
   },
697
   },
660
   props: {
698
   props: {
770
             response => {
808
             response => {
771
               if (response.data.state == 0) {
809
               if (response.data.state == 0) {
772
                 this.$message.error(response.data.msg);
810
                 this.$message.error(response.data.msg);
811
+                if(response.data.code == 600000008){
812
+                 this.infoDialogVisible = true
813
+                }
773
                 return false;
814
                 return false;
774
               } else {
815
               } else {
775
                 this.$notify({
816
                 this.$notify({
1905
            }
1946
            }
1906
          }
1947
          }
1907
          return name
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
   watch: {
1968
   watch: {

+ 2 - 2
src/xt_pages/dialysis/details/dialog/assessmentBeforeDislysisDialog.vue 查看文件

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

+ 4 - 3
src/xt_pages/dialysis/details/dialog/computer_dialog.vue 查看文件

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

+ 139 - 1
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue 查看文件

1246
                 v-on:dialog-cancle="innerDialogCancle"
1246
                 v-on:dialog-cancle="innerDialogCancle"
1247
         ></multi-select-box>
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
     </div>
1283
     </div>
1250
 </template>
1284
 </template>
1251
 
1285
 
1252
 <script>
1286
 <script>
1253
-  import { CreateGroupAdvice, GetSolution, postPrescription, postSoulution } from '@/api/dialysis'
1287
+  import { CreateGroupAdvice, GetSolution, postPrescription, postSoulution,saveInformation } from '@/api/dialysis'
1254
   import { getDataConfig } from '@/utils/data'
1288
   import { getDataConfig } from '@/utils/data'
1255
   import { calculateAnticoagulantZL, uParseTime,replacementFlow } from '@/utils/tools'
1289
   import { calculateAnticoagulantZL, uParseTime,replacementFlow } from '@/utils/tools'
1256
   import store from '@/store'
1290
   import store from '@/store'
1687
         zongliang:"",
1721
         zongliang:"",
1688
         educationList:[],
1722
         educationList:[],
1689
         value:"",
1723
         value:"",
1724
+        infoDialogVisible:false,
1725
+        selected_date:"",
1726
+        remark:"",
1690
       }
1727
       }
1691
 
1728
 
1692
     },
1729
     },
2104
                 postPrescription(ParamsQuery).then(response => {
2141
                 postPrescription(ParamsQuery).then(response => {
2105
                   if (response.data.state == 0) {
2142
                   if (response.data.state == 0) {
2106
                     this.$message.error(response.data.msg)
2143
                     this.$message.error(response.data.msg)
2144
+                    if(response.data.code == 600000008){
2145
+                       this.infoDialogVisible = true
2146
+                    }
2107
                     this.isLoading = false
2147
                     this.isLoading = false
2108
                     return false
2148
                     return false
2109
                   } else {
2149
                   } else {
2140
                           this.isLoading = false
2180
                           this.isLoading = false
2141
                         } else {
2181
                         } else {
2142
                           this.isLoading = false
2182
                           this.isLoading = false
2183
+                          if(resp.code == 600000008){
2184
+                            this.infoDialogVisible = true
2185
+                          }
2143
                         }
2186
                         }
2144
                       }
2187
                       }
2145
                     )
2188
                     )
2169
                 postSoulution(ParamsQuery).then(response => {
2212
                 postSoulution(ParamsQuery).then(response => {
2170
                   if (response.data.state == 0) {
2213
                   if (response.data.state == 0) {
2171
                     this.$message.error(response.data.msg)
2214
                     this.$message.error(response.data.msg)
2215
+                    if(response.data.code == 600000008){
2216
+                     this.infoDialogVisible = true
2217
+                    }
2172
                     this.isLoading = false
2218
                     this.isLoading = false
2173
                     return false
2219
                     return false
2174
                   } else {
2220
                   } else {
2212
                           this.isLoading = false
2258
                           this.isLoading = false
2213
                         } else {
2259
                         } else {
2214
                           this.isLoading = false
2260
                           this.isLoading = false
2261
+                          if(resp.code == 600000008){
2262
+                            this.infoDialogVisible = true
2263
+                          }
2215
                         }
2264
                         }
2216
                       }
2265
                       }
2217
                     )
2266
                     )
2261
               postPrescription(ParamsQuery).then(response => {
2310
               postPrescription(ParamsQuery).then(response => {
2262
                 if (response.data.state == 0) {
2311
                 if (response.data.state == 0) {
2263
                   this.$message.error(response.data.msg)
2312
                   this.$message.error(response.data.msg)
2313
+                   if(response.data.code == 600000008){
2314
+                      this.infoDialogVisible = true
2315
+                    }
2264
                   return false
2316
                   return false
2265
                 } else {
2317
                 } else {
2266
                   this.$notify({
2318
                   this.$notify({
2296
               postSoulution(ParamsQuery).then(response => {
2348
               postSoulution(ParamsQuery).then(response => {
2297
                 if (response.data.state == 0) {
2349
                 if (response.data.state == 0) {
2298
                   this.$message.error(response.data.msg)
2350
                   this.$message.error(response.data.msg)
2351
+                   if(response.data.code == 600000008){
2352
+                     this.infoDialogVisible = true
2353
+                    }
2299
                   return false
2354
                   return false
2300
                 } else {
2355
                 } else {
2301
                   this.$notify({
2356
                   this.$notify({
2774
                 postPrescription(ParamsQuery).then(response => {
2829
                 postPrescription(ParamsQuery).then(response => {
2775
                   if (response.data.state == 0) {
2830
                   if (response.data.state == 0) {
2776
                     this.$message.error(response.data.msg)
2831
                     this.$message.error(response.data.msg)
2832
+                     if(response.data.code == 600000008){
2833
+                      this.infoDialogVisible = true
2834
+                     }
2777
                     return false
2835
                     return false
2778
                   } else {
2836
                   } else {
2779
                     this.$notify({
2837
                     this.$notify({
2817
                   postPrescription(ParamsQuery).then(response => {
2875
                   postPrescription(ParamsQuery).then(response => {
2818
                     if (response.data.state == 0) {
2876
                     if (response.data.state == 0) {
2819
                       this.$message.error(response.data.msg)
2877
                       this.$message.error(response.data.msg)
2878
+                       if(response.data.code == 600000008){
2879
+                        this.infoDialogVisible = true
2880
+                       }
2820
                       return false
2881
                       return false
2821
                     } else {
2882
                     } else {
2822
                       this.$notify({
2883
                       this.$notify({
2866
                   postPrescription(ParamsQuery).then(response => {
2927
                   postPrescription(ParamsQuery).then(response => {
2867
                     if (response.data.state == 0) {
2928
                     if (response.data.state == 0) {
2868
                       this.$message.error(response.data.msg)
2929
                       this.$message.error(response.data.msg)
2930
+                       if(response.data.code == 600000008){
2931
+                        this.infoDialogVisible = true
2932
+                       }
2869
                       return false
2933
                       return false
2870
                     } else {
2934
                     } else {
2871
                       this.$notify({
2935
                       this.$notify({
2900
                             // this.doctorAdvices = resp.data.advices
2964
                             // this.doctorAdvices = resp.data.advices
2901
                             this.$emit('advice')
2965
                             this.$emit('advice')
2902
                           } else {
2966
                           } else {
2967
+                             if(resp.code == 600000008){
2968
+                               this.infoDialogVisible = true
2969
+                             }
2903
                           }
2970
                           }
2904
                         }
2971
                         }
2905
                       )
2972
                       )
2938
                   postPrescription(ParamsQuery).then(response => {
3005
                   postPrescription(ParamsQuery).then(response => {
2939
                     if (response.data.state == 0) {
3006
                     if (response.data.state == 0) {
2940
                       this.$message.error(response.data.msg)
3007
                       this.$message.error(response.data.msg)
3008
+                       if(response.data.code == 600000008){
3009
+                        this.infoDialogVisible = true
3010
+                       }
2941
                       return false
3011
                       return false
2942
                     } else {
3012
                     } else {
2943
                       this.$notify({
3013
                       this.$notify({
2981
                   postPrescription(ParamsQuery).then(response => {
3051
                   postPrescription(ParamsQuery).then(response => {
2982
                     if (response.data.state == 0) {
3052
                     if (response.data.state == 0) {
2983
                       this.$message.error(response.data.msg)
3053
                       this.$message.error(response.data.msg)
3054
+                       if(response.data.code == 600000008){
3055
+                        this.infoDialogVisible = true
3056
+                       }
2984
                       return false
3057
                       return false
2985
                     } else {
3058
                     } else {
2986
                       this.$notify({
3059
                       this.$notify({
3024
                     postPrescription(ParamsQuery).then(response => {
3097
                     postPrescription(ParamsQuery).then(response => {
3025
                       if (response.data.state == 0) {
3098
                       if (response.data.state == 0) {
3026
                         this.$message.error(response.data.msg)
3099
                         this.$message.error(response.data.msg)
3100
+                         if(response.data.code == 600000008){
3101
+                            this.infoDialogVisible = true
3102
+                          }
3027
                         return false
3103
                         return false
3028
                       } else {
3104
                       } else {
3029
                         this.$notify({
3105
                         this.$notify({
3073
                     postPrescription(ParamsQuery).then(response => {
3149
                     postPrescription(ParamsQuery).then(response => {
3074
                       if (response.data.state == 0) {
3150
                       if (response.data.state == 0) {
3075
                         this.$message.error(response.data.msg)
3151
                         this.$message.error(response.data.msg)
3152
+                        if(response.data.code == 600000008){
3153
+                           this.infoDialogVisible = true
3154
+                        }
3076
                         return false
3155
                         return false
3077
                       } else {
3156
                       } else {
3078
                         this.$notify({
3157
                         this.$notify({
3112
                             // this.doctorAdvices = resp.data.advices
3191
                             // this.doctorAdvices = resp.data.advices
3113
                             this.$emit('advice')
3192
                             this.$emit('advice')
3114
                           } else {
3193
                           } else {
3194
+                             if(resp.code == 600000008){
3195
+                              this.infoDialogVisible = true
3196
+                             }
3115
                           }
3197
                           }
3116
                         })
3198
                         })
3117
 
3199
 
3145
                     postPrescription(ParamsQuery).then(response => {
3227
                     postPrescription(ParamsQuery).then(response => {
3146
                       if (response.data.state == 0) {
3228
                       if (response.data.state == 0) {
3147
                         this.$message.error(response.data.msg)
3229
                         this.$message.error(response.data.msg)
3230
+                        if(response.data.code == 600000008){
3231
+                            this.infoDialogVisible = true
3232
+                          }
3148
                         return false
3233
                         return false
3149
                       } else {
3234
                       } else {
3150
                         this.$notify({
3235
                         this.$notify({
3192
                 postPrescription(ParamsQuery).then(response => {
3277
                 postPrescription(ParamsQuery).then(response => {
3193
                   if (response.data.state == 0) {
3278
                   if (response.data.state == 0) {
3194
                     this.$message.error(response.data.msg)
3279
                     this.$message.error(response.data.msg)
3280
+                    if(response.data.code == 600000008){
3281
+                       this.infoDialogVisible = true
3282
+                    }
3195
                     return false
3283
                     return false
3196
                   } else {
3284
                   } else {
3197
                     this.$notify({
3285
                     this.$notify({
3282
                   postSoulution(ParamsQuery).then(response => {
3370
                   postSoulution(ParamsQuery).then(response => {
3283
                     if (response.data.state == 0) {
3371
                     if (response.data.state == 0) {
3284
                       this.$message.error(response.data.msg)
3372
                       this.$message.error(response.data.msg)
3373
+                       if(response.data.code == 600000008){
3374
+                         this.infoDialogVisible = true
3375
+                      }
3285
                       return false
3376
                       return false
3286
                     } else {
3377
                     } else {
3287
                       this.$notify({
3378
                       this.$notify({
3332
                     postSoulution(ParamsQuery).then(response => {
3423
                     postSoulution(ParamsQuery).then(response => {
3333
                       if (response.data.state == 0) {
3424
                       if (response.data.state == 0) {
3334
                         this.$message.error(response.data.msg)
3425
                         this.$message.error(response.data.msg)
3426
+                        if(response.data.code == 600000008){
3427
+                          this.infoDialogVisible = true
3428
+                        }
3335
                         return false
3429
                         return false
3336
                       } else {
3430
                       } else {
3337
                         this.$notify({
3431
                         this.$notify({
3387
                     postPrescription(ParamsQuery).then(response => {
3481
                     postPrescription(ParamsQuery).then(response => {
3388
                       if (response.data.state == 0) {
3482
                       if (response.data.state == 0) {
3389
                         this.$message.error(response.data.msg)
3483
                         this.$message.error(response.data.msg)
3484
+                        if(response.data.code == 600000008){
3485
+                            this.infoDialogVisible = true
3486
+                        }
3390
                         return false
3487
                         return false
3391
                       } else {
3488
                       } else {
3392
                         this.$notify({
3489
                         this.$notify({
3421
                               // this.doctorAdvices = resp.data.advices
3518
                               // this.doctorAdvices = resp.data.advices
3422
                               this.$emit('advice')
3519
                               this.$emit('advice')
3423
                             } else {
3520
                             } else {
3521
+                               if(resp.code == 600000008){
3522
+                                 this.infoDialogVisible = true
3523
+                                }
3424
                             }
3524
                             }
3425
                           }
3525
                           }
3426
                         )
3526
                         )
3455
                     postSoulution(ParamsQuery).then(response => {
3555
                     postSoulution(ParamsQuery).then(response => {
3456
                       if (response.data.state == 0) {
3556
                       if (response.data.state == 0) {
3457
                         this.$message.error(response.data.msg)
3557
                         this.$message.error(response.data.msg)
3558
+                        if(response.data.code == 600000008){
3559
+                          this.infoDialogVisible = true
3560
+                        }
3458
                         return false
3561
                         return false
3459
                       } else {
3562
                       } else {
3460
                         this.$notify({
3563
                         this.$notify({
3502
                     postSoulution(ParamsQuery).then(response => {
3605
                     postSoulution(ParamsQuery).then(response => {
3503
                       if (response.data.state == 0) {
3606
                       if (response.data.state == 0) {
3504
                         this.$message.error(response.data.msg)
3607
                         this.$message.error(response.data.msg)
3608
+                         if(response.data.code == 600000008){
3609
+                          this.infoDialogVisible = true
3610
+                         }
3505
                         return false
3611
                         return false
3506
                       } else {
3612
                       } else {
3507
                         this.$notify({
3613
                         this.$notify({
3551
                       postSoulution(ParamsQuery).then(response => {
3657
                       postSoulution(ParamsQuery).then(response => {
3552
                         if (response.data.state == 0) {
3658
                         if (response.data.state == 0) {
3553
                           this.$message.error(response.data.msg)
3659
                           this.$message.error(response.data.msg)
3660
+                           if(response.data.code == 600000008){
3661
+                           this.infoDialogVisible = true
3662
+                          }
3554
                           return false
3663
                           return false
3555
                         } else {
3664
                         } else {
3556
                           this.$notify({
3665
                           this.$notify({
3603
                       postSoulution(ParamsQuery).then(response => {
3712
                       postSoulution(ParamsQuery).then(response => {
3604
                         if (response.data.state == 0) {
3713
                         if (response.data.state == 0) {
3605
                           this.$message.error(response.data.msg)
3714
                           this.$message.error(response.data.msg)
3715
+                          if(response.data.code == 600000008){
3716
+                           this.infoDialogVisible = true
3717
+                          }
3606
                           return false
3718
                           return false
3607
                         } else {
3719
                         } else {
3608
                           this.$notify({
3720
                           this.$notify({
3641
                               // this.doctorAdvices = resp.data.advices
3753
                               // this.doctorAdvices = resp.data.advices
3642
                               this.$emit('advice')
3754
                               this.$emit('advice')
3643
                             } else {
3755
                             } else {
3756
+                               if(resp.code == 600000008){
3757
+                                 this.infoDialogVisible = true
3758
+                                }
3644
                             }
3759
                             }
3645
                           })
3760
                           })
3646
                           const prescription_resp = response.data.data.prescription
3761
                           const prescription_resp = response.data.data.prescription
3680
                       postSoulution(ParamsQuery).then(response => {
3795
                       postSoulution(ParamsQuery).then(response => {
3681
                         if (response.data.state == 0) {
3796
                         if (response.data.state == 0) {
3682
                           this.$message.error(response.data.msg)
3797
                           this.$message.error(response.data.msg)
3798
+                          if(response.data.code == 600000008){
3799
+                           this.infoDialogVisible = true
3800
+                         }
3683
                           return false
3801
                           return false
3684
                         } else {
3802
                         } else {
3685
                           this.$notify({
3803
                           this.$notify({
3727
                   postSoulution(ParamsQuery).then(response => {
3845
                   postSoulution(ParamsQuery).then(response => {
3728
                     if (response.data.state == 0) {
3846
                     if (response.data.state == 0) {
3729
                       this.$message.error(response.data.msg)
3847
                       this.$message.error(response.data.msg)
3848
+                       if(response.data.code == 600000008){
3849
+                         this.infoDialogVisible = true
3850
+                       }
3730
                       return false
3851
                       return false
3731
                     } else {
3852
                     } else {
3732
                       this.$notify({
3853
                       this.$notify({
4166
       }
4287
       }
4167
     }
4288
     }
4168
     },
4289
     },
4290
+
4291
+    saveInformation(){
4292
+      var params = {
4293
+        selected_date:this.selected_date,
4294
+        patient_id:this.$route.query.patient_id,
4295
+        record_date:this.$route.query.date,
4296
+        module:1,
4297
+        remark:this.remark,
4298
+      }
4299
+      saveInformation(params).then(response=>{
4300
+          if(response.data.state == 1){
4301
+            var information = response.data.data.information
4302
+            this.$message.success("提交成功!")
4303
+            this.infoDialogVisible = false
4304
+          }
4305
+      })
4306
+     }
4169
   },
4307
   },
4170
 
4308
 
4171
     watch: {
4309
     watch: {

+ 17 - 16
src/xt_pages/dialysis/details/dialog/doubleCheckDialog.vue 查看文件

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
   props: {
1320
   props: {
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
   created() {
1910
   created() {
1910
     var date = this.$route.query && this.$route.query.date;
1911
     var date = this.$route.query && this.$route.query.date;

+ 4 - 3
src/xt_pages/dialysis/details/dialog/finish_dialog.vue 查看文件

191
             return time.getTime() > Date.now()
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
     props: {
199
     props: {
477
 
478
 
478
               } else {
479
               } else {
479
                 this.$message.error(resp.msg)
480
                 this.$message.error(resp.msg)
480
-               if(response.data.code == 600000008){
481
+               if(response.code == 600000008){
481
                   this.infoDialogVisible = true
482
                   this.infoDialogVisible = true
482
                 }
483
                 }
483
               }
484
               }

+ 60 - 1
src/xt_pages/dialysis/details/dialog/monitor_dialog.vue 查看文件

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

+ 1 - 1
src/xt_pages/dialysis/details/dialog/treatmentSummaryDialog.vue 查看文件

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

+ 40 - 131
src/xt_pages/dialysis/dialysisFlow.vue 查看文件

135
                {{ scope.row.patient.name }}
135
                {{ scope.row.patient.name }}
136
              </template>
136
              </template>
137
           </el-table-column>
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
             <template slot-scope="scope">
151
             <template slot-scope="scope">
140
                 <span v-if="scope.row.dialysis_finish!=null && scope.row.dialysis_finish.module == 1">
152
                 <span v-if="scope.row.dialysis_finish!=null && scope.row.dialysis_finish.module == 1">
141
153
304
                   ×
316
                   ×
305
                 </span>
317
                 </span>
306
            </template>
318
            </template>
307
-         </el-table-column>
319
+         </el-table-column> -->
308
   
320
   
309
 
321
 
310
         </el-table>
322
         </el-table>
356
           { value: 2, label: "下午" },
368
           { value: 2, label: "下午" },
357
           { value: 3, label: "晚上" }
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
         template_id: 0,
384
         template_id: 0,
360
   
385
   
361
         partitionType: 0,
386
         partitionType: 0,
749
         this.listQuery.limit = val;
774
         this.listQuery.limit = val;
750
         this.getSchedualPatientList();
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
     components: {
791
     components: {
883
       BreadCrumb
792
       BreadCrumb

+ 40 - 35
src/xt_pages/infor/index.vue 查看文件

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

+ 7 - 7
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue 查看文件

60
                   </el-form-item>
60
                   </el-form-item>
61
 
61
 
62
 
62
 
63
-                
63
+
64
 
64
 
65
 
65
 
66
                   <el-form-item label="过敏病史: " prop="name" label-position="right">
66
                   <el-form-item label="过敏病史: " prop="name" label-position="right">
74
                   </el-form-item>
74
                   </el-form-item>
75
 
75
 
76
 
76
 
77
-                  <el-form-item label="疾病诊断:" prop="name" label-position="right" style="width:66.6%;" v-if="org_id==3877 || org_id ==10485 || org_id == 0 ">
77
+                  <el-form-item label="疾病诊断:" prop="name" label-position="right" style="width:66.6%;" v-if="org_id==3877 || org_id ==10485 ">
78
 
78
 
79
                     <el-select style="width:100%;" v-model="patient_diagnose" placeholder="" multiple filterable>
79
                     <el-select style="width:100%;" v-model="patient_diagnose" placeholder="" multiple filterable>
80
                         <el-option
80
                         <el-option
2077
         }
2077
         }
2078
 
2078
 
2079
       }
2079
       }
2080
-      
2080
+
2081
       // console.log("info233333333333333333333",info.id)
2081
       // console.log("info233333333333333333333",info.id)
2082
       // console.log("LAST_INFO2323232323WO",last_info.patient_diagnosis)
2082
       // console.log("LAST_INFO2323232323WO",last_info.patient_diagnosis)
2083
       this.patient_diagnose = []
2083
       this.patient_diagnose = []
2094
       }
2094
       }
2095
 
2095
 
2096
       if(info.id > 0){
2096
       if(info.id > 0){
2097
-       
2097
+
2098
         if (info.patient_diagnosis.length == 0) {
2098
         if (info.patient_diagnosis.length == 0) {
2099
           this.patient_diagnose = []
2099
           this.patient_diagnose = []
2100
         } else {
2100
         } else {
2101
           this.patient_diagnose = []
2101
           this.patient_diagnose = []
2102
           for (let i = 0; i < info.patient_diagnosis.split(",").length; i++) {
2102
           for (let i = 0; i < info.patient_diagnosis.split(",").length; i++) {
2103
-           
2103
+
2104
             if(info.patient_diagnosis.split(',')[i].length > 0) {
2104
             if(info.patient_diagnosis.split(',')[i].length > 0) {
2105
               this.patient_diagnose.push(parseInt(info.patient_diagnosis.split(',')[i]))
2105
               this.patient_diagnose.push(parseInt(info.patient_diagnosis.split(',')[i]))
2106
             }
2106
             }
2387
               reg_type: this.register_type,
2387
               reg_type: this.register_type,
2388
               patient_diagnose:str
2388
               patient_diagnose:str
2389
             }
2389
             }
2390
-            
2390
+
2391
             for (let i = 0; i < this.prescriptions.length; i++) {
2391
             for (let i = 0; i < this.prescriptions.length; i++) {
2392
               if (this.prescriptions[i].advices.length > 0 && this.prescriptions[i].project.length == 0) {
2392
               if (this.prescriptions[i].advices.length > 0 && this.prescriptions[i].project.length == 0) {
2393
                 this.prescriptions[i]['type'] = 1
2393
                 this.prescriptions[i]['type'] = 1
2797
             this.$message.error('科室不能为空')
2797
             this.$message.error('科室不能为空')
2798
             return
2798
             return
2799
           }
2799
           }
2800
-          
2800
+
2801
           var str = ""
2801
           var str = ""
2802
           if(patient_diagnose!=""){
2802
           if(patient_diagnose!=""){
2803
              str = this.patient_diagnose.join(',')
2803
              str = this.patient_diagnose.join(',')

+ 1 - 0
src/xt_pages/outpatientDoctorStation/doctorDesk.vue 查看文件

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

+ 1 - 1
src/xt_pages/outpatientDoctorStation/template/printOne.vue 查看文件

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

+ 167 - 0
src/xt_pages/qcd/dialysis_index.vue 查看文件

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 查看文件

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

+ 243 - 0
src/xt_pages/qcd/qualitycontrol/individual.vue 查看文件

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 查看文件

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 查看文件

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 查看文件

174
       </div>
174
       </div>
175
         </edit-table-data>
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
                   :schedule-zone-row-prop="scheduleZoneRow"
178
                   :schedule-zone-row-prop="scheduleZoneRow"
179
                   :schedule-zone-prop="scheduleZone" title="" >
179
                   :schedule-zone-prop="scheduleZone" title="" >
180
           </HistoryWeekTable>
180
           </HistoryWeekTable>
334
         this.showtable=true
334
         this.showtable=true
335
         this.showtableOne=false
335
         this.showtableOne=false
336
         this.$nextTick(() => {
336
         this.$nextTick(() => {
337
-
338
           this.$refs.tableDataZero.start()
337
           this.$refs.tableDataZero.start()
339
         })
338
         })
340
         // console.log('12343545',this.$refs.tableDataZero);
339
         // console.log('12343545',this.$refs.tableDataZero);
892
 
891
 
893
     printScheduleAction: function () {
892
     printScheduleAction: function () {
894
       var date = new Date().getTime()
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
         date = date - 7 * 24 * 60 * 60 * 1000
897
         date = date - 7 * 24 * 60 * 60 * 1000
897
       } else if (this.activeName == 'nextWeek') {
898
       } else if (this.activeName == 'nextWeek') {
898
         date = date + 7 * 24 * 60 * 60 * 1000
899
         date = date + 7 * 24 * 60 * 60 * 1000

+ 1 - 1
src/xt_pages/workforce/components/historyWeekTable.vue 查看文件

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

+ 10 - 2
src/xt_pages/workforce/scheduleTablePrint.vue 查看文件

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

+ 13 - 13
src/xt_permission.js 查看文件

12
 
12
 
13
 router.beforeEach((to, from, next) => {
13
 router.beforeEach((to, from, next) => {
14
   // 线上注释
14
   // 线上注释
15
-  if (!store.getters.configlist || store.getters.configlist === undefined || store.getters.configlist.length <= 0) {
16
-    store.dispatch('VerifyConfigList', []).then(() => {
17
-      next()
18
-    })
19
-  }
20
-  if (store.getters.permission_routers === undefined) {
21
-    store.dispatch('xt_GenerateRoutes', []).then(() => {
22
-      next()
23
-    })
24
-  } else {
25
-    next()
26
-  }
27
-  return
15
+  // if (!store.getters.configlist || store.getters.configlist === undefined || store.getters.configlist.length <= 0) {
16
+  //   store.dispatch('VerifyConfigList', []).then(() => {
17
+  //     next()
18
+  //   })
19
+  // }
20
+  // if (store.getters.permission_routers === undefined) {
21
+  //   store.dispatch('xt_GenerateRoutes', []).then(() => {
22
+  //     next()
23
+  //   })
24
+  // } else {
25
+  //   next()
26
+  // }
27
+  // return
28
   // 线上注释
28
   // 线上注释
29
   NProgress.start()
29
   NProgress.start()
30
   // console.log(store.getters.current_role_urls.indexOf(to.path))
30
   // console.log(store.getters.current_role_urls.indexOf(to.path))