Browse Source

统计配置开发

XMLWAN 4 years ago
parent
commit
afb2b44bdf

+ 39 - 0
src/api/common/common.js View File

279
     params: params
279
     params: params
280
   })
280
   })
281
 }
281
 }
282
+
283
+export function getInspectionTotalCount(startime, endtime) {
284
+  const params = {
285
+    startime: startime,
286
+    endtime: endtime
287
+  }
288
+  return request({
289
+    url: '/com/api/getinspectiontotalcount',
290
+    method: 'get',
291
+    params: params
292
+  })
293
+}
294
+
295
+export function getInspectionDetailById(id, startime, endtime) {
296
+  const params = {
297
+    id: id,
298
+    startime: startime,
299
+    endtime: endtime
300
+  }
301
+  console.log('startime', params)
302
+  return request({
303
+    url: '/com/api/getinspectionDetailById',
304
+    method: 'get',
305
+    params: params
306
+  })
307
+}
308
+
309
+export function getSearchPatientInfo(keyword, startime, endtime) {
310
+  const params = {
311
+    keyword: keyword,
312
+    startime: startime,
313
+    endtime: endtime
314
+  }
315
+  return request({
316
+    url: '/com/api/getsearchpatientinfo',
317
+    method: 'get',
318
+    params: params
319
+  })
320
+}

+ 99 - 75
src/xt_pages/qcd/treatmentControlAnalysis/components/CheckPersonal.vue View File

21
         align="right"
21
         align="right"
22
         format="yyyy-MM-dd"
22
         format="yyyy-MM-dd"
23
         value-format="yyyy-MM-dd"
23
         value-format="yyyy-MM-dd"
24
+        :picker-options="pickerOptions"
24
       ></el-date-picker>
25
       ></el-date-picker>
25
       <span class>-</span>
26
       <span class>-</span>
26
       <el-date-picker
27
       <el-date-picker
34
         align="right"
35
         align="right"
35
         format="yyyy-MM-dd"
36
         format="yyyy-MM-dd"
36
         value-format="yyyy-MM-dd"
37
         value-format="yyyy-MM-dd"
38
+        :picker-options="pickerOptions"
37
       ></el-date-picker>
39
       ></el-date-picker>
38
     </div>
40
     </div>
39
     <el-container>
41
     <el-container>
40
       <div style="width:150px">
42
       <div style="width:150px">
41
         <div class="tableTitle">患者列表</div>
43
         <div class="tableTitle">患者列表</div>
42
-        <el-table :data="patientsData" border style="width: 100%;" height="500" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}">
44
+        <el-table :data="patientsData" border style="width: 100%;" 
45
+          height="500" :row-style="{ color: '#303133' }" 
46
+          :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
47
+          highlight-current-row
48
+          @current-change="handleChange"
49
+          >
43
            <el-table-column prop="dialysis_no" label="透析号" width="80">
50
            <el-table-column prop="dialysis_no" label="透析号" width="80">
44
             <template slot-scope="scope">{{scope.row.dialysis_no}}</template>
51
             <template slot-scope="scope">{{scope.row.dialysis_no}}</template>
45
           </el-table-column>
52
           </el-table-column>
62
 <script>
69
 <script>
63
 import echarts from "echarts";
70
 import echarts from "echarts";
64
 import LineChart from "../../components/LineChart";
71
 import LineChart from "../../components/LineChart";
65
-import { getCurrentOrgPatients } from "@/api/common/common";
72
+import { getCurrentOrgPatients,getInspectionTotalCount,getInspectionDetailById,getSearchPatientInfo } from "@/api/common/common";
66
 export default {
73
 export default {
67
   components: {
74
   components: {
68
     LineChart
75
     LineChart
75
         page: 1,
82
         page: 1,
76
         limit: 10
83
         limit: 10
77
       },
84
       },
78
-      options: [
79
-        {
80
-          value: "选项1",
81
-          label: "黄金糕"
82
-        },
83
-        {
84
-          value: "选项2",
85
-          label: "双皮奶"
86
-        },
87
-        {
88
-          value: "选项3",
89
-          label: "蚵仔煎"
90
-        },
91
-        {
92
-          value: "选项4",
93
-          label: "龙须面"
94
-        },
95
-        {
96
-          value: "选项5",
97
-          label: "北京烤鸭"
98
-        }
99
-      ],
100
       value: "请选项",
85
       value: "请选项",
101
-      tableData: [
102
-        {
103
-          date: "2016",
104
-          name: "王小虎"
105
-        },
106
-        {
107
-          date: "2016",
108
-          name: "王小虎"
109
-        },
110
-        {
111
-          date: "2016",
112
-          name: "王小虎"
113
-        },
114
-        {
115
-          date: "2016",
116
-          name: "王小虎"
117
-        },
118
-        {
119
-          date: "2016",
120
-          name: "王小虎"
121
-        },
122
-        {
123
-          date: "2016",
124
-          name: "王小虎"
125
-        },
126
-        {
127
-          date: "2016",
128
-          name: "王小虎"
129
-        },
130
-        {
131
-          date: "2016",
132
-          name: "王小虎"
133
-        },
134
-        {
135
-          date: "2016",
136
-          name: "王小虎"
137
-        },
138
-        {
139
-          date: "2016",
140
-          name: "王小虎"
141
-        },
142
-        {
143
-          date: "2016",
144
-          name: "王小虎"
145
-        },
146
-        {
147
-          date: "2016",
148
-          name: "王小虎"
149
-        }
150
-      ],
151
       patientsData:[],
86
       patientsData:[],
87
+      tableData:[],
152
       chart: {
88
       chart: {
153
         title: {
89
         title: {
154
           text: "ECharts 入门示例"
90
           text: "ECharts 入门示例"
234
             }
170
             }
235
           }
171
           }
236
         ]
172
         ]
