Explorar el Código

Merge branch '20200710_pc_vue_new_branch' of http://git.shengws.com/csx/Vue_New into 20200710_pc_vue_new_branch

csx hace 4 años
padre
commit
5e187b5664

+ 30 - 11
package-lock.json Ver fichero

@@ -4740,7 +4740,8 @@
4740 4740
         "ansi-regex": {
4741 4741
           "version": "2.1.1",
4742 4742
           "bundled": true,
4743
-          "dev": true
4743
+          "dev": true,
4744
+          "optional": true
4744 4745
         },
4745 4746
         "aproba": {
4746 4747
           "version": "1.2.0",
@@ -4763,13 +4764,15 @@
4763 4764
         "balanced-match": {
4764 4765
           "version": "1.0.0",
4765 4766
           "bundled": true,
4766
-          "dev": true
4767
+          "dev": true,
4768
+          "optional": true
4767 4769
         },
4768 4770
         "brace-expansion": {
4769 4771
           "version": "1.1.11",
4770 4772
           "resolved": false,
4771 4773
           "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
4772 4774
           "dev": true,
4775
+          "optional": true,
4773 4776
           "requires": {
4774 4777
             "balanced-match": "^1.0.0",
4775 4778
             "concat-map": "0.0.1"
@@ -4785,19 +4788,22 @@
4785 4788
         "code-point-at": {
4786 4789
           "version": "1.1.0",
4787 4790
           "bundled": true,
4788
-          "dev": true
4791
+          "dev": true,
4792
+          "optional": true
4789 4793
         },
4790 4794
         "concat-map": {
4791 4795
           "version": "0.0.1",
4792 4796
           "resolved": false,
4793 4797
           "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
4794
-          "dev": true
4798
+          "dev": true,
4799
+          "optional": true
4795 4800
         },
4796 4801
         "console-control-strings": {
4797 4802
           "version": "1.1.0",
4798 4803
           "resolved": false,
4799 4804
           "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
4800
-          "dev": true
4805
+          "dev": true,
4806
+          "optional": true
4801 4807
         },
4802 4808
         "core-util-is": {
4803 4809
           "version": "1.0.2",
@@ -4927,7 +4933,8 @@
4927 4933
         "inherits": {
4928 4934
           "version": "2.0.3",
4929 4935
           "bundled": true,
4930
-          "dev": true
4936
+          "dev": true,
4937
+          "optional": true
4931 4938
         },
4932 4939
         "ini": {
4933 4940
           "version": "1.3.5",
@@ -4941,6 +4948,7 @@
4941 4948
           "resolved": false,
4942 4949
           "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
4943 4950
           "dev": true,
4951
+          "optional": true,
4944 4952
           "requires": {
4945 4953
             "number-is-nan": "^1.0.0"
4946 4954
           }
@@ -4957,6 +4965,7 @@
4957 4965
           "resolved": false,
4958 4966
           "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
4959 4967
           "dev": true,
4968
+          "optional": true,
4960 4969
           "requires": {
4961 4970
             "brace-expansion": "^1.1.7"
4962 4971
           }
@@ -4964,13 +4973,15 @@
4964 4973
         "minimist": {
4965 4974
           "version": "0.0.8",
4966 4975
           "bundled": true,
4967
-          "dev": true
4976
+          "dev": true,
4977
+          "optional": true
4968 4978
         },
4969 4979
         "minipass": {
4970 4980
           "version": "2.3.5",
4971 4981
           "resolved": false,
4972 4982
           "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
4973 4983
           "dev": true,
4984
+          "optional": true,
4974 4985
           "requires": {
4975 4986
             "safe-buffer": "^5.1.2",
4976 4987
             "yallist": "^3.0.0"
@@ -4991,6 +5002,7 @@
4991 5002
           "resolved": false,
4992 5003
           "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
4993 5004
           "dev": true,
5005
+          "optional": true,
4994 5006
           "requires": {
4995 5007
             "minimist": "0.0.8"
4996 5008
           }
@@ -5078,7 +5090,8 @@
5078 5090
         "number-is-nan": {
5079 5091
           "version": "1.0.1",
5080 5092
           "bundled": true,
5081
-          "dev": true
5093
+          "dev": true,
5094
+          "optional": true
5082 5095
         },
5083 5096
         "object-assign": {
5084 5097
           "version": "4.1.1",
@@ -5092,6 +5105,7 @@
5092 5105
           "resolved": false,
5093 5106
           "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
5094 5107
           "dev": true,
5108
+          "optional": true,
5095 5109
           "requires": {
5096 5110
             "wrappy": "1"
5097 5111
           }
@@ -5186,7 +5200,8 @@
5186 5200
         "safe-buffer": {
5187 5201
           "version": "5.1.2",
5188 5202
           "bundled": true,
5189
-          "dev": true
5203
+          "dev": true,
5204
+          "optional": true
5190 5205
         },
5191 5206
         "safer-buffer": {
5192 5207
           "version": "2.1.2",
@@ -5228,6 +5243,7 @@
5228 5243
           "resolved": false,
5229 5244
           "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
5230 5245
           "dev": true,
5246
+          "optional": true,
5231 5247
           "requires": {
5232 5248
             "code-point-at": "^1.0.0",
5233 5249
             "is-fullwidth-code-point": "^1.0.0",
@@ -5249,6 +5265,7 @@
5249 5265
           "resolved": false,
5250 5266
           "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
5251 5267
           "dev": true,
5268
+          "optional": true,
5252 5269
           "requires": {
5253 5270
             "ansi-regex": "^2.0.0"
5254 5271
           }
@@ -5296,13 +5313,15 @@
5296 5313
         "wrappy": {
5297 5314
           "version": "1.0.2",
5298 5315
           "bundled": true,
5299
-          "dev": true
5316
+          "dev": true,
5317
+          "optional": true
5300 5318
         },
5301 5319
         "yallist": {
5302 5320
           "version": "3.0.3",
5303 5321
           "resolved": false,
5304 5322
           "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
5305
-          "dev": true
5323
+          "dev": true,
5324
+          "optional": true
5306 5325
         }
5307 5326
       }
5308 5327
     },

+ 3 - 2
src/api/common/common.js Ver fichero

@@ -149,7 +149,7 @@ export function getTotalLapseCount(startime, endtime) {
149 149
     startime: startime,
150 150
     endtime: endtime
151 151
   }
152
-  console.log('params', params)
152
+  console.log('转归params', params)
153 153
   return request({
154 154
     url: '/com/api/gettotallapsecount',
155 155
     method: 'get',
@@ -199,6 +199,7 @@ export function getTotalDialysisCount(startime, endtime) {
199 199
     startime: startime,
200 200
     endtime: endtime
201 201
   }
202
+  console.log('透析年龄======', params)
202 203
   return request({
203 204
     url: '/com/api/gettotaldialysiscount',
204 205
     method: 'get',
@@ -447,7 +448,7 @@ export function getPatientContorlAnalysis(params) {
447 448
 }
448 449
 
449 450
 export function GetQualityControl(params) {
450
-  console.log('params', params)
451
+  console.log('params', params)
451 452
   return request({
452 453
     url: '/com/api/getqualitycontrol',
453 454
     method: 'Get',

+ 2 - 2
src/xt_pages/dialysis/template/DialysisPrintOrderEighteen.vue Ver fichero

@@ -260,7 +260,7 @@
260 260
       <table class="print-table" border="1">
261 261
         <tbody>
262 262
           <tr>
263
-            <td style="width:130px;height:40px">时间</td>
263
+            <!-- <td style="width:130px;height:40px">时间</td> -->
264 264
             <td colspan="5" style="width:560px;height:40px">医嘱执行记录</td>
265 265
             <td colspan="2" style="width:110px;height:40px">医生签名</td>
266 266
 
@@ -269,7 +269,7 @@
269 269
           </tr>
270 270
 
271 271
           <tr v-for="(advice, advice_index) in tableAdvice" style="height:30px">
272
-            <td>{{ getTime(advice.start_time, "{y}-{m}-{d} {h}:{i}") }}</td>
272
+            <!-- <td>{{ getTime(advice.start_time, "{y}-{m}-{d} {h}:{i}") }}</td> -->
273 273
             <td colspan="5" style="height:30px;">
274 274
               <span v-if="advice.parent_id > 0">---></span>
275 275
               <span>{{ advice.advice_name }}</span>

+ 3 - 0
src/xt_pages/qcd/basicInformationAnalysis.vue Ver fichero

@@ -742,6 +742,9 @@ export default {
742 742
 <style lang="scss">
743 743
 .infoBox {
744 744
   .infoOne {
745
+    .el-progress-bar__outer{
746
+      height:10px !important;
747
+    }
745 748
     .borderBox {
746 749
       .el-progress-bar__inner {
747 750
         background: linear-gradient(

+ 262 - 0
src/xt_pages/qcd/components/LineChart1.vue Ver fichero

@@ -0,0 +1,262 @@
1
+<template>
2
+  <div :class="className" :style="{height:height,width:width}"></div>
3
+</template>
4
+
5
+<script>
6
+import echarts from "echarts";
7
+require("echarts/theme/macarons"); // echarts theme
8
+import { debounce } from "@/utils";
9
+
10
+export default {
11
+  props: {
12
+    className: {
13
+      type: String,
14
+      default: "chart"
15
+    },
16
+    width: {
17
+      type: String,
18
+      default: "100%"
19
+    },
20
+    height: {
21
+      type: String,
22
+      default: "230px"
23
+    },
24
+    autoResize: {
25
+      type: Boolean,
26
+      default: true
27
+    },
28
+    chartData: {
29
+      type: Object
30
+    },
31
+    title: {
32
+      type: String,
33
+      default: "chart"
34
+    },
35
+    options: {
36
+      type: Object,
37
+      default: function() {
38
+        return {};
39
+      }
40
+    }
41
+  },
42
+  data() {
43
+    return {
44
+      chart: null,
45
+      chartOptions: {
46
+        xAxis: [],
47
+        legend: [],
48
+        series: []
49
+      }
50
+    };
51
+  },
52
+  mounted() {
53
+    this.initChart();
54
+    if (this.autoResize) {
55
+      this.__resizeHanlder = debounce(() => {
56
+        if (this.chart) {
57
+          this.chart.resize();
58
+        }
59
+      }, 100);
60
+      window.addEventListener("resize", this.__resizeHanlder);
61
+    }
62
+
63
+    // 监听侧边栏的变化
64
+    const sidebarElm = document.getElementsByClassName("sidebar-container")[0];
65
+    sidebarElm.addEventListener("transitionend", this.__resizeHanlder);
66
+  },
67
+  beforeDestroy() {
68
+    if (!this.chart) {
69
+      return;
70
+    }
71
+    if (this.autoResize) {
72
+      window.removeEventListener("resize", this.__resizeHanlder);
73
+    }
74
+
75
+    const sidebarElm = document.getElementsByClassName("sidebar-container")[0];
76
+    sidebarElm.removeEventListener("transitionend", this.__resizeHanlder);
77
+
78
+    this.chart.dispose();
79
+    this.chart = null;
80
+  },
81
+  watch: {
82
+    // options: function(a) {
83
+    //   console.log(a)
84
+    //   this.chartOptions = this.options;
85
+    //   this.initChart();
86
+    //   this.__resizeHanlder = debounce(() => {
87
+    //     if (this.chart) {
88
+    //       this.chart.resize();
89
+    //     }
90
+    //   }, 100);
91
+    //   window.addEventListener("resize", this.__resizeHanlder);
92
+    // },
93
+    options:{
94
+      handler(newValue,oldValue){
95
+        this.getInitChart();
96
+      },
97
+      deep:true
98
+    },
99
+
100
+    chartData: {
101
+      deep: true,
102
+      handler(val) {
103
+        this.setOptions(val);
104
+      }
105
+    }
106
+  },
107
+  created() {
108
+    this.chartOptions = this.options;
109
+    // console.log("this.chartOptions", this.chartOptions, this.options);
110
+  },
111
+  methods: {
112
+    getInitChart() {
113
+      this.chartOptions = this.options;
114
+      this.initChart();
115
+      this.__resizeHanlder = debounce(() => {
116
+        if (this.chart) {
117
+          this.chart.resize();
118
+        }
119
+      }, 100);
120
+      window.addEventListener("resize", this.__resizeHanlder);
121
+    },
122
+    // setOptions({ expectedData, actualData } = {}) {
123
+    //   this.chart.setOption({
124
+    //     title: {
125
+    //         text: this.title,
126
+    //     },
127
+    //     xAxis: {
128
+    //       data: this.chartOptions.xAxis,
129
+    //       boundaryGap: false,
130
+    //       axisTick: {
131
+    //         show: false
132
+    //       }
133
+    //     },
134
+    //     grid: {
135
+    //       left: 50,
136
+    //       right: 50,
137
+    //       bottom: 20,
138
+    //       top: 30,
139
+    //       containLabel: true
140
+    //     },
141
+    //     tooltip: {
142
+    //       trigger: 'axis',
143
+    //       axisPointer: {
144
+    //         type: 'cross'
145
+    //       },
146
+    //       padding: [5, 10]
147
+    //     },
148
+    //     yAxis: {
149
+    //       axisTick: {
150
+    //         show: false
151
+    //       }
152
+    //     },
153
+    //     legend: {
154
+    //       data: this.chartOptions.legend,
155
+    //     },
156
+    //     series: this.chartOptions.series,
157
+    //   })
158
+    // },
159
+    setOptions({ expectedData, actualData } = {}) {
160
+      this.chart.setOption({
161
+        // title: {
162
+        //   text: this.title
163
+        // },
164
+        xAxis: {
165
+          data: this.chartOptions.xAxis.data,
166
+          // boundaryGap: false
167
+          axisTick: {
168
+            show: true
169
+          },
170
+          axisLine: {
171
+            lineStyle: {
172
+              color: "#E5E5E5" //x轴颜色
173
+            }
174
+          },
175
+          axisLabel: {
176
+            interval: 0,
177
+            formatter: function(value) {
178
+              var ret = ""; //拼接加\n返回的类目项
179
+              var maxLength = 10; //每项显示文字个数
180
+              var valLength = value.length; //X轴类目项的文字个数
181
+              var rowN = Math.ceil(valLength / maxLength); //类目项需要换行的行数
182
+              if (rowN > 1) {
183
+                //如果类目项的文字大于3,
184
+                for (var i = 0; i < rowN; i++) {
185
+                  var temp = ""; //每次截取的字符串
186
+                  var start = i * maxLength; //开始截取的位置
187
+                  var end = start + maxLength; //结束截取的位置
188
+                  //这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧
189
+                  temp = value.substring(start, end) + "\n";
190
+                  ret += temp; //凭借最终的字符串
191
+                }
192
+                return ret;
193
+              } else {
194
+                return value;
195
+              }
196
+            },
197
+            textStyle: {
198
+              color:"#2F3133"
199
+            }
200
+          }
201
+        },
202
+        grid: {
203
+          left: 0,
204
+          right: 50,
205
+          bottom: 10,
206
+          top: 30,
207
+          containLabel: true
208
+        },
209
+        tooltip: {
210
+          trigger: "axis",
211
+          axisPointer: {
212
+            type: "cross"
213
+          },
214
+          padding: [5, 10]
215
+        },
216
+        yAxis: {
217
+          axisTick: {
218
+            show: true
219
+          },
220
+          axisLine: {
221
+            lineStyle: {
222
+              color: "#E5E5E5" //y轴颜色
223
+            },
224
+          },
225
+          axisLabel: {
226
+            textStyle: {
227
+              color:"#2F3133"
228
+            }
229
+          },
230
+          max:2
231
+        },
232
+        // dataZoom: [
233
+        //   {
234
+        //     //Y轴固定,让内容滚动
235
+        //     type: "slider",
236
+        //     show: false,
237
+        //     xAxisIndex: [0],
238
+        //     start: 1,
239
+        //     end: 80, //设置X轴刻度之间的间隔(根据数据量来调整)
240
+        //     zoomLock: true //锁定区域禁止缩放(鼠标滚动会缩放,所以禁止)
241
+        //   },
242
+        //   {
243
+        //     type: "inside",
244
+        //     xAxisIndex: [0],
245
+        //     start: 1,
246
+        //     end: 80,
247
+        //     zoomLock: true //锁定区域禁止缩放
248
+        //   }
249
+        // ],
250
+        legend: this.chartOptions.legend,
251
+        series: this.chartOptions.series,
252
+        dataZoom: this.chartOptions.dataZoom,
253
+      });
254
+    },
255
+    initChart() {
256
+      this.chart = echarts.init(this.$el, "macarons");
257
+      this.chart.clear();
258
+      this.setOptions(this.chartData);
259
+    }
260
+  }
261
+};
262
+</script>

+ 13 - 6
src/xt_pages/qcd/indicatorControlAnalysis/bloodPressure.vue Ver fichero

@@ -17,6 +17,7 @@
17 17
                 :trigger-on-focus="false"
18 18
                 placeholder="请输入病人名字"
19 19
                 @select="handleSelect"
20
+                style="width:160px;"
20 21
               >
21 22
                 <i class="el-icon-search el-input__icon" slot="suffix"></i>
22 23
                 <template slot-scope="{ item }">
@@ -67,24 +68,24 @@
67 68
           ></el-date-picker>
68 69
         </div>
69 70
         <el-container>
70
-          <div style="width:150px">
71
+          <div style="width:160px">
71 72
             <div class="tableTitle">患者列表</div>
72
-            <div class="tableTitle">当前患者: {{patient_name}}</div>
73
+            
73 74
 
74 75
             <el-table :data="patientsData" ref="table" border style="width: 100%;" height="500" :row-style="{ color: '#303133' }"
75 76
                       :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
76 77
                       highlight-current-row
77 78
                       @current-change="handleChange">
78
-              <el-table-column prop="dialysis_no" label="透析号" width="80">
79
+              <el-table-column prop="dialysis_no" label="透析号" width="70" align="center"> 
79 80
                 <template slot-scope="scope">{{scope.row.dialysis_no}}</template>
80 81
               </el-table-column>
81
-              <el-table-column prop="name" label="姓名" width="80">
82
+              <el-table-column prop="name" label="姓名" width="90" align="center">
82 83
                 <template slot-scope="scope">{{ scope.row.name }}</template>
83 84
               </el-table-column>
84 85
             </el-table>
85 86
           </div>
86 87
           <div style="padding-left:10px;flex:1">
87
-            <div class="tableTitle">指标趋势</div>
88
+            <div class="tableTitle">指标趋势<span style="font-weight:normal">&nbsp;&nbsp;(当前患者: {{patient_name}})</span></div>
88 89
             <div>
89 90
               <line-chart :options="bar"></line-chart>
90 91
 
@@ -142,6 +143,7 @@
142 143
                       @click.native.prevent="jumpDetail(scope.row.patient.id)"
143 144
                       type="text"
144 145
                       size="small"
146
+                      style="font-size:14px;"
145 147
                     >详情</el-button>
146 148
                   </template>
147 149
                 </el-table-column>
@@ -294,6 +296,9 @@
294 296
                       { offset: 1, color: colorList[index][1] }
295 297
                     ])
296 298
                   },
299
+                  lineStyle:{ 
300
+                    color:'#409eff' //改变折线颜色
301
+                  },
297 302
                   barBorderRadius: [5, 5, 0, 0] //柱状角成椭圆形
298 303
                 },
299 304
 
@@ -599,7 +604,9 @@
599 604
 </style>
600 605
 <style lang="scss">
601 606
   .page_process {
602
-
607
+    .el-tabs{
608
+      margin-bottom:0px !important;
609
+    }
603 610
     .el-button--medium {
604 611
       padding: 10px 8px;
605 612
     }

+ 23 - 23
src/xt_pages/qcd/indicatorControlAnalysis/bloodPressureDetails.vue Ver fichero

@@ -17,6 +17,7 @@
17 17
                 :trigger-on-focus="false"
18 18
                 placeholder="请输入病人名字"
19 19
                 @select="handleSelect"
20
+                style="width:160px;"
20 21
               >
21 22
                 <i class="el-icon-search el-input__icon" slot="suffix"></i>
22 23
                 <template slot-scope="{ item }">
@@ -25,27 +26,6 @@
25 26
               </el-autocomplete>
26 27
             </el-form-item>
27 28
           </el-form>
28
-        </div>
29
-        <el-container>
30
-          <div style="width:150px">
31
-            <div class="tableTitle">患者列表</div>
32
-            <div class="tableTitle">当前患者: {{patient_name}}</div>
33
-
34
-            <el-table ref="table" :data="patientsData" border style="width: 100%;" height="500" :row-style="{ color: '#303133' }"
35
-                      :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
36
-                      highlight-current-row
37
-                      @current-change="handleChange">
38
-              <el-table-column prop="dialysis_no" label="透析号" width="80">
39
-                <template slot-scope="scope">{{scope.row.dialysis_no}}</template>
40
-              </el-table-column>
41
-              <el-table-column prop="name" label="姓名" width="80">
42
-                <template slot-scope="scope">{{ scope.row.name }}</template>
43
-              </el-table-column>
44
-            </el-table>
45
-
46
-          </div>
47
-          <div class="containerRight" style="flex:1;overflow: hidden">
48
-            <div class="cell clearfix">
49 29
               <label class="title" style="text-align:left">
50 30
                 <span class="name">血压阶段</span> :
51 31
               </label>
@@ -88,8 +68,28 @@
88 68
                 format="yyyy-MM-dd"
89 69
                 value-format="yyyy-MM-dd"
90 70
               ></el-date-picker>
91
-            </div>
92
-            <div class="tableTitle">指标趋势</div>
71
+        </div>
72
+        <el-container>
73
+          <div style="width:160px">
74
+            <div class="tableTitle">患者列表</div>
75
+            
76
+
77
+            <el-table ref="table" :data="patientsData" border style="width: 100%;" height="500" :row-style="{ color: '#303133' }"
78
+                      :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
79
+                      highlight-current-row
80
+                      @current-change="handleChange">
81
+              <el-table-column prop="dialysis_no" label="透析号" width="70">
82
+                <template slot-scope="scope">{{scope.row.dialysis_no}}</template>
83
+              </el-table-column>
84
+              <el-table-column prop="name" label="姓名" width="90">
85
+                <template slot-scope="scope">{{ scope.row.name }}</template>
86
+              </el-table-column>
87
+            </el-table>
88
+
89
+          </div>
90
+          <div class="containerRight" style="flex:1;overflow: hidden">
91
+            
92
+            <div class="tableTitle">指标趋势<span style="font-weight:normal">&nbsp;&nbsp;(当前患者: {{patient_name}})</span></div>
93 93
             <div>
94 94
               <line-chart :options="chart"></line-chart>
95 95
             </div>

+ 12 - 6
src/xt_pages/qcd/indicatorControlAnalysis/components/office.vue Ver fichero

@@ -72,7 +72,7 @@
72 72
     </div>
73 73
     <div class="tableTitle">统计表</div>
74 74
     <div>
75
-      <el-table :data="tableData" style="width: 100%" border>
75
+      <el-table :data="tableData" style="width: 100%" border :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}">
76 76
         <el-table-column label="姓名" align="center">
77 77
           <template slot-scope="scope">
78 78
             {{scope.row.patient.name}}
@@ -101,6 +101,7 @@
101 101
               @click.native.prevent="jumpDetail(scope.row)"
102 102
               type="text"
103 103
               size="small"
104
+              style="font-size:14px;"
104 105
             >详情
105 106
             </el-button>
106 107
           </template>
@@ -225,12 +226,17 @@
225 226
                 normal: {
226 227
                   color: function(params) {
227 228
                     //我这边就两个柱子,大体就两个柱子颜色渐变,所以数组只有两个值,多个颜色就多个值
228
-                    var colorList = ['#A9E0F3', '#9FBDFC']
229
+                    var colorList = [
230
+                    ["#A9E0F3", "#9FBDFC"],
229 231
 
230
-                    // var index = params.dataIndex;
231
-                    // if (params.dataIndex >= colorList.length) {
232
-                    //   index = params.dataIndex % colorList.length;
233
-                    // }
232
+                    ["#FFD7C0", "#FF9994"],
233
+                    ["#D7C3FD", "#B3A8F7"],
234
+                  ];
235
+
236
+                    var index = params.dataIndex;
237
+                    if (params.dataIndex >= colorList.length) {
238
+                      index = params.dataIndex % colorList.length;
239
+                    }
234 240
 
235 241
                     return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
236 242
                       { offset: 0, color: colorList[0] },

+ 15 - 10
src/xt_pages/qcd/indicatorControlAnalysis/components/personal.vue Ver fichero

@@ -11,6 +11,7 @@
11 11
             :trigger-on-focus="false"
12 12
             placeholder="请输入病人名字"
13 13
             @select="handleSelect"
14
+            style="width:160px;"
14 15
           >
15 16
             <i class="el-icon-search el-input__icon" slot="suffix"></i>
16 17
             <template slot-scope="{ item }">
@@ -20,7 +21,7 @@
20 21
 
21 22
         </el-form-item>
22 23
       </el-form>
23
-      <el-select v-model="query.project_id" placeholder="请选择" style="width:120px;margin-right:20px"
24
+      <el-select v-model="query.project_id" placeholder="请选择" style="width:120px;margin-right:10px"
24 25
                  @change="changeProject">
25 26
         <el-option
26 27
           v-for="item in project_columns"
@@ -33,7 +34,7 @@
33 34
       <el-select
34 35
         v-model="query.item_id"
35 36
         placeholder="请选择"
36
-        style="width:120px;margin-right:20px"
37
+        style="width:120px;margin-right:10px"
37 38
         @change="changeItem"
38 39
       >
39 40
         <el-option
@@ -86,23 +87,23 @@
86 87
       ></el-date-picker>
87 88
     </div>
88 89
     <el-container>
89
-      <div style="width:150px">
90
+      <div style="width:160px">
90 91
 
91
-        <div class="tableTitle">患者列表  <div class="tableTitle">当前患者:{{patient_name}}</div></div>
92
+        <div class="tableTitle">患者列表</div>
92 93
         <el-table ref="table" :data="patientsData" border style="width: 100%;" height="500" :row-style="{ color: '#303133' }"
93 94
                   :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
94 95
                   highlight-current-row
95 96
                   @current-change="handleChange">
96
-          <el-table-column prop="dialysis_no" label="透析号" width="80">
97
+          <el-table-column prop="dialysis_no" label="透析号" width="70">
97 98
             <template slot-scope="scope">{{scope.row.dialysis_no}}</template>
98 99
           </el-table-column>
99
-          <el-table-column prop="name" label="姓名" width="80">
100
+          <el-table-column prop="name" label="姓名" width="90">
100 101
             <template slot-scope="scope">{{ scope.row.name }}</template>
101 102
           </el-table-column>
102 103
         </el-table>
103 104
       </div>
104 105
       <div style="padding-left:10px;flex:1">
105
-        <div class="tableTitle">统计图</div>
106
+        <div class="tableTitle" style="magrin-bottom:0;">统计图<span style="font-weight:normal">&nbsp;&nbsp;(当前患者:{{patient_name}})</span></div>
106 107
         <div>
107 108
           <line-chart :options="options"></line-chart>
108 109
         </div>
@@ -327,10 +328,11 @@
327 328
                   color: function(params) {
328 329
                     //我这边就两个柱子,大体就两个柱子颜色渐变,所以数组只有两个值,多个颜色就多个值
329 330
                     var colorList = [
330
-                      ['#A9E0F3', '#9FBDFC'],
331
+                      ["#A9E0F3", "#9FBDFC"],
331 332
 
332
-                      ['#FFD7C0', '#FF9994']
333
-                    ]
333
+                      ["#FFD7C0", "#FF9994"],
334
+                      ["#D7C3FD", "#B3A8F7"],
335
+                    ];
334 336
 
335 337
                     var index = params.dataIndex
336 338
                     if (params.dataIndex >= colorList.length) {
@@ -343,6 +345,9 @@
343 345
                       { offset: 1, color: colorList[index][1] }
344 346
                     ])
345 347
                   },
348
+                  lineStyle:{ 
349
+                    color:'#409eff' //改变折线颜色
350
+                  }, 
346 351
                   barBorderRadius: [5, 5, 0, 0] //柱状角成椭圆形
347 352
                 },
348 353
 

+ 11 - 7
src/xt_pages/qcd/indicatorControlAnalysis/monitor.vue Ver fichero

@@ -17,6 +17,7 @@
17 17
                 :trigger-on-focus="false"
18 18
                 placeholder="请输入病人名字"
19 19
                 @select="handleSelect"
20
+                style="width:160px"
20 21
               >
21 22
                 <i class="el-icon-search el-input__icon" slot="suffix"></i>
22 23
                 <template slot-scope="{ item }">
@@ -67,24 +68,24 @@
67 68
           ></el-date-picker>
68 69
         </div>
69 70
         <el-container>
70
-          <div style="width:150px">
71
+          <div style="width:160px">
71 72
             <div class="tableTitle">患者列表</div>
72
-            <div class="tableTitle">当前患者: {{patient_name}}</div>
73
+            
73 74
 
74 75
             <el-table ref="table" :data="patientsData" border style="width: 100%;" height="500" :row-style="{ color: '#303133' }"
75 76
                       :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
76 77
                       highlight-current-row
77 78
                       @current-change="handleChange">
78
-              <el-table-column prop="dialysis_no" label="透析号" width="80">
79
+              <el-table-column prop="dialysis_no" label="透析号" width="70" align="center">
79 80
                 <template slot-scope="scope">{{scope.row.dialysis_no}}</template>
80 81
               </el-table-column>
81
-              <el-table-column prop="name" label="姓名" width="80">
82
+              <el-table-column prop="name" label="姓名" width="90" align="center">
82 83
                 <template slot-scope="scope">{{ scope.row.name }}</template>
83 84
               </el-table-column>
84 85
             </el-table>
85 86
           </div>
86 87
           <div style="padding-left:10px;flex:1;width:0;">
87
-            <div class="tableTitle">指标趋势</div>
88
+            <div class="tableTitle">指标趋势<span style="font-weight:normal">&nbsp;&nbsp;(当前患者: {{patient_name}})</span></div>
88 89
             <div>
89 90
               <line-chart :options="chart"></line-chart>
90 91
             </div>
@@ -320,6 +321,9 @@
320 321
                       { offset: 1, color: colorList[index][1] }
321 322
                     ])
322 323
                   },
324
+                  lineStyle:{ 
325
+                    color:'#409eff' //改变折线颜色
326
+                  },
323 327
                   barBorderRadius: [5, 5, 0, 0] //柱状角成椭圆形
324 328
                 },
325 329
 
@@ -327,7 +331,7 @@
327 331
                 emphasis: {
328 332
                   shadowBlur: 10,
329 333
                   shadowOffsetX: 0,
330
-                  shadowColor: 'rgba(0, 0, 0, 0.5)'
334
+                  shadowColor: 'rgba(0, 0, 0, 0.2)'
331 335
                 }
332 336
               }
333 337
             }
@@ -395,7 +399,7 @@
395 399
                 emphasis: {
396 400
                   shadowBlur: 10,
397 401
                   shadowOffsetX: 0,
398
-                  shadowColor: 'rgba(0, 0, 0, 0.5)'
402
+                  shadowColor: 'rgba(0, 0, 0, 0.2)'
399 403
                 }
400 404
               }
401 405
             }

+ 96 - 103
src/xt_pages/qcd/indicatorControlAnalysis/patientInspectionDetail.vue Ver fichero

@@ -4,34 +4,30 @@
4 4
       <bread-crumb :crumbs="crumbs"></bread-crumb>
5 5
       <el-button type="primary" @click="$router.back(-1)">返回</el-button>
6 6
     </div>
7
-    <div class="app-container">
7
+    <div class="app-container pageInspection">
8 8
 
9 9
       <div class="cell clearfix">
10 10
         <label class="title">
11 11
           <span class="name">病人搜索</span> :
12 12
         </label>
13
-        <div >
14
-
15
-          <el-form :inline="true">
16
-            <el-form-item label>
17
-              <el-autocomplete
18
-                class="checkSearch"
19
-                style="margin-top: 20px;"
20
-                popper-class="my-autocomplete"
21
-                v-model="search_value"
22
-                :fetch-suggestions="querySearchAsync"
23
-                :trigger-on-focus="false"
24
-                placeholder="请输入病人名字"
25
-                @select="handleSelect"
26
-              >
27
-                <i class="el-icon-search el-input__icon" slot="suffix"></i>
28
-                <template slot-scope="{ item }">
29
-                  <div class="name">{{ item.name }}</div>
30
-                </template>
31
-              </el-autocomplete>
32
-            </el-form-item>
33
-          </el-form>
34
-        </div>
13
+        <el-form :inline="true">
14
+          <el-form-item label>
15
+            <el-autocomplete
16
+              class="checkSearch"
17
+              popper-class="my-autocomplete"
18
+              v-model="search_value"
19
+              :fetch-suggestions="querySearchAsync"
20
+              :trigger-on-focus="false"
21
+              placeholder="请输入病人名字"
22
+              @select="handleSelect"
23
+            >
24
+              <i class="el-icon-search el-input__icon" slot="suffix"></i>
25
+              <template slot-scope="{ item }">
26
+                <div class="name">{{ item.name }}</div>
27
+              </template>
28
+            </el-autocomplete>
29
+          </el-form-item>
30
+        </el-form>
35 31
 
36 32
       </div>
37 33
 
@@ -82,30 +78,30 @@
82 78
         ></el-date-picker>
83 79
       </div>
84 80
       <el-container>
85
-        <div style="width:150px">
81
+        <div style="width:160px">
86 82
           <div class="tableTitle">患者列表</div>
87
-          <div class="tableTitle">当前患者: {{patient_name}}</div>
83
+          
88 84
 
89 85
           <el-table ref="table" :data="patientsData" border style="width: 100%;" height="500"
90 86
                     :row-style="{ color: '#303133' }"
91 87
                     :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
92 88
                     highlight-current-row
93 89
                     @current-change="handleChange">
94
-            <el-table-column prop="dialysis_no" label="透析号" width="80">
90
+            <el-table-column prop="dialysis_no" label="透析号" width="70" align="center">
95 91
               <template slot-scope="scope">{{scope.row.dialysis_no}}</template>
96 92
             </el-table-column>
97
-            <el-table-column prop="name" label="姓名" width="80">
93
+            <el-table-column prop="name" label="姓名" width="90" align="center">
98 94
               <template slot-scope="scope">{{ scope.row.name }}</template>
99 95
             </el-table-column>
100 96
           </el-table>
101 97
 
102 98
         </div>
103 99
         <div style="padding-left:10px;flex:1">
104
-          <div class="tableTitle">统计图</div>
100
+          <div class="tableTitle">统计图<span style="font-weight:normal">&nbsp;&nbsp;(当前患者: {{patient_name}})</span></div>
105 101
           <div>
106 102
             <!--<line-chart :options="options2"></line-chart>-->
107 103
             <line-chart v-if="this.$route.query.range_type == 1" :options="options"></line-chart>
108
-            <line-chart v-if="this.$route.query.range_type == 2" :options="options2"></line-chart>
104
+            <line-chart1 v-if="this.$route.query.range_type == 2" :options="options2"></line-chart1>
109 105
 
110 106
 
111 107
 
@@ -122,6 +118,7 @@
122 118
   const moment = require('moment')
123 119
   import echarts from 'echarts'
124 120
   import LineChart from '../../qcd/components/LineChart'
121
+  import LineChart1 from '../../qcd/components/LineChart1'
125 122
   import { uParseTime } from '@/utils/tools'
126 123
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
127 124
   import { getCurrentOrgPatients } from '@/api/common/common'
@@ -140,6 +137,7 @@
140 137
     name: 'dialysisTotal',
141 138
     components: {
142 139
       LineChart,
140
+      LineChart1,
143 141
       BreadCrumb
144 142
     },
145 143
     data() {
@@ -204,12 +202,19 @@
204 202
               name: '',
205 203
               type: 'line',
206 204
               data: [],
205
+              symbol: 'circle',//折线点设置为实心点
206
+              symbolSize: 15,   //折线点的大小
207 207
               barWidth: 30,
208 208
               label: {
209 209
                 normal: {
210 210
                   show: true,
211
-                  position: 'top',
212
-                  formatter: '{c}'
211
+                  position: "top",
212
+                  formatter: (params) => {
213
+                      let str = ''
214
+                      str = this.otherData[params.dataIndex]
215
+                      return str
216
+
217
+                  }
213 218
                 }
214 219
               },
215 220
               //配置样式
@@ -218,24 +223,33 @@
218 223
 
219 224
                 //每个柱子的颜色即为colorList数组里的每一项,如果柱子数目多于colorList的长度,则柱子颜色循环使用该数组
220 225
                 normal: {
221
-                  color: function(params) {
226
+                  color: (params) => {
222 227
                     //我这边就两个柱子,大体就两个柱子颜色渐变,所以数组只有两个值,多个颜色就多个值
223
-                    var colorList = [
224
-                      ['#A9E0F3', '#9FBDFC'],
225
-
226
-                      ['#FFD7C0', '#FF9994']
227
-                    ]
228
-
229
-                    var index = params.dataIndex
230
-                    if (params.dataIndex >= colorList.length) {
231
-                      index = params.dataIndex % colorList.length
232
-                    }
233
-
234
-                    return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
235
-                      { offset: 0, color: colorList[index][0] },
236
-                      // { offset: 0.5, color: colorList[index][1] },
237
-                      { offset: 1, color: colorList[index][1] }
238
-                    ])
228
+                    var colorList = [
229
+                      ['#409EFF','#409EFF'],
230
+                      ['#f56c6c','#f56c6c']
231
+                      ];
232
+                    if(params.seriesName == this.otherData[params.dataIndex]){
233
+                      var index = 0 
234
+                    }else {
235
+                      var index = 1
236
+                    }
237
+                   
238
+
239
+                    // var index = params.dataIndex;
240
+                    // if (params.dataIndex >= colorList.length) {
241
+                    //   index = params.dataIndex % colorList.length;
242
+                    // }
243
+
244
+                    return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
245
+                      {offset: 0, color: colorList[index][0]},
246
+                      // { offset: 0.5, color: colorList[index][1] },
247
+                      {offset: 1, color: colorList[index][1]}
248
+                    ]);
249
+                  },
250
+                  lineStyle: {
251
+                    width:2,
252
+                    color: "#cccccc"//折线的颜色
239 253
                   },
240 254
                   barBorderRadius: [5, 5, 0, 0] //柱状角成椭圆形
241 255
                 },
@@ -244,7 +258,7 @@
244 258
                 emphasis: {
245 259
                   shadowBlur: 10,
246 260
                   shadowOffsetX: 0,
247
-                  shadowColor: 'rgba(0, 0, 0, 0.5)'
261
+                  shadowColor: 'rgba(0, 0, 0, 0.2)'
248 262
                 }
249 263
               }
250 264
             }
@@ -453,7 +467,8 @@
453 467
           { value: 4, label: '近一年', state: 4 },
454 468
           { value: 5, label: '自定义', state: 5 }
455 469
         ],
456
-        search_value: ''
470
+        search_value: '',
471
+        otherData:[]
457 472
       }
458 473
     },
459 474
     methods: {
@@ -603,9 +618,15 @@
603 618
                   this.options2.xAxis.data.push(resp.data.data[i].date)
604 619
                   tempData.push(resp.data.data[i].value)
605 620
                   otherData.push(resp.data.data[i].value)
621
+                  this.options2.series[0].name = resp.data.references.range_value
606 622
                 }
607 623
               }
