浏览代码

Merge branch 'superman' of http://git.shengws.com/zhangbj/xt_vue into superman

csx 6 年前
父节点
当前提交
bdf6579c1e

+ 21 - 0
src/api/qcd.js 查看文件

55
     method: 'get',
55
     method: 'get',
56
     params: params
56
     params: params
57
   })
57
   })
58
+}
59
+export function GetPAComplicationData(params) {
60
+  return request({
61
+    url: '/api/qcd/pacomplicationdata',
62
+    method: 'get',
63
+    params: params
64
+  })
65
+}
66
+export function GetPAInfectiousDiseasesData(params) {
67
+  return request({
68
+    url: '/api/qcd/painfectiousdiseasesdata',
69
+    method: 'get',
70
+    params: params
71
+  })
72
+}
73
+export function GetPersonLapsetoData(params) {
74
+  return request({
75
+    url: '/api/qcd/papersonlapsetdata',
76
+    method: 'get',
77
+    params: params
78
+  })
58
 }
79
 }

文件差异内容过多而无法显示
+ 482 - 519
src/router/index.js


+ 4 - 0
src/styles/index.scss 查看文件

452
   top: 50% !important;
452
   top: 50% !important;
453
   transform: translate(-50%,-50%) !important;
453
   transform: translate(-50%,-50%) !important;
454
   margin-top: 0 !important; 
454
   margin-top: 0 !important; 
455
+}
456
+
457
+.el-message{
458
+  z-index: 2004!important;
455
 }
459
 }

+ 10 - 6
src/xt_pages/data/druguse.vue 查看文件

88
               :model="templateForm"
88
               :model="templateForm"
89
               label-width="90px"
89
               label-width="90px"
90
             >
90
             >
91
-              <el-form-item label="医嘱名称 :" required prop="advice_name">
92
-                <el-input v-model="templateForm.advice_name" style="width:50%"></el-input>
93
-              </el-form-item>
91
+              <el-row>
92
+               <el-col :span="12">
93
+                  <el-form-item label="医嘱名称 :" required prop="advice_name">
94
+                    <el-input v-model="templateForm.advice_name" style="width:50%"></el-input>
95
+                  </el-form-item>
96
+               </el-col> 
94
               <!-- <el-form-item label="医嘱内容 :" prop="advice_desc">
97
               <!-- <el-form-item label="医嘱内容 :" prop="advice_desc">
95
                 <el-input v-model="templateForm.advice_desc" style="width:50%"></el-input>
98
                 <el-input v-model="templateForm.advice_desc" style="width:50%"></el-input>
96
               </el-form-item> -->
99
               </el-form-item> -->
97
-              <el-row>
98
                 <el-col :span="12">
100
                 <el-col :span="12">
99
                   <el-form-item label="单次用量 :" prop="single_dose">
101
                   <el-form-item label="单次用量 :" prop="single_dose">
100
                     <el-col :span="8">
102
                     <el-col :span="8">
119
                     </el-col>
121
                     </el-col>
120
                   </el-form-item>
122
                   </el-form-item>
121
                 </el-col>
123
                 </el-col>
124
+              </el-row>
125
+              <el-row>
122
                 <el-col :span="12">
126
                 <el-col :span="12">
123
                   <el-form-item label="开药数量 :" prop="prescribing_number">
127
                   <el-form-item label="开药数量 :" prop="prescribing_number">
124
                     <el-col :span="8">
128
                     <el-col :span="8">
143
                     </el-col>
147
                     </el-col>
144
                   </el-form-item>
148
                   </el-form-item>
145
                 </el-col>
149
                 </el-col>
146
-              </el-row>
147
-              <el-row>
148
                 <el-col :span="12">
150
                 <el-col :span="12">
149
                   <el-form-item label="给药途径 :" prop="delivery_way">
151
                   <el-form-item label="给药途径 :" prop="delivery_way">
150
                     <el-select
152
                     <el-select
164
                     </el-select>
166
                     </el-select>
165
                   </el-form-item>
167
                   </el-form-item>
166
                 </el-col>
168
                 </el-col>
169
+              </el-row>
170
+              <el-row>  
167
                 <el-col :span="12">
171
                 <el-col :span="12">
168
                   <el-form-item label="执行频率 :" prop="execution_frequency">
172
                   <el-form-item label="执行频率 :" prop="execution_frequency">
169
                     <el-select
173
                     <el-select

+ 27 - 35
src/xt_pages/data/druguseTemplate.vue 查看文件

234
 
234
 
235
               <el-row>
235
               <el-row>
236
                 <el-col :span="12">
236
                 <el-col :span="12">
237
-                  <el-form-item :label="advice_content_name" required prop="advice_name">
237
+                  <el-form-item label="医嘱内容 :" required prop="advice_name">
238
                     <el-input v-model="templateForm.advice_name"></el-input>
238
                     <el-input v-model="templateForm.advice_name"></el-input>
239
                   </el-form-item>
239
                   </el-form-item>
240
                 </el-col>
240
                 </el-col>
241
                 <el-col :span="12">
241
                 <el-col :span="12">
242
-
243
-                  <el-form-item label="规格" prop="advice_desc">
242
+                  <el-form-item label="规格 :" required prop="advice_desc">
244
                     <el-input v-model="templateForm.advice_desc"></el-input>
243
                     <el-input v-model="templateForm.advice_desc"></el-input>
245
                   </el-form-item>
244
                   </el-form-item>
246
 
245
 
270
                 </el-col>
269
                 </el-col>
271
                 <el-col :span="12">
270
                 <el-col :span="12">
272
                   <el-form-item label="单次用量 :" prop="single_dose">
271
                   <el-form-item label="单次用量 :" prop="single_dose">
273
-                    <el-col :span="8">
272
+                    <el-col :span="9">
274
                       <el-input v-model="templateForm.single_dose"></el-input>
273
                       <el-input v-model="templateForm.single_dose"></el-input>
275
                     </el-col>
274
                     </el-col>
276
-                    <el-col class="line" :span="2">&nbsp;</el-col>
275
+                    <el-col class="line" :span="1">&nbsp;</el-col>
277
                     <el-col :span="14">
276
                     <el-col :span="14">
278
                       <el-select
277
                       <el-select
279
                         v-model="templateForm.single_dose_unit"
278
                         v-model="templateForm.single_dose_unit"
294
                 </el-col>
293
                 </el-col>
295
                 <el-col :span="12">
294
                 <el-col :span="12">
296
                   <el-form-item label="开药数量 :" prop="prescribing_number">
295
                   <el-form-item label="开药数量 :" prop="prescribing_number">
297
-                    <el-col :span="8">
296
+                    <el-col :span="9">
298
                       <el-input v-model="templateForm.prescribing_number"></el-input>
297
                       <el-input v-model="templateForm.prescribing_number"></el-input>
299
                     </el-col>
298
                     </el-col>
300
-                    <el-col class="line" :span="2">&nbsp;</el-col>
299
+                    <el-col class="line" :span="1">&nbsp;</el-col>
301
                     <el-col :span="14">
300
                     <el-col :span="14">
302
                       <el-select
