Browse Source

统计配置开发

XMLWAN 4 years ago
parent
commit
f5aba13d12

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

@@ -271,3 +271,11 @@ export function getPrescriptionByName(keyword, startime, endtime, limit, page) {
271 271
     params: params
272 272
   })
273 273
 }
274
+
275
+export function geStatistics(params) {
276
+  return request({
277
+    url: '/com/api/getstatistics',
278
+    method: 'Get',
279
+    params: params
280
+  })
281
+}

+ 2 - 2
src/xt_pages/qcd/dialysisTotal.vue View File

@@ -146,8 +146,8 @@
146 146
         align="right"
147 147
         @size-change="handleSizeChange"
148 148
         @current-change="handleCurrentChange"
149
-        :current-page="listQuery.pate"
150
-        :page-sizes="[10, 20, 50, 100]"
149
+        :current-page="listQuery.page"
150
+        :page-sizes="[20, 40, 60,80, 100]"
151 151
         :page-size="10"
152 152
         background
153 153
         style="margin-top:20px;"

+ 157 - 116
src/xt_pages/qcd/treatmentControlAnalysis/components/TimeAll.vue View File

@@ -2,10 +2,10 @@
2 2
   <div class="page_timeAll">
3 3
     <div class="cell clearfix">
4 4
       <el-select
5
-        v-model="value"
5
+        v-model="listQuery.value"
6 6
         placeholder="请选择"
7
-        @change="chooseType"
8 7
         style="width:120px;margin-right:20px"
8
+        @change="selectChange"
9 9
       >
10 10
         <el-option
11 11
           v-for="item in options"
@@ -50,12 +50,37 @@
50 50
     <div class="tableTitle">统计表</div>
51 51
     <div>
52 52
       <el-table :data="tableData" border style="width: 100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}">
53
-        <el-table-column fixed prop="date" label="日期"></el-table-column>
54
-        <el-table-column prop="name" label="姓名"></el-table-column>
55
-        <el-table-column prop="province" label="省份"></el-table-column>
56
-        <el-table-column prop="city" label="市区"></el-table-column>
57
-        <el-table-column prop="address" label="地址"></el-table-column>
58
-        <el-table-column prop="zip" label="邮编"></el-table-column>
53
+        <el-table-column
54
+          fixed
55
+          label="日期"
56
+          width="100"
57
+          property="date"
58
+          align="center"
59
+        ></el-table-column>
60
+        <el-table-column
61
+          :label="modeItem.name"
62
+          property="number"
63
+          align="center"
64
+          min-width="100"
65
+          v-for="(modeItem, index) in activeModes"
66
+          :key="index"
67
+        >
68
+          <template slot-scope="scope">
69
+            {{
70
+              scope.row.data[modeItem.id].number
71
+                ? scope.row.data[modeItem.id].number
72
+                : ""
73
+            }}
74
+          </template>
75
+        </el-table-column>
76
+
77
+        <el-table-column
78
+          fixed="right"
79
+          label="总数"
80
+          width="80"
81
+          property="total"
82
+          align="center"
83
+        ></el-table-column>
59 84
       </el-table>
60 85
 
61 86
       <el-pagination
@@ -63,8 +88,8 @@
63 88
         @size-change="handleSizeChange"
64 89
         @current-change="handleCurrentChange"
65 90
         :current-page="listQuery.page"
66
-        :page-sizes="[10, 20, 50, 100]"
67
-        :page-size="10"
91
+        :page-sizes="[20, 40, 60, 80,100]"
92
+        :page-size="20"
68 93
         background
69 94
         style="margin-top:20px;"
70 95
         layout="total, sizes, prev, pager, next, jumper"
@@ -73,126 +98,30 @@
73 98
     </div>
74 99
   </div>
75 100
 </template>
76
-
101
+  
77 102
 <script>
78 103
 import echarts from "echarts";
79 104
 import LineChart from "../../components/LineChart";