608
-
624
+              this.otherData = otherData
625
+              if(this.$route.query.range_type == 1){
626
+                this.getArrLength(this.options.xAxis.data,1)
627
+              }else{
628
+                this.getArrLength(this.options2.xAxis.data,this.$route.query.range_type)
629
+              }
609 630
               console.log(this.options.xAxis.data)
610 631
 
611 632
               console.log(this.options.series[0].data)
@@ -645,6 +666,26 @@
645 666
       }, getTimestamp(time) {
646 667
         // 把时间日期转成时间戳
647 668
         return new Date(time).getTime() / 1000
669
+      },
670
+      getArrLength(result,type){
671
+        if(type == 1){
672
+          if(result.length > 10){
673
+            var dataZoom_end = (10/result.length)*100;
674
+            this.options.dataZoom[0].end = dataZoom_end
675
+          }else{
676
+            var dataZoom_end = 100;
677
+            this.options.dataZoom[0].end = dataZoom_end
678
+          }
679
+        }else{
680
+          if(result.length > 10){
681
+            var dataZoom_end = (10/result.length)*100;
682
+            this.options2.dataZoom[0].end = dataZoom_end
683
+          }else{
684
+            var dataZoom_end = 100;
685
+            this.options2.dataZoom[0].end = dataZoom_end
686
+          }
687
+        }
688
+
648 689
       }