301
                       <el-select
303
                         v-model="templateForm.prescribing_number_unit"
302
                         v-model="templateForm.prescribing_number_unit"
324
                       clearable
323
                       clearable
325
                       allow-create
324
                       allow-create
326
                       placeholder="请选择(输入可搜索)"
325
                       placeholder="请选择(输入可搜索)"
327
-                      style="width:90%"
326
+                      style="width:100%"
328
                     >
327
                     >
329
                       <el-option
328
                       <el-option
330
                         v-for="item in drugways"
329
                         v-for="item in drugways"
335
                     </el-select>
334
                     </el-select>
336
                   </el-form-item>
335
                   </el-form-item>
337
                 </el-col>
336
                 </el-col>
338
-              </el-row>
339
-              <el-row>
340
-
341
                 <el-col :span="12" v-if="!isAddChild">
337
                 <el-col :span="12" v-if="!isAddChild">
342
                   <el-form-item label="执行频率 :" prop="execution_frequency">
338
                   <el-form-item label="执行频率 :" prop="execution_frequency">
343
                     <el-select
339
                     <el-select
346
                       allow-create
342
                       allow-create
347
                       filterable
343
                       filterable
348
                       placeholder="请选择(输入可搜索)"
344
                       placeholder="请选择(输入可搜索)"
349
-                      style="width:90%"
345
+                      style="width:100%"
350
                     >
346
                     >
351
                       <el-option
347
                       <el-option
352
                         v-for="item in executionFrequencyOptions"
348
                         v-for="item in executionFrequencyOptions"
386
                     <el-col :span="8">
382
                     <el-col :span="8">
387
                       <el-input v-model="templateFormEdit.drug_spec"></el-input>
383
                       <el-input v-model="templateFormEdit.drug_spec"></el-input>
388
                     </el-col>
384
                     </el-col>
389
-                    <el-col class="line" :span="2">&nbsp;</el-col>
385
+                    <el-col class="line" :span="1">&nbsp;</el-col>
390
                     <el-col :span="14">
386
                     <el-col :span="14">
391
                       <el-select
387
                       <el-select
392
                         v-model="templateFormEdit.drug_spec_unit"
388
                         v-model="templateFormEdit.drug_spec_unit"
407
                 </el-col>
403
                 </el-col>
408
                 <el-col :span="12">
404
                 <el-col :span="12">
409
                   <el-form-item label="单次用量 :" prop="single_dose">
405
                   <el-form-item label="单次用量 :" prop="single_dose">
410
-                    <el-col :span="8">
406
+                    <el-col :span="9">
411
                       <el-input v-model="templateFormEdit.single_dose"></el-input>
407
                       <el-input v-model="templateFormEdit.single_dose"></el-input>
412
                     </el-col>
408
                     </el-col>
413
-                    <el-col class="line" :span="2">&nbsp;</el-col>
409
+                    <el-col class="line" :span="1">&nbsp;</el-col>
414
                     <el-col :span="14">
410
                     <el-col :span="14">
415
                       <el-select
411
                       <el-select
416
                         v-model="templateFormEdit.single_dose_unit"
412
                         v-model="templateFormEdit.single_dose_unit"
431
                 </el-col>
427
                 </el-col>
432
                 <el-col :span="12">
428
                 <el-col :span="12">
433
                   <el-form-item label="开药数量 :" prop="prescribing_number">
429
                   <el-form-item label="开药数量 :" prop="prescribing_number">
434
-                    <el-col :span="8">
430
+                    <el-col :span="9">
435
                       <el-input v-model="templateFormEdit.prescribing_number"></el-input>
431
                       <el-input v-model="templateFormEdit.prescribing_number"></el-input>
436
                     </el-col>
432
                     </el-col>
437
-                    <el-col class="line" :span="2">&nbsp;</el-col>
433
+                    <el-col class="line" :span="1">&nbsp;</el-col>
438
                     <el-col :span="14">
434
                     <el-col :span="14">
439
                       <el-select
435
                       <el-select
440
                         v-model="templateFormEdit.prescribing_number_unit"
436
                         v-model="templateFormEdit.prescribing_number_unit"
472
                     </el-select>
468
                     </el-select>
473
                   </el-form-item>
469
                   </el-form-item>
474
                 </el-col>
470
                 </el-col>
475
-              </el-row>
476
-              <el-row>
477
-
471
+             
478
                 <el-col :span="12" v-if="templateFormEdit.parent_id == 0">
472
                 <el-col :span="12" v-if="templateFormEdit.parent_id == 0">
479
                   <el-form-item label="执行频率 :" prop="execution_frequency">
473
                   <el-form-item label="执行频率 :" prop="execution_frequency">
480
                     <el-select
474
                     <el-select
569
               :model="templateForm"
563
               :model="templateForm"
570
               label-width="90px"
564
               label-width="90px"
571
             >
565
             >
572
-              <el-form-item label="医嘱内容 :" required prop="advice_name">
573
-                <el-input v-model="templateForm.advice_name" style="width:50%"></el-input>
574
-              </el-form-item>
575
-
576
               <el-row>
566
               <el-row>
567
+                <el-col :span="12">
568
+                  <el-form-item label="医嘱内容 :" required prop="advice_name">
569
+                    <el-input v-model="templateForm.advice_name" ></el-input> 
570
+                  </el-form-item>
571
+                </el-col>
577
                 <el-col :span="12">
572
                 <el-col :span="12">
578
                   <el-form-item label="规格 :" required prop="advice_desc">
573
                   <el-form-item label="规格 :" required prop="advice_desc">
579
                     <el-input v-model="templateForm.advice_desc"></el-input>
574
                     <el-input v-model="templateForm.advice_desc"></el-input>
580
                   </el-form-item>
575
                   </el-form-item>
581
                   <!-- <el-form-item label="药品规格 :" prop="drug_spec">
576
                   <!-- <el-form-item label="药品规格 :" prop="drug_spec">
582
-                    <el-col :span="8">
577
+                    <el-col :span="9">
583
                       <el-input v-model="templateForm.drug_spec"></el-input>
578
                       <el-input v-model="templateForm.drug_spec"></el-input>
584
                     </el-col>
579
                     </el-col>
585
-                    <el-col class="line" :span="2">&nbsp;</el-col>
580
+                    <el-col class="line" :span="1">&nbsp;</el-col>
586
                     <el-col :span="14">
581
                     <el-col :span="14">
587
                       <el-select
582
                       <el-select
588
                         v-model="templateForm.drug_spec_unit"
583
                         v-model="templateForm.drug_spec_unit"
603
                 </el-col>
598
                 </el-col>
604
                 <el-col :span="12">
599
                 <el-col :span="12">
605
                   <el-form-item label="单次用量 :" prop="single_dose">
600
                   <el-form-item label="单次用量 :" prop="single_dose">
606
-                    <el-col :span="8">
601
+                    <el-col :span="9">
607
                       <el-input v-model="templateForm.single_dose"></el-input>
602
                       <el-input v-model="templateForm.single_dose"></el-input>
608
                     </el-col>
603
                     </el-col>