237
-      }
173
+      },
174
+      pickerOptions: {
175
+        disabledDate(time) {
176
+          let threeMonths = new Date(new Date().setFullYear(new Date().getFullYear()-1)).getTime() - 24 * 3600 * 1000;
177
+          return time.getTime() > Date.now() || time.getTime() < threeMonths;;
178
+        }
179
+      }, 
238
     };
180
     };
239
   },
181
   },
240
   methods: {
182
   methods: {
253
          var patients = response.data.data.patients
195
          var patients = response.data.data.patients
254
          this.patientsData = patients
196
          this.patientsData = patients
255
       })
197
       })
198
+    },
199
+    getInspectionTotalCount(){
200
+      getInspectionTotalCount(this.listQuery.start_time,this.listQuery.end_time).then(response=>{
201
+          if(response.data.state === 1){
202
+            var Inspection = response.data.data.Inspection
203
+            this.tableData = Inspection
204
+            console.log("Inspection",Inspection)
205
+            var counts = response.data.data.counts
206
+            console.log("counts",counts)
207
+            var arr = []
208
+            for(let i=0;i<Inspection.length;i++){
209
+               for(let j=0;j<counts.length;j++){
210
+                 if(Inspection[i].inspection_major == counts[j].ProjectId){
211
+                   arr.push(counts[j])
212
+                 }
213
+               }
214
+            }
215
+            console.log("arr",arr)
216
+            
217
+          }
218
+      })
219
+    },
220
+
221
+    //获取单个病人数据
222
+    handleChange(val){
223
+       getInspectionDetailById(val.id,this.listQuery.start_time,this.listQuery.end_time).then(response=>{
224
+          if(response.data.state === 1){
225
+            var patientdetail = response.data.data.patientdetail
226
+            console.log("patientdetail",patientdetail)
227
+            var arr=[]
228
+            for(let i=0;i<this.tableData.length;i++){
229
+              for(let j=0;j<patientdetail.length;j++){
230
+                 if(this.tableData[i].inspection_major == patientdetail[j].ProjectId){
231
+                    arr.push(patientdetail[j])
232
+                 }
233
+              }
234
+            }
235
+            console.log("arr",arr)
236
+          }
237
+       })
238
+    },
239
+
240
+    //搜索功能
241
+    onSearch(){
242
+      getSearchPatientInfo(this.listQuery.search,this.listQuery.start_time,this.listQuery.end_time).then(response=>{
243
+         if(response.data.state  === 1){
244
+           var PatientsInfo = response.data.data.PatientsInfo
245
+           console.log("PatientsInfo",PatientsInfo)
246
+           var arr = []
247
+           for(let i=0;i<this.tableData.length;i++){
248
+             for(let j=0;j<PatientsInfo.length;j++){
249
+                 if(this.tableData[i].inspection_major == PatientsInfo[j].ProjectId){
250
+                    arr.push(PatientsInfo[j])
251
+                 }
252
+             }
253
+           }
254
+           console.log("arr",arr)
255
+         }
256
+      })
256
     }
257
     }
257
   },
258
   },
258
   created(){
259
   created(){
260
+    var nowDate = new Date();
261
+    var nowYear = nowDate.getFullYear();
262
+    var nowMonth = nowDate.getMonth() + 1;
263
+    var nowDay = nowDate.getDate();
264
+    this.listQuery.end_time =
265
+      nowYear +
266
+      "-" +
267
+      (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
268
+      "-" +
269
+      (nowDay < 10 ? "0" + nowDay : nowDay);
270
+    nowDate.setMonth(nowDate.getMonth() - 3);
271
+    nowYear = nowDate.getFullYear();
272
+    nowMonth = nowDate.getMonth() + 1;
273
+    nowDay = nowDate.getDate();
274
+    this.listQuery.start_time =
275
+      nowYear +
276
+      "-" +
277
+      (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
278
+      "-" +
279
+      (nowDay < 10 ? "0" + nowDay : nowDay);
280
+
259
    //获取该机构下的所有患者
281
    //获取该机构下的所有患者
260
      this.getCurrentOrgPatients()
282
      this.getCurrentOrgPatients()
283
+   //获取检验检查项目
284
+    this.getInspectionTotalCount()
261
   }
285
   }
262
 };
286
 };
263
 </script>
287
 </script>

+ 2 - 0
src/xt_pages/user/inspection.vue View File

619
         .then(response => {
619
         .then(response => {
620
           if (response.data.state == 1) {
620
           if (response.data.state == 1) {
621
             var reference = response.data.data.reference;
621
             var reference = response.data.data.reference;
622
+            console.log("reference",reference)
622
             var patient_info = response.data.data.patient_info;
623
             var patient_info = response.data.data.patient_info;
623
             this.projects = reference;
624
             this.projects = reference;
624
             this.patient_info = patient_info;
625
             this.patient_info = patient_info;
669
         .then(response => {
670
         .then(response => {
670
           if (response.data.state == 1) {
671
           if (response.data.state == 1) {
671
             var inspections = response.data.data.inspections;
672
             var inspections = response.data.data.inspections;
673
+            console.log("inspections",inspection)
672
             this.total = response.data.data.total;
674
             this.total = response.data.data.total;
673
             this.itemDate = response.data.data.date.split(" ")[0];
675
             this.itemDate = response.data.data.date.split(" ")[0];
674
             this.inspections = response.data.data.inspections;
676
             this.inspections = response.data.data.inspections;