Ver código fonte

统计配置开发

XMLWAN 4 anos atrás
pai
commit
e8b4aafe1b

+ 130 - 68
src/xt_pages/qcd/patientControlAnalysis.vue Ver arquivo

@@ -63,7 +63,11 @@
63 63
         <div>
64 64
           <el-table :data="tableData" border style="width: 100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}">
65 65
             <el-table-column fixed prop="name" label="姓名" width="120"></el-table-column>
66
-            <el-table-column  prop="dialysis_no" label="透析号" width="150"></el-table-column>
66
+            <el-table-column   label="透析号" width="150">
67
+              <template slot-scope="scope">
68
+                  {{getDialysisNo(scope.row.name)}}
69
+              </template>
70
+            </el-table-column>
67 71
             <el-table-column
68 72
               :label="modeItem.item_name"
69 73
               property="number"
@@ -72,8 +76,8 @@
72 76
               v-for="(modeItem, index) in normData"
73 77
               :key="index"
74 78
             >
75
-            <template slot-scope="scope">          
76
-              {{ scope.row.data[index].Count}} 
79
+            <template slot-scope="scope">
80
+
77 81
             </template>
78 82
         </el-table-column>
79 83
             <el-table-column fixed="right" label="操作" width="100">
@@ -118,7 +122,7 @@ export default {
118 122
           let threeMonths = new Date(new Date().setFullYear(new Date().getFullYear()-1)).getTime() - 24 * 3600 * 1000;
119 123
           return time.getTime() > Date.now() || time.getTime() < threeMonths;;
120 124
         }
121
-      },    
125
+      },
122 126
       crumbs: [
123 127
         { path: false, name: "科室质控" },
124 128
         { path: false, name: "患者质控达标统计" }
@@ -221,15 +225,18 @@ export default {
221 225
       tableName:[],
222 226
       total:0,
223 227
       ObjectData:{},
228
+      tablePatients:[],
229
+      tableSort:[],
224 230
     };
225 231
   },