105
+import {geStatistics} from "@/api/common/common"
80 106
 export default {
81 107
   components: {
82 108
     LineChart
83 109
   },
84 110
   data() {
85 111
     return {
86
-      listQuery: {
87
-        start_time: "",
88
-        end_time: "",
89
-        page: 1,
90
-        limit: 10
91
-      },
92 112
       options: [
93 113
         {
94
-          value: "选项1",
95
-          label: "黄金糕"
114
+          value: 0,
115
+          label: "全部"
96 116
         },
97 117
         {
98
-          value: "选项2",
99
-          label: "双皮奶"
118
+          value: 1,
119
+          label: "留治"
100 120
         },
101 121
         {
102
-          value: "选项3",
103
-          label: "蚵仔煎"
122
+          value: 2,
123
+          label: "转出"
104 124
         },
105
-        {
106
-          value: "选项4",
107
-          label: "龙须面"
108
-        },
109
-        {
110
-          value: "选项5",
111
-          label: "北京烤鸭"
112
-        }
113
-      ],
114
-      value: "请选项",
115
-      tableData: [
116
-        {
117
-          date: "2016-05-03",
118
-          name: "王小虎",
119
-          province: "上海",
120
-          city: "普陀区",
121
-          address: "上海市普陀区金沙江路 1518 弄",
122
-          zip: 200333
123
-        },
124
-        {
125
-          date: "2016-05-02",
126
-          name: "王小虎",
127
-          province: "上海",
128
-          city: "普陀区",
129
-          address: "上海市普陀区金沙江路 1518 弄",
130
-          zip: 200333
131
-        },
132
-        {
133
-          date: "2016-05-04",
134
-          name: "王小虎",
135
-          province: "上海",
136
-          city: "普陀区",
137
-          address: "上海市普陀区金沙江路 1518 弄",
138
-          zip: 200333
139
-        },
140
-        {
141
-          date: "2016-05-01",
142
-          name: "王小虎",
143
-          province: "上海",
144
-          city: "普陀区",
145
-          address: "上海市普陀区金沙江路 1518 弄",
146
-          zip: 200333
147
-        },
148
-        {
149
-          date: "2016-05-08",
150
-          name: "王小虎",
151
-          province: "上海",
152
-          city: "普陀区",
153
-          address: "上海市普陀区金沙江路 1518 弄",
154
-          zip: 200333
155
-        },
156
-        {
157
-          date: "2016-05-06",
158
-          name: "王小虎",
159
-          province: "上海",
160
-          city: "普陀区",
161
-          address: "上海市普陀区金沙江路 1518 弄",
162
-          zip: 200333
163
-        },
164
-        {
165
-          date: "2016-05-07",
166
-          name: "王小虎",
167
-          province: "上海",
168
-          city: "普陀区",
169
-          address: "上海市普陀区金沙江路 1518 弄",
170
-          zip: 200333
171
-        },
172
-        {
173
-          date: "2016-05-08",
174
-          name: "王小虎",
175
-          province: "上海",
176
-          city: "普陀区",
177
-          address: "上海市普陀区金沙江路 1518 弄",
178
-          zip: 200333
179
-        },
180
-        {
181
-          date: "2016-05-06",
182
-          name: "王小虎",
183
-          province: "上海",
184
-          city: "普陀区",
185
-          address: "上海市普陀区金沙江路 1518 弄",
186
-          zip: 200333
187
-        },
188
-        {
189
-          date: "2016-05-07",
190
-          name: "王小虎",
191
-          province: "上海",
192
-          city: "普陀区",
193
-          address: "上海市普陀区金沙江路 1518 弄",
194
-          zip: 200333
195
-        }
196 125
       ],
197 126
       chart: {
198 127
         title: {
@@ -262,7 +191,22 @@ export default {
262 191
             }
263 192
           }
264 193
         ]
265
-      }
194
+      },
195
+      modeOptions:[],
196
+      total:0,
197
+      listQuery: {
198
+        start_time: "",
199
+        end_time: "",
200
+        page: 1,
201
+        limit: 20,
202
+        value: 0,
203
+        mode_id:"",
204
+      },
205
+      tableData:[],
206
+      modesData: {
207
+        xAxis: [],
208
+        series: []
209
+      },
266 210
     };
267 211
   },