609
-                    <el-col class="line" :span="2">&nbsp;</el-col>
604
+                    <el-col class="line" :span="1">&nbsp;</el-col>
610
                     <el-col :span="14">
605
                     <el-col :span="14">
611
                       <el-select
606
                       <el-select
612
                         v-model="templateForm.single_dose_unit"
607
                         v-model="templateForm.single_dose_unit"
627
                 </el-col>
622
                 </el-col>
628
                 <el-col :span="12">
623
                 <el-col :span="12">
629
                   <el-form-item label="开药数量 :" prop="prescribing_number">
624
                   <el-form-item label="开药数量 :" prop="prescribing_number">
630
-                    <el-col :span="8">
625
+                    <el-col :span="9">
631
                       <el-input v-model="templateForm.prescribing_number"></el-input>
626
                       <el-input v-model="templateForm.prescribing_number"></el-input>
632
                     </el-col>
627
                     </el-col>
633
-                    <el-col class="line" :span="2">&nbsp;</el-col>
628
+                    <el-col class="line" :span="1">&nbsp;</el-col>
634
                     <el-col :span="14">
629
                     <el-col :span="14">
635
                       <el-select
630
                       <el-select
636
                         v-model="templateForm.prescribing_number_unit"
631
                         v-model="templateForm.prescribing_number_unit"
657
                       clearable
652
                       clearable
658
                       allow-create
653
                       allow-create
659
                       placeholder="请选择(输入可搜索)"
654
                       placeholder="请选择(输入可搜索)"
660
-                      style="width:90%"
655
+                      style="width:100%"
661
                     >
656
                     >
662
                       <el-option
657
                       <el-option
663
                         v-for="item in drugways"
658
                         v-for="item in drugways"
668
                     </el-select>
663
                     </el-select>
669
                   </el-form-item>
664
                   </el-form-item>
670
                 </el-col>
665
                 </el-col>
671
-              </el-row>
672
-              <el-row>
673
-
674
                 <el-col :span="12">
666
                 <el-col :span="12">
675
                   <el-form-item label="执行频率 :" prop="execution_frequency">
667
                   <el-form-item label="执行频率 :" prop="execution_frequency">
676
                     <el-select
668
                     <el-select
679
                       allow-create
671
                       allow-create
680
                       filterable
672
                       filterable
681
                       placeholder="请选择(输入可搜索)"
673
                       placeholder="请选择(输入可搜索)"
682
-                      style="width:90%"
674
+                      style="width:100%"
683
                     >
675
                     >
684
                       <el-option
676
                       <el-option
685
                         v-for="item in executionFrequencyOptions"
677
                         v-for="item in executionFrequencyOptions"

+ 47 - 30
src/xt_pages/qcd/patientAnalysis/complication.vue 查看文件

73
       <el-row :gutter="32">
73
       <el-row :gutter="32">
74
         <el-col :xs="24" :sm="24" :lg="24">
74
         <el-col :xs="24" :sm="24" :lg="24">
75
           <div class="chart-wrapper">
75
           <div class="chart-wrapper">
76
-              <pie-chart title="" :options="CompletionOptions"/>
76
+              <!-- <pie-chart :title="peiTitle" :options="CompletionOptions"/> -->
77
+              <bar-chart :title="peiTitle" :options="CompletionOptions" />
77
           </div>
78
           </div>
78
         </el-col>
79
         </el-col>
79
       </el-row>
80
       </el-row>
90
         :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
91
         :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
91
       >
92
       >
92
         
93
         
93
-        <el-table-column  label="日期" min-width="80" property="created_time" align="center">
94
-          <template slot-scope="scope"><span>{{getTime(scope.row.created_time,'{y}-{m}-{d}')}}</span></template>
94
+        <el-table-column  label="透析日期" min-width="80" property="created_time" align="center">
95
+          <template slot-scope="scope"><span>{{getTime(scope.row.schedule_date,'{y}-{m}-{d}')}}</span></template>
95
         </el-table-column>
96
         </el-table-column>
96
-        <el-table-column  label="透析号" min-width="100" property="dialysis_no" align="center">
97
+        <el-table-column  label="透析号" min-width="100" property="patient" align="center">
98
+          <template slot-scope="scope"><span>{{scope.row.patient.dialysis_no}}</span></template>
97
         </el-table-column>
99
         </el-table-column>
98
-        <el-table-column  label="姓名" min-width="100" property="name" align="center">
100
+        <el-table-column  label="姓名" min-width="100" property="patient" align="center">
101
+          <template slot-scope="scope"><span>{{scope.row.patient.name}}</span></template>
99
         </el-table-column>
102
         </el-table-column>
100
-        <el-table-column  label="患者来源" min-width="80" property="source" align="center">
101
-          <template slot-scope="scope"><span>{{getPatientSource(scope.row.source)}}</span></template>
103
+        <el-table-column  label="性别" min-width="80" property="patient" align="center">
104
+          <template slot-scope="scope"><span>{{getPatientGender(scope.row.patient.gender)}}</span></template>
102
         </el-table-column>
105
         </el-table-column>
103
-        <el-table-column  label="归转状态" min-width="80" property="lapseto" align="center">
104
-          <template slot-scope="scope"><span>{{getPatientLapseto(scope.row.lapseto)}}</span></template>
106
+        <el-table-column  label="年龄" min-width="80" property="patient" align="center">
107
+          <template slot-scope="scope"><span>{{tranAge(scope.row.patient.birthday)}}</span></template>
108
+        </el-table-column>
109
+        <el-table-column  label="透前症状" min-width="80" property="assessment_before_dislysis" align="center">
110
+          <template slot-scope="scope"><span>{{scope.row.assessment_before_dislysis?scope.row.assessment_before_dislysis.complication:'--'}}</span></template>
111
+        </el-table-column>
112
+        <el-table-column  label="透后症状" min-width="80" property="assessment_after_dislysis" align="center">
113
+          <template slot-scope="scope"><span>{{scope.row.assessment_after_dislysis?scope.row.assessment_after_dislysis.complication:'--'}}</span></template>
105
         </el-table-column>
114
         </el-table-column>
106
         
115
         
107
       </el-table>
116
       </el-table>
126
 
135
 
127
 
136
 
128
 <script>
137
 <script>
129
-import { GetPATotalData  } from "@/api/qcd";
130
-import PieChart from '../components/PieChart'
138
+import { GetPAComplicationData  } from "@/api/qcd";
139
+import BarChart from "../components/BarChart";
131
 import {jsGetAge, uParseTime} from "@/utils/tools";
140
 import {jsGetAge, uParseTime} from "@/utils/tools";
132
 import analysisNav from './components/analysisNav'
141
 import analysisNav from './components/analysisNav'
133
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
142
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
148
         page: 1,
157
         page: 1,
149
         limit: 10,
158
         limit: 10,
150
       },
159
       },
151
-      CompletionOptions:{
152
-        legend:[],
160
+      peiTitle:'透前评估(人次)',
161
+      // CompletionOptions:{
162
+      //   legend:[],
163
+      //   series:[],
164
+      // },
165
+      CompletionOptions: {
166
+        xAxis:[],
153
         series:[],
167
         series:[],
154
       },
168
       },
