Browse Source

Merge branch 'master' of http://git.shengws.com/csx/Pad_New

XMLWAN 4 years ago
parent
commit
feb8862ac5

+ 1 - 1
.gitignore View File

16
 *.njsproj
16
 *.njsproj
17
 *.sln
17
 *.sln
18
 .svn
18
 .svn
19
-.dist
19
+.dist

+ 3 - 3
.postcssrc.js View File

1
 // https://github.com/michael-ciniawsky/postcss-load-config
1
 // https://github.com/michael-ciniawsky/postcss-load-config
2
 
2
 
3
 module.exports = {
3
 module.exports = {
4
-  "plugins": {
4
+  plugins: {
5
     "postcss-import": {},
5
     "postcss-import": {},
6
     "postcss-url": {},
6
     "postcss-url": {},
7
     // to edit target browsers: use "browserslist" field in package.json
7
     // to edit target browsers: use "browserslist" field in package.json
8
-    "autoprefixer": {}
8
+    autoprefixer: {}
9
   }
9
   }
10
-}
10
+};

BIN
src/assets/images/myIcon9.png View File


BIN
src/assets/images/mydefault.png View File


+ 6 - 2
src/main.js View File

55
   Switch,
55
   Switch,
56
   Uploader,
56
   Uploader,
57
   Radio,
57
   Radio,
58
-  RadioGroup
58
+  RadioGroup,
59
+  Overlay,
60
+  Loading
59
   // eslint-disable-next-line no-irregular-whitespace,import/no-duplicates
61
   // eslint-disable-next-line no-irregular-whitespace,import/no-duplicates
60
 } from "vant";
62
 } from "vant";
61
 Vue.use(DropdownMenu)
63
 Vue.use(DropdownMenu)
90
   .use(Switch)
92
   .use(Switch)
91
   .use(Uploader)
93
   .use(Uploader)
92
   .use(RadioGroup)
94
   .use(RadioGroup)
93
-  .use(Radio);
95
+  .use(Radio)
96
+  .use(Overlay)
97
+  .use(Loading);
94
 // import "@/lib/flexible.js";
98
 // import "@/lib/flexible.js";
95
 
99
 
96
 // main.js
100
 // main.js

+ 51 - 33
src/pages/home/login.vue View File

42
       <span class="newColor" @click="agree()">《隐私服务协议》</span>
42
       <span class="newColor" @click="agree()">《隐私服务协议》</span>
43
       <span class="newColor" @click="agree1()">《用户协议》</span>
43
       <span class="newColor" @click="agree1()">《用户协议》</span>
44
     </div>
44
     </div>
45
+    <van-overlay :show="show" @click="show = false">
46
+      <div class="wrapper">
47
+        <van-loading size="24px" vertical>正在登录...</van-loading>
48
+      </div>
49
+    </van-overlay>
45
   </div>
50
   </div>
46
 </template>
51
 </template>
47
 
52
 
64
       }
69
       }
65
     };
70
     };
66
     return {
71
     return {
72
+      show: false,
67
       checked: true,
73
       checked: true,
68
       tel: "",
74
       tel: "",
69
       psd: "",
75
       psd: "",
129
     },
135
     },
130
 
136
 