649 690
 
650 691
     },
@@ -777,60 +818,12 @@
777 818
 </style>
778 819
 
779 820
 <style lang="scss">
780
-  .infoBox {
781
-
782
-  .infoOne {
783
-
784
-  .borderBox {
785
-
786
-  .el-progress-bar__inner {
787
-    background: linear-gradient(
788
-      90deg,
789
-      rgba(169, 224, 243, 1),
790
-      rgba(159, 189, 252, 1)
791
-    );
792
-  }
793
-
794
-  .el-progress-bar {
795
-    margin-right: -59px;
796
-    padding-right: 60px;
797
-  }
798
-
799
-  }
800
-  .borderBox1 {
801
-
802
-  .el-progress-bar__inner {
803
-    background: linear-gradient(
804
-      90deg,
805
-      rgba(255, 215, 192, 1),
806
-      rgba(255, 153, 148, 1)
807
-    );
808
-  }
809
-
810
-  .el-progress-bar {
811
-    margin-right: -59px;
812
-    padding-right: 60px;
821
+.pageInspection{
822
+  .el-form-item{
823
+    margin-bottom:0px !important;
813 824
   }
825
+}
814 826
 
815
-  }
816
-  .borderBox2 {
817
-
818
-  .el-progress-bar__inner {
819
-    background: linear-gradient(
820
-      90deg,
821
-      rgba(215, 195, 253, 1),
822
-      rgba(179, 168, 247, 1)
823
-    );
824
-  }
825
-
826
-  .el-progress-bar {
827
-    margin-right: -59px;
828
-    padding-right: 60px;
829
-  }
830
-
831
-  }
832
-  }
833
-  }
834 827
 </style>
835 828
 
836 829
 

+ 12 - 6
src/xt_pages/qcd/indicatorControlAnalysis/process.vue Ver fichero

@@ -17,6 +17,7 @@
17 17
                 :trigger-on-focus="false"
18 18
                 placeholder="请输入病人名字"
19 19
                 @select="handleSelect"
20
+                style="width:160px;"
20 21
               >
21 22
                 <i class="el-icon-search el-input__icon" slot="suffix"></i>
22 23
                 <template slot-scope="{ item }">
@@ -68,26 +69,26 @@
68 69
           ></el-date-picker>
69 70
         </div>
70 71
         <el-container>
71
-          <div style="width:150px">
72
+          <div style="width:160px">
72 73
 
73 74
             <div class="tableTitle">患者列表</div>
74
-            <div class="tableTitle">当前患者: {{patient_name}}</div>
75
+            
75 76
 
76 77
             <el-table ref="table" :data="patientsData" border style="width: 100%;" height="500"
77 78
                       :row-style="{ color: '#303133' }"
78 79
                       :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
79 80
                       highlight-current-row
80 81
                       @current-change="handleChange">
81
-              <el-table-column prop="dialysis_no" label="透析号" width="80">
82
+              <el-table-column prop="dialysis_no" label="透析号" width="70" align="center">
82 83
                 <template slot-scope="scope">{{scope.row.dialysis_no}}</template>
83 84
               </el-table-column>
84
-              <el-table-column prop="name" label="姓名" width="80">
85
+              <el-table-column prop="name" label="姓名" width="90" align="center">
85 86
                 <template slot-scope="scope">{{ scope.row.name }}</template>
86 87
               </el-table-column>
87 88
             </el-table>
88 89
           </div>
89 90
           <div style="padding-left:10px;flex:1;width:0;">
90
-            <div class="tableTitle">指标趋势</div>
91
+            <div class="tableTitle">指标趋势<span style="font-weight:normal">&nbsp;&nbsp;(当前患者: {{patient_name}})</span></div>
91 92
             <div>
92 93
               <line-chart :options="chart"
93 94
                           v-if="query.statistics_type != 9 && query.statistics_type != 10"></line-chart>
@@ -412,6 +413,9 @@
412 413
                       { offset: 1, color: colorList[index][1] }
413 414
                     ])
