Просмотр исходного кода

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

柳香萍 5 лет назад
Родитель
Сommit
e0a55d660b

+ 3 - 3
build/webpack.base.conf.js Просмотреть файл

101
 // var vueLoaderConfig = require('./vue-loader.conf')
101
 // var vueLoaderConfig = require('./vue-loader.conf')
102
 const vuxLoader = require('vux-loader')
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
 module.exports = vuxLoader.merge(webpackConfig, {
108
 module.exports = vuxLoader.merge(webpackConfig, {
109
   plugins: [
109
   plugins: [

+ 1 - 1
config/prod.env.js Просмотреть файл

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

Разница между файлами не показана из-за своего большого размера
+ 268 - 269
package-lock.json


+ 1 - 0
package.json Просмотреть файл

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

+ 81 - 48
src/pages/main/DialysisArea.vue Просмотреть файл

1
 <template>
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
       </div>
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
 </template>
70
 </template>
45
 
71
 
46
 <script>
72
 <script>
71
 
97
 
72
       zone_selected: this.$store.getters.app.dialysis_area.zone_select_index,
98
       zone_selected: this.$store.getters.app.dialysis_area.zone_select_index,
73
       zones: [{ value: 0, text: "全部分区", select: true }],
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
   props: {
106
   props: {
139
           const schedule = originSchedules[s_i];
168
           const schedule = originSchedules[s_i];
140
           if (
169
           if (
141
             zone_name.length == 0 ||
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
             if (
174
             if (
145
               timetype_selected == 0 ||
175
               timetype_selected == 0 ||
164
   },
194
   },
165
   methods: {
195
   methods: {
166
     handletimeType: function(index) {
196
     handletimeType: function(index) {
197
+      this.sch_type_options_visible = false;
167
       this.schedual_type_selected = index;
198
       this.schedual_type_selected = index;
168
       this.$emit("clear_search_keyword");
199
       this.$emit("clear_search_keyword");
169
       this.$store.dispatch("SaveDialysisAreaSelectIndexs", {
200
       this.$store.dispatch("SaveDialysisAreaSelectIndexs", {
173
       });
204
       });
174
     },
205
     },
175
     handleZoneChange: function(index) {
206
     handleZoneChange: function(index) {
207
+      this.zone_options_visible = false;
176
       this.zone_selected = index;
208
       this.zone_selected = index;
177
       this.$emit("clear_search_keyword");
209
       this.$emit("clear_search_keyword");
178
       this.$store.dispatch("SaveDialysisAreaSelectIndexs", {
210
       this.$store.dispatch("SaveDialysisAreaSelectIndexs", {
213
               }
245
               }
214
               schedualMap[schedual.device_number.zone.name].push(schedual);
246
               schedualMap[schedual.device_number.zone.name].push(schedual);
215
               if (zoneMap[schedual.device_number.zone.name] == null) {
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
 .screening {
293
 .screening {
261
   border-bottom: 1px #e5e5e5 solid;
294
   border-bottom: 1px #e5e5e5 solid;
262
   position: fixed;
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
   ul {
301
   ul {
269
     @include display-flex;
302
     @include display-flex;
270
     @include align-items-center;
303
     @include align-items-center;
291
     font-size: 0.34rem;
324
     font-size: 0.34rem;
292
     font-weight: 600;
325
     font-weight: 600;
293
     color: $title-color;
326
     color: $title-color;
294
-    height:1rem;
327
+    height: 1rem;
295
     line-height: 0.8rem;
328
     line-height: 0.8rem;
296
     display: inline-block;
329
     display: inline-block;
297
   }
330
   }

+ 14 - 6
src/pages/main/WaitingArea.vue Просмотреть файл

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

+ 16 - 2
src/pages/main/dialog/MonitDialog.vue Просмотреть файл

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

+ 2 - 0
src/pages/main/dialog/PrescriptionDialog.vue Просмотреть файл

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

+ 4 - 4
src/pages/main/today/detailsInfo.vue Просмотреть файл

1
-<template>
1
+x<template>
2
   <div class="info ">
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
     <div class="ui-step clearfix">
5
     <div class="ui-step clearfix">
6
       <ul class="ui-step-ul">
6
       <ul class="ui-step-ul">
7
         <li v-for="(item, index) in step_data" :key="index" class="ui-step-done" >
7
         <li v-for="(item, index) in step_data" :key="index" class="ui-step-done" >
12
     </div>
12
     </div>
13
 
13
 
14
     <ul class="clearfix">
14
     <ul class="clearfix">
15
-      <li>  
15
+      <li>
16
         <label>姓名 : </label>
16
         <label>姓名 : </label>
17
         <span>{{patient.name}}</span>
17
         <span>{{patient.name}}</span>
18
       </li>
18
       </li>

+ 10 - 6
src/pages/personal/EditPersonal.vue Просмотреть файл

13
                    <div class="item">
13
                    <div class="item">
14
                         <h2>个人头像</h2>
14
                         <h2>个人头像</h2>
15
                        <div class="tx">
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
                        </div>
22
                        </div>
19
                    </div>
23
                    </div>
20
                 </div>
24
                 </div>
45
                        <div class="tx">
49
                        <div class="tx">
46
                            <input type="text" class="InputBox" placeholder="性别">
50
                            <input type="text" class="InputBox" placeholder="性别">
47
                            <span class="iconfont">&#xe6f9;</span>
51
                            <span class="iconfont">&#xe6f9;</span>
48
-                       </div>                       
52
+                       </div>
49
                    </div>
53
                    </div>
50
                    <div class="item">
54
                    <div class="item">
51
                         <h2>出生日期</h2>
55
                         <h2>出生日期</h2>
52
                         <div class="tx">
56
                         <div class="tx">
53
                            <input type="text" class="InputBox" placeholder="出生日期">
57
                            <input type="text" class="InputBox" placeholder="出生日期">
54
                            <span class="iconfont">&#xe6f9;</span>
58
                            <span class="iconfont">&#xe6f9;</span>
55
-                       </div>     
59
+                       </div>
56
                    </div>
60
                    </div>
57
                    <div class="item">
61
                    <div class="item">
58
                         <h2>微信号</h2>
62
                         <h2>微信号</h2>
59
                        <div class="tx">
63
                        <div class="tx">
60
                            <input type="text" class="InputBox" placeholder="微信号">
64
                            <input type="text" class="InputBox" placeholder="微信号">
61
                            <span class="iconfont">&#xe6f9;</span>
65
                            <span class="iconfont">&#xe6f9;</span>
62
-                       </div> 
66
+                       </div>
63
                    </div>
67
                    </div>
64
                     <div class="item">
68
                     <div class="item">
65
                         <h2>QQ号</h2>
69
                         <h2>QQ号</h2>
66
                        <div class="tx">
70
                        <div class="tx">
67
                            <input type="text" class="InputBox" placeholder="QQ号">
71
                            <input type="text" class="InputBox" placeholder="QQ号">
68
                            <span class="iconfont">&#xe6f9;</span>
72
                            <span class="iconfont">&#xe6f9;</span>
69
-                       </div> 
73
+                       </div>
70
                    </div>
74
                    </div>
71
                 </div>
75
                 </div>
72
             </div>
76
             </div>

+ 7 - 6
src/pages/personal/index.vue Просмотреть файл

6
             <div class="information">
6
             <div class="information">
7
                 <div class="blueBorder"></div>
7
                 <div class="blueBorder"></div>
8
                 <div class="name">
8
                 <div class="name">
9
-                    <router-link to="/EditPersonal">
9
+                    <!--<router-link to="/EditPersonal">-->
10
                         <div class="item">
10
                         <div class="item">
11
                             <div class="tx">
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
                             </div>
14
                             </div>
15
-                            <span class="iconfont">&#xe6f9;</span>
15
+                            <!--<span class="iconfont">&#xe6f9;</span>-->
16
                         </div>
16
                         </div>
17
-                    </router-link>
17
+                    <!--</router-link>-->
18
                 </div>
18
                 </div>
19
                 <div class="name">
19
                 <div class="name">
20
                     <router-link to="/ElectronicSignature">
20
                     <router-link to="/ElectronicSignature">
86
   data() {
86
   data() {
87
     return {
87
     return {
88
       electronicsignature: "",
88
       electronicsignature: "",
89
-      myinfo: {}
89
+      myinfo: {},
90
+      avatar:"@/assets/product/test.jpg"
90
     };
91
     };
91
   },
92
   },
92
   created() {
93
   created() {