155
       tableData: [],
169
       tableData: [],
190
       (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
204
       (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
191
       "-" +
205
       "-" +
192
       (nowDay < 10 ? "0" + nowDay : nowDay);
206
       (nowDay < 10 ? "0" + nowDay : nowDay);
207
+    this.listQuery.statistical_state = this.statisticalState;
193
     this.getList();
208
     this.getList();
194
   },
209
   },
195
   methods: {
210
   methods: {
196
     getList() {
211
     getList() {
197
-      GetPATotalData(this.listQuery).then(response => {
212
+      GetPAComplicationData(this.listQuery).then(response => {
198
         if (response.data.state == 0) {
213
         if (response.data.state == 0) {
199
           this.$message.error(response.data.msg);
214
           this.$message.error(response.data.msg);
200
           return false;
215
           return false;
201
         } else {
216
         } else {
202
             this.tableData = [];
217
             this.tableData = [];
203
             this.total = response.data.data.total;
218
             this.total = response.data.data.total;
204
-            var patients = response.data.data.patients;
205
-            for (const index in patients) {
206
-                this.tableData.push(patients[index]);
219
+            var complications = response.data.data.complications;
220
+            for (const index in complications) {
221
+                this.tableData.push(complications[index]);
207
             }
222
             }
208
-            var lapsetoIn = response.data.data.lapsetoIn;
209
-            var lapsetoOut = response.data.data.lapsetoOut;
223
+            
210
             this.CompletionOptions = {
224
             this.CompletionOptions = {
211
-                legend:[],
212
-                series:[],
225
+              xAxis:[],
226
+              series:[],
213
             };
227
             };
214
-            this.CompletionOptions.legend.push('留治病人');
215
-            this.CompletionOptions.series.push({
216
-                value:lapsetoIn,name:'留治病人'
217
-            });
218
-            this.CompletionOptions.legend.push('转出病人');
219
-            this.CompletionOptions.series.push({
220
-                value:lapsetoOut,name:'转出病人'
221
-            });
228
+            
229
+            var pcps = response.data.data.pcps;
230
+            for (const index in pcps) {
231
+              this.CompletionOptions.xAxis.push(pcps[index].name);
232
+              this.CompletionOptions.series.push( pcps[index].count);
233
+            }
222
         }
234
         }
223
       });
235
       });
224
     },
236
     },
242
     selectStatisticalState(state) {
254
     selectStatisticalState(state) {
243
       this.statisticalState = state;
255
       this.statisticalState = state;
244
       this.listQuery.statistical_state = state;
256
       this.listQuery.statistical_state = state;
257
+      if (state==1) {
258
+        this.peiTitle = '透前评估(人次)'
259
+      }else {
260
+        this.peiTitle = '透后评估(人次)'
261
+      }
245
       this.getList();
262
       this.getList();
246
     },
263
     },
247
     selectAge(age) {
264
     selectAge(age) {
307
   },
324
   },
308
   components: {
325
   components: {
309
       analysisNav,
326
       analysisNav,
310
-      PieChart,
327
+      BarChart,
311
       BreadCrumb
328
       BreadCrumb
312
   }
329
   }
313
 };
330
 };

+ 1 - 0
src/xt_pages/qcd/patientAnalysis/components/analysisNav.vue 查看文件

6
         <el-tab-pane label="透析龄分析" name="dialysisage"></el-tab-pane>
6
         <el-tab-pane label="透析龄分析" name="dialysisage"></el-tab-pane>
7
         <el-tab-pane label="转归分析" name="lapseto"></el-tab-pane>
7
         <el-tab-pane label="转归分析" name="lapseto"></el-tab-pane>
8
         <el-tab-pane label="并发症分析" name="complication"></el-tab-pane>
8
         <el-tab-pane label="并发症分析" name="complication"></el-tab-pane>
9
+        <el-tab-pane label="传染病分析" name="infectiousdiseases"></el-tab-pane>
9
     </el-tabs>
10
     </el-tabs>
10
 </template>
11
 </template>
11
 <script>
12
 <script>

+ 460 - 0
src/xt_pages/qcd/patientAnalysis/infectiousDiseases.vue 查看文件