414 415
                   },
416
+                  lineStyle:{ 
417
+                    color:'#409eff' //改变折线颜色
418
+                  },
415 419
                   barBorderRadius: [5, 5, 0, 0] //柱状角成椭圆形
416 420
                 },
417 421
 
@@ -770,7 +774,9 @@
770 774
 </style>
771 775
 <style lang="scss">
772 776
   .page_process {
773
-
777
+    .el-tabs{
778
+      margin-bottom:0 !important;
779
+    }
774 780
     .el-button--medium {
775 781
       padding: 10px 8px;
776 782
     }

+ 9 - 7
src/xt_pages/qcd/indicatorControlAnalysis/weight.vue Ver fichero

@@ -17,6 +17,7 @@
17 17
                 :trigger-on-focus="false"
18 18
                 placeholder="请输入病人名字"
19 19
                 @select="handleSelect"
20
+                style="width:160px;"
20 21
               >
21 22
                 <i class="el-icon-search el-input__icon" slot="suffix"></i>
22 23
                 <template slot-scope="{ item }">
@@ -67,25 +68,25 @@
67 68
           ></el-date-picker>
68 69
         </div>
69 70
         <el-container>
70
-          <div style="width:150px">
71
+          <div style="width:160px">
71 72
 
72 73
             <div class="tableTitle">患者列表</div>
73
-            <div class="tableTitle">当前患者: {{patient_name}}</div>
74
+            
74 75
 
75 76
             <el-table ref="table" :data="patientsData" border style="width: 100%;" height="500" :row-style="{ color: '#303133' }"
76 77
                       :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
77 78
                       highlight-current-row
78 79
                       @current-change="handleChange">
79
-              <el-table-column prop="dialysis_no" label="透析号" width="80">
80
+              <el-table-column prop="dialysis_no" label="透析号" width="70">
80 81
                 <template slot-scope="scope">{{scope.row.dialysis_no}}</template>
81 82
               </el-table-column>
82
-              <el-table-column prop="name" label="姓名" width="80">
83
+              <el-table-column prop="name" label="姓名" width="90">
83 84
                 <template slot-scope="scope">{{ scope.row.name }}</template>
84 85
               </el-table-column>
85 86
             </el-table>
86 87
           </div>
87 88
           <div style="padding-left:10px;flex:1">
88
-            <div class="tableTitle">指标趋势</div>
89
+            <div class="tableTitle">指标趋势<span style="font-weight:normal">&nbsp;&nbsp;(当前患者: {{patient_name}})</span></div>
89 90
             <div>
90 91
               <line-chart :options="bar"></line-chart>
91 92
 
@@ -154,6 +155,7 @@
154 155
                       @click.native.prevent="jumpDetail(scope.row.patient_id)"
155 156
                       type="text"
156 157
                       size="small"
158
+                      style="font-size:14px;"
157 159
                     >详情</el-button>
158 160
                   </template>
159 161
                 </el-table-column>
@@ -312,7 +314,7 @@
312 314
                 emphasis: {
313 315
                   shadowBlur: 10,
314 316
                   shadowOffsetX: 0,
315
-                  shadowColor: 'rgba(0, 0, 0, 0.5)'
317
+                  shadowColor: 'rgba(0, 0, 0, 0.2)'
316 318
                 }
317 319
               }