268 212
   methods: {
@@ -275,8 +219,105 @@ export default {
275 219
         this.listQuery.end_time = "";
276 220
       } else {
277 221
       }
222
+    },
223
+    handleSizeChange(limit) {
224
+      this.listQuery.limit = limit;
225
+      this.geStatistics();
226
+    },
227
+    handleCurrentChange(page) {
228
+      this.listQuery.page = page;
229
+      this.geStatistics();
230
+    },
231
+   selectChange(val){
232
+     this.listQuery.value =val
233
+     this.geStatistics()
234
+   },
235
+    geStatistics(){
236
+      geStatistics(this.listQuery).then(response=>{
237
+        if(response.data.state === 1){
238
+          var dtd =  response.data.data.statistics
239
+          console.log("statistics",dtd)
240
+            var dd = {};
241
+          for (const index in dtd) {
242
+            if (!(dtd[index].date in dd)) {
243
+              dd[dtd[index].date] = {};
244
+            }
245
+            if (
246
+              !(dtd[index].mode_id in dd[dtd[index].date]) &&
247
+              dtd[index].mode_id != "0"
248
+            ) {
249
+              dd[dtd[index].date][dtd[index].mode_id] = dtd[index];
250
+            }
251
+          }
252
+          for (const key in dd) {
253
+            var total = 0;
254
+            for (const mkey in this.modeOptions) {
255
+              if (mkey in dd[key]) {
256
+                dd[key][mkey].mode = this.modeOptions[mkey].name;
257
+                var number = parseInt(dd[key][mkey].number);
258
+                if (isNaN(number) || number == 0) {
259
+                  dd[key][mkey].number = "";
260
+                  number = 0;
261
+                }
262
+                total += number;
263
+              } else {
264
+                dd[key][mkey] = {
265
+                  mode: this.modeOptions[mkey].name,
266
+                  mode_id: mkey,
267
+                  number: 0,
268
+                  date: key
269
+                };
270
+              }
271
+            }
272
+            this.tableData.push({ date: key, data: dd[key], total: total });
273
+          }
274
+          var ttd = response.data.data.ttd
275
+          console.log("ttd",ttd)
276
+        
277
+          this.total =  response.data.data.total
278
+         
279
+
280
+        }
281
+      })
278 282
     }
279
-  }
283
+  },
284
+  created(){
285
+    this.modeOptions = this.$store.getters.treatment_mode;
286
+    
287
+    var nowDate = new Date();
288
+    var nowYear = nowDate.getFullYear();
289
+    var nowMonth = nowDate.getMonth() + 1;
290
+    var nowDay = nowDate.getDate();
291
+    this.listQuery.end_time =
292
+      nowYear +
293
+      "-" +
294
+      (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
295
+      "-" +
296
+      (nowDay < 10 ? "0" + nowDay : nowDay);
297
+    nowDate.setMonth(nowDate.getMonth() - 3);
298
+    nowYear = nowDate.getFullYear();
299
+    nowMonth = nowDate.getMonth() + 1;
300
+    nowDay = nowDate.getDate();
301
+    this.listQuery.start_time =
302
+      nowYear +
303
+      "-" +
304
+      (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
305
+      "-" +
306
+      (nowDay < 10 ? "0" + nowDay : nowDay);
307
+      //获取统计列表数据
308
+      this.geStatistics()
309
+  },
310
+  computed: {
311
+    activeModes: function() {
312
+      var modes = [];
313
+      for (const key in this.modeOptions) {
314
+        if (this.listQuery.mode_id == key || this.listQuery.mode_id == "") {
315
+          modes.push(this.modeOptions[key]);
316
+        }
317
+      }
318
+      return modes;
319
+    }
320
+  },
280 321
 };
281 322
 </script>
282 323
 

+ 8 - 2
src/xt_pages/qcd/treatmentControlAnalysis/components/TimePersonal.vue View File

@@ -285,7 +285,11 @@ export default {
285 285
 			}
286 286
     },
287 287
     onSearch(){
288
-      getPrescriptionByName(this.listQuery.search,this.listQuery.start_time,this.listQuery.end_time,this.limit,this.page).then(response=>{
288
+      if(this.listQuery.search == "" || this.listQuery.search == null){
289
+         this.getDialysisList()
290
+         return false
291
+      }else{
292
+       getPrescriptionByName(this.listQuery.search,this.listQuery.start_time,this.listQuery.end_time,this.limit,this.page).then(response=>{
289 293
          if(response.data.state === 1){
290 294
            var patients =  response.data.data.patient
291 295
            this.getModeId(patients)
@@ -310,7 +314,9 @@ export default {
310 314
            this.total = res.length
311 315
            console.log("total",total)
312 316
          }
313
-      })
317
+       })
318
+      }
319
+    
314 320
     },
315 321
     unique(arr) {
316 322
         const res = new Map();