1
+<template>
2
+ <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+    </div>
6
+    <div class="app-container" id="outcome-indicators-query">
7
+      <analysis-nav activeName="infectiousdiseases"></analysis-nav>
8
+
9
+      <!-- <div class="cell">
10
+        <label class="title">
11
+          <span class="name">日期查询</span> :
12
+        </label>
13
+        <el-date-picker
14
+          v-model="listQuery.start_time"
15
+          prefix-icon="el-icon-date"
16
+          @change="changeTime"
17
+          :editable="false"
18
+          style="width: 196px;"
19
+          type="date"
20
+          placeholder="选择日期时间"
21
+          align="right"
22
+          format="yyyy-MM-dd"
23
+          value-format="yyyy-MM-dd"
24
+        ></el-date-picker>
25
+        <span class>-</span>
26
+        <el-date-picker
27
+          v-model="listQuery.end_time"
28
+          prefix-icon="el-icon-date"
29
+          @change="changeTime"
30
+          :editable="false"
31
+          style="width: 196px;"
32
+          type="date"
33
+          placeholder="选择日期时间"
34
+          align="right"
35
+          format="yyyy-MM-dd"
36
+          value-format="yyyy-MM-dd"
37
+        ></el-date-picker>
38
+      </div> -->
39
+      <div class="cell clearfix">
40
+        <label class="title">
41
+          <span class="name">转归状态</span> :
42
+        </label>
43
+        <div class="time">
44
+          <ul class>
45
+            <li
46
+              :class="item.lapseto==lapsetoType?'active':''"
47
+              @click="selectLapseTo( item.lapseto)"
48
+              v-for="item in lapsetoState"
49
+              :key="item.value"
50
+            >{{item.label}}</li>
51
+          </ul>
52
+        </div>
53
+      </div>
54
+      <div class="cell clearfix">
55
+        <label class="title">
56
+          <span class="name">年龄</span> :
57
+        </label>
58
+        <div class="time">
59
+          <ul class>
60
+            <li
61
+              :class="item.age==ageType?'active':''"
62
+              @click="selectAge( item.age)"
63
+              v-for="item in ageOptions"
64
+              :key="item.value"
65
+            >{{item.label}}</li>
66
+          </ul>
67
+        </div>
68
+      </div>
69
+
70
+      <div class="cell clearfix">
71
+        <label class="title">
72
+          <span class="name">传染病</span> :
73
+        </label>
74
+        <div class="time">
75
+          <ul class>
76
+            <li
77
+              :class="item.id==contagionType?'active':''"
78
+              @click="selectContagionType( item.id)"
79
+              v-for="item in contagionList"
80
+              :key="item.id"
81
+            >{{item.name}}</li>
82
+          </ul>
83
+        </div>
84
+      </div>
85
+
86
+      <h4 class="hui">统计图</h4>
87
+      <hr class="huixiao">
88
+      <el-row :gutter="32">
89
+        <el-col :xs="24" :sm="24" :lg="8">
90
+          <div class="chart-wrapper">
91
+             &nbsp;
92
+          </div>
93
+        </el-col>
94
+        <el-col :xs="24" :sm="24" :lg="8">
95
+          <div class="chart-wrapper">
96
+              <!-- <pie-chart :title="peiTitle" :options="CompletionOptions"/> -->
97
+              <bar-chart :title="peiTitle" :options="CompletionOptions" />
98
+          </div>
99
+        </el-col>
100
+        <el-col :xs="24" :sm="24" :lg="8">
101
+          <div class="chart-wrapper">
102
+             &nbsp;
103
+          </div>
104
+        </el-col>
105
+      </el-row>
106
+
107
+      <h4 class="hui">统计表</h4>
108
+      <hr class="huixiao">
109
+      <el-table
110
+        ref="multipleTable"
111
+        :data="tableData"
112
+        border
113
+        fit
114
+        highlight-current-row
115
+        style="width: 100%;margin-top: 10px;"
116
+        :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
117
+      >
118
+        
119
+        <el-table-column  label="透析号" min-width="100" property="dialysis_no" align="center">
120
+        </el-table-column>
121
+        <el-table-column  label="患者姓名" min-width="100" property="name" align="center">
122
+        </el-table-column>
123
+        <el-table-column  label="性别" min-width="80" property="gender" align="center">
124
+          <template slot-scope="scope"><span>{{getPatientGender(scope.row.gender)}}</span></template>
125
+        </el-table-column>
126
+        <el-table-column  label="年龄" min-width="80" property="birthday" align="center">
127
+          <template slot-scope="scope"><span>{{tranAge(scope.row.birthday)}}</span></template>
128
+        </el-table-column>
129
+        <el-table-column  label="归转状态" min-width="80" property="lapseto" align="center">
130
+          <template slot-scope="scope"><span>{{getPatientLapseto(scope.row.lapseto)}}</span></template>
131
+        </el-table-column>
132
+        <el-table-column  label="传染病" min-width="80" property="lapseto" align="center">
133
+          <template slot-scope="scope"><span>{{getPatientInfectiousDiseases(scope.row.contagions)}}</span></template>
134
+        </el-table-column>
135
+        
136
+      </el-table>
137
+
138
+      <!-- <pagi-nation title="分页"></pagi-nation> -->
139
+
140
+      <el-pagination
141
+      align="right"
142
+        @size-change="handleSizeChange"
143
+        @current-change="handleCurrentChange"
144
+        :current-page="listQuery.pate"
145
+        :page-sizes="[10, 20, 50, 100]"
146
+        :page-size="10"
147
+        background
148
+        style="margin-top:20px;"
149
+        layout="total, sizes, prev, pager, next, jumper"
150
+        :total="total"
151
+      ></el-pagination>
152
+    </div>
153
+  </div>
154
+</template>
155
+
156
+
157
+<script>
158
+import { GetPAInfectiousDiseasesData  } from "@/api/qcd";
159
+import BarChart from "../components/BarChart";
160
+import {jsGetAge, uParseTime} from "@/utils/tools";
161
+import analysisNav from './components/analysisNav'
162
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
163
+export default {
164
+  name: "totalAnalysis",
165
+  data() {
166
+    return {
167
+      crumbs:[
168
+        {path:false, name:'科室质控'},
169
+        {path:false, name:'患者分析'},
170
+        {path:false, name:'并发症分析'},
171
+      ],
172
+      total: 0,
173
+      patientMap:{},
174
+      listQuery: {
175
+        start_time: "",
176
+        end_time: "",
177
+        page: 1,
178
+        limit: 10,
179
+      },
180
+      peiTitle:'传染病(人)',
181
+      // CompletionOptions:{
182
+      //   legend:[],
183
+      //   series:[],
184
+      // },
185
+      CompletionOptions: {
186
+        xAxis:[],
187
+        series:[],
188
+      },
189
+      tableData: [],
190
+      lapsetoType: 0,
191
+      lapsetoState: [
192
+        { value: 0, label: "全部", source: 0, lapseto: 0 },
193
+        { value: 1, label: "转出", source: 0, lapseto: 2 },
194
+        { value: 2, label: "留治", source: 0, lapseto: 1 }
195
+      ],
196
+      ageType: 0,
197
+      ageOptions: [
198
+        { value: 0, label: "全部", age: 0 },
199
+        { value: 1, label: "20~30", age: 1 },
200
+        { value: 2, label: "30~40", age: 2 },
201
+        { value: 3, label: "40~50", age: 3 },
202
+        { value: 4, label: "其他", age: 4 },
203
+      ],
204
+      contagionType: 0,
205
+      contagionList:[
206
+        { id: 0, name: "全部",  },
207
+      ],
208
+      contagionMap:{},
209
+    };
210
+  },
211
+  created() {
212
+    var contagionList = this.$store.getters.contagions;
213
+    for (const index in contagionList) {
214
+      if(contagionList[index].type==2) {
215
+        this.contagionList.push(contagionList[index]);
216
+        this.contagionMap[contagionList[index].id] = contagionList[index].name;
217
+      }
218
+    }
219
+    
220
+    // var nowDate = new Date();
221
+    // var nowYear = nowDate.getFullYear();
222
+    // var nowMonth = nowDate.getMonth() + 1;
223
+    // var nowDay = nowDate.getDate();
224
+    // this.listQuery.end_time =
225
+    //   nowYear +
226
+    //   "-" +
227
+    //   (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
228
+    //   "-" +
229
+    //   (nowDay < 10 ? "0" + nowDay : nowDay);
230
+    // nowDate.setMonth(nowDate.getMonth() - 3);
231
+    // nowYear = nowDate.getFullYear();
232
+    // nowMonth = nowDate.getMonth() + 1;
233
+    // nowDay = nowDate.getDate();
234
+    // this.listQuery.start_time =
235
+    //   nowYear +
236
+    //   "-" +
237
+    //   (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
238
+    //   "-" +
239
+    //   (nowDay < 10 ? "0" + nowDay : nowDay);
240
+    this.getList();
241
+  },
242
+  methods: {
243
+    getList() {
244
+      GetPAInfectiousDiseasesData(this.listQuery).then(response => {
245
+        if (response.data.state == 0) {
246
+          this.$message.error(response.data.msg);
247
+          return false;
248
+        } else {
249
+            this.tableData = [];
250
+            this.total = response.data.data.total;
251
+            var patients = response.data.data.patients;
252
+            for (const index in patients) {
253
+                this.tableData.push(patients[index]);
254
+            }
255
+            
256
+            this.CompletionOptions = {
257
+              xAxis:[],
258
+              series:[],
259
+            };
260
+            
261
+            var dsp = response.data.data.dsp;
262
+            var dspMap = {};
263
+            for (const index in dsp) {
264
+              dspMap[dsp[index].diseases] = dsp[index].count;
265
+            }
266
+            
267
+            for (const key in this.contagionMap) {
268
+              this.CompletionOptions.xAxis.push(this.contagionMap[key]);
269
+              if (key in dspMap) {
270
+                this.CompletionOptions.series.push(dspMap[key]);
271
+              }else {
272
+                this.CompletionOptions.series.push(0);
273
+              }
274
+            }
275
+        }
276
+      });
277
+    },
278
+    changeTime() {
279
+      this.getList();
280
+    },
281
+    onSearch(){
282
+      this.getList();
283
+    },
284
+    changeModel() {
285
+      this.getList();
286
+    },
287
+    handleSizeChange(val) {
288
+      this.listQuery.limit = val;
289
+      this.getList();
290
+    },
291
+    handleCurrentChange(val) {
292
+      this.listQuery.page = val;
293
+      this.getList();
294
+    },
295
+    selectAge(age) {
296
+      this.ageType = age;
297
+      this.listQuery.age = age;
298
+      this.getList();
299
+    },
300
+    selectLapseTo(lapseto) {
301
+      this.lapsetoType = lapseto;
302
+      this.listQuery.lapseto = lapseto;
303
+      this.getList();
304
+    },
305
+    selectContagionType(type) {
306
+      this.contagionType = type;
307
+      this.listQuery.contagion_type = type;
308
+      this.getList();
309
+    },
310
+    getTime(value, temp) {
311
+        if (value != undefined) {
312
+          return uParseTime(value, temp)
313
+        }
314
+        return ""
315
+    },
316
+    getProjectName(id) {
317
+      return (id in this.projectOptions) ? this.projectOptions[id].project_name:'';
318
+    },
319
+    getPatientName(id) {
320
+      return (id in this.patientMap) ? this.patientMap[id].name:'';
321
+    },
322
+    getPatientLapseto(lapseto) {
323
+      if(lapseto==1) {
324
+        return '留治';
325
+      }else if(lapseto == 2) {
326
+        return '转出';
327
+      }
328
+      return '--';
329
+    },
330
+    getPatientInfectiousDiseases(cs) {
331
+      if (typeof(cs) == 'undefined') {
332
+        return '';
333
+      }
334
+      var arr = [];
335
+      var s = ''
336
+      for (const key in cs) {
337
+        console.log('const key in cs', cs[key]);
338
+        if (typeof(cs[key].disease_id) == "undefined") {
339
+          continue;
340
+        }
341
+        var id = cs[key].disease_id;
342
+        if(id in this.contagionMap) {
343
+          arr.push(this.contagionMap[id]);
344
+        }
345
+        s = arr.join(',');
346
+      }
347
+      return s;
348
+    },
349
+    getPatientSource(srouce){
350
+      if(srouce==1) {
351
+        return '门诊';
352
+      }else if(srouce == 2) {
353
+        return '住院';
354
+      }
355
+      return '其他';
356
+    },
357
+    getPatientGender(gender) {
358
+      if (gender == 1) {
359
+        return '男';
360
+      } else if(gender == 2) {
361
+        return '女';
362
+      }
363
+      return '';
364
+    },
365
+    tranAge(birthday) {
366
+        var birth = uParseTime(birthday, '{y}-{m}-{d}');
367
+        return jsGetAge(birth, '-');
368
+    },
369
+    getPatientDialysisNo(id) {
370
+      return (id in this.patientMap) ? this.patientMap[id].dialysis_no:'';
371
+    },
372
+    getItemVulue(project_id, item_id, row) {
373
+        var key = project_id + '_' + item_id;
374
+        return (typeof(row.items) !== 'undefined' && (key in row.items)) ? row.items[key].inspect_value:'';
375
+    },
376
+    renderheader(h, { column, $index }) {
377
+        return h('span', {}, [
378
+            h('span', {}, column.label.split('//')[0]),
379
+            h('br'),
380
+            h('span', {}, column.label.split('//')[1])
381
+        ])
382
+    },
383
+  },
384
+  components: {
385
+      analysisNav,
386
+      BarChart,
387
+      BreadCrumb
388
+  }
389
+};
390
+</script>
391
+<style>
392
+#oictable ::-webkit-scrollbar {
393
+  height: 15px;
394
+}
395
+#outcome-indicators-query .el-form-item {
396
+    margin-bottom: 0px !important;
397
+}
398
+</style>
399
+
400
+
401
+<style rel="stylesheet/scss" lang="scss" scoped>
402
+.app-container {
403
+//   margin: 20px;
404
+  font-size: 15px;
405
+  .filter-container {
406
+    padding-bottom: 5px;
407
+  }
408
+  .hui {
409
+    color: #909399;
410
+    margin-bottom: 5px;
411
+  }
412
+  .huixiao {
413
+    border: solid 1px #ebeef5;
414
+  }
415
+  .search-component {
416
+    width: 500px;
417
+    .searchBox {
418
+      width: 300px;
419
+      height: 36px;
420
+      line-height: 36px;
421
+      padding-left: 15px;
422
+      border: 1px #dcdfe6 solid;
423
+      border-right: none;
424
+      outline: none;
425
+      float: left;
426
+      border-radius: 6px 0 0 6px;
427
+      font-size: 14px;
428
+      color: #333;
429
+      background: #fff;
430
+      box-shadow: 3px 3px 4px rgba(135, 135, 135, 0.05);
431
+    }
432
+    .searchBtn {
433
+      background-color: #409eff;
434
+      color: #fff;
435
+      font-size: 15px;
436
+      text-align: center;
437
+      height: 36px;
438
+      line-height: 36px;
439
+      float: left;
440
+      outline: none;
441
+      width: 70px;
442
+      border: none;
443
+      border-radius: 0 6px 6px 0;
444
+      font-family: "Microsoft Yahei";
445
+      cursor: pointer;
446
+    }
447
+  }
448
+  .amount {
449
+    font-weight: normal;
450
+    padding: 10px 0 0 0;
451
+    color: #606266;
452
+    font-size: 14px;
453
+    span {
454
+      color: #ef2525;
455
+      font-family: "Arial";
456
+      padding: 0 2px;
457
+    }
458
+  }
459
+}
460
+</style>

