瀏覽代碼

提交页面

See999 5 年之前
父節點
當前提交
cdc56e4242
共有 11 個文件被更改,包括 953 次插入12 次删除
  1. 18 0
      .babelrc
  2. 9 0
      .editorconfig
  3. 5 0
      .eslintignore
  4. 29 0
      .eslintrc.js
  5. 1 0
      .gitignore
  6. 10 0
      .postcssrc.js
  7. 6 0
      cordova-hcp.json
  8. 33 12
      package-lock.json
  9. 347 0
      src/kya_pages/home/index.vue
  10. 261 0
      src/kya_pages/homeIndex/index.vue
  11. 234 0
      src/kya_pages/login/login.vue

+ 18 - 0
.babelrc 查看文件

@@ -0,0 +1,18 @@
1
+{
2
+  "presets": [
3
+    ["env", {
4
+      "modules": false,
5
+      "targets": {
6
+        "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
7
+      }
8
+    }],
9
+    "stage-2"
10
+  ],
11
+  "plugins": ["transform-vue-jsx", "transform-runtime"],
12
+  "env": {
13
+    "test": {
14
+      "presets": ["env", "stage-2"],
15
+      "plugins": ["transform-vue-jsx", "transform-es2015-modules-commonjs", "dynamic-import-node"]
16
+    }
17
+  }
18
+}

+ 9 - 0
.editorconfig 查看文件

@@ -0,0 +1,9 @@
1
+root = true
2
+
3
+[*]
4
+charset = utf-8
5
+indent_style = space
6
+indent_size = 2
7
+end_of_line = lf
8
+insert_final_newline = true
9
+trim_trailing_whitespace = true

+ 5 - 0
.eslintignore 查看文件