318 320
             }
@@ -391,7 +393,7 @@
391 393
 
392 394
                   shadowBlur: 10,
393 395
                   shadowOffsetX: 0,
394
-                  shadowColor: 'rgba(0, 0, 0, 0.5)'
396
+                  shadowColor: 'rgba(0, 0, 0, 0.2)'
395 397
                 }
396 398
               }
397 399
             }

+ 22 - 22
src/xt_pages/qcd/indicatorControlAnalysis/weightDetails.vue Ver fichero

@@ -17,6 +17,7 @@
17 17
                 :trigger-on-focus="false"
18 18
                 placeholder="请输入病人名字"
19 19
                 @select="handleSelect"
20
+                style="width:160px"
20 21
               >
21 22
                 <i class="el-icon-search el-input__icon" slot="suffix"></i>
22 23
                 <template slot-scope="{ item }">
@@ -26,27 +27,6 @@
26 27
 
27 28
             </el-form-item>
28 29
           </el-form>
29
-        </div>
30
-        <el-container>
31
-          <div style="width:150px">
32
-            <div class="tableTitle">患者列表</div>
33
-            <div class="tableTitle">当前患者: {{patient_name}}</div>
34
-            <el-table ref="table" :data="patientsData" border style="width: 100%;" height="500" :row-style="{ color: '#303133' }"
35
-                      :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
36
-                      highlight-current-row
37
-                      @current-change="handleChange">
38
-              <el-table-column prop="dialysis_no" label="透析号" width="80">
39
-                <template slot-scope="scope">{{scope.row.dialysis_no}}</template>
40
-              </el-table-column>
41
-              <el-table-column prop="name" label="姓名" width="80">
42
-                <template slot-scope="scope">{{ scope.row.name }}</template>
43
-              </el-table-column>
44
-            </el-table>
45
-
46
-
47
-          </div>
48
-          <div class="containerRight" style="flex:1;overflow: hidden">
49
-            <div class="cell clearfix">
50 30
               <label class="title" style="text-align:left">
51 31
                 <span class="name">体重类型</span> :
52 32
               </label>
@@ -89,7 +69,27 @@
89 69
                 format="yyyy-MM-dd"
90 70
                 value-format="yyyy-MM-dd"
91 71
               ></el-date-picker>
92
-            </div>
72
+        </div>
73
+        <el-container>
74
+          <div style="width:160px">
75
+            <div class="tableTitle">患者列表</div>
76
+            
77
+            <el-table ref="table" :data="patientsData" border style="width: 100%;" height="500" :row-style="{ color: '#303133' }"
78
+                      :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
79
+                      highlight-current-row
80
+                      @current-change="handleChange">
81
+              <el-table-column prop="dialysis_no" label="透析号" width="70">
82
+                <template slot-scope="scope">{{scope.row.dialysis_no}}</template>
83
+              </el-table-column>
84
+              <el-table-column prop="name" label="姓名" width="90">
85
+                <template slot-scope="scope">{{ scope.row.name }}</template>
86
+              </el-table-column>
87
+            </el-table>
88
+
89
+
90
+          </div>
91
+          <div class="containerRight" style="flex:1;overflow: hidden">
92
+            
93 93
             <div class="tableTitle">指标趋势</div>