131
     submitForm() {
137
     submitForm() {
132
-      loginByPwd(this.LoginForm.tel, hex_md5(this.LoginForm.psd)).then(rs => {
133
-        var resp = rs.data;
134
-        if (this.checked != true) {
135
-          Toast("请同意隐私服务协议");
136
-          return;
137
-        }
138
+      this.show = true;
139
+      loginByPwd(this.LoginForm.tel, hex_md5(this.LoginForm.psd))
140
+        .then(rs => {
141
+          var resp = rs.data;
142
+          if (this.checked != true) {
143
+            Toast("请同意隐私服务协议");
144
+            return;
145
+          }
138
 
146
 
139
-        if (resp.state == 1 && this.checked == true) {
140
-          var user = resp.data.user;
141
-          var admin = resp.data.admin;
142
-          var org = resp.data.org;
143
-          var subscibe = resp.data.subscibe;
144
-          var config_list = resp.data.config_list;
145
-          var template_info = resp.data.template_info;
146
-          var filed_list = resp.data.filed_list;
147
+          if (resp.state == 1 && this.checked == true) {
148
+            this.show = false;
149
+            var user = resp.data.user;
150
+            var admin = resp.data.admin;
151
+            var org = resp.data.org;
152
+            var subscibe = resp.data.subscibe;
153
+            var config_list = resp.data.config_list;
154
+            var template_info = resp.data.template_info;
155
+            var filed_list = resp.data.filed_list;
147
 
156
 
148
-          this.$store.dispatch("InitUserInfo", {
149
-            admin: admin,
150
-            user: user,
151
-            org: org,
152
-            subscibe: subscibe,
153
-            template_info: template_info,
154
-            filed_list: filed_list
155
-          });
156
-          this.$store.dispatch("SetConfigList", config_list);
157
-          this.$router.replace({ path: "/homeIndex" });
158
-        } else {
159
-          if (this.errorNum >= 2) {
160
-            this.showForgetPwdDialog();
161
-          } else {
162
-            this.errorNum = this.errorNum + 1;
163
-            this.$toast({
164
-              message: resp.msg
157
+            this.$store.dispatch("InitUserInfo", {
158
+              admin: admin,
159
+              user: user,
160
+              org: org,
161
+              subscibe: subscibe,
162
+              template_info: template_info,
163
+              filed_list: filed_list
165
             });
164
             });
165
+            this.$store.dispatch("SetConfigList", config_list);
166
+            this.$router.replace({ path: "/homeIndex" });
167
+          } else {
168
+            if (this.errorNum >= 2) {
169
+              this.showForgetPwdDialog();
170
+            } else {
171
+              this.errorNum = this.errorNum + 1;
172
+              this.$toast({
173
+                message: resp.msg
174
+              });
175
+            }
166
           }
176
           }
167
-        }
168
-      });
177
+        })
178
+        .catch(error => {
179
+          console.log(error);
180
+        });
169
     },
181
     },