+ 10 - 0
src/xt_pages/qcd/patientAnalysis/lapseto.vue 查看文件

118
         <el-table-column  label="归转状态" min-width="80" property="lapseto" align="center">
118
         <el-table-column  label="归转状态" min-width="80" property="lapseto" align="center">
119
           <template slot-scope="scope"><span>{{getPatientLapseto(scope.row.lapseto)}}</span></template>
119
           <template slot-scope="scope"><span>{{getPatientLapseto(scope.row.lapseto)}}</span></template>
120
         </el-table-column>
120
         </el-table-column>
121
+        <el-table-column  label="统计" min-width="80" property="id" align="center">
122
+          <template slot-scope="scope">
123
+            <el-tooltip class="item" effect="dark" content="统计" placement="top">
124
+              <el-button type="primary" icon="el-icon-share" size="small" @click="OpenPage(scope.row.id)"></el-button>
125
+            </el-tooltip>
126
+          </template>
127
+        </el-table-column>
121
         
128
         
122
       </el-table>
129
       </el-table>
123
 
130
 
216
     this.getList();
223
     this.getList();
217
   },
224
   },
218
   methods: {
225
   methods: {
226
+    OpenPage(id) {
227
+      this.$router.push({ path: "/qcd/pa/person/lapseto?id="+id });
228
+    },
219
     getList() {
229
     getList() {
220
       GetPATotalData(this.listQuery).then(response => {
230
       GetPATotalData(this.listQuery).then(response => {
221
         if (response.data.state == 0) {
231
         if (response.data.state == 0) {

+ 67 - 0
src/xt_pages/qcd/patientAnalysis/person/components/personInfo.vue 查看文件

1
+<template>
2
+    <div class="patient-info-container ">
3
+      <span class="patient-info">姓名:{{patientInfo.name}} &nbsp;&nbsp; 性别:{{tranSex(patientInfo.gender)}} &nbsp;&nbsp; 年龄:{{tranAge(patientInfo.birthday)}} &nbsp;&nbsp; 透析号:{{patientInfo.dialysis_no}} </span>
4
+    </div>
5
+</template>
6
+
7
+<script>
8
+import {jsGetAge, uParseTime} from "@/utils/tools";
9
+export default {
10
+    name:'persionInfo',
11
+    data(){
12
+        return {
13
+            patientInfo:{
14
+                name:'',
15
+                gender:0,
16
+                birthday:0,
17
+                dialysis_no:'',
18
+            },
19
+        }
20
+    },
21
+    props:{
22
+        patient:{
23
+            type:Object,
24
+            default: function () {
25
+                return {};
26
+            }
27
+        }
28
+    },
29
+    created(){
30
+        // this.patientInfo = this.patient;
31
+    },
32
+    watch:{
33
+        "patient":function(){
34
+            if (typeof(this.patient.id) != 'undefined') {
35
+                this.patientInfo = this.patient;
36
+            }
37
+        }
38
+    },
39
+    methods:{
40
+      tranAge(birthday) {
41
+        var birth = uParseTime(birthday, '{y}-{m}-{d}');
42
+        return jsGetAge(birth, '-');
43
+      },
44
+      tranSex(gender) {
45
+        var sex = "未知";
46
+        switch (gender) {
47
+          case 1:
48
+            sex = "男"
49
+            break;
50
+          case 2:
51
+            sex = "女"
52
+            break;
53
+          default:
54
+            break;
55
+        }
56
+        return sex;
57
+      }
58
+    },
59
+}
60
+</script>
61
+<style scoped>
62
+.patient-info-container .patient-info {
63
+    font-size: 20px;
64
+    font-weight: bold;
65
+}
66
+</style>
67
+

+ 29 - 0
src/xt_pages/qcd/patientAnalysis/person/components/personNav.vue 查看文件

1
+<template>
2
+    <el-tabs v-model="tabActiveName" @tab-click="handleTabClick">
3
+        <el-tab-pane label="转归" name="lapseto"></el-tab-pane>
4
+    </el-tabs>
5
+</template>
6
+<script>
7
+export default {
8
+    props:{
9
+        activeName:{
10
+            type:String,
11
+            default: 'total'
12
+        }
13
+    },
14
+    data(){
15
+        return{
16
+            tabActiveName:'total',
17
+        }
18
+    }, 
19
+    methods:{
20
+        handleTabClick(tab, event) {
21
+            this.$router.push({ path: "/qcd/patientanalysis/"+this.tabActiveName });
22
+        }
23
+    },
24
+    created(){
25
+        this.tabActiveName = this.activeName
26
+    },
27
+}
28
+</script>
29
+

+ 258 - 0
src/xt_pages/qcd/patientAnalysis/person/lapseto.vue 查看文件

1
+<template>
2
+ <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+    </div>
6
+    <div class="app-container" id="outcome-indicators-query">
7
+      <person-info :patient="patientInfo"></person-info>
8
+      <person-nav activeName="lapseto"></person-nav>
9
+
10
+      <h4 class="hui">统计表</h4>
11
+      <hr class="huixiao">
12
+      <el-table
13
+        ref="multipleTable"
14
+        :data="tableData"
15
+        border
16
+        fit
17
+        highlight-current-row
18
+        style="width: 100%;margin-top: 10px;"
19
+        :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
20
+      >
21
+        
22
+        <el-table-column  label="时间" min-width="80" property="lapseto_time" align="center">
23
+          <template slot-scope="scope"><span>{{getTime(scope.row.lapseto_time,'{y}-{m}-{d} {h}:{i}')}}</span></template>
24
+        </el-table-column>
25
+        <el-table-column  label="归转状态" min-width="80" property="lapseto_type" align="center">
26
+          <template slot-scope="scope"><span>{{getPatientLapseto(scope.row.lapseto_type)}}</span></template>
27
+        </el-table-column>
28
+        
29
+      </el-table>
30
+
31
+      <!-- <pagi-nation title="分页"></pagi-nation> -->
32
+
33
+      <el-pagination
34
+      align="right"
35
+        @size-change="handleSizeChange"
36
+        @current-change="handleCurrentChange"
37
+        :current-page="listQuery.pate"
38
+        :page-sizes="[10, 20, 50, 100]"
39
+        :page-size="10"
40
+        background
41
+        style="margin-top:20px;"
42
+        layout="total, sizes, prev, pager, next, jumper"
43
+        :total="total"
44
+      ></el-pagination>
45
+    </div>
46
+  </div>
47
+</template>
48
+
49
+
50
+<script>
51
+import { GetPersonLapsetoData  } from "@/api/qcd";
52
+import {jsGetAge, uParseTime} from "@/utils/tools";
53
+import personNav from './components/personNav'
54
+import personInfo from './components/personInfo'
55
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
56
+export default {
57
+  name: "totalAnalysis",
58
+  data() {
59
+    return {
60
+      crumbs:[
61
+        {path:false, name:'科室质控'},
62
+        {path:false, name:'患者分析'},
63
+        {path:false, name:'统计'},
64
+        {path:false, name:'转归'},
65
+      ],
66
+      total: 0,
67
+      patientMap:{},
68
+      listQuery: {
69
+        page: 1,
70
+        limit: 10,
71
+      },
72
+      CompletionOptions:{
73
+        legend:[],
74
+        series:[],
75
+      },
76
+      tableData: [],
77
+      patientInfo:null,
78
+      patientID:0,
79
+    };
80
+  },
81
+  created() {
82
+    var patientID = this.$route.query && this.$route.query.id
83
+    console.log(this.patientID);
84
+    if(typeof(patientID) == 'undefined' || !patientID || patientID<=0) {
85
+      this.$message.error('参数错误,无法请求');
86
+      return false;
87
+    }
88
+    this.patientID = patientID;
89
+    this.listQuery.patient_id = patientID;
90
+    // if (this.patientID==0)
91
+    this.getList();
92
+  },
93
+  methods: {
94
+    getList() {
95
+      GetPersonLapsetoData(this.listQuery).then(response => {
96
+        if (response.data.state == 0) {
97
+          this.$message.error(response.data.msg);
98
+          return false;
99
+        } else {
100
+            this.tableData = [];
101
+            this.total = response.data.data.total;
102
+            this.patientInfo = response.data.data.patient;
103
+            var lapsetos = response.data.data.lapsetos;
104
+            for (const index in lapsetos) {
105
+                this.tableData.push(lapsetos[index]);
106
+            }
107
+        }
108
+      });
109
+    },
110
+    changeTime() {
111
+      this.getList();
112
+    },
113
+    onSearch(){
114
+      this.getList();
115
+    },
116
+    changeModel() {
117
+      this.getList();
118
+    },
119
+    handleSizeChange(val) {
120
+      this.listQuery.limit = val;
121
+      this.getList();
122
+    },
123
+    handleCurrentChange(val) {
124
+      this.listQuery.page = val;
125
+      this.getList();
126
+    },
127
+    getTime(value, temp) {
128
+        if (value != undefined) {
129
+          return uParseTime(value, temp)
130
+        }
131
+        return ""
132
+    },
133
+    getProjectName(id) {
134
+      return (id in this.projectOptions) ? this.projectOptions[id].project_name:'';
135
+    },
136
+    getPatientName(id) {
137
+      return (id in this.patientMap) ? this.patientMap[id].name:'';
138
+    },
139
+    getPatientLapseto(lapseto) {
140
+      if(lapseto==1) {
141
+        return '留治';
142
+      }else if(lapseto == 2) {
143
+        return '转出';
144
+      }
145
+      return '--';
146
+    },
147
+    getPatientSource(srouce){
148
+      if(srouce==1) {
149
+        return '门诊';
150
+      }else if(srouce == 2) {
151
+        return '住院';
152
+      }
153
+      return '其他';
154
+    },
155
+    getPatientGender(gender) {
156
+      if (gender == 1) {
157
+        return '男';
158
+      } else if(gender == 2) {
159
+        return '女';
160
+      }
161
+      return '';
162
+    },
163
+    tranAge(birthday) {
164
+        var birth = uParseTime(birthday, '{y}-{m}-{d}');
165
+        return jsGetAge(birth, '-');
166
+    },
167
+    getPatientDialysisNo(id) {
168
+      return (id in this.patientMap) ? this.patientMap[id].dialysis_no:'';
169
+    },
170
+    getItemVulue(project_id, item_id, row) {
171
+        var key = project_id + '_' + item_id;
172
+        return (typeof(row.items) !== 'undefined' && (key in row.items)) ? row.items[key].inspect_value:'';
173
+    },
174
+    renderheader(h, { column, $index }) {
175
+        return h('span', {}, [
176
+            h('span', {}, column.label.split('//')[0]),
177
+            h('br'),
178
+            h('span', {}, column.label.split('//')[1])
179
+        ])
180
+    },
181
+  },
182
+  components: {
183
+      personNav,
184
+      BreadCrumb,
185
+      personInfo
186
+  }
187
+};
188
+</script>
189
+<style>
190
+#oictable ::-webkit-scrollbar {
191
+  height: 15px;
192
+}
193
+#outcome-indicators-query .el-form-item {
194
+    margin-bottom: 0px !important;
195
+}
196
+</style>
197
+
198
+
199
+<style rel="stylesheet/scss" lang="scss" scoped>
200
+.app-container {
201
+//   margin: 20px;
202
+  font-size: 15px;
203
+  .filter-container {
204
+    padding-bottom: 5px;
205
+  }
206
+  .hui {
207
+    color: #909399;
208
+    margin-bottom: 5px;
209
+  }
210
+  .huixiao {
211
+    border: solid 1px #ebeef5;
212
+  }
213
+  .search-component {
214
+    width: 500px;
215
+    .searchBox {
216
+      width: 300px;
217
+      height: 36px;
218
+      line-height: 36px;
219
+      padding-left: 15px;
220
+      border: 1px #dcdfe6 solid;
221
+      border-right: none;
222
+      outline: none;
223
+      float: left;
224
+      border-radius: 6px 0 0 6px;
225
+      font-size: 14px;
226
+      color: #333;
227
+      background: #fff;
228
+      box-shadow: 3px 3px 4px rgba(135, 135, 135, 0.05);
229
+    }
230
+    .searchBtn {
231
+      background-color: #409eff;
232
+      color: #fff;
233
+      font-size: 15px;
234
+      text-align: center;
235
+      height: 36px;
236
+      line-height: 36px;
237
+      float: left;
238
+      outline: none;
239
+      width: 70px;
240
+      border: none;
241
+      border-radius: 0 6px 6px 0;
242
+      font-family: "Microsoft Yahei";
243
+      cursor: pointer;
244
+    }
245
+  }
246
+  .amount {
247
+    font-weight: normal;
248
+    padding: 10px 0 0 0;
249
+    color: #606266;
250
+    font-size: 14px;
251
+    span {
252
+      color: #ef2525;
253
+      font-family: "Arial";
254
+      padding: 0 2px;
255
+    }
256
+  }
257
+}
258
+</style>

+ 13 - 1
src/xt_pages/sign/index.vue 查看文件

1
 <template>
1
 <template>
2
+
3
+    <div class="main-contain">
4
+    <div class="position">
5
+        <bread-crumb :crumbs='crumbs'></bread-crumb>
6
+    </div>
2
     <div class="app-container sign-and-weigh-box">
7
     <div class="app-container sign-and-weigh-box">
3
         <el-row :gutter="20">
8
         <el-row :gutter="20">
4
             <el-col :span="7">
9
             <el-col :span="7">
134
                 </el-form>
139
                 </el-form>
135
             </el-col>
140
             </el-col>
136
         </el-row>
141
         </el-row>
137
-    </div>
142
+    </div>   
143
+   </div>
138
 </template>
144
 </template>
139
 
145
 
140
 <script>
146
 <script>
141
 import { fetchSignPatients, getPatientSign, SignWeigh, getDialysisInforInfomation, getDialysisAfterInfomation, createdata, editdata } from '@/api/signandweigh'
147
 import { fetchSignPatients, getPatientSign, SignWeigh, getDialysisInforInfomation, getDialysisAfterInfomation, createdata, editdata } from '@/api/signandweigh'
148
+import BreadCrumb from '../components/bread-crumb'
142
 export default {
149
 export default {
143
   name: 'sign',
150
   name: 'sign',
151
+  components: { BreadCrumb },
144
   data() {
152
   data() {
145
     return {
153
     return {
154
+      crumbs: [
155
+          { path: false, name: '签到称重' },
156
+          { path: '/sign/index', name: '签到称重' }
157
+        ],
146
       patientlist: [],
158
       patientlist: [],
147
       signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
159
       signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
148
       queryParams: {
160
       queryParams: {

+ 1 - 0
src/xt_pages/user/components/PatientDetail.vue 查看文件

1062
     },
1062
     },
1063
 
1063
 
1064
     qrcode(patientID, name, gender, idCardNo, dialysisNo, phone, healthCareNo) {
1064
     qrcode(patientID, name, gender, idCardNo, dialysisNo, phone, healthCareNo) {
1065
+      document.getElementById("qrcode").innerHTML = "";
1065
       new QRCode('qrcode', {
1066
       new QRCode('qrcode', {
1066
         width: 200,
1067
         width: 200,
1067
         height: 200,
1068
         height: 200,

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

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