94 94
             <div>
95 95
               <line-chart :options="chart"></line-chart>

+ 4 - 4
src/xt_pages/qcd/officesControlAnalysis/project.vue Ver fichero

@@ -9,14 +9,14 @@
9 9
         <el-tab-pane label="按项目分组" name="second"></el-tab-pane>
10 10
       </el-tabs>
11 11
       <div class="cell clearfix">
12
-        <el-select v-model="lapseto" placeholder="请选择" style="width:120px;margin-right:10px" @change="changeOptions">
12
+        <!-- <el-select v-model="lapseto" placeholder="请选择" style="width:120px;margin-right:10px" @change="changeOptions">
13 13
           <el-option
14 14
             v-for="item in options"
15 15
             :key="item.value"
16 16
             :label="item.label"
17 17
             :value="item.value"
18 18
           ></el-option>
19
-        </el-select>
19
+        </el-select> -->
20 20
         <el-select v-model="type" placeholder="请选择" @change="chooseType" style="margin-right:10px">
21 21
           <el-option
22 22
             v-for="item in options1"
@@ -134,7 +134,7 @@ export default {
134 134
         },
135 135
         series: [
136 136
           {
137
-            name: "次数",
137
+            name: "达标率",
138 138
             type: "bar",
139 139
             data: [
140 140
               "78.57",
@@ -574,7 +574,7 @@ export default {
574 574
        getMonthProjectList(params).then(response=>{
575 575
         if(response.data.state === 1){
576 576
             var monthlist = response.data.data.monthlist
577
-            // console.log("monthlist",monthlist)
577
+           console.log("monthlist",monthlist)
578 578
             var newArr = [
579 579
               {Total:"一月",Count:1,NoCount: 0},
580 580
               {Total:"二月",Count:1,NoCount: 0},

+ 2 - 2
src/xt_pages/qcd/officesControlAnalysis/time.vue Ver fichero

@@ -9,14 +9,14 @@
9 9
         <el-tab-pane label="按项目分组" name="second"></el-tab-pane>
10 10
       </el-tabs>
11 11
       <div class="cell clearfix">
12
-        <el-select v-model="lapseto" placeholder="请选择" style="width:120px;margin-right:10px" @change="changeLapseto">
12
+        <!-- <el-select v-model="lapseto" placeholder="请选择" style="width:120px;margin-right:10px" @change="changeLapseto">
13 13
           <el-option
14 14
             v-for="item in options"
15 15
             :key="item.value"
16 16
             :label="item.label"
17 17
             :value="item.value"
18 18
           ></el-option>
19
-        </el-select>
19
+        </el-select> -->
20 20
         <el-select v-model="type" placeholder="请选择" @change="chooseType" style="margin-right:10px">
21 21
           <el-option
22 22
             v-for="item in options1"

+ 219 - 12
src/xt_pages/qcd/patientComplianceDetails.vue Ver fichero

@@ -32,7 +32,7 @@
32 32
               </el-form-item>
33 33
             </el-form>
34 34
             <div class="tableTitle">患者列表</div>
35
-            <el-table :data="patientsData" border style="width: 100%;" height="500"  highlight-current-row @current-change="handleChange" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}">
35
+            <el-table ref="singleTable" :data="patientsData" border style="width: 100%;" height="500"  highlight-current-row @current-change="handleChange" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}">
36 36
               <el-table-column prop="name" label="透析号" width="70">
37 37
                  <template slot-scope="scope">
38 38
                     {{scope.row.dialysis_no}}
@@ -107,13 +107,16 @@
107 107
                 </div>
108 108
               </div>
109 109
             </div>
110
-            <div class="tableTitle">指标趋势</div>
110
+            <div class="tableTitle">指标趋势
111
+              <span style="font-weight:normal">&nbsp;&nbsp;(当前患者: {{patient_name}})</span>
112
+            </div>
111 113
             <div class="cell clearfix">
112 114
               <p class="point"></p>
113
-              <p class="pointTitle">达标率</p>
115
+              <p class="pointTitle">{{itemName}}</p>
114 116
             </div>
115 117
             <div>
116
-              <line-chart :options="chart"></line-chart>
118
+              <line-chart :options="chart" v-if="rangetype == 1"></line-chart>
119
+               <line-chart1 :options="char2" v-if="rangetype == 2"></line-chart1>
117 120
             </div>
118 121
           </div>
119 122
         </el-container>
@@ -127,15 +130,21 @@ const moment = require('moment')
127 130
 import echarts from "echarts";
128 131
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
129 132
 import LineChart from "../qcd/components/LineChart";
133
+import LineChart1 from '../qcd/components/LineChart1'
130 134
 import { uParseTime } from "@/utils/tools";
135
+ import { PostSearch} from '@/api/patient'
131 136
 import { getCurrentOrgPatients,GetQualityControl,getNormData,getPatientComplianceDetail } from "@/api/common/common"
132 137
 export default {
133 138
   components: {
134 139
     LineChart,
135
-    BreadCrumb
140
+    BreadCrumb,
141
+    LineChart1
136 142
   },
137 143
   data() {
138 144
     return {
145
+     patient_name:"",
146
+     rangetype:1,
147
+     itemName:"",
139 148
      isTrue:0,
140 149
       crumbs: [
141 150
         { path: false, name: "质控管理" },
@@ -172,6 +181,126 @@ export default {
172 181
       monthType: 0,
173 182
       arr: [],
174 183
       quality: 0,
184
+      char2: {
185
+          title: {
186
+            text: 'ECharts 入门示例'
187
+          },
188
+          tooltip: {},
189
+          legend: {
190
+            data: ['次数'],
191
+            left: 0
192
+          },
193
+          xAxis: {
194
+            data: [],
195
+            axisLine: {
196
+              lineStyle: {
197
+                color: '#FF0000',
198
+                width: 8 //这里是为了突出显示加上的
199
+              }
200
+            },
201
+            axisLabel: {
202
+              interval: 0,
203
+              formatter: function(value) {
204
+                var ret = '' //拼接加\n返回的类目项
205
+                var maxLength = 8 //每项显示文字个数
206
+                var valLength = value.length //X轴类目项的文字个数
207
+                var rowN = Math.ceil(valLength / maxLength) //类目项需要换行的行数
208
+                if (rowN > 1) {
209
+                  //如果类目项的文字大于3,
210
+                  for (var i = 0; i < rowN; i++) {
211
+                    var temp = '' //每次截取的字符串
212
+                    var start = i * maxLength //开始截取的位置
213
+                    var end = start + maxLength //结束截取的位置
214
+                    //这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧
215
+                    temp = value.substring(start, end) + '\n'
216
+                    ret += temp //凭借最终的字符串
217
+                  }
218
+                  return ret
219
+                } else {
220
+                  return value
221
+                }
222
+              }
223
+            }
224
+          },
225
+          yAxis: {
226
+            axisLabel: {
227
+              formatter: '{value} %'
228
+            },
229
+            show: false,
230
+            axisLine: {
231
+              lineStyle: {
232
+                color: '#00FF00',
233
+                width: 8 //这里是为了突出显示加上的
234
+              }
235
+            }
236
+          },
237
+          series: [
238
+            {
239
+              name: '',
240
+              type: 'line',
241
+              data: [],
242
+              symbol: 'circle',//折线点设置为实心点
243
+              symbolSize: 15,   //折线点的大小
244
+              barWidth: 30,
245
+              label: {
246
+                normal: {
247
+                  show: true,
248
+                  position: "top",
249
+                  formatter: (params) => {
250
+                      let str = ''
251
+                      str = this.otherData[params.dataIndex]
252
+                      return str
253
+
254
+                  }
255
+                }
256
+              },
257
+              //配置样式
258
+              itemStyle: {
259
+                //通常情况下:
260
+
261
+                //每个柱子的颜色即为colorList数组里的每一项,如果柱子数目多于colorList的长度,则柱子颜色循环使用该数组
262
+                normal: {
263
+                  color: (params) => {
264
+                    //我这边就两个柱子,大体就两个柱子颜色渐变,所以数组只有两个值,多个颜色就多个值
265
+                    var colorList = [
266
+                      ['#409EFF','#409EFF'],
267
+                      ['#f56c6c','#f56c6c']
268
+                      ];
269
+                    if(params.seriesName == this.otherData[params.dataIndex]){
270
+                      var index = 0 
271
+                    }else {
272
+                      var index = 1
273
+                    }
274
+                   
275
+
276
+                    // var index = params.dataIndex;
277
+                    // if (params.dataIndex >= colorList.length) {
278
+                    //   index = params.dataIndex % colorList.length;
279
+                    // }
280
+
281
+                    return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
282
+                      {offset: 0, color: colorList[index][0]},
283
+                      // { offset: 0.5, color: colorList[index][1] },
284
+                      {offset: 1, color: colorList[index][1]}
285
+                    ]);
286
+                  },
287
+                  lineStyle: {
288
+                    width:2,
289
+                    color: "#cccccc"//折线的颜色
290
+                  },
291
+                  barBorderRadius: [5, 5, 0, 0] //柱状角成椭圆形
292
+                },
293
+
294
+                //鼠标悬停时:
295
+                emphasis: {
296
+                  shadowBlur: 10,
297
+                  shadowOffsetX: 0,
298
+                  shadowColor: 'rgba(0, 0, 0, 0.2)'
299
+                }
300
+              }
301
+            }
302
+          ]
303
+        },
175 304
       chart: {
176 305
         title: {
177 306
           text: "ECharts 入门示例"
@@ -253,6 +382,7 @@ export default {
253 382
       },
254 383
       inspect_date:0,
255 384
       monthActive:0,
385
+      otherData:[]
256 386
     };
257 387
   },
258 388
   methods: {
@@ -323,6 +453,18 @@ export default {
323 453
       this.monthType = month;
324 454
     },
325 455
     clickQuality(index,itemid) {
456
+      var itemName = ''
457
+      for(let i=0;i<this.normData.length;i++){
458
+         if(itemid == this.normData[i].inspection_minor){
459
+           if(this.normData[i].range_type == 1){
460
+              itemName = this.normData[i].item_name + "("+this.normData[i].min_range + "-"+this.normData[i].large_range+")"+this.normData[i].unit
461
+           }
462
+           if(this.normData[i].range_type == 2){
463
+             itemName = this.normData[i].item_name
464
+           } 
465
+         }
466
+      }
467
+      this.itemName = itemName
326 468
       this.quality = index;
327 469
       this.item_id = itemid
328 470
       this.getlistDetail()
@@ -369,12 +511,19 @@ export default {
369 511
     },
370 512
     handleChange(val){
371 513
      this.patientid = val.id
514
+     this.patient_name = val.name
372 515
       this.getlistDetail()
373 516
     },
374 517
    getCurrentOrgPatients(){
375 518
       getCurrentOrgPatients().then(response=>{
376 519
           if(response.data.state == 1){
377 520
             var patients = response.data.data.patients
521
+            for(let i=0;i<patients.length;i++){
522
+               if(this.patientid == patients[i].id){
523
+                  this.$refs.singleTable.setCurrentRow(patients[i])
524
+                  this.patient_name = patients[i].name
525
+               }
526
+            }
378 527
             this.patientsData = patients
379 528
           }
380 529
       })
@@ -382,8 +531,10 @@ export default {
382 531
     getNormData(){
383 532
       getNormData().then(response=>{
384 533
          var normdata = response.data.data.normdata
534
+         console.log("normdata",normdata)
385 535
           for(let i=0;i<normdata.length;i++){
386 536
             this.item_id = normdata[0].inspection_minor
537
+            this.itemName = normdata[0].item_name + "("+normdata[0].min_range + "-"+normdata[0].large_range +")"+normdata[0].unit
387 538
           }
388 539
           this.normData = normdata
389 540
           this.getlist()
@@ -392,6 +543,8 @@ export default {
392 543
     getlist(){
393 544
         this.modesData.series = []
394 545
         this.modesData.xAxis = []
546
+        this.char2.xAxis.data = []
547
+        this.char2.series[0].data = []
395 548
         const startDate = moment().subtract('month', 0).format('YYYY-MM') + '-01'
396 549
         const endDate = moment(new Date()).format('YYYY-MM-DD')
397 550
         var now = new Date()
@@ -414,7 +567,7 @@ export default {
414 567
        GetQualityControl(params).then(response=>{
415 568
           if(response.data.state == 1){
416 569
             var list = response.data.data.list
417
-            console.log("list",list)
570
+            console.log("list是什么",list)
418 571
             for(let i=0;i<list.length;i++){
419 572
               if(parseInt(list[i].inspect_value)>= parseInt(list[i].range_min) && parseInt(list[i].inspect_value)<= parseInt(list[i].range_max)){
420 573
                     this.isTrue = 1  
@@ -422,9 +575,20 @@ export default {
422 575
                if(parseInt(list[i].inspect_value)< parseInt(list[i].range_min) || parseInt(list[i].inspect_value) > parseInt(list[i].range_max)){
423 576
                     this.isTrue =0
424 577
                }
425
-              this.modesData.xAxis.push(this.getTime(list[i].inspect_date));
426
-               this.modesData.series.push(list[i].inspect_value)
427
-            
578
+               
579
+              if(list[i].range_type == 1){
580
+                    this.rangetype = 1
581
+                    this.modesData.xAxis.push(this.getTime(list[i].inspect_date));
582
+                    this.modesData.series.push(list[i].inspect_value)
583
+                }
584
+
585
+                if(list[i].range_type == 2){
586
+                   this.rangetype = 2
587
+                   this.otherData.push(list[i].inspect_value)
588
+                   this.char2.series[0].data.push("1")
589
+                  this.char2.xAxis.data.push(this.getTime(list[i].inspect_date))
590
+                  this.char2.series[0].name = list[i].range_value
591
+                }
428 592
             }
429 593
             this.chart.series[0].data = this.modesData.series
430 594
             this.chart.xAxis.data = this.modesData.xAxis
@@ -437,6 +601,8 @@ export default {
437 601
     getlistDetail(){
438 602
        this.modesData.series = []
439 603
         this.modesData.xAxis = []
604
+        this.char2.xAxis.data = []
605
+        this.char2.series[0].data = []
440 606
         const startDate = moment().subtract('month', 0).format('YYYY-MM') + '-01'
441 607
         const endDate = moment(new Date()).format('YYYY-MM-DD')
442 608
 
@@ -469,19 +635,60 @@ export default {
469 635
                 if(parseInt(list[i].inspect_value)< parseInt(list[i].range_min) || parseInt(list[i].inspect_value) > parseInt(list[i].range_max)){
470 636
                       this.isTrue =0
471 637
                 }
472
-                this.modesData.xAxis.push(this.getTime(list[i].inspect_date));
473
-                this.modesData.series.push(list[i].inspect_value)
638
+
639
+                if(list[i].range_type == 1){
640
+                    this.rangetype = 1
641
+                    this.modesData.xAxis.push(this.getTime(list[i].inspect_date));
642
+                    this.modesData.series.push(list[i].inspect_value)
643
+                }
644
+
645
+                if(list[i].range_type == 2){
646
+                   this.rangetype = 2
647
+                   this.otherData.push(list[i].inspect_value)
648
+                   this.char2.series[0].data.push("1")
649
+                  this.char2.xAxis.data.push(this.getTime(list[i].inspect_date))
650
+                  this.char2.series[0].name = list[i].range_value
651
+                }
652
+              
474 653
             
475 654
             }
476 655
               this.chart.series[0].data = this.modesData.series
477 656
               this.chart.xAxis.data = this.modesData.xAxis
478 657
             }
479 658
        })
480
-    }
659
+    },
660
+     querySearchAsync(keyword, cb) {
661
+        let key = ''
662
+        if (keyword != undefined) {
663
+          key = keyword
664
+        }
665
+        let searchArray = []
666
+        PostSearch(key).then(response => {
667
+          if (response.data.state == 1) {
668
+             searchArray = response.data.data.patient
669
+            //  console.log("searchArray",searchArray)
670
+            cb(searchArray)
671
+          } else {
672
+            cb([])
673
+          }
674
+        })
675
+      },
676
+     handleSelect(val) {
677
+        console.log("val",val)
678
+        this.listQuery.search = val.name
679
+        this.patientid = val.id
680
+        for(let i=0;i<this.patientsData.length;i++){
681
+          if(val.id == this.patientsData[i].id){
682
+            this.$refs.singleTable.setCurrentRow(this.patientsData[i])
683
+          }
684
+         }
685
+        this.getlistDetail()
686
+      },
481 687
   },
482 688
 
483 689
    created(){
484 690
      this.patientid =  this.$route.query.patientid
691
+    
485 692
      this.inspect_date = this.$route.query.date
486 693
      //获取指标项
487 694
       this.getNormData()

+ 28 - 102
src/xt_pages/qcd/patientControlAnalysis.vue Ver fichero

@@ -25,14 +25,14 @@
25 25
 
26 26
             </el-form-item>
27 27
           </el-form>
28
-          <el-select v-model="lapstor" placeholder="请选择" style="margin-right:20px;width:100px">
28
+          <!-- <el-select v-model="lapstor" placeholder="请选择" style="margin-right:20px;width:100px">
29 29
             <el-option
30 30
               v-for="item in options"
31 31
               :key="item.value"
32 32
               :label="item.label"
33 33
               :value="item.value"
34 34
             ></el-option>
35
-          </el-select>
35
+          </el-select> -->
36 36
           <label class="title">
37 37
             <span class="name">日期查询</span> :
38 38
           </label>
@@ -207,7 +207,7 @@ export default {
207 207
         },
208 208
         series: [
209 209
           {
210
-            name: "次数",
210
+            name: "",
211 211
             type: "bar",
212 212
             data: [],
213 213
             barWidth: 30,
@@ -257,11 +257,11 @@ export default {
257 257
               },
258 258
 
259 259
               //鼠标悬停时:
260
-              emphasis: {
261
-                shadowBlur: 10,
262
-                shadowOffsetX: 0,
263
-                shadowColor: "rgba(0, 0, 0, 0.2)"
264
-              }
260
+              // emphasis: {
261
+              //   shadowBlur: 10,
262
+              //   shadowOffsetX: 0,
263
+              //   shadowColor: "rgba(0, 0, 0, 0.2)"
264
+              // }
265 265
             }
266 266
           }
267 267
         ]
@@ -289,12 +289,15 @@ export default {
289 289
   },
290 290
   methods: {
291 291
     handleSizeChange(limit){
292
+      this.tableData = []
292 293
       this.listQuery.limit = limit
294
+      
293 295
       this.getlist()
296
+
294 297
     },
295 298
     handleCurrentChange(page){
299
+      this.tableData = []  
296 300
       this.listQuery.page = page
297
-
298 301
       this.getlist()
299 302
     },
300 303
     changeTime() {
@@ -490,7 +493,7 @@ export default {
490 493
       getPatientsControl(this.lapstor,this.listQuery.start_time,this.listQuery.end_time,this.listQuery.page,this.listQuery.limit).then(response=>{
491 494
          if(response.data.state == 1){
492 495
            var patients = response.data.data.patients
493
-     
496
+            console.log("patients",patients)
494 497
             this.tablePatients = patients
495 498
             var total = response.data.data.total
496 499
             this.total = total
@@ -644,109 +647,32 @@ export default {
644 647
         }
645 648
         return result;
646 649
     },
647
-
650
+    //统计柱状图
648 651
     getCartogramlist(){
649 652
        getCartogramlist(this.lapstor,this.listQuery.start_time,this.listQuery.end_time,this.limit,this.page).then(response=>{
650 653
            if(response.data.state == 1){
651
-              var cartogramlist =  response.data.data.cartogramlist
652
-              // console.log("cartogramlist",cartogramlist)
653
-              var totaltwo =  response.data.data.total
654
-              // console.log("totaltwo",totaltwo)
655
-              var infectiouscontrol =  response.data.data.infectiouscontrol
656
-              // console.log("infectiouscontrol",infectiouscontrol)
657
-              infectiouscontrol.map(item=>{
658
-                cartogramlist.push(item)
659
-              })
660
-               var cart = []
661
-              //  console.log("已配置的选项",this.normData)
662
-              //过滤已经配置的选项
663
-              for(let i=0;i<cartogramlist.length;i++){
664
-                for(let j=0;j<this.normData.length;j++){
665
-                   if(cartogramlist[i].item_id == this.normData[j].inspection_minor){
666
-                        cart.push(cartogramlist[i])
667
-                   }
668
-                }
669
-              }
670
-            //  console.log("cart",cart)
671
-
672
-              //  for(let i=0;i<cartogramlist.length;i++){
673
-              //     if(cartogramlist[i].inspect_value != ''){
674
-              //       cart.push(cartogramlist[i])
675
-              //     }
676
-              //  }
677
-              // console.log("cart",cart)
678
-               let dataInfo = {}
679
-                cart.forEach((item, index) => {
680
-                  let { patient_id } = item
681
-                  if (!dataInfo[patient_id]) {
682
-                    dataInfo[patient_id] = {
683
-                      patient_id,
684
-                      name:item.name,
685
-                      child: [],
686
-                      inspect_date:item.inspect_date,
687
-                      total:0,
688
-                      count:0,
689
-                      infectotal:0,
690
-                    }
691
-                  }
692
-                })
693
-              let list = Object.values(dataInfo)
654
+             var total =  response.data.data.total
655
+             
656
+             var standtotal = response.data.data.standtotal
657
+         
658
+             var standtotalone = response.data.data.standtotalOne
694 659
 
695
-
696
-              var arr = []
697
-              list.map(item=>{
698
-                 for(let i=0;i<cart.length;i++){
699
-                    if(item.inspect_date == cart[i].inspect_date && item.patient_id == cart[i].patient_id){
700
-                        item.child.push(cart[i])
701
-                    }
702
-                 }
703
-              })
704
-
705
-
706
-          //  console.log("list",list)
707
-             list.map(item=>{
708
-                item.child.map(it=>{
709
-                  //  console.log("长度",item.child.length)
710
-                  //  console.log("it",it)
711
-                   if(it.range_type == 1 && parseInt(it.range_min)<=parseInt(it.inspect_value) && parseInt(it.inspect_value)<=parseInt(it.range_max)){
712
-                       item.total ++
713
-                   }
714
-                   if(it.range_type == 2 && it.inspect_value == it.range_value){
715
-                      item.infectotal ++
716
-                   }
717
-                })
718
-             })
719
-            //  console.log("list",list)
720
-             var standardTotal = 0
721
-
722
-             list.map(item=>{
723
-               if((item.total +item.infectotal) == item.child.length){
724
-                  item.count ++
725
-               }
726
-             })
727
-             list.map(item=>{
728
-               standardTotal += item.count
729
-             })
730
-             var totalCount = list.length
731
-            //  console.log("arr",list)
732
-            //  console.log("合格",standardTotal)
733
-            //  console.log("总人数",totalCount)
660
+          
734 661
              for(let i=0;i<this.dataCount.length;i++){
735
-                this.dataCount[0].count = standardTotal
736
-                this.dataCount[1].count =  totalCount - standardTotal
662
+                this.dataCount[0].count = standtotal + standtotalone
663
+                this.dataCount[1].count =  total -standtotal - standtotalone
737 664
                this.obj.push(this.dataCount[i].count)
738 665
              }
739 666
             // console.log("dataCount",this.dataCount)
740
-         for (let i = 0; i < this.dataName.length; i++) {
741
-            this.modesData.xAxis.push(this.dataName[i].name)
742
-
743
-          }
744
-          for (let i = 0; i < this.dataCount.length; i++) {
745
-              this.modesData.series.push(((this.dataCount[i].count / totalCount) * 100).toFixed(1))
667
+            for (let i = 0; i < this.dataName.length; i++) {
668
+                this.modesData.xAxis.push(this.dataName[i].name)
669
+              }
670
+            for (let i = 0; i < this.dataCount.length; i++) {
671
+                this.modesData.series.push(((this.dataCount[i].count / total) * 100).toFixed(1))
746 672
             }
747 673
             this.chart.series[0].data = this.modesData.series
748 674
             this.chart.xAxis.data = this.modesData.xAxis
749
-            //  console.log("this",this.modesData)
675
+           
750 676
            }
751 677
        })
752 678
     },

+ 19 - 7
src/xt_pages/qcd/statisticalConfiguration.vue Ver fichero

@@ -256,10 +256,17 @@ export default {
256 256
       getConfigurationDetail(id).then(response=>{
257 257
          if(response.data.state == 1){
258 258
            var configurationdetail = response.data.data.configurationdetail
259
-          //  console.log("详情",configurationdetail)
259
+           console.log("详情",configurationdetail)
260
+           var id = response.data.data.vid
261
+           console.log("id",id)
262
+           if (id == 0) {
263
+              this.editform.inspectionMinor = configurationdetail.inspection_minor
264
+           }else{
265
+             this.editform.inspectionMinor = id
266
+           }
260 267
            this.editform.id = configurationdetail.id
261 268
            this.editform.inspectionMajor = configurationdetail.inspection_major
262
-           this.editform.inspectionMinor = configurationdetail.inspection_minor
269
+         
263 270
            this.editform.check_type = configurationdetail.range_type
264 271
            this.editform.range_value = configurationdetail.range_value
265 272
          if(configurationdetail.range_type == 1){
@@ -302,7 +309,7 @@ export default {
302 309
       getInspectionMinor(id).then(response=>{
303 310
         if(response.data.state == 1){
304 311
          var inspection =  response.data.data.inspection
305
-        //  console.log("小项",inspection)
312
+          // console.log("小项",inspection)
306 313
          this.InspectionMinor = inspection
307 314
         }
308 315
       })
@@ -348,7 +355,12 @@ export default {
348 355
       })
349 356
     },
350 357
     saveInspection(formName){
351
-      
358
+        if(this.form.min_range == ""){
359
+          this.form.min_range = "0"
360
+        }
361
+        if(this.form.large_range == ""){
362
+           this.form.large_range = "0"
363
+        }
352 364
       this.$refs[formName].validate(valid=>{
353 365
         if(valid){
354 366
           saveConfiguration(this.form).then(response=>{
@@ -387,7 +399,7 @@ export default {
387 399
               configurationlist[i].sort = ""
388 400
             }
389 401
           }
390
-          // console.log("列表",configurationlist)
402
+          console.log("列表",configurationlist)
391 403
           this.configuraData = configurationlist
392 404
           var total = response.data.data.total
393 405
          // console.log("total",total)
@@ -401,7 +413,7 @@ export default {
401 413
         if(response.data.state == 1){
402 414
           var minor =  response.data.data.minor
403 415
           this.InspectionMinorTwo = minor
404
-          //console.log("minor",minor)
416
+          // console.log("minor",minor)
405 417
         }
406 418
       })
407 419
     },
@@ -485,7 +497,7 @@ export default {
485 497
     //获取表格里面的数据
486 498
     this.getConfigurationList()
487 499
     //获取所有小项的数据
488
-    this.getAllInspectionMinor()
500
+     this.getAllInspectionMinor()
489 501
     //获取排序值
490 502
     this.getLastSort()
491 503
    },

+ 2 - 2
src/xt_pages/qcd/treatmentControlAnalysis/components/TimeAll.vue Ver fichero

@@ -1,7 +1,7 @@
1 1
 <template>
2 2
   <div class="page_timeAll">
3 3
     <div class="cell clearfix">
4
-      <el-select
4
+      <!-- <el-select
5 5
         v-model="listQuery.value"
6 6
         placeholder="请选择"
7 7
         style="width:120px;margin-right:20px"
@@ -13,7 +13,7 @@
13 13
           :label="item.label"
14 14
           :value="item.value"
15 15
         ></el-option>
16
-      </el-select>
16
+      </el-select> -->
17 17
       <label class="title">
18 18
         <span class="name">日期查询</span> :
19 19
       </label>

+ 3 - 3
src/xt_pages/qcd/workAnalysis/doctor.vue Ver fichero

@@ -10,7 +10,7 @@
10 10
           <el-tab-pane label="护士" name="second"></el-tab-pane>
11 11
         </el-tabs>
12 12
         <div class="cell clearfix">
13
-          <el-select v-model="query.admin_user_id" placeholder="请选择" style="width:120px;margin-right:20px"               @change="changeDoctor"
13
+          <el-select v-model="query.admin_user_id" placeholder="请选择" style="width:120px;margin-right:10px"               @change="changeDoctor"
14 14
           >
15 15
             <el-option
16 16
               v-for="item in doctor_options"
@@ -23,7 +23,7 @@
23 23
             v-model="query.statistics_type"
24 24
             placeholder="请选择"
25 25
             @change="changeProject"
26
-            style="width:120px;margin-right:20px"
26
+            style="width:120px;margin-right:10px"
27 27
           >
28 28
             <el-option
29 29
               v-for="item in project_options"
@@ -250,7 +250,7 @@ export default {
250 250
               emphasis: {
251 251
                 shadowBlur: 10,
252 252
                 shadowOffsetX: 0,
253
-                shadowColor: "rgba(0, 0, 0, 0.5)"
253
+                shadowColor: "rgba(0, 0, 0, 0.2)"
254 254
               }
255 255
             }
256 256
           }

+ 3 - 3
src/xt_pages/qcd/workAnalysis/nurse.vue Ver fichero

@@ -10,7 +10,7 @@
10 10
           <el-tab-pane label="护士" name="second"></el-tab-pane>
11 11
         </el-tabs>
12 12
         <div class="cell clearfix">
13
-          <el-select v-model="query.admin_user_id" placeholder="请选择" style="width:120px;margin-right:20px"               @change="changeNurse"
13
+          <el-select v-model="query.admin_user_id" placeholder="请选择" style="width:120px;margin-right:10px"               @change="changeNurse"
14 14
           >
15 15
             <el-option
16 16
               v-for="item in nurse_options"
@@ -23,7 +23,7 @@
23 23
             v-model="query.statistics_type"
24 24
             placeholder="请选择"
25 25
             @change="changeProject"
26
-            style="width:120px;margin-right:20px"
26
+            style="width:120px;margin-right:10px"
27 27
           >
28 28
             <el-option
29 29
               v-for="item in project_options"
@@ -282,7 +282,7 @@
282 282
                 emphasis: {
283 283
                   shadowBlur: 10,
284 284
                   shadowOffsetX: 0,
285
-                  shadowColor: "rgba(0, 0, 0, 0.5)"
285
+                  shadowColor: "rgba(0, 0, 0, 0.2)"
286 286
                 }
287 287
               }
288 288
             }