170
     showForgetPwdDialog() {
182
     showForgetPwdDialog() {
171
       Dialog.confirm({
183
       Dialog.confirm({
259
     color: #fff;
271
     color: #fff;
260
     text-align: center;
272
     text-align: center;
261
   }
273
   }
274
+  .wrapper {
275
+    position: fixed;
276
+    left: 50%;
277
+    top: 50%;
278
+    transform: translate(-50%, -50%);
279
+  }
262
 }
280
 }
263
 
281
 
264
 .el-form-item__error {
282
 .el-form-item__error {

+ 41 - 20
src/pages/homeIndex/index.vue View File

4
       <div class="homeTitle">
4
       <div class="homeTitle">
5
         <div class="homeTitleLeft" style="visibility: hidden" v-if="isCreateOrg == false">
5
         <div class="homeTitleLeft" style="visibility: hidden" v-if="isCreateOrg == false">
6
           <van-dropdown-menu>
6
           <van-dropdown-menu>
7
-            <van-dropdown-item @change="changeOrg" v-model="value1" :options="org_arr"/>
7
+            <van-dropdown-item @change="changeOrg" v-model="value1" :options="org_arr" />
8
           </van-dropdown-menu>
8
           </van-dropdown-menu>
9
         </div>
9
         </div>
10
-        <div class="homeTitleLeft"  v-if="isCreateOrg == true">
10
+        <div class="homeTitleLeft" v-if="isCreateOrg == true">
11
           <van-dropdown-menu>
11
           <van-dropdown-menu>
12
-            <van-dropdown-item @change="changeOrg" v-model="value1" :options="org_arr"/>
12
+            <van-dropdown-item @change="changeOrg" v-model="value1" :options="org_arr" />
13
           </van-dropdown-menu>
13
           </van-dropdown-menu>
14
         </div>
14
         </div>
15
         <div class="homeTitleRight">
15
         <div class="homeTitleRight">
16
           <i class="iconfont icon-sousuo search1" @click="toSearch"></i>
16
           <i class="iconfont icon-sousuo search1" @click="toSearch"></i>
17
           <!--<van-icon class="iconOne" name="comment-o"/>-->
17
           <!--<van-icon class="iconOne" name="comment-o"/>-->
18
-          <van-icon class="iconOne" name="add-o" @click="toCreateOrg"/>
18
+          <van-icon name="plus" class="iconOne" @click="toCreateOrg" />
19
         </div>
19
         </div>
20
       </div>
20
       </div>
21
     </van-sticky>
21
     </van-sticky>
22
     <div class="banner">
22
     <div class="banner">
23
       <van-swipe class="my-swipe" :autoplay="3000" indicator-color="white">
23
       <van-swipe class="my-swipe" :autoplay="3000" indicator-color="white">
24
-        <van-swipe-item v-for="(banner, index) in this.banners" @click="jump(banner.url)" :key="index">
24
+        <van-swipe-item
25
+          v-for="(banner, index) in this.banners"
26
+          @click="jump(banner.url)"
27
+          :key="index"
28
+        >
25
           <img :src="banner.thumb" alt />
29
           <img :src="banner.thumb" alt />
26
         </van-swipe-item>
30
         </van-swipe-item>
27
       </van-swipe>
31
       </van-swipe>
28
     </div>
32
     </div>
33
+    <van-overlay :show="show" @click="show = false" />
29
     <!--<div class="noticeBox">-->
34
     <!--<div class="noticeBox">-->
30
     <!--<i class="iconfont icon-public-notice notice"></i>-->
35
     <!--<i class="iconfont icon-public-notice notice"></i>-->
31
     <!--<div class="noticeNews">-->
36
     <!--<div class="noticeNews">-->
45
     <!--</div>-->
50
     <!--</div>-->
46
     <div class="background1"></div>
51
     <div class="background1"></div>
47
 
52
 
48
-    <div class="management" v-if="this.$store.getters.user.admin.id ==  this.$store.getters.user.org.creator&&this.isCreateOrg">
53
+    <div
54
+      class="management"
55
+      v-if="this.$store.getters.user.admin.id ==  this.$store.getters.user.org.creator&&this.isCreateOrg"
56
+    >
49
       <div class="managementTitle">
57
       <div class="managementTitle">
50
         <div class="managementName">
58
         <div class="managementName">
51
           管理控制台
59
           管理控制台
52
           <span>(仅管理员可见)</span>
60
           <span>(仅管理员可见)</span>
53
         </div>
61
         </div>
54
         <div class="setting" @click="toConsole()">
62
         <div class="setting" @click="toConsole()">
55
-          <van-icon name="setting-o"/>
56
-          管理
63
+          <van-icon name="setting-o" />管理
57
         </div>
64
         </div>
58
       </div>
65
       </div>
59
       <div class="managementBox">
66
       <div class="managementBox">
60
         <div class="managementOne" @click="toStaffManage()">
67
         <div class="managementOne" @click="toStaffManage()">
61
-          <img src="../../assets/images/M1.png" alt/>员工管理
68
+          <img src="../../assets/images/M1.png" alt />员工管理
62
         </div>
69
         </div>
63
         <div class="managementOne" @click="toRoleManage()">
70
         <div class="managementOne" @click="toRoleManage()">
64
-          <img src="../../assets/images/M2.png" alt/>权限管理
71
+          <img src="../../assets/images/M2.png" alt />权限管理
65
         </div>
72
         </div>
66
         <div class="managementOne" @click="toConfigCenter()">
73
         <div class="managementOne" @click="toConfigCenter()">
67
-          <img src="../../assets/images/M3.png" alt/>配置中心
74
+          <img src="../../assets/images/M3.png" alt />配置中心
68
         </div>
75
         </div>
69
         <div class="managementOne" @click="toOrgSetting()">
76
         <div class="managementOne" @click="toOrgSetting()">
70
-          <img src="../../assets/images/M4.png" alt/>机构设置
77
+          <img src="../../assets/images/M4.png" alt />机构设置
71
         </div>
78
         </div>
72
       </div>
79
       </div>
73
     </div>
80
     </div>
75
     <div class="management" v-if="!this.isCreateOrg">
82
     <div class="management" v-if="!this.isCreateOrg">
76
       <div class="managementTitle">
83
       <div class="managementTitle">
77
         <div class="managementName">
84
         <div class="managementName">
78
-          管理控制台<span>(仅管理员可见)</span>
85
+          管理控制台
86
+          <span>(仅管理员可见)</span>
87
+        </div>
88
+        <div class="setting">
89
+          <van-icon name="setting-o" />管理
79
         </div>
90
         </div>
80
-        <div class="setting"><van-icon name="setting-o" />管理</div>
81
       </div>
91
       </div>
82
       <div class="managementBox">
92
       <div class="managementBox">
83
         <div class="managementOne" @click="toStaffManage()">
93
         <div class="managementOne" @click="toStaffManage()">
84
-          <img src="../../assets/images/M1.png" alt="" />员工管理
94
+          <img src="../../assets/images/M1.png" alt />员工管理
85
         </div>
95
         </div>
86
         <div class="managementOne" @click="toRoleManage()">
96
         <div class="managementOne" @click="toRoleManage()">
87
-          <img src="../../assets/images/M2.png" alt="" />权限管理
97
+          <img src="../../assets/images/M2.png" alt />权限管理
88
         </div>
98
         </div>
89
         <div class="managementOne" @click="toConfigCenter()">
99
         <div class="managementOne" @click="toConfigCenter()">
90
-          <img src="../../assets/images/M3.png" alt="" />配置中心
100
+          <img src="../../assets/images/M3.png" alt />配置中心
91
         </div>
101
         </div>
92
         <div class="managementOne" @click="toOrgSetting()">
102
         <div class="managementOne" @click="toOrgSetting()">
93
-          <img src="../../assets/images/M4.png" alt="" />机构设置
103
+          <img src="../../assets/images/M4.png" alt />机构设置
94
         </div>
104
         </div>
95
       </div>
105
       </div>
96
     </div>
106
     </div>
101
         <!--<div class="applicationService">+ 更多应用</div>-->
111
         <!--<div class="applicationService">+ 更多应用</div>-->
102
       </div>
112
       </div>
103
       <div class="applicationBox">
113
       <div class="applicationBox">
104
-        <div v-for="(item, index) in this.apps" :key="index"  :class="item.open_status == 1? 'applicationOne':'applicationOne opacity'" @click="jumpApp(item)">
105
-          <img :src="item.url" alt/>{{item.name}}
114
+        <div
115
+          v-for="(item, index) in this.apps"
116
+          :key="index"
117
+          :class="item.open_status == 1? 'applicationOne':'applicationOne opacity'"
118
+          @click="jumpApp(item)"
119
+        >
120
+          <img :src="item.url" alt />
121
+          {{item.name}}
106
         </div>
122
         </div>
107
       </div>
123
       </div>
108
     </div>
124
     </div>
120
 export default {
136
 export default {
121
   data() {
137
   data() {
122
     return {
138
     return {
139
+      show: true,
123
       value1: 0,
140
       value1: 0,
124
       isCreateOrg: false,
141
       isCreateOrg: false,
125
       org_arr: [],
142
       org_arr: [],
437
     opacity: 0.5;
454
     opacity: 0.5;
438
     filter: alpha(opacity=40);
455
     filter: alpha(opacity=40);
439
   }
456
   }
457
+  .van-overlay {
458
+    top: 3.125rem;
459
+    z-index: 9;
460
+  }
440
 }
461
 }
441
 </style>
462
 </style>
442
 <style lang="scss">
463
 <style lang="scss">

+ 4 - 1
src/pages/main/RecordPage.vue View File

14
           </router-link>-->
14
           </router-link>-->
15
           <i class="iconfont icon-zuojiantou jiantou" @click="$router.go(-1)"></i>
15
           <i class="iconfont icon-zuojiantou jiantou" @click="$router.go(-1)"></i>
16
           <span class="titleName">透析记录</span>
16
           <span class="titleName">透析记录</span>
17
-          <van-icon class="icons" name="ellipsis" @click="show = true" />
17
+          <router-link to="/add_urgent_schedule">
18
+            <p class="order">临时排班</p>
19
+          </router-link>
20
+          <!-- <van-icon class="icons" name="ellipsis" @click="show = true" /> -->
18
         </div>
21
         </div>
19
         <van-popup v-model="show" closeable position="top" :style="{ height: '200px' }">
22
         <van-popup v-model="show" closeable position="top" :style="{ height: '200px' }">
20
           <div class="popupContent">
23
           <div class="popupContent">

+ 1 - 1
src/pages/main/add_urgent_schedule.vue View File

113
         </van-row>
113
         </van-row>
114
       </div>
114
       </div>
115
     </div>
115
     </div>
116
-    <side-bar :active_index="0"></side-bar>
116
+    <!-- <side-bar :active_index="0"></side-bar> -->
117
     <van-popup v-model="show_patient_picker" position="bottom" class="popup">
117
     <van-popup v-model="show_patient_picker" position="bottom" class="popup">
118
       <van-picker :columns="patients" value-key="name" @change="didChangePatient"></van-picker>
118
       <van-picker :columns="patients" value-key="name" @change="didChangePatient"></van-picker>
119
     </van-popup>
119
     </van-popup>

+ 3 - 3
src/pages/my/index.vue View File

6
           <img v-if="roleInfo.avatar != ''" :src="roleInfo.avatar" alt />
6
           <img v-if="roleInfo.avatar != ''" :src="roleInfo.avatar" alt />
7
           <img
7
           <img
8
             v-if="roleInfo.avatar == ''"
8
             v-if="roleInfo.avatar == ''"
9
-            src="../../assets/images/default_avatar.jpg"
9
+            src="../../assets/images/mydefault.png"
10
             alt
10
             alt
11
           />
11
           />
12
         </div>
12
         </div>
34
       <router-link to="/ElectronicSignature">
34
       <router-link to="/ElectronicSignature">
35
         <div class="myInfo1">
35
         <div class="myInfo1">
36
           <div class="myInfoLeft">
36
           <div class="myInfoLeft">
37
-            <img src="../../assets/images/myIcon1.png" alt />
37
+            <img src="../../assets/images/myIcon9.png" alt />
38
             <p>电子签名</p>
38
             <p>电子签名</p>
39
           </div>
39
           </div>
40
           <van-icon class="arrow" name="arrow" />
40
           <van-icon class="arrow" name="arrow" />
230
       width: 4.375rem;
230
       width: 4.375rem;
231
       height: 4.375rem;
231
       height: 4.375rem;
232
       background: rgba(50, 50, 50, 1);
232
       background: rgba(50, 50, 50, 1);
233
-      border: 2px solid rgba(255, 255, 255, 1);
233
+      // border: 2px solid rgba(255, 255, 255, 1);
234
       border-radius: 50%;
234
       border-radius: 50%;
235
       img {
235
       img {
236
         border-radius: 50%;
236
         border-radius: 50%;

+ 1 - 1
src/pages/my/myInfo.vue View File

11
           <img v-if="roleInfo.avatar != ''" :src="roleInfo.avatar" alt />
11
           <img v-if="roleInfo.avatar != ''" :src="roleInfo.avatar" alt />
12
           <img
12
           <img
13
             v-if="roleInfo.avatar == ''"
13
             v-if="roleInfo.avatar == ''"
14
-            src="../../assets/images/default_avatar.jpg"
14
+            src="../../assets/images/mydefault.png"
15
             alt
15
             alt
16
           />
16
           />
17
           <van-icon class="arrow" name="arrow" />
17
           <van-icon class="arrow" name="arrow" />

+ 18 - 15
src/utils/request.js View File

1
-import axios from 'axios'
1
+import axios from "axios";
2
 // import { Toast } from 'mint-ui'
2
 // import { Toast } from 'mint-ui'
3
 import { Toast } from "vant";
3
 import { Toast } from "vant";
4
 
4
 
6
 const service = axios.create({
6
 const service = axios.create({
7
   baseURL: process.env.BASE_API, // api的base_url
7
   baseURL: process.env.BASE_API, // api的base_url
8
   timeout: 30000, // request timeout
8
   timeout: 30000, // request timeout
9
-  withCredentials: true,
10
-
11
-
12
-})
9
+  withCredentials: true
10
+});
13
 
11
 
14
 // respone interceptor
12
 // respone interceptor
15
 service.interceptors.response.use(
13
 service.interceptors.response.use(
16
   // response => response,
14
   // response => response,
17
   response => {
15
   response => {
18
-    const res = response.data
16
+    const res = response.data;
17
+    console.log(res);
19
     if (res.state !== 1) {
18
     if (res.state !== 1) {
20
       if (res.code === 6002) {
19
       if (res.code === 6002) {
21
         // MessageBox.confirm('你已被登出,可以取消继续留在该页面,或者重新登录', '确定登出', {
20
         // MessageBox.confirm('你已被登出,可以取消继续留在该页面,或者重新登录', '确定登出', {
27
         //     location.reload() // 为了重新实例化vue-router对象 避免bug
26
         //     location.reload() // 为了重新实例化vue-router对象 避免bug
28
         //   })
27
         //   })
29
         // })
28
         // })
30
-        Toast("登录超时")
31
-        location.reload()
32
-        return Promise.reject('error')
29
+        Toast("登录超时");
30
+        location.reload();
31
+        return Promise.reject("error");
33
       } else {
32
       } else {
34
-        return response
33
+        return response;
35
       }
34
       }
36
     } else {
35
     } else {
37
-      return response
36
+      return response;
38
     }
37
     }
39
   },
38
   },
40
   error => {
39
   error => {
41
-    if(error.message.includes('timeout')){   // 判断请求异常信息中是否含有超时timeout字符串
42
-      return Promise.reject(error);          // reject这个错误信息
40
+    console.log(error);
41
+    Toast(error.message);
42
+    if (error.message.includes("timeout")) {
43
+      // 判断请求异常信息中是否含有超时timeout字符串
44
+      return Promise.reject(error); // reject这个错误信息
43
     }
45
     }
44
     return Promise.reject(error);
46
     return Promise.reject(error);
45
-  })
47
+  }
48
+);
46
 
49
 
47
-export default service
50
+export default service;