226 232
   methods: {
227 233
     handleSizeChange(limit){
228
-      this.listQuery.limit = limit 
229
-      this.getlist()    
234
+      this.listQuery.limit = limit
235
+      this.getlist()
230 236
     },
231 237
     handleCurrentChange(page){
232 238
       this.listQuery.page = page
239
+
233 240
       this.getlist()
234 241
     },
235 242
     changeTime() {
@@ -238,9 +245,9 @@ export default {
238 245
         this.$message.error("结束时间不能小于开始时间");
239 246
         this.listQuery.start_time = "";
240 247
       } else {
241
-       
248
+
242 249
       }
243
-      
250
+
244 251
     },
245 252
     changeEndTime(val) {
246 253
       var time =
@@ -256,27 +263,33 @@ export default {
256 263
       return new Date(time).getTime() / 1000;
257 264
     },
258 265
     handleClick(row) {
259
-      console.log(row);
260 266
       this.$router.push({ path: "/qcd/patientComplianceDetails" });
261 267
     },
268
+    getDialysisNo(name){
269
+        for(let i=0;i<this.tablePatients.length;i++){
270
+          if(name == this.tablePatients[i].name){
271
+             return this.tablePatients[i].dialysis_no
272
+          }
273
+        }
274
+    },
262 275
     getNormData(){
263 276
       getNormData().then(response=>{
264 277
          if(response.data.state == 1){
265 278
            var normdata = response.data.data.normdata
266
-           console.log("normdata",normdata)
267
-           
279
+          // console.log("normdata",normdata)
280
+          this.normData = normdata
268 281
            var a=[];
269 282
            for(let i=0;i<normdata.length;i++){
270 283
              a.push(normdata[i])
271 284
            }
272
-           console.log("a",a)
285
+          // console.log("a",a)
273 286
            this.newArr = a
274 287
            var arr = this.arrayToObj(a)
275
-           
276
-           console.log("娃哈哈",arr)
288
+
289
+         // console.log("娃哈哈",arr)
277 290
            this.ObjectData = arr
278 291
 
279
-           this.normData = normdata
292
+
280 293
          }
281 294
       })
282 295
     },
@@ -286,25 +299,25 @@ export default {
286 299
       getPatientsControl(this.lapstor,this.listQuery.start_time,this.listQuery.end_time,this.listQuery.page,this.listQuery.limit).then(response=>{
287 300
          if(response.data.state == 1){
288 301
            var patients = response.data.data.patients
289
-           console.log("paitents",patients)
290
-         //  this.tableData = patients;
302
+          // console.log("paitents",patients)
303
+          this.tablePatients = patients
291 304
            var total =  response.data.data.total
292
-           console.log("total",total)
305
+          // console.log("total",total)
293 306
            this.total = total
294 307
            var control = response.data.data.control
295
-           console.log("control",control)
296
-        
297
-          var arr = []
298
-          for(let i=0;i<control.length;i++){
299
-            for(let  j=0;j<this.normData.length;j++){
300
-               if(control[i].item_id == this.normData[j].inspection_minor){
301
-                  arr.push(control[i])
302
-               }
303
-            }
304
-          }
305
-          console.log("arr",arr)
308
+         // console.log("control",control)
309
+          var newArr = []
310
+           //分页
311
+           for(let i=0;i<control.length;i++){
312
+             for(let j=0;j<patients.length;j++){
313
+                if(control[i].patient_id == patients[j].patient_id){
314
+                   newArr.push(control[i])
315
+                }
316
+             }
317
+           }
318
+        // console.log("newArr",newArr)
306 319
           let dataInfo = {}
307
-          arr.forEach((item, index) => {
320
+          newArr.forEach((item, index) => {
308 321
             let { patient_id } = item
309 322
             if (!dataInfo[patient_id]) {
310 323
               dataInfo[patient_id] = {
@@ -312,72 +325,121 @@ export default {
312 325
                 name:item.name,
313 326
                 child: [],
314 327
                 inspect_date:item.inspect_date
328
+
315 329
               }
316 330
             }
317 331
           })
318
-          console.log("arr",arr)
319
-          let list = Object.values(dataInfo)  
332
+
333
+          let list = Object.values(dataInfo)
320 334
           list.map(item => {
321
-            for (let i = 0; i < arr.length; i++) {
322
-               if (item.inspect_date == arr[i].inspect_date && item.patient_id == arr[i].patient_id) {
323
-                   item.child.push(arr[i])
335
+            for (let i = 0; i < newArr.length; i++) {
336
+               if (item.inspect_date == newArr[i].inspect_date && item.patient_id == newArr[i].patient_id) {
337
+                   item.child.push(newArr[i])
324 338
                 }
325 339
               }
326 340
             })
327
-           console.log("list",list)
328
-           var arrtwo = []
329
-            list.map(item =>{
330
-               item.child.map(item=>{
331
-                  arrtwo.push(item)
332
-               })
333
-            })
341
+          //console.log("list",list)
334 342
 
335
-          console.log("arrtwo",arrtwo)
343
+          var  newarrtwo = []
344
+          list.map(item=>{
345
+              item.child.map(it=>{
346
+                 newarrtwo.push(it)
347
+              })
348
+          })
349
+       // console.log("多少条",newarrtwo)
336 350
 
337
-           var dd = {};
338
-           for (const index in arrtwo) {
339
-            if (!(arrtwo[index].name in dd)) {
340
-               dd[arrtwo[index].name] = {};
341
-            }
342
-            if (!(arrtwo[index].item_name in dd[arrtwo[index].name]) && arrtwo[index].item_name != 0) {
343
-              dd[arrtwo[index].name][arrtwo[index].item_name] = arrtwo[index];
351
+        //配置的才显示
344 352
 
353
+        var arrthree = []
354
+        for(let i=0;i<newarrtwo.length;i++){
355
+           for(let j=0;j<this.normData.length;j++){
356
+              if(newarrtwo[i].item_id == this.normData[j].inspection_minor){
357
+                 arrthree.push(newarrtwo[i])
358
+              }
359
+           }
360
+        }
361
+        // console.log("arrthree",arrthree)
362
+
363
+       var arrfour =  this.arrayDate(arrthree,newarrtwo)
364
+       // console.log("arrfour",arrfour)
365
+         arrfour.map(item=>{
366
+           item.item_name = ""
367
+           arrthree.push(item)
368
+         })
369
+
370
+          var dd = {};
371
+           for (const index in arrthree) {
372
+           if (!(arrthree[index].name in dd)) {
373
+              dd[arrthree[index].name] = {};
374
+            }
375
+             if (!(arrthree[index].item_name in dd[arrthree[index].name]) && arrthree[index].item_name != 0) {
376
+               dd[arrthree[index].name][arrthree[index].item_name] = arrthree[index];
345 377
             }
346 378
           }
347
-          console.log("ddd",dd)
348
-          console.log("obj",this.ObjectData)
379
+        console.log("ddd",dd)
380
+         console.log("obj",this.ObjectData)
381
+          this.tableData= []
382
+
349 383
           for(const key in dd){
350 384
               for(const mkey in this.ObjectData){
351
-                if (!(this.ObjectData[mkey].item_name in dd[key])) {
352
-                  dd[key][this.ObjectData[mkey].item_name] = {
353
-                    ItemName: this.ObjectData[mkey].item_name,
354
-                    name: mkey,
355
-                    Count: 0
385
+                 if (!(this.ObjectData[mkey].item_name in dd[key])) {
386
+                   dd[key][this.ObjectData[mkey].item_name] = {
387
+                   ItemName: this.ObjectData[mkey].item_name,
388
+                   name: mkey,
389
+                   inspect_value:0
356 390
                   };
357 391
                 }
358 392
               }
359 393
               this.tableData.push({ name: key, data: dd[key]});
360
-            }
361
-            console.log("表",this.tableData)
362
-             let projectArr = []
394
+             }
395
+
396
+           
397
+            let projectArr = []
363 398
             this.newArr.map(item => {
364 399
               projectArr.push(item.item_name)
365 400
             })
401
+            console.log("projectArr",projectArr)
402
+
366 403
             this.tableData.map(item => {
367 404
             // console.log("item---",item.data)
368
-              let arr = Object.values(item.data);
369
-             
370
-              arr.sort((a,b)=>{
371
-                return projectArr.indexOf(a.item_name)-projectArr.indexOf(b.item_name);
405
+              let newarr = Object.values(item.data);
406
+              //console.log("arr",arr)
407
+              newarr.sort((a,b)=>{
408
+                return projectArr.indexOf(a.ItemName)-projectArr.indexOf(b.ItemName);
372 409
               });
373
-              item.data = arr
374
-            })
410
+              item.data = newarr
411
+           })
412
+              console.log("表",this.tableData)
375 413
          }
376 414
       })
377 415
     },
378 416
      arrayToObj(arr){
379 417
       return Object.assign({},arr);
380
-    }
418
+    },
419
+
420
+     arrayDate(array1,array2){
421
+        var array1 = array1;
422
+        var array2 = array2;
423
+        var result = [];
424
+        for(var i = 0; i < array2.length; i++){
425
+            var obj = array2[i];
426
+            var num = obj.patient_id;   //staff_id   就是要对比的key
427
+            var isExist = false;
428
+            for(var j = 0; j < array1.length; j++){
429
+                var aj = array1[j];
430
+                var n = aj.patient_id;
431
+                if(n == num){
432
+                    isExist = true;
433
+                    break;
434
+             }
435
+            }
436
+            if(!isExist){
437
+                result.push(obj);
438
+            }
439
+        }
440
+        console.log("result",result)
441
+        return result;
442
+    },
381 443
   },
382 444
   created(){
383 445
     var nowDate = new Date();
@@ -400,7 +462,7 @@ export default {
400 462
       (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
401 463
       "-" +
402 464
       (nowDay < 10 ? "0" + nowDay : nowDay);
403
-    
465
+
404 466
     //获取系统指标
405 467
     this.getNormData()
406 468
     //获取列表数据

+ 4 - 0
src/xt_pages/qcd/treatmentControlAnalysis/components/CheckAll.vue Ver arquivo

@@ -230,6 +230,7 @@ export default {
230 230
           }
231 231
           console.log("ddd",dd)
232 232
            console.log("this.ObjectData",this.ObjectData)
233
+           
233 234
             for(const key in dd){
234 235
               for(const mkey in this.ObjectData){
235 236
                 if (!(this.ObjectData[mkey].project_name in dd[key])) {
@@ -244,11 +245,14 @@ export default {
244 245
             }
245 246
             console.log("表",this.tableData)
246 247
             let projectArr = []
248
+          
247 249
             this.newArr.map(item => {
248 250
               projectArr.push(item.project_name)
249 251
             })
252
+            console.log("projectArr",projectArr)
250 253
             this.tableData.map(item => {
251 254
               let arr = Object.values(item.data);
255
+             console.log("arr",arr)
252 256
               arr.sort((a,b)=>{
253 257
                 return projectArr.indexOf(a.ProjectName)-projectArr.indexOf(b.ProjectName);
254 258
               });