@@ -0,0 +1,5 @@
1
+/build/
2
+/config/
3
+/dist/
4
+/*.js
5
+/test/unit/coverage/

+ 29 - 0
.eslintrc.js 查看文件

@@ -0,0 +1,29 @@
1
+// https://eslint.org/docs/user-guide/configuring
2
+
3
+module.exports = {
4
+  root: true,
5
+  parserOptions: {
6
+    parser: 'babel-eslint'
7
+  },
8
+  env: {
9
+    browser: true,
10
+  },
11
+  extends: [
12
+    // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
13
+    // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
14
+    'plugin:vue/essential', 
15
+    // https://github.com/standard/standard/blob/master/docs/RULES-en.md
16
+    'standard'
17
+  ],
18
+  // required to lint *.vue files
19
+  plugins: [
20
+    'vue'
21
+  ],
22
+  // add your custom rules here
23
+  rules: {
24
+    // allow async-await
25
+    'generator-star-spacing': 'off',
26
+    // allow debugger during development
27
+    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
28
+  }
29
+}

+ 1 - 0
.gitignore 查看文件

@@ -0,0 +1 @@
1
+node_modules

+ 10 - 0
.postcssrc.js 查看文件

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

+ 6 - 0
cordova-hcp.json 查看文件

@@ -0,0 +1,6 @@
1
+{
2
+    "name": "name",
3
+    "update": "now",
4
+    "min_native_interface": 3,
5
+    "content_url": "http://pad.kuyicloud.com"
6
+}

+ 33 - 12
package-lock.json 查看文件

@@ -2318,6 +2318,7 @@
2318 2318
       "resolved": "http://registry.npm.taobao.org/boom/download/boom-2.10.1.tgz",
2319 2319
       "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
2320 2320
       "dev": true,
2321
+      "optional": true,
2321 2322
       "requires": {
2322 2323
         "hoek": "2.x.x"
2323 2324
       }
@@ -5747,7 +5748,8 @@
5747 5748
         "ansi-regex": {
5748 5749
           "version": "2.1.1",
5749 5750
           "bundled": true,
5750
-          "dev": true
5751
+          "dev": true,
5752
+          "optional": true
5751 5753
         },
5752 5754
         "aproba": {
5753 5755
           "version": "1.2.0",
@@ -5768,12 +5770,14 @@
5768 5770
         "balanced-match": {
5769 5771
           "version": "1.0.0",
5770 5772
           "bundled": true,
5771
-          "dev": true
5773
+          "dev": true,
5774
+          "optional": true
5772 5775
         },
5773 5776
         "brace-expansion": {
5774 5777
           "version": "1.1.11",
5775 5778
           "bundled": true,
5776 5779
           "dev": true,
5780
+          "optional": true,
5777 5781
           "requires": {
5778 5782
             "balanced-match": "^1.0.0",
5779 5783
             "concat-map": "0.0.1"
@@ -5788,17 +5792,20 @@
5788 5792
         "code-point-at": {
5789 5793
           "version": "1.1.0",
5790 5794
           "bundled": true,
5791
-          "dev": true
5795
+          "dev": true,
5796
+          "optional": true
5792 5797
         },
5793 5798
         "concat-map": {
5794 5799
           "version": "0.0.1",
5795 5800
           "bundled": true,
5796
-          "dev": true
5801
+          "dev": true,
5802
+          "optional": true
5797 5803
         },
5798 5804
         "console-control-strings": {
5799 5805
           "version": "1.1.0",
5800 5806
           "bundled": true,
5801
-          "dev": true
5807
+          "dev": true,
5808
+          "optional": true
5802 5809
         },
5803 5810
         "core-util-is": {
5804 5811
           "version": "1.0.2",
@@ -5915,7 +5922,8 @@
5915 5922
         "inherits": {
5916 5923
           "version": "2.0.3",
5917 5924
           "bundled": true,
5918
-          "dev": true
5925
+          "dev": true,
5926
+          "optional": true
5919 5927
         },
5920 5928
         "ini": {
5921 5929
           "version": "1.3.5",
@@ -5927,6 +5935,7 @@
5927 5935
           "version": "1.0.0",
5928 5936
           "bundled": true,
5929 5937
           "dev": true,
5938
+          "optional": true,
5930 5939
           "requires": {
5931 5940
             "number-is-nan": "^1.0.0"
5932 5941
           }
@@ -5941,6 +5950,7 @@
5941 5950
           "version": "3.0.4",
5942 5951
           "bundled": true,
5943 5952
           "dev": true,
5953
+          "optional": true,
5944 5954
           "requires": {
5945 5955
             "brace-expansion": "^1.1.7"
5946 5956
           }
@@ -5948,12 +5958,14 @@
5948 5958
         "minimist": {
5949 5959
           "version": "0.0.8",
5950 5960
           "bundled": true,
5951
-          "dev": true
5961
+          "dev": true,
5962
+          "optional": true
5952 5963
         },
5953 5964
         "minipass": {
5954 5965
           "version": "2.2.4",
5955 5966
           "bundled": true,
5956 5967
           "dev": true,
5968
+          "optional": true,
5957 5969
           "requires": {
5958 5970
             "safe-buffer": "^5.1.1",
5959 5971
             "yallist": "^3.0.0"
@@ -5972,6 +5984,7 @@
5972 5984
           "version": "0.5.1",
5973 5985
           "bundled": true,
5974 5986
           "dev": true,
5987
+          "optional": true,
5975 5988
           "requires": {
5976 5989
             "minimist": "0.0.8"
5977 5990
           }
@@ -6052,7 +6065,8 @@
6052 6065
         "number-is-nan": {
6053 6066
           "version": "1.0.1",
6054 6067
           "bundled": true,
6055
-          "dev": true
6068
+          "dev": true,
6069
+          "optional": true
6056 6070
         },
6057 6071
         "object-assign": {
6058 6072
           "version": "4.1.1",
@@ -6064,6 +6078,7 @@
6064 6078
           "version": "1.4.0",
6065 6079
           "bundled": true,
6066 6080
           "dev": true,
6081
+          "optional": true,
6067 6082
           "requires": {
6068 6083
             "wrappy": "1"
6069 6084
           }
@@ -6149,7 +6164,8 @@
6149 6164
         "safe-buffer": {
6150 6165
           "version": "5.1.1",
6151 6166
           "bundled": true,
6152
-          "dev": true
6167
+          "dev": true,
6168
+          "optional": true
6153 6169
         },
6154 6170
         "safer-buffer": {
6155 6171
           "version": "2.1.2",
@@ -6185,6 +6201,7 @@
6185 6201
           "version": "1.0.2",
6186 6202
           "bundled": true,
6187 6203
           "dev": true,
6204
+          "optional": true,
6188 6205
           "requires": {
6189 6206
             "code-point-at": "^1.0.0",
6190 6207
             "is-fullwidth-code-point": "^1.0.0",
@@ -6204,6 +6221,7 @@
6204 6221
           "version": "3.0.1",
6205 6222
           "bundled": true,
6206 6223
           "dev": true,
6224
+          "optional": true,
6207 6225
           "requires": {
6208 6226
             "ansi-regex": "^2.0.0"
6209 6227
           }
@@ -6247,12 +6265,14 @@
6247 6265
         "wrappy": {
6248 6266
           "version": "1.0.2",
6249 6267
           "bundled": true,
6250
-          "dev": true
6268
+          "dev": true,
6269
+          "optional": true
6251 6270
         },
6252 6271
         "yallist": {
6253 6272
           "version": "3.0.2",
6254 6273
           "bundled": true,
6255
-          "dev": true
6274
+          "dev": true,
6275
+          "optional": true
6256 6276
         }
6257 6277
       }
6258 6278
     },
@@ -6710,7 +6730,8 @@
6710 6730
       "version": "2.16.3",
6711 6731
       "resolved": "http://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
6712 6732
       "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
6713
-      "dev": true
6733
+      "dev": true,
6734
+      "optional": true
6714 6735
     },
6715 6736
     "home-or-tmp": {
6716 6737
       "version": "2.0.0",

+ 347 - 0
src/kya_pages/home/index.vue 查看文件

@@ -0,0 +1,347 @@
1
+<template>
2
+  <!-- <div class="page_home">
3
+    <div class="top">
4
+      <div class="header">
5
+        <img src="../../assets/images/hospital.png" alt />
6
+        <van-dropdown-menu>
7
+          <van-dropdown-item v-model="value" :options="hospitals" />
8
+        </van-dropdown-menu>
9
+      </div>
10
+      <div class="search" @click="ToSearch()">
11
+        <el-input
12
+          placeholder=" 姓名 / 首拼 / 透析号"
13
+          prefix-icon="el-icon-search"
14
+          v-model="searchVal"
15
+        ></el-input>
16
+      </div>
17
+      <div class="banner">
18
+        <img src="../../assets/images/homebanner.jpg" alt />
19
+      </div>
20
+      <div class="myDesk">
21
+        <h2>我的工作台</h2>
22
+        <div class="list">
23
+          <ul class="all">
24
+            <li class="one">
25
+              <img src="../../assets/images/m09.png" alt />
26
+              <p @click="patientManagement()">病人管理</p>
27
+            </li>
28
+            <li class="one">
29
+              <img src="../../assets/images/m02.png" alt />
30
+              <p>透析记录</p>
31
+            </li>
32
+            <li class="one">
33
+              <img src="../../assets/images/m04.png" alt />
34
+              <p>质控分析</p>
35
+            </li>
36
+            <li class="one">
37
+              <img src="../../assets/images/m05.png" alt />
38
+              <p>院感管理</p>
39
+            </li>
40
+            <li class="one">
41
+              <img src="../../assets/images/m06.png" alt />
42
+              <p>微商城</p>
43
+            </li>
44
+            <li class="one">
45
+              <img src="../../assets/images/m07.png" alt />
46
+              <p>微官网</p>
47
+            </li>
48
+            <li class="one">
49
+              <img src="../../assets/images/m08.png" alt />
50
+              <p>医院二维码</p>
51
+            </li>
52
+            <li class="one">
53
+              <img src="../../assets/images/m03.png" alt />
54
+              <p>基础配置</p>
55
+            </li>
56
+          </ul>
57
+        </div>
58
+      </div>
59
+    </div>
60
+
61
+    <div class="tab">
62
+      <div class="btn">
63
+        <i class="iconfont icon-zhuye"></i>
64
+        <span>首页</span>
65
+      </div>
66
+      <div class="btn">
67
+        <i class="iconfont icon-wode"></i>
68
+        <span>我的</span>
69
+      </div>
70
+    </div>
71
+    
72
+  </div> -->
73
+  <div class="page_home">
74
+    <div>
75
+      <router-view />
76
+    </div>
77
+    <div class="homeBottom">
78
+      <van-tabbar class="tab" v-model="active">
79
+        <router-link to="/homeIndex" class="link">
80
+          <van-tabbar-item>
81
+            <i class="iconfont icon-zhuye iconOne"></i>
82
+            <div>首页</div>
83
+          </van-tabbar-item>
84
+        </router-link>
85
+        <router-link to="/study">
86
+          <van-tabbar-item>
87
+            <i class="iconfont icon-jishiben iconOne"></i>
88
+            <div>学习</div>
89
+          </van-tabbar-item>
90
+        </router-link>
91
+        <router-link to="/service">
92
+          <van-tabbar-item>
93
+            <i class="iconfont icon-fuwu2 iconOne"></i>
94
+            <div>服务</div>
95
+          </van-tabbar-item>
96
+        </router-link>
97
+        <router-link to="/shop">
98
+          <van-tabbar-item>
99
+            <i class="iconfont icon-shangcheng iconOne"></i>
100
+            <div>商城</div>
101
+          </van-tabbar-item>
102
+        </router-link>
103
+        <router-link to="/my">
104
+          <van-tabbar-item>
105
+            <i class="iconfont icon-wode iconOne"></i>
106
+            <div>我的</div>
107
+          </van-tabbar-item>
108
+        </router-link>
109
+      </van-tabbar>
110
+    </div>
111
+  </div>
112
+</template>
113
+
114
+//
115
+<script>
116
+import { getAllOrgName } from "@/api/login/login";
117
+export default {
118
+  data() {
119
+    return {
120
+      active: 0,
121
+      value: "",
122
+      hospitals: [
123
+        {
124
+          text: "",
125
+          value: 0
126
+        }
127
+      ],
128
+      searchVal: ""
129
+    };
130
+  }
131
+  // methods: {
132
+  //   getAllOrgName(id) {
133
+  //     getAllOrgName(id).then(response => {
134
+  //       if (response.data.state === 1) {
135
+  //         var org = response.data.data.org;
136
+  //         const arr = [];
137
+  //         org.map(item => {
138
+  //           const obj = {};
139
+  //           obj.text = item.org_name;
140
+  //           obj.value = item.id;
141
+  //           arr.push(obj);
142
+  //         });
143
+  //         this.hospitals = arr;
144
+  //         for (let index = 0; index < this.hospitals.length; index++) {
145
+  //           this.value = this.hospitals[index].value;
146
+  //         }
147
+  //         console.log("this.hospitals是什么", this.hospitals);
148
+  //       }
149
+  //     });
150
+  //   },
151
+  //   patientManagement() {
152
+  //     var id = this.$route.query.id;
153
+  //     this.$router.push("/patientmanagement?id=" + id);
154
+  //   },
155
+  //   ToSearch() {
156
+  //     this.$router.push("/search");
157
+  //   }
158
+  // },
159
+  // created() {
160
+  //   const id = this.$route.query.id;
161
+  //   this.getAllOrgName(id);
162
+  // }
163
+};
164
+</script>
165
+
166
+<style lang="scss">
167
+.page_home {
168
+  height: 100%;
169
+  display: flex;
170
+  flex-direction: column;
171
+  > div:first-child {
172
+    flex: 1;
173
+    overflow-y: auto;
174
+  }
175
+  .homeBottom {
176
+    height: 3.125rem;
177
+  }
178
+  ::-webkit-scrollbar {
179
+    width: 0;
180
+  }
181
+  .van-tabbar-item {
182
+    height: 100%;
183
+  }
184
+  .van-tabbar-item__text {
185
+    height: 100%;
186
+    display: flex;
187
+    flex-direction: column;
188
+    align-items: center;
189
+    justify-content: space-around;
190
+  }
191
+  .van-tabbar {
192
+    display: flex;
193
+    justify-content: space-around;
194
+    border-top: 1px solid #c5c5c5;
195
+  }
196
+  .iconOne {
197
+    font-size: 1.25rem;
198
+  }
199
+
200
+  // .header {
201
+  //   padding: 0 15px;
202
+  //   box-sizing: border-box;
203
+  //   height: 3.125rem;
204
+  //   width: 100%;
205
+  //   line-height: 3.125rem;
206
+  //   img {
207
+  //     float: left;
208
+  //     width: 1.375rem;
209
+  //     height: 1.375rem;
210
+  //     margin-top: 0.625rem;
211
+  //   }
212
+  //   .van-dropdown-menu {
213
+  //     width: 8.5rem;
214
+  //     height: 3.125rem;
215
+  //   }
216
+  //   .van-dropdown-menu__item {
217
+  //     flex: none;
218
+  //   }
219
+  //   .van-ellipsis {
220
+  //     width: 6.25rem;
221
+  //     height: 3.125rem;
222
+  //     line-height: 3.125rem;
223
+  //     font-size: 0.875rem;
224
+  //     white-space: nowrap;
225
+  //     text-overflow: ellipsis;
226
+  //     overflow: hidden;
227
+  //   }
228
+  // }
229
+  // .search {
230
+  //   width: 21.5625rem;
231
+  //   height: 2.125rem;
232
+  //   padding: 0 15px;
233
+  //   box-sizing: border-box;
234
+  //   .el-input__inner {
235
+  //     width: 21.5625rem;
236
+  //     height: 2.125rem;
237
+  //     border: none;
238
+  //     background: rgba(244, 244, 244, 1);
239
+  //     border-radius: 17px;
240
+  //     color: #999999;
241
+  //   }
242
+  //   .el-input__prefix {
243
+  //     margin-top: -0.125rem;
244
+  //     color: #999999;
245
+  //   }
246
+  // }
247
+  // .banner {
248
+  //   overflow: hidden;
249
+  //   margin-top: 1.25rem;
250
+  //   // width: 21.4375rem;
251
+  //   // height: 8.3125rem;
252
+  //   // border-radius: 10px;
253
+  //   width: 23.4375rem;
254
+  //   height: 8.3125rem;
255
+  //   // background: rgba(188, 188, 188, 0.1);
256
+  //   // opacity: 0.2;
257
+  //   img {
258
+  //     margin: 0 15px;
259
+  //     width: 21.4375rem;
260
+  //     height: 8.3125rem;
261
+  //     box-sizing: border-box;
262
+  //   }
263
+  // }
264
+  // .myDesk {
265
+  //   padding: 0 15px;
266
+  //   box-sizing: border-box;
267
+  //   padding-top: 1.5625rem;
268
+  //   width: 23.4375rem;
269
+  //   height: 17.0625rem;
270
+  //   // background: rgba(188, 188, 188, 0.1);
271
+  //   h2 {
272
+  //     height: 1.1875rem;
273
+  //     font-size: 1.25rem;
274
+  //     font-weight: 600;
275
+  //     color: rgba(0, 0, 0, 1);
276
+  //     line-height: 0.9375rem;
277
+  //   }
278
+  //   .list {
279
+  //     margin-top: 0.9375rem;
280
+  //     width: 21.4375rem;
281
+  //     height: 14rem;
282
+  //     background: rgba(255, 255, 255, 1);
283
+  //     border-radius: 10px;
284
+  //     box-shadow: 0px 3px 12px 0px rgba(188, 188, 188, 0.2);
285
+  //     display: flex;
286
+  //     align-items: center;
287
+  //     .all {
288
+  //       display: flex;
289
+  //       justify-content: space-around;
290
+  //       flex-wrap: wrap;
291
+  //     }
292
+  //     .one {
293
+  //       width: 25%;
294
+  //       display: flex;
295
+  //       flex-direction: column;
296
+  //       align-items: center;
297
+  //       justify-content: space-around;
298
+  //       height: 6.25rem;
299
+  //       img {
300
+  //         width: 2.8125rem;
301
+  //         height: 2.8125rem;
302
+  //       }
303
+  //       p {
304
+  //         margin-top: -0.625rem;
305
+  //         height: 0.8125rem;
306
+  //         font-size: 0.8125rem;
307
+  //         color: rgba(60, 60, 60, 1);
308
+  //         line-height: 0.9375rem;
309
+  //       }
310
+  //     }
311
+  //   }
312
+  // }
313
+  // .tab {
314
+  //   display: flex;
315
+  //   width: 23.4375rem;
316
+  //   height: 3.0625rem;
317
+  //   background: rgba(255, 255, 255, 1);
318
+  //   justify-content: space-around;
319
+  //   box-shadow: 3px 0px 12px 3px rgba(188, 188, 188, 0.2);
320
+
321
+  //   > div:last-child {
322
+  //     span {
323
+  //       color: #bfbfbf;
324
+  //     }
325
+  //   }
326
+  //   .btn {
327
+  //     display: flex;
328
+  //     flex-direction: column;
329
+  //     align-items: center;
330
+  //     align-self: center;
331
+  //     i {
332
+  //       font-size: 1.5rem;
333
+  //       color: rgba(79, 115, 254, 1);
334
+  //     }
335
+  //     .icon-wode {
336
+  //       color: #bfbfbf;
337
+  //     }
338
+
339
+  //     span {
340
+  //       font-size: 0.75rem;
341
+  //       color: rgba(79, 115, 254, 1);
342
+  //       margin-top: 0.25rem;
343
+  //     }
344
+  //   }
345
+  // }
346
+}
347
+</style>

+ 261 - 0
src/kya_pages/homeIndex/index.vue 查看文件

@@ -0,0 +1,261 @@
1
+<template>
2
+  <div class="page_homeIndex">
3
+    <van-sticky>
4
+      <div class="homeTitle">
5
+        <div class="homeTitleLeft">
6
+          <van-dropdown-menu>
7
+            <van-dropdown-item v-model="value1" :options="option1" />
8
+          </van-dropdown-menu>
9
+        </div>
10
+        <div class="homeTitleRight">
11
+          <i class="iconfont icon-sousuo search"></i>
12
+          <van-icon class="iconOne" name="comment-o" />
13
+          <van-icon class="iconOne" name="add-o" />
14
+        </div>
15
+      </div>
16
+    </van-sticky>
17
+    <div class="banner">
18
+      <img src="../../assets/images/homebanner.jpg" alt />
19
+    </div>
20
+    <div class="noticeBox">
21
+      <i class="iconfont icon-public-notice notice"></i>
22
+      <div class="noticeNews">
23
+        <div>今日上机:<span>6&ensp;人</span></div>
24
+        <div>今日透析:<span>6&ensp;人</span></div>
25
+        <div>今日生日:<span>6&ensp;人</span></div>
26
+      </div>
27
+    </div>
28
+    <div class="background1"></div>
29
+    <div class="management">
30
+      <div class="managementTitle">
31
+        <div class="managementName">
32
+          管理控制台<span>(仅管理员可见)</span>
33
+        </div>
34
+        <div class="setting"><van-icon name="setting-o" />管理</div>
35
+      </div>
36
+      <div class="managementBox">
37
+        <div class="managementOne">
38
+          <img src="../../assets/images/M1.png" alt="" />员工管理
39
+        </div>
40
+        <div class="managementOne">
41
+          <img src="../../assets/images/M2.png" alt="" />权限管理
42
+        </div>
43
+        <div class="managementOne">
44
+          <img src="../../assets/images/M3.png" alt="" />应用管理
45
+        </div>
46
+        <div class="managementOne">
47
+          <img src="../../assets/images/M4.png" alt="" />机构管理
48
+        </div>
49
+      </div>
50
+    </div>
51
+    <div class="application">
52
+      <div class="applicationTitle">
53
+        <div class="applicationName">应用工作台</div>
54
+        <div class="applicationService">+ 应用服务</div>
55
+      </div>
56
+      <div class="applicationBox">
57
+        <div class="applicationOne">
58
+          <img src="../../assets/images/S1.png" alt="" />患者中心
59
+        </div>
60
+        <div class="applicationOne">
61
+          <img src="../../assets/images/S2.png" alt="" />排班管理
62
+        </div>
63
+        <div class="applicationOne">
64
+          <img src="../../assets/images/S3.png" alt="" />签到称重
65
+        </div>
66
+        <div class="applicationOne">
67
+          <img src="../../assets/images/S4.png" alt="" />透析记录
68
+        </div>
69
+        <div class="applicationOne">
70
+          <img src="../../assets/images/S5.png" alt="" />质控管理
71
+        </div>
72
+        <div class="applicationOne">
73
+          <img src="../../assets/images/S6.png" alt="" />院感管理
74
+        </div>
75
+        <div class="applicationOne">
76
+          <img src="../../assets/images/S7.png" alt="" />血管通路
77
+        </div>
78
+        <div class="applicationOne">
79
+          <img src="../../assets/images/S8.png" alt="" />慢病管理
80
+        </div>
81
+        <div class="applicationOne">
82
+          <img src="../../assets/images/S9.png" alt="" />SCRM
83
+        </div>
84
+        <div class="applicationOne">
85
+          <img src="../../assets/images/S10.png" alt="" />分销商城
86
+        </div>
87
+        <div class="applicationOne">
88
+          <img src="../../assets/images/S11.png" alt="" />设备管理
89
+        </div>
90
+        <div class="applicationOne">
91
+          <img src="../../assets/images/S12.png" alt="" />库存管理
92
+        </div>
93
+        <div class="applicationOne">
94
+          <img src="../../assets/images/S13.png" alt="" />客服中心
95
+        </div>
96
+        <div class="applicationOne">
97
+          <img src="../../assets/images/S14.png" alt="" />集成中心
98
+        </div>
99
+        <div class="applicationOne">
100
+          <img src="../../assets/images/S15.png" alt="" />配置中心
101
+        </div>
102
+      </div>
103
+    </div>
104
+  </div>
105
+</template>
106
+<script>
107
+export default {
108
+  data() {
109
+    return {
110
+      value1: 0,
111
+      option1: [
112
+        { text: "新款商品", value: 0 },
113
+        { text: "全部商品全部商品全部商品全部商品全部商品全部商品", value: 1 },
114
+        { text: "活动商品", value: 2 }
115
+      ]
116
+    };
117
+  }
118
+};
119
+</script>
120
+
121
+<style lang="scss" scoped>
122
+.page_homeIndex {
123
+  .homeTitle {
124
+    height: 3.125rem;
125
+    padding: 0 1.125rem;
126
+    display: flex;
127
+    justify-content: space-between;
128
+    background: #fff;
129
+  }
130
+  .homeTitleLeft {
131
+    width: 60%;
132
+  }
133
+  .homeTitleRight {
134
+    width: 30%;
135
+    display: flex;
136
+    justify-content: space-between;
137
+    align-items: center;
138
+  }
139
+  /deep/ .van-dropdown-menu__item {
140
+    justify-content: left;
141
+  }
142
+  .van-hairline--top-bottom {
143
+    position: static;
144
+  }
145
+  .iconOne {
146
+    font-size: 1.5rem;
147
+  }
148
+  .search {
149
+    font-size: 1.5rem;
150
+  }
151
+  .banner {
152
+    padding: 0 1.125rem;
153
+    img {
154
+      height: 6.75rem;
155
+      width: 100%;
156
+    }
157
+  }
158
+  .noticeBox {
159
+    padding: 0 1.125rem;
160
+    height: 2.5rem;
161
+    display: flex;
162
+    align-items: center;
163
+    color: #cccccc;
164
+    .notice {
165
+      font-size: 1.25rem;
166
+      margin-right: 0.375rem;
167
+    }
168
+    .noticeNews {
169
+      width: 90%;
170
+      display: flex;
171
+      justify-content: space-between;
172
+      color: #666666;
173
+      font-size: 0.8125rem;
174
+    }
175
+  }
176
+  .background1 {
177
+    background: #f6f6f6;
178
+    width: 100%;
179
+    height: 0.8125rem;
180
+  }
181
+  .management {
182
+    padding: 1.25rem 1.125rem 0;
183
+  }
184
+  .managementTitle {
185
+    display: flex;
186
+    justify-content: space-between;
187
+    align-items: center;
188
+  }
189
+  .managementName {
190
+    font-weight: bold;
191
+    font-size: 1rem;
192
+    color: #000;
193
+    span {
194
+      font-size: 0.8125rem;
195
+      color: #989898;
196
+      font-weight: 400;
197
+    }
198
+  }
199
+  .setting {
200
+    display: flex;
201
+    align-items: center;
202
+    color: #989898;
203
+    font-size: 0.8125rem;
204
+    .van-icon-setting-o {
205
+      margin-right: 0.25rem;
206
+    }
207
+  }
208
+  .managementBox {
209
+    display: flex;
210
+    justify-content: space-between;
211
+    .managementOne {
212
+      display: flex;
213
+      align-items: center;
214
+      flex-direction: column;
215
+      font-size: 0.8125rem;
216
+      color: #666666;
217
+      img {
218
+        width: 1.375rem;
219
+        height: 1.375rem;
220
+        margin: 1rem 0 0.2rem;
221
+      }
222
+    }
223
+  }
224
+  .application {
225
+    .applicationTitle {
226
+      display: flex;
227
+      justify-content: space-between;
228
+      align-items: center;
229
+      padding: 1.25rem 1.125rem 0.625rem;
230
+    }
231
+    .applicationName {
232
+      font-weight: bold;
233
+      font-size: 1rem;
234
+      color: #000;
235
+    }
236
+    .applicationService {
237
+      font-size: 0.8125rem;
238
+      color: #666666;
239
+    }
240
+  }
241
+  .applicationBox {
242
+    display: flex;
243
+    flex-wrap: wrap;
244
+    .applicationOne {
245
+      width: 25%;
246
+      display: flex;
247
+      align-items: center;
248
+      flex-direction: column;
249
+      padding: 0.625rem 0;
250
+      font-size: 0.8125rem;
251
+      color: #666666;
252
+      img {
253
+        width: 3.25rem;
254
+        height: 3.25rem;
255
+        margin-bottom: 0.375rem;
256
+      }
257
+    }
258
+  }
259
+}
260
+</style>
261
+<style lang="scss"></style>

+ 234 - 0
src/kya_pages/login/login.vue 查看文件

@@ -0,0 +1,234 @@
1
+<template>
2
+  <div class="page_login">
3
+    <div class="loginTop">
4
+      <img src="../../assets/images/loginLogo.png" alt />
5
+    </div>
6
+    <div class="loginBottom">
7
+      <div class="ipts">
8
+        <el-form ref="LoginForm" :model="LoginForm" :rules="rules">
9
+          <el-form-item required prop="tel">
10
+            <el-input
11
+              placeholder="请输入手机号码"
12
+              prefix-icon="el-icon-mobile"
13
+              v-model="LoginForm.tel"
14
+              clearable
15
+              v-on:input="watchNum"
16
+              maxlength="11"
17
+              @input="change(LoginForm.tel)"
18
+            ></el-input>
19
+          </el-form-item>
20
+          <el-form-item>
21
+            <el-input
22
+              placeholder="请输入密码"
23
+              prefix-icon="el-icon-lock"
24
+              v-model="LoginForm.psd"
25
+              show-password
26
+              clearable
27
+              v-on:input="watchNum"
28
+            ></el-input>
29
+          </el-form-item>
30
+        </el-form>
31
+      </div>
32
+      <p class="forget" @click="toForgetPassword()">忘记密码?</p>
33
+      <div class="login" @click="ToLogin()" v-show="loginshow">登录</div>
34
+      <div class="login3" v-show="loginshowtwo">登录</div>
35
+      <div class="login2">
36
+        <p @click="noPassword()">免密码登录</p>
37
+        <p class="register" @click="ToRegister()">快速注册</p>
38
+      </div>
39
+    </div>
40
+  </div>
41
+</template>
42
+
43
+<script>
44
+import { ToLogin } from "@/api/micro/micro";
45
+import { hex_md5 } from "@/utils/md5";
46
+import { checkMobile } from "@/utils/tools";
47
+export default {
48
+  data() {
49
+    var checkMobileRule = (rule, value, callback) => {
50
+      if (!checkMobile(value)) {
51
+        callback(new Error("请填写正确的手机号"));
52
+      } else {
53
+        callback();
54
+      }
55
+    };
56
+    return {
57
+      tel: "",
58
+      psd: "",
59
+      LoginForm: {
60
+        tel: "",
61
+        psd: ""
62
+      },
63
+      loginshow: false,
64
+      loginshowtwo: true,
65
+      rules: {
66
+        tel: [
67
+          { required: true, message: "手机号码不能为空" },
68
+          { validator: checkMobileRule }
69
+        ]
70
+      }
71
+    };
72
+  },
73
+  methods: {
74
+    ToLogin() {
75
+      var tel = this.LoginForm.tel;
76
+      console.log("tel是什么", tel);
77
+      var psd = this.LoginForm.psd;
78
+      console.log("psd是设么", psd);
79
+      ToLogin(tel, hex_md5(psd)).then(response => {
80
+        if (response.data.state === 1) {
81
+          var admin = response.data.data.admin;
82
+          console.log("admin是什么", admin);
83
+          this.$router.push({ path: "/home?id=" + admin.id });
84
+          var org = response.data.data.org;
85
+          console.log("org", org);
86
+          var info = response.data.data.info;
87
+          console.log("info", info);
88
+          this.$router.push({ path: "/orginfomation?id=" + info.id });
89
+        } else {
90
+          this.$message.error("账号或密码错误");
91
+        }
92
+      });
93
+    },
94
+    watchNum() {
95
+      if (this.LoginForm.tel === "" || this.LoginForm.psd === "") {
96
+        this.loginshow = false;
97
+        this.loginshowtwo = true;
98
+      } else {
99
+        this.loginshow = true;
100
+        this.loginshowtwo = false;
101
+      }
102
+      if (this.LoginForm.psd.length < 6) {
103
+        this.loginshow = false;
104
+        this.loginshowtwo = true;
105
+      }
106
+      if (this.LoginForm.psd.length > 6) {
107
+        this.loginshow = true;
108
+        this.loginshowtwo = false;
109
+      }
110
+    },
111
+    ToRegister() {
112
+      this.$router.push("/register");
113
+    },
114
+    toForgetPassword() {
115
+      this.$router.push("/forgetpassword");
116
+    },
117
+    noPassword() {
118
+      this.$router.push("/nopassword");
119
+    },
120
+
121
+    change(val) {
122
+      this.LoginForm.tel = val.replace(/[^0-9]+/g, "");
123
+    }
124
+  },
125
+  created() {}
126
+};
127
+</script>
128
+
129
+<style lang="scss" scoped>
130
+.page_login {
131
+  overflow: hidden;
132
+  height: 100%;
133
+  .loginTop {
134
+    width: 100%;
135
+    img {
136
+      width: 7.75rem;
137
+      height: 2.5rem;
138
+      border: none;
139
+      margin: 6.25rem auto 3.75rem;
140
+      display: block;
141
+    }
142
+  }
143
+  .loginBottom {
144
+    width: 23.4375rem;
145
+    height: 27.625rem;
146
+    padding-top: 1rem;
147
+    box-sizing: border-box;
148
+  }
149
+  .forget {
150
+    font-size: 0.8125rem;
151
+    color: #1a8cff;
152
+    margin: 0.5625rem 0 1.5rem 17.4375rem;
153
+  }
154
+  .login {
155
+    width: 19.25rem;
156
+    height: 2.875rem;
157
+    background: #338afb;
158
+    border-radius: 1.4375rem;
159
+    margin: 0 auto;
160
+    line-height: 2.875rem;
161
+    color: #fff;
162
+    text-align: center;
163
+  }
164
+  .login2 {
165
+    margin-top: 1.75rem;
166
+    font-size: 0.8125rem;
167
+    color: rgba(81, 119, 238, 1);
168
+    > p:first-child {
169
+      float: left;
170
+      margin-left: 3rem;
171
+    }
172
+    .register {
173
+      margin-left: 17.4375rem;
174
+      color: #1a8cff;
175
+    }
176
+  }
177
+  .login3 {
178
+    width: 19.25rem;
179
+    height: 2.875rem;
180
+    background: #e5e5e5;
181
+    border-radius: 1.4375rem;
182
+    margin: 0 auto;
183
+    line-height: 2.875rem;
184
+    color: #fff;
185
+    text-align: center;
186
+  }
187
+}
188
+
189
+.el-form-item__error {
190
+  margin-left: 2.5rem;
191
+}
192
+.el-button--medium {
193
+  padding: 0;
194
+}
195
+
196
+.el-message {
197
+  min-width: 20rem;
198
+}
199
+</style>
200
+<style lang="scss">
201
+.loginBottom {
202
+  .el-form-item {
203
+    margin-bottom: 0;
204
+  }
205
+  .ipts {
206
+    .el-icon-circle-close {
207
+      margin-right: 0.625rem;
208
+    }
209
+    .el-input {
210
+      display: block;
211
+      margin: 0 auto;
212
+      width: 19.0625rem;
213
+      border-bottom: 1px solid #e6e6e6;
214
+      color: rgba(155, 155, 155, 1);
215
+      padding-left: 0.75rem;
216
+      box-sizing: border-box;
217
+      height: 3.375rem;
218
+      line-height: 3.375rem;
219
+      font-size: 1rem;
220
+    }
221
+    .el-input__inner {
222
+      border: none;
223
+      font-size: 1rem;
224
+    }
225
+    .el-input__prefix {
226
+      font-size: 1.5rem;
227
+    }
228
+    .el-input__icon {
229
+      font-size: 1.5rem;
230
+      line-height: 3.375rem;
231
+    }
232
+  }
233
+}
234
+</style>