Browse Source

Merge branch 'update' of http://git.shengws.com/zhangbj/xt_pad into update

柳香萍 5 years ago
parent
commit
e0a55d660b

+ 3 - 3
build/webpack.base.conf.js View File

@@ -101,9 +101,9 @@ module.exports = webpackConfig
101 101
 // var vueLoaderConfig = require('./vue-loader.conf')
102 102
 const vuxLoader = require('vux-loader')
103 103
 
104
-module.exports = vuxLoader.merge(webpackConfig, {
105
-  plugins: ['vux-ui']
106
-})
104
+// module.exports = vuxLoader.merge(webpackConfig, {
105
+//   plugins: ['vux-ui']
106
+// })
107 107
 
108 108
 module.exports = vuxLoader.merge(webpackConfig, {
109 109
   plugins: [

+ 1 - 1
config/prod.env.js View File

@@ -1,6 +1,6 @@
1 1
 'use strict'
2 2
 module.exports = {
3 3
   NODE_ENV: '"production"',
4
-  BASE_API: '"http://api.xt.test.sgjyun.com"'
4
+  BASE_API: '"http://api.xt.kuyicloud.com"'
5 5
   // '"http://api.xt.kuyicloud.com"', //'"http://api.xt.kuyicloud.com"','"http://api.xt.test.sgjyun.com"'
6 6
 }

File diff suppressed because it is too large
+ 268 - 269
package-lock.json


+ 1 - 0
package.json View File

@@ -87,6 +87,7 @@
87 87
     "selenium-server": "^3.0.1",
88 88
     "semver": "^5.3.0",
89 89
     "shelljs": "^0.7.6",
90
+    "style-loader": "^0.23.1",
90 91
     "uglifyjs-webpack-plugin": "^1.1.1",
91 92
     "url-loader": "^0.5.8",
92 93
     "vue-jest": "^1.0.2",

+ 81 - 48
src/pages/main/DialysisArea.vue View File

@@ -1,46 +1,72 @@
1 1
 <template>
2
-    <div>
3
-       <div class="screening">
4
-           <ul>
5
-              <popover placement="bottom" >
6
-                <div slot="content" class="popover-demo-content">
7
-                  <ul>
8
-                    <li v-for="(zone, index) in zones" :key="zone.value" @click="handleZoneChange(index)"  :class="zone_selected == index ? 'tick' : ''">{{zone.text}}</li>
9
-                  </ul>
10
-                </div>
11
-               <li>{{ zones.length <= 1 && zone_selected > 0 ? "全部分区" : zones[zone_selected].text }}<span class="iconfont">&#xe74a;</span></li>
12
-               </popover>
13
-               
14
-               <popover placement="bottom" >  
15
-                <div slot="content" class="popover-demo-content">
16
-                  <ul>
17
-                    <li v-for="schedualType in schedual_types" :key="schedualType.value" @click="handletimeType(schedualType.value)" :class="schedual_type_selected == schedualType.value ? 'tick' : ''" >{{schedualType.text}}</li>
18
-                  </ul> 
19
-                </div>
20
-                <li>{{ schedual_types[schedual_type_selected].text}}<span class="iconfont">&#xe74a;</span></li>
21
-               </popover>
2
+  <div>
3
+    <div class="screening">
4
+      <ul>
5
+        <el-popover
6
+          v-model="zone_options_visible"
7
+          placement="bottom"
8
+          trigger="click">
9
+          <li slot="reference">
10
+            {{ zones.length <= 1 && zone_selected > 0 ? "全部分区" : zones[zone_selected].text }}
11
+            <span class="iconfont">&#xe74a;</span>
12
+          </li>
13
+          <div class="popover-demo-content">
14
+            <ul>
15
+              <li
16
+                v-for="(zone, index) in zones"
17
+                :key="zone.value"
18
+                @click="handleZoneChange(index)"
19
+                :class="zone_selected == index ? 'tick' : ''"
20
+              >{{zone.text}}</li>
21
+            </ul>
22
+          </div>
23
+        </el-popover>
22 24
 
23
-               <li @click="openPicker()">{{selected_date_str}}<span class="iconfont">&#xe74a;</span></li>
24
-           </ul>
25
-       </div>
26
-      <div class="stateBox ">
27
-        <div v-for="(item, index) in filtedScheduals" :key="index" >
28
-          <h2 class="title" >{{item.zone_name}}</h2>
29
-          <patient-box class="clearfix" :patients="item.scheduals"></patient-box>
30
-        </div>
31
-        <div class="NoData" v-show="filtedScheduals.length == 0"><img style="margin-top: 50px; margin-bottom: 50px" src="@/assets/login/data.jpg" alt=""></div>
25
+        <el-popover
26
+          v-model="sch_type_options_visible"
27
+          placement="bottom"
28
+          trigger="click">
29
+          <li slot="reference">
30
+            {{ schedual_types[schedual_type_selected].text}}
31
+            <span class="iconfont">&#xe74a;</span>
32
+          </li>
33
+          <div class="popover-demo-content">
34
+            <ul>
35
+              <li
36
+                v-for="schedualType in schedual_types"
37
+                :key="schedualType.value"
38
+                @click="handletimeType(schedualType.value)"
39
+                :class="schedual_type_selected == schedualType.value ? 'tick' : ''"
40
+              >{{schedualType.text}}</li>
41
+            </ul>
42
+          </div>
43
+        </el-popover>
32 44
 
45
+        <li @click="openPicker()">
46
+          {{selected_date_str}}
47
+          <span class="iconfont">&#xe74a;</span>
48
+        </li>
49
+      </ul>
50
+    </div>
51
+    <div class="stateBox">
52
+      <div v-for="(item, index) in filtedScheduals" :key="index">
53
+        <h2 class="title">{{item.zone_name}}</h2>
54
+        <patient-box class="clearfix" :patients="item.scheduals"></patient-box>
33 55
       </div>
34
-      <mt-datetime-picker
35
-        v-model="selected_date"
36
-        ref="picker"
37
-        type="date"
38
-        year-format="{value} "
39
-        month-format="{value} "
40
-        date-format="{value} "
41
-        @confirm="handleScheduleDateChange">
42
-      </mt-datetime-picker>
43
-    </div>  
56
+      <div class="NoData" v-show="filtedScheduals.length == 0">
57
+        <img style="margin-top: 50px; margin-bottom: 50px" src="@/assets/login/data.jpg" alt>
58
+      </div>
59
+    </div>
60
+    <mt-datetime-picker
61
+      v-model="selected_date"
62
+      ref="picker"
63
+      type="date"
64
+      year-format="{value} "
65
+      month-format="{value} "
66
+      date-format="{value} "
67
+      @confirm="handleScheduleDateChange"
68
+    ></mt-datetime-picker>
69
+  </div>
44 70
 </template>
45 71
 
46 72
 <script>
@@ -71,7 +97,10 @@ export default {
71 97
 
72 98
       zone_selected: this.$store.getters.app.dialysis_area.zone_select_index,
73 99
       zones: [{ value: 0, text: "全部分区", select: true }],
74
-      dialysis_scheduals: []
100
+      dialysis_scheduals: [],
101
+
102
+      zone_options_visible: false,
103
+      sch_type_options_visible: false,
75 104
     };
76 105
   },
77 106
   props: {
@@ -139,7 +168,8 @@ export default {
139 168
           const schedule = originSchedules[s_i];
140 169
           if (
141 170
             zone_name.length == 0 ||
142
-            (zone_name.length > 0 && zone_name == schedule.device_number.zone.name)
171
+            (zone_name.length > 0 &&
172
+              zone_name == schedule.device_number.zone.name)
143 173
           ) {
144 174
             if (
145 175
               timetype_selected == 0 ||
@@ -164,6 +194,7 @@ export default {
164 194
   },
165 195
   methods: {
166 196
     handletimeType: function(index) {
197
+      this.sch_type_options_visible = false;
167 198
       this.schedual_type_selected = index;
168 199
       this.$emit("clear_search_keyword");
169 200
       this.$store.dispatch("SaveDialysisAreaSelectIndexs", {
@@ -173,6 +204,7 @@ export default {
173 204
       });
174 205
     },
175 206
     handleZoneChange: function(index) {
207
+      this.zone_options_visible = false;
176 208
       this.zone_selected = index;
177 209
       this.$emit("clear_search_keyword");
178 210
       this.$store.dispatch("SaveDialysisAreaSelectIndexs", {
@@ -213,7 +245,8 @@ export default {
213 245
               }
214 246
               schedualMap[schedual.device_number.zone.name].push(schedual);
215 247
               if (zoneMap[schedual.device_number.zone.name] == null) {
216
-                zoneMap[schedual.device_number.zone.name] = schedual.device_number.zone;
248
+                zoneMap[schedual.device_number.zone.name] =
249
+                  schedual.device_number.zone;
217 250
               }
218 251
             }
219 252
 
@@ -260,11 +293,11 @@ export default {
260 293
 .screening {
261 294
   border-bottom: 1px #e5e5e5 solid;
262 295
   position: fixed;
263
-    top: 63px;
264
-    right: 0;
265
-    z-index: 66;
266
-    left: 1.58rem;
267
-    background: #fff;
296
+  top: 63px;
297
+  right: 0;
298
+  z-index: 66;
299
+  left: 1.58rem;
300
+  background: #fff;
268 301
   ul {
269 302
     @include display-flex;
270 303
     @include align-items-center;
@@ -291,7 +324,7 @@ export default {
291 324
     font-size: 0.34rem;
292 325
     font-weight: 600;
293 326
     color: $title-color;
294
-    height:1rem;
327
+    height: 1rem;
295 328
     line-height: 0.8rem;
296 329
     display: inline-block;
297 330
   }

+ 14 - 6
src/pages/main/WaitingArea.vue View File

@@ -2,15 +2,20 @@
2 2
   <div>
3 3
     <div class="screening">
4 4
       <ul>
5
-       
6
-        <popover placement="bottom" >
7
-          <div slot="content" class="popover-demo-content">
5
+        <el-popover
6
+          v-model="zone_options_visible"
7
+          placement="bottom"
8
+          trigger="click">
9
+          <li slot="reference">
10
+            {{ zone_options[zone_selected].text }}<span class="iconfont">&#xe74a;</span>
11
+          </li>
12
+          <div class="popover-demo-content">
8 13
             <ul>
9 14
               <li v-for="(option, index) in zone_options" :key="index" @click="handleZoneChange(index)" :class="zone_selected == index ? 'tick' : ''">{{ option.text }}</li>
10 15
             </ul>
11 16
           </div>
12
-          <li>{{ zone_options[zone_selected].text }}<span class="iconfont">&#xe74a;</span></li>
13
-        </popover>
17
+        </el-popover>
18
+
14 19
          <li v-for="(item,i) in menuList" :class="select_index == i ? 'active' : ''" @click="menuTabClick(i)" 
15 20
         :key="i">{{ item.label + (item.count > 0 ? '(' + item.count + ')' : '') }}</li>
16 21
       </ul>
@@ -52,7 +57,9 @@ export default {
52 57
       scheduals: [],
53 58
 
54 59
       zone_options: [{ value: 0, text: "全部分区" }],
55
-      zone_scheduals: []
60
+      zone_scheduals: [],
61
+
62
+      zone_options_visible: false,
56 63
     };
57 64
   },
58 65
   props: {
@@ -126,6 +133,7 @@ export default {
126 133
       this.zone_selected = 0;
127 134
     },
128 135
     handleZoneChange: function(index) {
136
+      this.zone_options_visible = false;
129 137
       this.zone_selected = index;
130 138
       this.select_index = -1;
131 139
     },

+ 16 - 2
src/pages/main/dialog/MonitDialog.vue View File

@@ -1,6 +1,7 @@
1 1
 <template>
2 2
 <div>
3
-    <div class="Dialog"  v-show="listPanel" >
3
+  <div v-loading="loading">
4
+  <div class="Dialog"  v-show="listPanel" >
4 5
         <div class="DialogTit">
5 6
             <span class="iconfont" @click="close()">&#xe6e9;</span>
6 7
             <h1 class="name">透析监测</h1>
@@ -60,6 +61,7 @@
60 61
             <h1 class="name">{{formTitle}}</h1>
61 62
             <span class="success" v-if="form.id>0" @click="submitEditAction()">完成</span>
62 63
             <span class="success" v-else @click="submitAction()">完成</span>
64
+
63 65
         </div>
64 66
         <div class="DialogContent choose">
65 67
           <div class="content">
@@ -154,8 +156,10 @@
154 156
           </div>
155 157
         </div>
156 158
     </div>
159
+  </div>
160
+
157 161
 
158
-    <mt-datetime-picker
162
+  <mt-datetime-picker
159 163
       ref="picker"
160 164
       type="datetime"
161 165
       @confirm="handleConfirm"
@@ -201,6 +205,7 @@ export default {
201 205
   },
202 206
   data() {
203 207
     return {
208
+      loading:false,
204 209
       formTitle: "新增监测",
205 210
       formPanel: false,
206 211
       listPanel: true,
@@ -670,6 +675,7 @@ export default {
670 675
       // }
671 676
     },
672 677
     submitEditAction: function() {
678
+      this.loading = true
673 679
       Toast.loading({ forbidClick: true, duration: 0 });
674 680
       var params = {};
675 681
       params.patient_id = this.patient.id;
@@ -700,6 +706,8 @@ export default {
700 706
       editMonitorRecord(params).then(rs => {
701 707
         var resp = rs.data;
702 708
         if (resp.state == 1) {
709
+          this.loading = false
710
+
703 711
           var monitor = resp.data.monitor;
704 712
           this.$emit("did_edit_monitor", monitor);
705 713
 
@@ -729,11 +737,13 @@ export default {
729 737
           this.formPanel = false;
730 738
           this.listPanel = true;
731 739
         } else {
740
+          this.loading = false
732 741
           Toast.fail(resp.msg);
733 742
         }
734 743
       });
735 744
     },
736 745
     submitAction: function() {
746
+      this.loading = true
737 747
       Toast.loading({ forbidClick: true, duration: 0 });
738 748
       var params = {};
739 749
       params.patient_id = this.patient.id;
@@ -763,6 +773,8 @@ export default {
763 773
         .then(rs => {
764 774
           var resp = rs.data;
765 775
           if (resp.state == 1) {
776
+            this.loading = false
777
+
766 778
             var monitor = resp.data.monitor;
767 779
             this.$emit("did_add_monitor", monitor);
768 780
 
@@ -798,10 +810,12 @@ export default {
798 810
             this.formPanel = false;
799 811
             this.listPanel = true;
800 812
           } else {
813
+            this.loading = false
801 814
             Toast.fail(resp.msg);
802 815
           }
803 816
         })
804 817
         .catch(err => {
818
+          this.loading = false
805 819
           Toast.fail(err);
806 820
         });
807 821
     },

+ 2 - 0
src/pages/main/dialog/PrescriptionDialog.vue View File

@@ -1,5 +1,6 @@
1 1
 <template>
2 2
   <div>
3
+
3 4
     <div v-if="isShowDialog" class="Dialog">
4 5
       <div class="DialogTit">
5 6
         <span @click="close()" class="iconfont">&#xe6e9;</span>
@@ -253,6 +254,7 @@
253 254
     },
254 255
     data() {
255 256
       return {
257
+        loading:false,
256 258
         signUrl:"",
257 259
         isShowDesc:true,
258 260
         time: '03:00',

+ 4 - 4
src/pages/main/today/detailsInfo.vue View File

@@ -1,7 +1,7 @@
1
-<template>
1
+x<template>
2 2
   <div class="info ">
3
-    <h2 class="plateTitle"><span class="line"></span><p>基本信息</p><span class="line"></span> </h2> 
4
-    
3
+    <h2 class="plateTitle"><span class="line"></span><p>基本信息</p><span class="line"></span> </h2>
4
+
5 5
     <div class="ui-step clearfix">
6 6
       <ul class="ui-step-ul">
7 7
         <li v-for="(item, index) in step_data" :key="index" class="ui-step-done" >
@@ -12,7 +12,7 @@
12 12
     </div>
13 13
 
14 14
     <ul class="clearfix">
15
-      <li>  
15
+      <li>
16 16
         <label>姓名 : </label>
17 17
         <span>{{patient.name}}</span>
18 18
       </li>

+ 10 - 6
src/pages/personal/EditPersonal.vue View File

@@ -13,8 +13,12 @@
13 13
                    <div class="item">
14 14
                         <h2>个人头像</h2>
15 15
                        <div class="tx">
16
-                           <img src="@/assets/product/test.jpg" alt="">
17
-                           <span class="iconfont">&#xe6f9;</span>
16
+
17
+                         <!--<img :src="myinfo.avatar" alt="" v-if="myinfo.avatar != ''">-->
18
+                         <!--&lt;!&ndash;<h2>个人信息</h2>&ndash;&gt;-->
19
+                         <!--<img :src="avatar" alt="" v-if="myinfo.avatar == ''">-->
20
+
21
+
18 22
                        </div>
19 23
                    </div>
20 24
                 </div>
@@ -45,28 +49,28 @@
45 49
                        <div class="tx">
46 50
                            <input type="text" class="InputBox" placeholder="性别">
47 51
                            <span class="iconfont">&#xe6f9;</span>
48
-                       </div>                       
52
+                       </div>
49 53
                    </div>
50 54
                    <div class="item">
51 55
                         <h2>出生日期</h2>
52 56
                         <div class="tx">
53 57
                            <input type="text" class="InputBox" placeholder="出生日期">
54 58
                            <span class="iconfont">&#xe6f9;</span>
55
-                       </div>     
59
+                       </div>
56 60
                    </div>
57 61
                    <div class="item">
58 62
                         <h2>微信号</h2>
59 63
                        <div class="tx">
60 64
                            <input type="text" class="InputBox" placeholder="微信号">
61 65
                            <span class="iconfont">&#xe6f9;</span>
62
-                       </div> 
66
+                       </div>
63 67
                    </div>
64 68
                     <div class="item">
65 69
                         <h2>QQ号</h2>
66 70
                        <div class="tx">
67 71
                            <input type="text" class="InputBox" placeholder="QQ号">
68 72
                            <span class="iconfont">&#xe6f9;</span>
69
-                       </div> 
73
+                       </div>
70 74
                    </div>
71 75
                 </div>
72 76
             </div>

+ 7 - 6
src/pages/personal/index.vue View File

@@ -6,15 +6,15 @@
6 6
             <div class="information">
7 7
                 <div class="blueBorder"></div>
8 8
                 <div class="name">
9
-                    <router-link to="/EditPersonal">
9
+                    <!--<router-link to="/EditPersonal">-->
10 10
                         <div class="item">
11 11
                             <div class="tx">
12
-                                <img :src="myinfo.avatar" alt="" v-if="myinfo.avatar != ''">
13
-                                <h2>个人信息</h2>
12
+                              <img :src="myinfo.avatar" alt="" v-if="myinfo.avatar != ''">
13
+                              <img :src="avatar" alt="" v-if="myinfo.avatar == ''">
14 14
                             </div>
15
-                            <span class="iconfont">&#xe6f9;</span>
15
+                            <!--<span class="iconfont">&#xe6f9;</span>-->
16 16
                         </div>
17
-                    </router-link>
17
+                    <!--</router-link>-->
18 18
                 </div>
19 19
                 <div class="name">
20 20
                     <router-link to="/ElectronicSignature">
@@ -86,7 +86,8 @@ export default {
86 86
   data() {
87 87
     return {
88 88
       electronicsignature: "",
89
-      myinfo: {}
89
+      myinfo: {},
90
+      avatar:"@/assets/product/test.jpg"
90 91
     };
91 92
   },
92 93
   created() {