Quellcode durchsuchen

统计配置开发

XMLWAN vor 5 Jahren
Ursprung
Commit
e8b4aafe1b

+ 130 - 68
src/xt_pages/qcd/patientControlAnalysis.vue Datei anzeigen

63
         <div>
63
         <div>
64
           <el-table :data="tableData" border style="width: 100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}">
64
           <el-table :data="tableData" border style="width: 100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}">
65
             <el-table-column fixed prop="name" label="姓名" width="120"></el-table-column>
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
             <el-table-column
71
             <el-table-column
68
               :label="modeItem.item_name"
72
               :label="modeItem.item_name"
69
               property="number"
73
               property="number"
72
               v-for="(modeItem, index) in normData"
76
               v-for="(modeItem, index) in normData"
73
               :key="index"
77
               :key="index"
74
             >
78
             >
75
-            <template slot-scope="scope">          
76
-              {{ scope.row.data[index].Count}} 
79
+            <template slot-scope="scope">
80
+
77
             </template>
81
             </template>
78
         </el-table-column>
82
         </el-table-column>
79
             <el-table-column fixed="right" label="操作" width="100">
83
             <el-table-column fixed="right" label="操作" width="100">
118
           let threeMonths = new Date(new Date().setFullYear(new Date().getFullYear()-1)).getTime() - 24 * 3600 * 1000;
122
           let threeMonths = new Date(new Date().setFullYear(new Date().getFullYear()-1)).getTime() - 24 * 3600 * 1000;
119
           return time.getTime() > Date.now() || time.getTime() < threeMonths;;
123
           return time.getTime() > Date.now() || time.getTime() < threeMonths;;
120
         }
124
         }
121
-      },    
125
+      },
122
       crumbs: [
126
       crumbs: [
123
         { path: false, name: "科室质控" },
127
         { path: false, name: "科室质控" },
124
         { path: false, name: "患者质控达标统计" }
128
         { path: false, name: "患者质控达标统计" }
221
       tableName:[],
225
       tableName:[],
222
       total:0,
226
       total:0,
223
       ObjectData:{},
227
       ObjectData:{},
228
+      tablePatients:[],
229
+      tableSort:[],
224
     };
230
     };
225
   },
231
   },
226
   methods: {
232
   methods: {
227
     handleSizeChange(limit){
233
     handleSizeChange(limit){
228
-      this.listQuery.limit = limit 
229
-      this.getlist()    
234
+      this.listQuery.limit = limit
235
+      this.getlist()
230
     },
236
     },
231
     handleCurrentChange(page){
237
     handleCurrentChange(page){
232
       this.listQuery.page = page
238
       this.listQuery.page = page
239
+
233
       this.getlist()
240
       this.getlist()
234
     },
241
     },
235
     changeTime() {
242
     changeTime() {
238
         this.$message.error("结束时间不能小于开始时间");
245
         this.$message.error("结束时间不能小于开始时间");
239
         this.listQuery.start_time = "";
246
         this.listQuery.start_time = "";
240
       } else {
247
       } else {
241
-       
248
+
242
       }
249
       }
243
-      
250
+
244
     },
251
     },
245
     changeEndTime(val) {
252
     changeEndTime(val) {
246
       var time =
253
       var time =
256
       return new Date(time).getTime() / 1000;
263
       return new Date(time).getTime() / 1000;
257
     },
264
     },
258
     handleClick(row) {
265
     handleClick(row) {
259
-      console.log(row);
260
       this.$router.push({ path: "/qcd/patientComplianceDetails" });
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
     getNormData(){
275
     getNormData(){
263
       getNormData().then(response=>{
276
       getNormData().then(response=>{
264
          if(response.data.state == 1){
277
          if(response.data.state == 1){
265
            var normdata = response.data.data.normdata
278
            var normdata = response.data.data.normdata
266
-           console.log("normdata",normdata)
267
-           
279
+          // console.log("normdata",normdata)
280
+          this.normData = normdata
268
            var a=[];
281
            var a=[];
269
            for(let i=0;i<normdata.length;i++){
282
            for(let i=0;i<normdata.length;i++){
270
              a.push(normdata[i])
283
              a.push(normdata[i])
271
            }
284
            }
272
-           console.log("a",a)
285
+          // console.log("a",a)
273
            this.newArr = a
286
            this.newArr = a
274
            var arr = this.arrayToObj(a)
287
            var arr = this.arrayToObj(a)
275
-           
276
-           console.log("娃哈哈",arr)
288
+
289
+         // console.log("娃哈哈",arr)
277
            this.ObjectData = arr
290
            this.ObjectData = arr
278
 
291
 
279
-           this.normData = normdata
292
+
280
          }
293
          }
281
       })
294
       })
282
     },
295
     },
286
       getPatientsControl(this.lapstor,this.listQuery.start_time,this.listQuery.end_time,this.listQuery.page,this.listQuery.limit).then(response=>{
299
       getPatientsControl(this.lapstor,this.listQuery.start_time,this.listQuery.end_time,this.listQuery.page,this.listQuery.limit).then(response=>{
287
          if(response.data.state == 1){
300
          if(response.data.state == 1){
288
            var patients = response.data.data.patients
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
            var total =  response.data.data.total
304
            var total =  response.data.data.total
292
-           console.log("total",total)
305
+          // console.log("total",total)
293
            this.total = total
306
            this.total = total
294
            var control = response.data.data.control
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
           let dataInfo = {}
319
           let dataInfo = {}
307
-          arr.forEach((item, index) => {
320
+          newArr.forEach((item, index) => {
308
             let { patient_id } = item
321
             let { patient_id } = item
309
             if (!dataInfo[patient_id]) {
322
             if (!dataInfo[patient_id]) {
310
               dataInfo[patient_id] = {
323
               dataInfo[patient_id] = {
312
                 name:item.name,
325
                 name:item.name,
313
                 child: [],
326
                 child: [],
314
                 inspect_date:item.inspect_date
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
           list.map(item => {
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
           for(const key in dd){
383
           for(const key in dd){
350
               for(const mkey in this.ObjectData){
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
               this.tableData.push({ name: key, data: dd[key]});
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
             this.newArr.map(item => {
398
             this.newArr.map(item => {
364
               projectArr.push(item.item_name)
399
               projectArr.push(item.item_name)
365
             })
400
             })
401
+            console.log("projectArr",projectArr)
402
+
366
             this.tableData.map(item => {
403
             this.tableData.map(item => {
367
             // console.log("item---",item.data)
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
      arrayToObj(arr){
416
      arrayToObj(arr){
379
       return Object.assign({},arr);
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
   created(){
444
   created(){
383
     var nowDate = new Date();
445
     var nowDate = new Date();
400
       (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
462
       (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
401
       "-" +
463
       "-" +
402
       (nowDay < 10 ? "0" + nowDay : nowDay);
464
       (nowDay < 10 ? "0" + nowDay : nowDay);
403
-    
465
+
404
     //获取系统指标
466
     //获取系统指标
405
     this.getNormData()
467
     this.getNormData()
406
     //获取列表数据
468
     //获取列表数据

+ 4 - 0
src/xt_pages/qcd/treatmentControlAnalysis/components/CheckAll.vue Datei anzeigen

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