ソースを参照

Merge branch 'master' of http://git.shengws.com/xmg123/micro_vue

xiaoming_global 5 年 前
コミット
81fd449b69

+ 7 - 3
.postcssrc.js ファイルの表示

@@ -1,10 +1,14 @@
1 1
 // https://github.com/michael-ciniawsky/postcss-load-config
2 2
 
3 3
 module.exports = {
4
-  "plugins": {
4
+  plugins: {
5 5
     "postcss-import": {},
6 6
     "postcss-url": {},
7 7
     // to edit target browsers: use "browserslist" field in package.json
8
-    "autoprefixer": {}
8
+    autoprefixer: {}
9
+  },
10
+  "postcss-pxtorem": {
11
+    rootValue: 37.5,
12
+    propList: ["*"]
9 13
   }
10
-}
14
+};

+ 3 - 4
config/dev.env.js ファイルの表示

@@ -1,13 +1,12 @@
1 1
 module.exports = {
2 2
   NODE_ENV: '"development"',
3 3
   ENV_CONFIG: '"dev"',
4
-  BASE_API:'"http://localhost:9535"',//'"http://api.test1.sgjyun.com"'
4
+  BASE_API: '"http://api.test1.sgjyun.com"'
5 5
   // BASE_API:'"http://api.scrm.kuyicloud.com"',//'"http://localhost:9534"'
6
-  
6
+
7 7
   //  SSO_HOST: '"https://testsso.sgjyun.com"',
8 8
   //  SRCM_HOST: '"http://test1.sgjyun.com"',
9 9
   //  XT_HOST: '"http://xt.test.sgjyun.com"',
10 10
   //  MIRCO_MALL_HOST: '"http://mall.test.sgjyun.com"',
11 11
   //  CDM_HOST: '"http://cdm.test.sgjyun.com"',
12
-}
13
-
12
+};

File diff suppressed because it is too large
+ 923 - 1490
package-lock.json


+ 2 - 0
package.json ファイルの表示

@@ -75,6 +75,7 @@
75 75
     "vue-i18n": "7.3.2",
76 76
     "vue-infinite-scroll": "^2.0.2",
77 77
     "vue-multiselect": "2.0.8",
78
+    "vue-photo-preview": "^1.1.3",
78 79
     "vue-router": "3.0.1",
79 80
     "vue-splitpane": "1.0.2",
80 81
     "vuedraggable": "^2.23.0",
@@ -115,6 +116,7 @@
115 116
     "portfinder": "1.0.13",
116 117
     "postcss-import": "11.0.0",
117 118
     "postcss-loader": "2.0.9",
119
+    "postcss-pxtorem": "^4.0.1",
118 120
     "postcss-url": "7.3.0",
119 121
     "rimraf": "2.6.2",
120 122
     "sass-loader": "^6.0.7",

+ 124 - 0
src/assets/styles/common.css ファイルの表示

@@ -0,0 +1,124 @@
1
+html,
2
+body,
3
+div,
4
+span,
5
+applet,
6
+object,
7
+iframe,
8
+h1,
9
+h2,
10
+h3,
11
+h4,
12
+h5,
13
+h6,
14
+p,
15
+blockquote,
16
+pre,
17
+a,
18
+abbr,
19
+acronym,
20
+address,
21
+big,
22
+cite,
23
+code,
24
+del,
25
+dfn,
26
+em,
27
+img,
28
+ins,
29
+kbd,
30
+q,
31
+s,
32
+samp,
33
+small,
34
+strike,
35
+strong,
36
+sub,
37
+sup,
38
+tt,
39
+var,
40
+b,
41
+u,
42
+i,
43
+center,
44
+dl,
45
+dt,
46
+dd,
47
+ol,
48
+ul,
49
+li,
50
+fieldset,
51
+form,
52
+label,
53
+legend,
54
+table,
55
+caption,
56
+tbody,
57
+tfoot,
58
+thead,
59
+tr,
60
+th,
61
+td,
62
+article,
63
+aside,
64
+canvas,
65
+details,
66
+embed,
67
+figure,
68
+figcaption,
69
+footer,
70
+header,
71
+hgroup,
72
+menu,
73
+nav,
74
+output,
75
+ruby,
76
+section,
77
+summary,
78
+time,
79
+mark,
80
+audio,
81
+video {
82
+  margin: 0;
83
+  padding: 0;
84
+  border: 0;
85
+  font-size: 100%;
86
+  font: inherit;
87
+  vertical-align: baseline;
88
+}
89
+/* HTML5 display-role reset for older browsers */
90
+article,
91
+aside,
92
+details,
93
+figcaption,
94
+figure,
95
+footer,
96
+header,
97
+hgroup,
98
+menu,
99
+nav,
100
+section {
101
+  display: block;
102
+}
103
+body {
104
+  line-height: 1;
105
+}
106
+ol,
107
+ul {
108
+  list-style: none;
109
+}
110
+blockquote,
111
+q {
112
+  quotes: none;
113
+}
114
+blockquote:before,
115
+blockquote:after,
116
+q:before,
117
+q:after {
118
+  content: "";
119
+  content: none;
120
+}
121
+table {
122
+  border-collapse: collapse;
123
+  border-spacing: 0;
124
+}

+ 19 - 0
src/assets/styles/iconfont.css ファイルの表示

@@ -0,0 +1,19 @@
1
+@font-face {
2
+  font-family: "iconfont"; /* project id 1470572 */
3
+  src: url("//at.alicdn.com/t/font_1470572_ccqfklrqbdb.eot");
4
+  src: url("//at.alicdn.com/t/font_1470572_ccqfklrqbdb.eot?#iefix")
5
+      format("embedded-opentype"),
6
+    url("//at.alicdn.com/t/font_1470572_ccqfklrqbdb.woff2") format("woff2"),
7
+    url("//at.alicdn.com/t/font_1470572_ccqfklrqbdb.woff") format("woff"),
8
+    url("//at.alicdn.com/t/font_1470572_ccqfklrqbdb.ttf") format("truetype"),
9
+    url("//at.alicdn.com/t/font_1470572_ccqfklrqbdb.svg#iconfont") format("svg");
10
+}
11
+
12
+.iconfont {
13
+  font-family: "iconfont" !important;
14
+  font-size: 16px;
15
+  font-style: normal;
16
+  -webkit-font-smoothing: antialiased; /*字体清除锯齿效果*/
17
+  -webkit-text-stroke-width: 0.2px; /*文本外边框大小*/
18
+  -moz-osx-font-smoothing: grayscale;
19
+}

+ 27 - 0
src/assets/styles/mixin.scss ファイルの表示

@@ -0,0 +1,27 @@
1
+@mixin border-top {
2
+  position: relative;
3
+
4
+  &::before {
5
+    position: absolute;
6
+    top: 0;
7
+    left: 0;
8
+    width: 100%;
9
+    content: "";
10
+    height: 1px;
11
+    background: #e0e0e0;
12
+  }
13
+}
14
+
15
+@mixin border-bottom {
16
+  position: relative;
17
+
18
+  &::after {
19
+    position: absolute;
20
+    bottom: 0;
21
+    left: 0;
22
+    width: 100%;
23
+    content: "";
24
+    height: 1px;
25
+    background: #e0e0e0;
26
+  }
27
+}

+ 20 - 0
src/libs/rem.js ファイルの表示

@@ -0,0 +1,20 @@
1
+const baseSize = 32;
2
+// 设置 rem 函数
3
+function setRem() {
4
+  const scale = document.documentElement.clientWidth / 750;
5
+  document.documentElement.style.fontSize =
6
+    baseSize * Math.min(scale, 2) + "px";
7
+  //   // 320 默认大小16px; 320px = 20rem ;每个元素px基础上/16
8
+  //   let htmlWidth =
9
+  //     document.documentElement.clientWidth || document.body.clientWidth;
10
+  //   //得到html的Dom元素
11
+  //   let htmlDom = document.getElementsByTagName("html")[0];
12
+  //   //设置根元素字体大小
13
+  //   htmlDom.style.fontSize = htmlWidth / 23.4375 + "px";
14
+}
15
+// 初始化
16
+setRem();
17
+// 改变窗口大小时重新设置 rem
18
+window.onresize = function() {
19
+  setRem();
20
+};

+ 46 - 42
src/main.js ファイルの表示

@@ -1,69 +1,73 @@
1
-import Vue from 'vue'
1
+import Vue from "vue";
2 2
 
3
-import 'normalize.css/normalize.css'// A modern alternative to CSS resets
3
+import "normalize.css/normalize.css"; // A modern alternative to CSS resets
4 4
 
5
-import Element from 'element-ui'
6
-import 'element-ui/lib/theme-chalk/index.css'
7
-import '@/utils/directives.js'
8
-import '@/styles/index.scss' // global css
9
-import '@/styles/variables.scss' // global css
10
-import '@/assets/iconfont/iconfont.css'
11
-import '@/assets/icon/iconfont.css'
12
-import { Message } from 'element-ui'
13
-import App from './App'
14
-import router from './router'
15
-import store from './store'
16
-import { Base64 } from 'js-base64'
17
-import i18n from './lang' // Internationalization
18
-import './icons' // icon
19
-import './errorLog'// error log
5
+import "./assets/styles/iconfont.css";
6
+import "./assets/styles/common.css";
7
+
8
+import Element from "element-ui";
9
+import "element-ui/lib/theme-chalk/index.css";
10
+import "@/utils/directives.js";
11
+import "@/styles/index.scss"; // global css
12
+import "@/styles/variables.scss"; // global css
13
+import "@/assets/iconfont/iconfont.css";
14
+import "@/assets/icon/iconfont.css";
15
+import { Message } from "element-ui";
16
+import App from "./App";
17
+import router from "./router";
18
+import store from "./store";
19
+import { Base64 } from "js-base64";
20
+import i18n from "./lang"; // Internationalization
21
+import "./icons"; // icon
22
+import "./errorLog"; // error log
20 23
 // import './permission' // permission control
21
-import './xt_permission'
24
+import "./xt_permission";
22 25
 // import './mock' // simulation data
23 26
 
24
-import * as filters from './filters' // global filters
25
-import 'swiper/dist/css/swiper.css'
26
-import 'swiper/dist/css/swiper.min.css';
27
+import * as filters from "./filters"; // global filters
28
+import "swiper/dist/css/swiper.css";
29
+import "swiper/dist/css/swiper.min.css";
27 30
 //引入mint-ui
28
-import Mint from 'mint-ui';
31
+import Mint from "mint-ui";
29 32
 Vue.use(Mint);
30 33
 
31 34
 //引入无线滚条
32 35
 
33
-import { read } from 'fs';
34
-import BaiduMap from 'vue-baidu-map'
36
+import { read } from "fs";
37
+import BaiduMap from "vue-baidu-map";
38
+
39
+import Viewer from "v-viewer";
40
+import "viewerjs/dist/viewer.css";
41
+
42
+import "./libs/rem.js";
35 43
 
36
-import Viewer from 'v-viewer'
37
-import 'viewerjs/dist/viewer.css'
38
- 
39 44
 //Vue.use(Viewer) 默认配置写法
40 45
 Vue.use(Viewer, {
41
-    defaultOptions: {
42
-        zIndex: 9999
43
-    }
44
-})
46
+  defaultOptions: {
47
+    zIndex: 9999
48
+  }
49
+});
45 50
 Vue.use(Element, {
46
-  size: 'medium', // set element-ui default size
51
+  size: "medium", // set element-ui default size
47 52
   i18n: (key, value) => i18n.t(key, value)
48
-})
53
+});
49 54
 
50 55
 // register global utility filters.
51 56
 Object.keys(filters).forEach(key => {
52
-  Vue.filter(key, filters[key])
53
-})
57
+  Vue.filter(key, filters[key]);
58
+});
54 59
 
55
-Vue.config.productionTip = false
60
+Vue.config.productionTip = false;
56 61
 
57 62
 new Vue({
58
-  el: '#app',
63
+  el: "#app",
59 64
   router,
60 65
   store,
61 66
   i18n,
62 67
   render: h => h(App)
63
-})
68
+});
64 69
 
65
-Vue.prototype.Base64 = require('js-base64').Base64
70
+Vue.prototype.Base64 = require("js-base64").Base64;
66 71
 Vue.use(BaiduMap, {
67
-  ak: 'YOUR_APP_KEY'
68
-})
69
-
72
+  ak: "YOUR_APP_KEY"
73
+});

+ 147 - 109
src/router/index.js ファイルの表示

@@ -1,20 +1,21 @@
1
-
2
-import Vue from 'vue'
3
-import Router from 'vue-router'
4
-Vue.use(Router)
1
+import Vue from "vue";
2
+import Router from "vue-router";
3
+import preview from "vue-photo-preview";
4
+import "vue-photo-preview/dist/skin.css";
5
+Vue.use(Router).use(preview);
5 6
 
6 7
 /* Layout */
7
-import Layout from '@/views/layout/Layout'
8
-
9
-import role from './modules/role'
10
-import article from './modules/article'
11
-import member from './modules/member'
12
-import org from './modules/org'
13
-import marketing_tool from './modules/marketing_tool'
14
-import system from './modules/system'
15
-import site from './modules/site'
16
-import kefu from './modules/kefu'
17
- 
8
+import Layout from "@/views/layout/Layout";
9
+
10
+import role from "./modules/role";
11
+import article from "./modules/article";
12
+import member from "./modules/member";
13
+import org from "./modules/org";
14
+import marketing_tool from "./modules/marketing_tool";
15
+import system from "./modules/system";
16
+import site from "./modules/site";
17
+import kefu from "./modules/kefu";
18
+
18 19
 /** note: submenu only apppear when children.length>=1
19 20
  *   detail see  https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
20 21
  **/
@@ -40,91 +41,129 @@ is_menu: false               加载路由时验证用的(即该路由是否要
40 41
     hidden: false                加载路由时验证用的,is_menu 为true时才有作用,为 true 时表示该路由需要进行权限验证
41 42
   }
42 43
 **/
43
-var _constant_router_map = [{
44
-  path: '/token/verify',
45
-  component: () => import('@/scrm_pages/index/verify_token'),
46
-  hidden: true
47
-},
48
-{
49
-  path: '/404',
50
-  component: () => import('@/views/errorPage/404'),
51
-  hidden: true
52
-},
53
-{
54
-  path: '/401',
55
-  component: () => import('@/views/errorPage/401'),
56
-  hidden: true
57
-},
58
-{
59
-  path: '/qrcode',
60
-  component: ()=>import('@/scrm_pages/micro/micro'),
61
-},
62
-
63
-// 医院介绍详情路由
64
-{
65
-  path: '/hospital',
66
-  component: () => import('@/scrm_pages/hospital/hospital'),
67
-  name: 'hospital',
68
-},
69
-
70
-// 科室介绍详情
71
-{
72
-  path: '/office',
73
-  component: ()=>import('@/scrm_pages/office/office'),
74
-  name:'office'
75
-},
76
-
77
-// 名医介绍详情
78
-{
79
-  path:'/doctor',
80
-  component: ()=>import('@/scrm_pages/doctor/doctor'),
81
-  name:'doctor',
82
-},
83
-// 单个医生介绍详情
84
-{
85
-  path:'/docdetail',
86
-  component: ()=>import('@/scrm_pages/doctor/docdetail'),
87
-  name:'docdetail',
88
-},
89
-
90
-//文章列表详情
91
-{
92
-  path:'/articlelist',
93
-  component: ()=>import('@/scrm_pages/articlelist/articlelist'),
94
-  name:'articlelist'
95
-},
96
-
97
-//单个文章列表详情
98
-{
99
-  path:'/articlelistdetail',
100
-  component:()=>import('@/scrm_pages/articlelist/articlelistdetail')
101
-},
102
-
103
-//活动列表详情
104
-{
105
-  path:'/activitylist',
106
-  component:()=>import('@/scrm_pages/activitylist/activitylist')
107
-},
108
-//单个文章列表详情
109
-{
110
-  path:"/activitylistdetail",
111
-  component:()=>import('@/scrm_pages/activitylist/activitylistdetail')
112
-
113
-},
114
-
115
-//联系我们
116
-{
117
-  path:"/contactus",
118
-  component:()=>import('@/scrm_pages/contactus/contactus')
119
-},
120
-
121
-{
122
-  path: '/activity/preview',
123
-  component: () => import('@/scrm_pages/marketing_tool/activity_preview'),
124
-  hidden: true
125
-}
126
-
127
-]
44
+var _constant_router_map = [
45
+  {
46
+    path: "/token/verify",
47
+    component: () => import("@/scrm_pages/index/verify_token"),
48
+    hidden: true
49
+  },
50
+  {
51
+    path: "/404",
52
+    component: () => import("@/views/errorPage/404"),
53
+    hidden: true
54
+  },
55
+  {
56
+    path: "/401",
57
+    component: () => import("@/views/errorPage/401"),
58
+    hidden: true
59
+  },
60
+  {
61
+    path: "/qrcode",
62
+    component: () => import("@/scrm_pages/micro/micro")
63
+  },
64
+  // mirco
65
+  {
66
+    path: "/microHome",
67
+    component: () => import("@/scrm_pages/microHome/microHome")
68
+  },
69
+  {
70
+    path: "/hospitalIntroduction",
71
+    component: () =>
72
+      import("@/scrm_pages/hospitalIntroduction/hospitalIntroduction")
73
+  },
74
+  {
75
+    path: "/medicalTeam",
76
+    component: () => import("@/scrm_pages/medicalTeam/medicalTeam")
77
+  },
78
+  {
79
+    path: "/doctorIntroduction",
80
+    component: () =>
81
+      import("@/scrm_pages/doctorIntroduction/doctorIntroduction")
82
+  },
83
+  {
84
+    path: "/news",
85
+    component: () => import("@/scrm_pages/news/news")
86
+  },
87
+  {
88
+    path: "/activity",
89
+    component: () => import("@/scrm_pages/activity/activity")
90
+  },
91
+  {
92
+    path: "/activityDetail",
93
+    component: () => import("@/scrm_pages/activityDetail/activityDetail")
94
+  },
95
+  {
96
+    path: "/apply",
97
+    component: () => import("@/scrm_pages/apply/apply")
98
+  },
99
+  {
100
+    path: "/",
101
+    component: () => import("@/scrm_pages/microHome/microHome")
102
+  },
103
+
104
+  // 医院介绍详情路由
105
+  {
106
+    path: "/hospital",
107
+    component: () => import("@/scrm_pages/hospital/hospital"),
108
+    name: "hospital"
109
+  },
110
+
111
+  // 科室介绍详情
112
+  {
113
+    path: "/office",
114
+    component: () => import("@/scrm_pages/office/office"),
115
+    name: "office"
116
+  },
117
+
118
+  // 名医介绍详情
119
+  {
120
+    path: "/doctor",
121
+    component: () => import("@/scrm_pages/doctor/doctor"),
122
+    name: "doctor"
123
+  },
124
+  // 单个医生介绍详情
125
+  {
126
+    path: "/docdetail",
127
+    component: () => import("@/scrm_pages/doctor/docdetail"),
128
+    name: "docdetail"
129
+  },
130
+
131
+  //文章列表详情
132
+  {
133
+    path: "/articlelist",
134
+    component: () => import("@/scrm_pages/articlelist/articlelist"),
135
+    name: "articlelist"
136
+  },
137
+
138
+  //单个文章列表详情
139
+  {
140
+    path: "/articlelistdetail",
141
+    component: () => import("@/scrm_pages/articlelist/articlelistdetail")
142
+  },
143
+
144
+  //活动列表详情
145
+  {
146
+    path: "/activitylist",
147
+    component: () => import("@/scrm_pages/activitylist/activitylist")
148
+  },
149
+  //单个文章列表详情
150
+  {
151
+    path: "/activitylistdetail",
152
+    component: () => import("@/scrm_pages/activitylist/activitylistdetail")
153
+  },
154
+
155
+  //联系我们
156
+  {
157
+    path: "/contactus",
158
+    component: () => import("@/scrm_pages/contactus/contactus")
159
+  },
160
+
161
+  {
162
+    path: "/activity/preview",
163
+    component: () => import("@/scrm_pages/marketing_tool/activity_preview"),
164
+    hidden: true
165
+  }
166
+];
128 167
 
129 168
 var _asy_router_map = [
130 169
   member,
@@ -134,19 +173,18 @@ var _asy_router_map = [
134 173
   org,
135 174
   system,
136 175
   site,
137
-  role,
138
-]
176
+  role
177
+];
139 178
 
140
-var is_asy_router = process.env.NODE_ENV === 'production' // true; 设置为 true 强制进行路由验证
179
+var is_asy_router = process.env.NODE_ENV === "production"; // true; 设置为 true 强制进行路由验证
141 180
 if (!is_asy_router) {
142
-  _constant_router_map = _constant_router_map.concat(_asy_router_map)
143
-  _asy_router_map = []
181
+  _constant_router_map = _constant_router_map.concat(_asy_router_map);
182
+  _asy_router_map = [];
144 183
 } else {
145
-
146 184
 }
147 185
 
148
-export const xt_constantRouterMap = _constant_router_map
149
-export const xt_asyncRouterMap = _asy_router_map
186
+export const xt_constantRouterMap = _constant_router_map;
187
+export const xt_asyncRouterMap = _asy_router_map;
150 188
 
151 189
 export default new Router({
152 190
   // mode: 'history', // require service support
@@ -154,4 +192,4 @@ export default new Router({
154 192
     y: 0
155 193
   }),
156 194
   routes: xt_constantRouterMap
157
-})
195
+});

+ 192 - 0
src/scrm_pages/activity/activity.vue ファイルの表示

@@ -0,0 +1,192 @@
1
+<template>
2
+  <div>
3
+    <div class="content">
4
+      <div class="contentOne">
5
+        <div class="img">
6
+          <img src="static\images\img1.jpg" alt />
7
+        </div>
8
+        <div class="detail">
9
+          <p class="detailTitle">与孩子一起挑选采摘新机陆...</p>
10
+          <div class="detailBox">
11
+            <div class="activityTime">
12
+              <p>
13
+                7月28日 08:30开始
14
+                深圳市南山区
15
+              </p>
16
+            </div>
17
+            <div class="people">
18
+              <p>100人已报名</p>
19
+            </div>
20
+          </div>
21
+        </div>
22
+      </div>
23
+      <div class="contentOne">
24
+        <div class="img">
25
+          <img src="static\images\img1.jpg" alt />
26
+        </div>
27
+        <div class="detail">
28
+          <p class="detailTitle">与孩子一起挑选采摘新机陆...</p>
29
+          <div class="detailBox">
30
+            <div class="activityTime">
31
+              <p>
32
+                7月28日 08:30开始
33
+                深圳市南山区
34
+              </p>
35
+            </div>
36
+            <div class="people">
37
+              <p>100人已报名</p>
38
+            </div>
39
+          </div>
40
+        </div>
41
+      </div>
42
+      <div class="contentOne">
43
+        <div class="img">
44
+          <img src="static\images\img1.jpg" alt />
45
+        </div>
46
+        <div class="detail">
47
+          <p class="detailTitle">与孩子一起挑选采摘新机陆...</p>
48
+          <div class="detailBox">
49
+            <div class="activityTime">
50
+              <p>
51
+                7月28日 08:30开始
52
+                深圳市南山区
53
+              </p>
54
+            </div>
55
+            <div class="people">
56
+              <p>100人已报名</p>
57
+            </div>
58
+          </div>
59
+        </div>
60
+      </div>
61
+      <div class="contentOne">
62
+        <div class="img">
63
+          <img src="static\images\img1.jpg" alt />
64
+        </div>
65
+        <div class="detail">
66
+          <p class="detailTitle">与孩子一起挑选采摘新机陆...</p>
67
+          <div class="detailBox">
68
+            <div class="activityTime">
69
+              <p>
70
+                7月28日 08:30开始
71
+                深圳市南山区
72
+              </p>
73
+            </div>
74
+            <div class="people">
75
+              <p>100人已报名</p>
76
+            </div>
77
+          </div>
78
+        </div>
79
+      </div>
80
+      <div class="contentOne">
81
+        <div class="img">
82
+          <img src="static\images\img1.jpg" alt />
83
+        </div>
84
+        <div class="detail">
85
+          <p class="detailTitle">与孩子一起挑选采摘新机陆...</p>
86
+          <div class="detailBox">
87
+            <div class="activityTime">
88
+              <p>
89
+                7月28日 08:30开始
90
+                深圳市南山区
91
+              </p>
92
+            </div>
93
+            <div class="people">
94
+              <p>100人已报名</p>
95
+            </div>
96
+          </div>
97
+        </div>
98
+      </div>
99
+      <div class="contentOne">
100
+        <div class="img">
101
+          <img src="static\images\img1.jpg" alt />
102
+        </div>
103
+        <div class="detail">
104
+          <p class="detailTitle">与孩子一起挑选采摘新机陆...</p>
105
+          <div class="detailBox">
106
+            <div class="activityTime">
107
+              <p>
108
+                7月28日 08:30开始
109
+                深圳市南山区
110
+              </p>
111
+            </div>
112
+            <div class="people">
113
+              <p>100人已报名</p>
114
+            </div>
115
+          </div>
116
+        </div>
117
+      </div>
118
+    </div>
119
+  </div>
120
+</template>
121
+
122
+
123
+<style lang="scss" scoped>
124
+.contentOne {
125
+  margin: auto;
126
+  margin-top: 18px;
127
+  width: 334px;
128
+  height: 119px;
129
+  background: rgba(255, 255, 255, 1);
130
+  box-shadow: 0px 6px 20px 0px rgba(0, 0, 0, 0.05);
131
+  border-radius: 16px;
132
+  padding-left: 16px;
133
+  padding-top: 18px;
134
+  box-sizing: border-box;
135
+  .img {
136
+    float: left;
137
+    width: 80px;
138
+    height: 80px;
139
+    border-radius: 12px;
140
+  }
141
+  .detail {
142
+    float: left;
143
+    margin-left: 13px;
144
+    width: 210px;
145
+    .detailTitle {
146
+      margin-top: 8px;
147
+      width: 203px;
148
+      height: 17px;
149
+      font-size: 15px;
150
+      font-weight: 600;
151
+      color: rgba(7, 18, 40, 1);
152
+    }
153
+    .detailMessage {
154
+      margin-top: 4px;
155
+      width: 212px;
156
+      height: 58px;
157
+      font-size: 13px;
158
+      font-weight: 400;
159
+      color: rgba(155, 155, 155, 1);
160
+      line-height: 18px;
161
+    }
162
+  }
163
+}
164
+.detailBox {
165
+  margin-top: 10px;
166
+  .activityTime {
167
+    float: left;
168
+    width: 118px;
169
+    height: 35px;
170
+    font-size: 13px;
171
+    color: rgba(155, 155, 155, 1);
172
+    line-height: 24px;
173
+  }
174
+  .people {
175
+    margin-top: 16px;
176
+    float: left;
177
+    width: 86px;
178
+    height: 30px;
179
+    background: rgba(57, 124, 254, 0.1);
180
+    border-radius: 30px;
181
+    p {
182
+      margin: auto;
183
+      text-align: center;
184
+      width: 70px;
185
+      height: 12px;
186
+      font-size: 12px;
187
+      color: rgba(57, 124, 254, 1);
188
+      line-height: 30px;
189
+    }
190
+  }
191
+}
192
+</style>

+ 153 - 0
src/scrm_pages/activityDetail/activityDetail.vue ファイルの表示

@@ -0,0 +1,153 @@
1
+<template>
2
+  <div>
3
+    <div class="banner">
4
+      <img src="static\images\banner.jpg" alt />
5
+    </div>
6
+    <div class="headline">
7
+      <div class="top">与孩子一起挑选采摘新鲜有机马陆葡萄,体验采摘乐趣</div>
8
+      <div class="bottom">
9
+        <p class="browse">
10
+          <i class="iconfont">&#xe632;</i>
11
+          <span>浏览400次</span>
12
+        </p>
13
+      </div>
14
+    </div>
15
+    <div class="detail">
16
+      <p class="row">
17
+        <i class="iconfont">&#xe608;</i>
18
+        <span>06-19 14:00 至 17:00</span>
19
+      </p>
20
+      <p class="row">
21
+        <i class="iconfont">&#xe608;</i>
22
+        <span>广东省深圳市南山去时代大厦3楼赛盒科技观海...</span>
23
+      </p>
24
+      <p class="row">
25
+        <i class="iconfont">&#xe608;</i>
26
+        <span>已报名49人 / 限55人</span>
27
+      </p>
28
+      <p class="row">
29
+        <i class="iconfont">&#xe608;</i>
30
+        <span>0755-8548673</span>
31
+      </p>
32
+    </div>
33
+    <div class="introduce">
34
+      <div class="common_title">
35
+        <div class="one"></div>
36
+        <div class="dynamicTxt">活动介绍</div>
37
+      </div>
38
+      <div
39
+        class="introduceDetail"
40
+      >深圳市南山区人民医院(深圳市第六人民医院),坐落于深圳经济特区西部南头半岛中心区,是深圳市第四家三级甲等医院暨南山区区域医疗中心。深圳市第四家三级甲等医院...</div>
41
+    </div>
42
+    <div class="apply">我要报名</div>
43
+  </div>
44
+</template>
45
+
46
+
47
+<style lang="scss" scoped>
48
+.banner {
49
+  width: 375px;
50
+  height: 220px;
51
+  img {
52
+    width: 100%;
53
+    height: 100%;
54
+  }
55
+}
56
+.headline {
57
+  position: fixed;
58
+  width: 334px;
59
+  height: 105px;
60
+  margin-top: -20px;
61
+  left: 20px;
62
+  z-index: 99px;
63
+  background: rgba(255, 255, 255, 1);
64
+  box-shadow: 0px 6px 20px 0px rgba(0, 0, 0, 0.05);
65
+  border-radius: 10px;
66
+  padding: 17px 10px 0 14px;
67
+  box-sizing: border-box;
68
+  .top {
69
+    font-size: 17px;
70
+    font-weight: 600;
71
+    color: rgba(7, 18, 40, 1);
72
+    line-height: 24px;
73
+  }
74
+}
75
+.browse {
76
+  color: rgba(182, 186, 193, 1);
77
+  margin-top: 8px;
78
+  span {
79
+    font-size: 12px;
80
+    font-weight: 400;
81
+  }
82
+}
83
+.detail {
84
+  margin-left: 20px;
85
+  margin-top: 90px;
86
+  .row {
87
+    margin: 10px 0;
88
+    i {
89
+      color: #b6bac1;
90
+    }
91
+    span {
92
+      font-size: 14px;
93
+      font-weight: 600;
94
+      color: rgba(7, 18, 40, 1);
95
+      margin-left: 10px;
96
+    }
97
+  }
98
+}
99
+.introduce {
100
+  margin-left: 20px;
101
+  margin-top: 24px;
102
+}
103
+
104
+.common_title {
105
+  width: 335px;
106
+  height: 18px;
107
+  line-height: 18px;
108
+  font-size: 18px;
109
+  font-weight: 800;
110
+  color: rgba(7, 18, 40, 1);
111
+}
112
+
113
+.one {
114
+  margin-top: 2px;
115
+  margin-right: 10px;
116
+  float: left;
117
+  width: 2px;
118
+  height: 14px;
119
+  background: linear-gradient(
120
+    0deg,
121
+    rgba(114, 182, 253, 1),
122
+    rgba(52, 119, 254, 1)
123
+  );
124
+  box-shadow: 0px 3px 12px 0px rgba(60, 127, 254, 0.2);
125
+  border-radius: 3px;
126
+}
127
+.introduceDetail {
128
+  width: 318px;
129
+  height: 92px;
130
+  font-size: 16px;
131
+  color: rgba(155, 155, 155, 1);
132
+  line-height: 24px;
133
+  margin-top: 18px;
134
+  padding-left: 6px;
135
+  box-sizing: border-box;
136
+}
137
+.apply {
138
+  width: 100%;
139
+  height: 42px;
140
+  position: fixed;
141
+  left: 0;
142
+  bottom: 0;
143
+  text-align: center;
144
+  line-height: 42px;
145
+  color: rgba(255, 255, 255, 1);
146
+  font-size: 18px;
147
+  background: linear-gradient(
148
+    90deg,
149
+    rgba(114, 182, 253, 1),
150
+    rgba(52, 119, 254, 1)
151
+  );
152
+}
153
+</style>

+ 77 - 0
src/scrm_pages/apply/apply.vue ファイルの表示

@@ -0,0 +1,77 @@
1
+<template>
2
+  <div>
3
+    <div class="tel">
4
+      <el-input v-model="phone" placeholder="手机号码"></el-input>
5
+    </div>
6
+    <div class="codeBox">
7
+      <div class="verificationCode">
8
+        <el-input v-model="verificationCode" placeholder="手机号码"></el-input>
9
+      </div>
10
+      <div class="gain">获取验证码</div>
11
+    </div>
12
+    <div class="submit">提交</div>
13
+  </div>
14
+</template>
15
+
16
+
17
+<script>
18
+export default {
19
+  data() {
20
+    return {
21
+      phone: "",
22
+      verificationCode: ""
23
+    };
24
+  }
25
+};
26
+</script>
27
+
28
+
29
+<style lang="scss" scoped>
30
+.tel {
31
+  margin: 34px 21px 17px 21px;
32
+  height: 40px;
33
+}
34
+.codeBox {
35
+  height: 36px;
36
+  margin-left: 21px;
37
+  margin-bottom: 17px;
38
+  .verificationCode {
39
+    float: left;
40
+    width: 208px;
41
+    height: 40px;
42
+    margin-right: 12px;
43
+  }
44
+  .gain {
45
+    float: left;
46
+    text-align: center;
47
+    color: rgba(255, 255, 255, 1);
48
+    font-size: 15px;
49
+    line-height: 36px;
50
+    width: 114px;
51
+    height: 36px;
52
+    background: linear-gradient(
53
+      90deg,
54
+      rgba(114, 182, 253, 1),
55
+      rgba(52, 119, 254, 1)
56
+    );
57
+    box-shadow: 0px 4px 12px 0px rgba(60, 127, 254, 0.2);
58
+    border-radius: 4px;
59
+  }
60
+}
61
+.submit {
62
+  width: 334px;
63
+  height: 40px;
64
+  background: linear-gradient(
65
+    90deg,
66
+    rgba(114, 182, 253, 1),
67
+    rgba(52, 119, 254, 1)
68
+  );
69
+  box-shadow: 0px 4px 12px 0px rgba(60, 127, 254, 0.2);
70
+  border-radius: 4px;
71
+  color: rgba(255, 255, 255, 1);
72
+  font-size: 18px;
73
+  text-align: center;
74
+  line-height: 40px;
75
+  margin-left: 21px;
76
+}
77
+</style>

+ 123 - 0
src/scrm_pages/doctorIntroduction/doctorIntroduction.vue ファイルの表示

@@ -0,0 +1,123 @@
1
+<template>
2
+  <div>
3
+    <div>
4
+      <div class="contentOne">
5
+        <div class="img">
6
+          <img src="static\images\img1.jpg" alt />
7
+        </div>
8
+        <div class="detail">
9
+          <p class="detailTitle">
10
+            欧巧漫
11
+            <span>主任医师</span>
12
+          </p>
13
+          <p class="detailMessage">深圳大学第二附属医院-内科</p>
14
+        </div>
15
+      </div>
16
+      <div class="good">
17
+        <div class="common_title">
18
+          <div class="one"></div>
19
+          <div class="dynamicTxt">医生擅长</div>
20
+        </div>
21
+        <div class="goodtxt">擅长甲状腺、胆结石</div>
22
+      </div>
23
+      <div class="good">
24
+        <div class="common_title">
25
+          <div class="one"></div>
26
+          <div class="dynamicTxt">医生简介</div>
27
+        </div>
28
+        <div class="goodtxt">
29
+          于1996年毕业于中国医科大学,从事医疗工作
30
+          近20年,经验丰富
31
+        </div>
32
+      </div>
33
+    </div>
34
+  </div>
35
+</template>
36
+
37
+
38
+<style lang="scss" scoped>
39
+.contentOne {
40
+  margin: auto;
41
+  margin-top: 18px;
42
+  width: 334px;
43
+  height: 119px;
44
+  background: rgba(255, 255, 255, 1);
45
+  box-shadow: 0px 6px 20px 0px rgba(0, 0, 0, 0.05);
46
+  border-radius: 16px;
47
+  padding-left: 16px;
48
+  padding-top: 18px;
49
+  box-sizing: border-box;
50
+  .img {
51
+    float: left;
52
+    width: 80px;
53
+    height: 80px;
54
+    border-radius: 12px;
55
+  }
56
+  .detail {
57
+    float: left;
58
+    margin-left: 13px;
59
+    width: 210px;
60
+    .detailTitle {
61
+      margin-top: 8px;
62
+      width: 203px;
63
+      height: 17px;
64
+      font-size: 15px;
65
+      font-weight: 600;
66
+      color: rgba(7, 18, 40, 1);
67
+      span {
68
+        font-size: 14px;
69
+        color: rgba(155, 155, 155, 1);
70
+        line-height: 18px;
71
+        margin-left: 20px;
72
+        font-weight: 400;
73
+      }
74
+    }
75
+    .detailMessage {
76
+      font-size: 14px;
77
+      color: rgba(155, 155, 155, 1);
78
+      line-height: 24px;
79
+      font-weight: 400;
80
+      margin-top: 14px;
81
+    }
82
+  }
83
+}
84
+.good {
85
+  margin-left: 20px;
86
+  margin-top: 35px;
87
+}
88
+.common_title {
89
+  width: 335px;
90
+  height: 18px;
91
+  line-height: 18px;
92
+}
93
+.dynamicTxt {
94
+  float: left;
95
+  width: 72px;
96
+  height: 18px;
97
+  line-height: 18px;
98
+  font-size: 18px;
99
+  font-weight: 600;
100
+  color: rgba(7, 18, 40, 1);
101
+}
102
+.one {
103
+  margin-top: 2px;
104
+  margin-right: 6px;
105
+  float: left;
106
+  width: 2px;
107
+  height: 14px;
108
+  background: linear-gradient(
109
+    0deg,
110
+    rgba(114, 182, 253, 1),
111
+    rgba(52, 119, 254, 1)
112
+  );
113
+  box-shadow: 0px 3px 12px 0px rgba(60, 127, 254, 0.2);
114
+  border-radius: 3px;
115
+}
116
+.goodtxt {
117
+  margin: 16px 0 36px 14px;
118
+  font-size: 16px;
119
+  font-weight: 400;
120
+  color: rgba(68, 75, 92, 1);
121
+  line-height: 24px;
122
+}
123
+</style>

+ 35 - 0
src/scrm_pages/hospitalIntroduction/hospitalIntroduction.vue ファイルの表示

@@ -0,0 +1,35 @@
1
+<template>
2
+  <div class="main">
3
+    <div class="bannerImg">
4
+      <img src="static\images\banner.jpg" alt />
5
+    </div>
6
+    <div class="detail">
7
+      <p>
8
+        蛇口位于深圳湾半岛,与香港隔海相望,西依珠江口,背靠大南山,拥有得天独厚的地理位置;作为改革开放的前沿阵地,经过数十年的发展,如今已成为一个融合居住与旅游、本土与国际、富饶与休闲的国际化城区,区域内集中了鲸山别墅九期、双玺花园、兰溪谷等一系列高尚住宅,聚集着一大批具有高品质生活、高消费能力的优质人群,同时也吸引了来自70多个国家和地区,占深圳市60%以上的外籍人士聚居于此,拥有“小联合国”的美誉。
9
+        深圳市南山区蛇口人民医院暨中南大学湘雅二医院深圳医院,坐落于蛇口半岛中心地带,目前已成为外籍人士与港澳居。
10
+        深圳市南山区蛇口人民医院暨中南大学湘雅二医院深圳医院,坐落于蛇口半岛中心地带,目前已成为外籍人士与港澳居
11
+      </p>
12
+    </div>
13
+  </div>
14
+</template>
15
+
16
+
17
+
18
+<style lang="scss" scoped>
19
+.bannerImg {
20
+  width: 339px;
21
+  height: 194px;
22
+  margin: 0 auto;
23
+  border-radius: 10px;
24
+  box-sizing: border-box;
25
+  padding: 18px 0;
26
+}
27
+.detail {
28
+  margin: 0 auto;
29
+  width: 336px;
30
+  height: 368px;
31
+  font-size: 16px;
32
+  color: rgba(7, 18, 40, 1);
33
+  line-height: 24px;
34
+}
35
+</style>

+ 147 - 0
src/scrm_pages/medicalTeam/medicalTeam.vue ファイルの表示

@@ -0,0 +1,147 @@
1
+<template>
2
+  <div>
3
+    <div class="header">
4
+      <div class="line"></div>
5
+      <div class="headerTitle">
6
+        <span>医院名医团队</span>
7
+      </div>
8
+      <div class="line"></div>
9
+    </div>
10
+    <div class="msg">贴心的服务,让您的就医更轻松</div>
11
+    <div class="content">
12
+      <div class="contentOne">
13
+        <div class="img">
14
+          <img src="static\images\img1.jpg" alt />
15
+        </div>
16
+        <div class="detail">
17
+          <p class="detailTitle">欧巧漫</p>
18
+          <p class="detailMessage">苏安,女,主任医师,教授,妇产科主任,湖南省医学会理事、湖南省肿瘤学会委员瘤学肿瘤学会员......</p>
19
+        </div>
20
+      </div>
21
+      <div class="contentOne">
22
+        <div class="img">
23
+          <img src="static\images\img1.jpg" alt />
24
+        </div>
25
+        <div class="detail">
26
+          <p class="detailTitle">欧巧漫</p>
27
+          <p class="detailMessage">苏安,女,主任医师,教授,妇产科主任,湖南省医学会理事、湖南省肿瘤学会委员瘤学肿瘤学会员......</p>
28
+        </div>
29
+      </div>
30
+      <div class="contentOne">
31
+        <div class="img">
32
+          <img src="static\images\img1.jpg" alt />
33
+        </div>
34
+        <div class="detail">
35
+          <p class="detailTitle">欧巧漫</p>
36
+          <p class="detailMessage">苏安,女,主任医师,教授,妇产科主任,湖南省医学会理事、湖南省肿瘤学会委员瘤学肿瘤学会员......</p>
37
+        </div>
38
+      </div>
39
+      <div class="contentOne">
40
+        <div class="img">
41
+          <img src="static\images\img1.jpg" alt />
42
+        </div>
43
+        <div class="detail">
44
+          <p class="detailTitle">欧巧漫</p>
45
+          <p class="detailMessage">苏安,女,主任医师,教授,妇产科主任,湖南省医学会理事、湖南省肿瘤学会委员瘤学肿瘤学会员......</p>
46
+        </div>
47
+      </div>
48
+      <div class="contentOne">
49
+        <div class="img">
50
+          <img src="static\images\img1.jpg" alt />
51
+        </div>
52
+        <div class="detail">
53
+          <p class="detailTitle">欧巧漫</p>
54
+          <p class="detailMessage">苏安,女,主任医师,教授,妇产科主任,湖南省医学会理事、湖南省肿瘤学会委员瘤学肿瘤学会员......</p>
55
+        </div>
56
+      </div>
57
+      <div class="contentOne">
58
+        <div class="img">
59
+          <img src="static\images\img1.jpg" alt />
60
+        </div>
61
+        <div class="detail">
62
+          <p class="detailTitle">欧巧漫</p>
63
+          <p class="detailMessage">苏安,女,主任医师,教授,妇产科主任,湖南省医学会理事、湖南省肿瘤学会委员瘤学肿瘤学会员......</p>
64
+        </div>
65
+      </div>
66
+    </div>
67
+  </div>
68
+</template>
69
+
70
+
71
+<style lang="scss" scoped>
72
+.header {
73
+  height: 20px;
74
+  width: 138px;
75
+  text-align: center;
76
+  margin: 12px auto;
77
+  .headerTitle {
78
+    float: left;
79
+    height: 20px;
80
+    line-height: 20px;
81
+    font-size: 18px;
82
+    color: rgba(7, 18, 40, 1);
83
+    font-weight: 600;
84
+    margin: 0 auto;
85
+    text-align: center;
86
+  }
87
+  .line {
88
+    float: left;
89
+    margin-top: 8px;
90
+    width: 15px;
91
+    height: 3px;
92
+    background: linear-gradient(
93
+      -45deg,
94
+      rgba(50, 210, 139, 1),
95
+      rgba(60, 226, 151, 1)
96
+    );
97
+  }
98
+}
99
+.msg {
100
+  width: 210px;
101
+  height: 15px;
102
+  font-size: 15px;
103
+  font-weight: 100;
104
+  color: rgba(7, 18, 40, 1);
105
+  margin: 0 auto;
106
+}
107
+.contentOne {
108
+  margin: auto;
109
+  margin-top: 18px;
110
+  width: 334px;
111
+  height: 119px;
112
+  background: rgba(255, 255, 255, 1);
113
+  box-shadow: 0px 6px 20px 0px rgba(0, 0, 0, 0.05);
114
+  border-radius: 16px;
115
+  padding-left: 16px;
116
+  padding-top: 18px;
117
+  box-sizing: border-box;
118
+  .img {
119
+    float: left;
120
+    width: 80px;
121
+    height: 80px;
122
+    border-radius: 12px;
123
+  }
124
+  .detail {
125
+    float: left;
126
+    margin-left: 13px;
127
+    width: 210px;
128
+    .detailTitle {
129
+      margin-top: 8px;
130
+      width: 203px;
131
+      height: 17px;
132
+      font-size: 15px;
133
+      font-weight: 600;
134
+      color: rgba(7, 18, 40, 1);
135
+    }
136
+    .detailMessage {
137
+      margin-top: 4px;
138
+      width: 212px;
139
+      height: 58px;
140
+      font-size: 13px;
141
+      font-weight: 400;
142
+      color: rgba(155, 155, 155, 1);
143
+      line-height: 18px;
144
+    }
145
+  }
146
+}
147
+</style>

+ 528 - 0
src/scrm_pages/microHome/microHome.vue ファイルの表示

@@ -0,0 +1,528 @@
1
+<template>
2
+  <div class="page_home">
3
+    <div>
4
+      <div class="banner">
5
+        <div class="swiper-container bannerSwiper">
6
+          <div class="swiper-wrapper">
7
+            <div class="swiper-slide">
8
+              <img class="img" src="static\images\banner.jpg" />
9
+            </div>
10
+            <div class="swiper-slide">
11
+              <img class="img" src="static\images\img3.jpg" />
12
+            </div>
13
+            <div class="swiper-slide">
14
+              <img class="img" src="static\images\img2.png" />
15
+            </div>
16
+          </div>
17
+          <!-- 如果需要分页器 -->
18
+          <div class="swiper-pagination"></div>
19
+        </div>
20
+      </div>
21
+      <div class="btnList">
22
+        <div class="btnOne" v-for="(item,index) in 8" :key="index">
23
+          <div>
24
+            <img src="static\images\icon1.jpg" alt />
25
+          </div>
26
+          <div>
27
+            <p class="title">医院介绍</p>
28
+          </div>
29
+        </div>
30
+      </div>
31
+      <!-- 医院动态 -->
32
+      <div class="dynamic">
33
+        <div class="common_title">
34
+          <div class="one"></div>
35
+          <div class="dynamicTxt">医院动态</div>
36
+          <div class="more">
37
+            <p>
38
+              查看更多
39
+              <i class="iconfont">&#xe632;</i>
40
+            </p>
41
+          </div>
42
+        </div>
43
+        <div class="content">
44
+          <div class="contentOne">
45
+            <div class="img">
46
+              <img src="static\images\img1.jpg" alt />
47
+            </div>
48
+            <div class="detail">
49
+              <p class="detailTitle">山东潍坊,高考还剩最一门...</p>
50
+              <p class="detailMessage">高三学生周某出生在潍坊市固堤镇一个普通的农村家庭,她的父母一直希望成绩优异的女儿能考上一所好...</p>
51
+            </div>
52
+          </div>
53
+          <div class="contentOne">
54
+            <div class="img">
55
+              <img src="static\images\img1.jpg" alt />
56
+            </div>
57
+            <div class="detail">
58
+              <p class="detailTitle">山东潍坊,高考还剩最一门...</p>
59
+              <p class="detailMessage">高三学生周某出生在潍坊市固堤镇一个普通的农村家庭,她的父母一直希望成绩优异的女儿能考上一所好...</p>
60
+            </div>
61
+          </div>
62
+        </div>
63
+      </div>
64
+      <!-- 医院介绍 -->
65
+      <div class="common">
66
+        <div class="common_title">
67
+          <div class="one"></div>
68
+          <div class="dynamicTxt">医院介绍</div>
69
+          <div class="more">
70
+            <p>
71
+              查看更多
72
+              <i class="iconfont">&#xe632;</i>
73
+            </p>
74
+          </div>
75
+        </div>
76
+        <div class="commonBox">
77
+          <div class="commonImg">
78
+            <img src="static\images\img2.png" alt />
79
+          </div>
80
+          <div
81
+            class="commonMessage"
82
+          >深圳市南山区人民医院(深圳市第六人民医院),坐落于深圳经济特区西部南头半岛中心区,是深圳市第四家三级甲等医院暨南山区区域医疗中心。深圳市第四家三级甲等医院...</div>
83
+        </div>
84
+      </div>
85
+      <!-- 医院环境 -->
86
+      <div class="common">
87
+        <div class="common_title">
88
+          <div class="one"></div>
89
+          <div class="dynamicTxt">医院环境</div>
90
+          <div class="more">
91
+            <p>
92
+              查看更多
93
+              <i class="iconfont">&#xe632;</i>
94
+            </p>
95
+          </div>
96
+        </div>
97
+        <div class="commonBox">
98
+          <div class="commonImg">
99
+            <img src="static\images\img2.png" alt />
100
+          </div>
101
+          <div
102
+            class="commonMessage"
103
+          >深圳市南山区人民医院(深圳市第六人民医院),坐落于深圳经济特区西部南头半岛中心区,是深圳市第四家三级甲等医院暨南山区区域医疗中心。深圳市第四家三级甲等医院...</div>
104
+        </div>
105
+      </div>
106
+      <!-- 医护团队 -->
107
+      <div class="dynamic">
108
+        <div class="common_title">
109
+          <div class="one"></div>
110
+          <div class="dynamicTxt">医院团队</div>
111
+          <div class="more">
112
+            <p>
113
+              查看更多
114
+              <i class="iconfont">&#xe632;</i>
115
+            </p>
116
+          </div>
117
+        </div>
118
+        <div class="content">
119
+          <div class="contentOne">
120
+            <div class="img">
121
+              <img src="static\images\img1.jpg" alt />
122
+            </div>
123
+            <div class="detail">
124
+              <p class="detailTitle">欧巧漫</p>
125
+              <p class="detailMessage">苏安,女,主任医师,教授,妇产科主任,湖南省医学会理事、湖南省肿瘤学会委员瘤学肿瘤学会员......</p>
126
+            </div>
127
+          </div>
128
+          <div class="contentOne">
129
+            <div class="img">
130
+              <img src="static\images\img1.jpg" alt />
131
+            </div>
132
+            <div class="detail">
133
+              <p class="detailTitle">欧巧漫</p>
134
+              <p class="detailMessage">苏安,女,主任医师,教授,妇产科主任,湖南省医学会理事、湖南省肿瘤学会委员瘤学肿瘤学会员......</p>
135
+            </div>
136
+          </div>
137
+        </div>
138
+      </div>
139
+      <!-- 医院环境 -->
140
+      <div class="dynamic">
141
+        <div class="common_title">
142
+          <div class="one"></div>
143
+          <div class="dynamicTxt">医院环境</div>
144
+          <div class="more">
145
+            <p>
146
+              查看更多
147
+              <i class="iconfont">&#xe632;</i>
148
+            </p>
149
+          </div>
150
+        </div>
151
+        <div class="imgs">
152
+          <div class="swiper-container imgSwiper">
153
+            <div class="swiper-wrapper">
154
+              <div class="swiper-slide carousel">
155
+                <img class="img" src="static\images\img3.jpg" preview="1" />
156
+              </div>
157
+              <div class="swiper-slide carousel">
158
+                <img class="img" src="static\images\banner.jpg" preview="1" />
159
+              </div>
160
+              <div class="swiper-slide carousel">
161
+                <img class="img" src="static\images\img2.png" preview="1" />
162
+              </div>
163
+            </div>
164
+          </div>
165
+        </div>
166
+      </div>
167
+      <!-- 医院活动 -->
168
+      <div class="dynamic bottom">
169
+        <div class="common_title">
170
+          <div class="one"></div>
171
+          <div class="dynamicTxt">医院活动</div>
172
+          <div class="more">
173
+            <p>
174
+              查看更多
175
+              <i class="iconfont">&#xe632;</i>
176
+            </p>
177
+          </div>
178
+        </div>
179
+        <div class="content">
180
+          <div class="contentOne">
181
+            <div class="img">
182
+              <img src="static\images\img1.jpg" alt />
183
+            </div>
184
+            <div class="detail">
185
+              <p class="detailTitle">与孩子一起挑选采摘新机陆...</p>
186
+              <div class="detailBox">
187
+                <div class="activityTime">
188
+                  <p>
189
+                    7月28日 08:30开始
190
+                    深圳市南山区
191
+                  </p>
192
+                </div>
193
+                <div class="people">
194
+                  <p>100人已报名</p>
195
+                </div>
196
+              </div>
197
+            </div>
198
+          </div>
199
+          <div class="contentOne">
200
+            <div class="img">
201
+              <img src="static\images\img1.jpg" alt />
202
+            </div>
203
+            <div class="detail">
204
+              <p class="detailTitle">与孩子一起挑选采摘新机陆...</p>
205
+              <div class="detailBox">
206
+                <div class="activityTime">
207
+                  <p>
208
+                    7月28日 08:30开始
209
+                    深圳市南山区
210
+                  </p>
211
+                </div>
212
+                <div class="people">
213
+                  <p>100人已报名</p>
214
+                </div>
215
+              </div>
216
+            </div>
217
+          </div>
218
+        </div>
219
+      </div>
220
+    </div>
221
+    <!-- tab切换 -->
222
+    <div class="tabs">
223
+      <ul class="tabList">
224
+        <li class="tabOne">
225
+          <img src="static\images\home.jpg" alt />
226
+          <span>首页</span>
227
+        </li>
228
+        <li class="tabOne">
229
+          <img src="static\images\msg.jpg" alt />
230
+          <span>在线客服</span>
231
+        </li>
232
+        <li class="tabOne">
233
+          <img src="static\images\tel.jpg" alt />
234
+          <span>电话</span>
235
+        </li>
236
+        <li class="tabOne">
237
+          <img src="static\images\service.jpg" alt />
238
+          <span>联系我们</span>
239
+        </li>
240
+      </ul>
241
+    </div>
242
+  </div>
243
+</template>
244
+
245
+
246
+<script>
247
+import Swiper from "swiper";
248
+
249
+export default {
250
+  data() {
251
+    return {
252
+      bannerList: []
253
+    };
254
+  },
255
+  methods: {
256
+    initSwiper() {
257
+      var mySwiper1 = new Swiper(".bannerSwiper", {
258
+        loop: true, // 循环模式选项
259
+        // 如果需要分页器
260
+        pagination: {
261
+          el: ".swiper-pagination"
262
+        },
263
+        autoplay: {
264
+          disableOnInteraction: false
265
+        }
266
+      });
267
+      var mySwiper2 = new Swiper(".imgSwiper", {
268
+        slidesPerView: 2
269
+      });
270
+    }
271
+  },
272
+  mounted() {
273
+    this.initSwiper();
274
+  }
275
+};
276
+</script>
277
+
278
+<style lang="scss" scoped>
279
+@import "../../assets/styles/mixin.scss";
280
+.page_home {
281
+  display: flex;
282
+  flex-direction: column;
283
+  height: 100%;
284
+  > div:first-child {
285
+    flex: 1;
286
+    overflow: auto;
287
+  }
288
+  > div:first-child::-webkit-scrollbar {
289
+    width: 0;
290
+  }
291
+}
292
+.banner {
293
+  height: 151px;
294
+}
295
+.swiper-container {
296
+  height: 100%;
297
+}
298
+.swiper-wrapper {
299
+  margin: 0 auto;
300
+  width: 100%;
301
+  height: 100%;
302
+  //   width: 334px;
303
+}
304
+.img {
305
+  //   width: 334px;
306
+  width: 100%;
307
+  height: 100%;
308
+}
309
+.btnList {
310
+  display: flex;
311
+  justify-content: space-around;
312
+  align-items: center;
313
+  flex-wrap: wrap;
314
+  width: 100%;
315
+  //   height: 180px;
316
+  margin-top: 20px;
317
+}
318
+.btnOne {
319
+  display: block;
320
+  width: 25%;
321
+  text-align: center;
322
+  height: 80px;
323
+  img {
324
+    margin-bottom: 5px;
325
+    text-align: center;
326
+    width: 45px;
327
+    height: 45px;
328
+    background: linear-gradient(
329
+      0deg,
330
+      rgba(255, 201, 115, 1),
331
+      rgba(254, 207, 57, 1)
332
+    );
333
+    box-shadow: 0px 3px 12px 0px rgba(254, 206, 64, 0.25);
334
+    border-radius: 50%;
335
+  }
336
+  .title {
337
+    width: 100%;
338
+    height: 18px;
339
+    line-height: 18px;
340
+    font-size: 14px;
341
+    text-align: center;
342
+  }
343
+}
344
+.dynamic {
345
+  margin-top: 49px;
346
+}
347
+.common_title {
348
+  width: 335px;
349
+  height: 18px;
350
+  margin: 0 auto;
351
+}
352
+.dynamicTxt {
353
+  float: left;
354
+  width: 72px;
355
+  height: 18px;
356
+  line-height: 18px;
357
+  font-size: 18px;
358
+  font-weight: 600;
359
+  color: rgba(7, 18, 40, 1);
360
+}
361
+.one {
362
+  margin-top: 2px;
363
+  margin-right: 6px;
364
+  float: left;
365
+  width: 2px;
366
+  height: 14px;
367
+  background: linear-gradient(
368
+    0deg,
369
+    rgba(114, 182, 253, 1),
370
+    rgba(52, 119, 254, 1)
371
+  );
372
+  box-shadow: 0px 3px 12px 0px rgba(60, 127, 254, 0.2);
373
+  border-radius: 3px;
374
+}
375
+.more {
376
+  float: right;
377
+  p {
378
+    color: #b6bac1;
379
+    height: 18px;
380
+    line-height: 18px;
381
+  }
382
+}
383
+.contentOne {
384
+  margin: auto;
385
+  margin-top: 18px;
386
+  width: 334px;
387
+  height: 119px;
388
+  background: rgba(255, 255, 255, 1);
389
+  box-shadow: 0px 6px 20px 0px rgba(0, 0, 0, 0.05);
390
+  border-radius: 16px;
391
+  padding-left: 16px;
392
+  padding-top: 18px;
393
+  box-sizing: border-box;
394
+  .img {
395
+    float: left;
396
+    width: 80px;
397
+    height: 80px;
398
+    border-radius: 12px;
399
+  }
400
+  .detail {
401
+    float: left;
402
+    margin-left: 13px;
403
+    width: 210px;
404
+    .detailTitle {
405
+      margin-top: 8px;
406
+      width: 203px;
407
+      height: 17px;
408
+      font-size: 15px;
409
+      font-weight: 600;
410
+      color: rgba(7, 18, 40, 1);
411
+    }
412
+    .detailMessage {
413
+      margin-top: 4px;
414
+      width: 212px;
415
+      height: 58px;
416
+      font-size: 13px;
417
+      font-weight: 400;
418
+      color: rgba(155, 155, 155, 1);
419
+      line-height: 18px;
420
+    }
421
+  }
422
+}
423
+.common {
424
+  margin-top: 30px;
425
+  .commonBox {
426
+    margin: auto;
427
+    margin-top: 20px;
428
+    width: 334px;
429
+    height: 325px;
430
+    background: rgba(255, 255, 255, 1);
431
+    box-shadow: 0px 6px 20px 0px rgba(0, 0, 0, 0.05);
432
+    border-radius: 16px;
433
+    padding: 18px 21px 21px 21px;
434
+  }
435
+  .commonImg {
436
+    width: 295px;
437
+    height: 169px;
438
+    border-radius: 10px;
439
+  }
440
+  .commonMessage {
441
+    margin-top: 22px;
442
+    width: 284px;
443
+    height: 81px;
444
+    font-size: 14px;
445
+    color: rgba(60, 60, 60, 1);
446
+    line-height: 22px;
447
+  }
448
+}
449
+.imgs {
450
+  margin-top: 30px;
451
+  overflow-x: hidden;
452
+  img {
453
+    width: 172px;
454
+    height: 125px;
455
+    border-radius: 10px;
456
+  }
457
+  .carousel {
458
+    width: 100%;
459
+    height: 100%;
460
+    float: left;
461
+    padding-left: 20px;
462
+  }
463
+}
464
+.detailBox {
465
+  margin-top: 10px;
466
+  .activityTime {
467
+    float: left;
468
+    width: 118px;
469
+    height: 35px;
470
+    font-size: 13px;
471
+    color: rgba(155, 155, 155, 1);
472
+    line-height: 24px;
473
+  }
474
+  .people {
475
+    margin-top: 16px;
476
+    float: left;
477
+    width: 86px;
478
+    height: 30px;
479
+    background: rgba(57, 124, 254, 0.1);
480
+    border-radius: 30px;
481
+    p {
482
+      margin: auto;
483
+      text-align: center;
484
+      width: 70px;
485
+      height: 12px;
486
+      font-size: 12px;
487
+      color: rgba(57, 124, 254, 1);
488
+      line-height: 30px;
489
+    }
490
+  }
491
+}
492
+.bottom {
493
+  margin-bottom: 20px;
494
+}
495
+.tabs {
496
+  @include border-top;
497
+  width: 100%;
498
+  height: 50px;
499
+  box-sizing: border-box;
500
+}
501
+.tabList {
502
+  display: flex;
503
+  justify-content: space-around;
504
+  height: 100%;
505
+  .tabOne {
506
+    display: flex;
507
+    flex-direction: column;
508
+    justify-content: center;
509
+    align-items: center;
510
+
511
+    img {
512
+      margin-top: 8px;
513
+      width: 20px;
514
+      height: 20px;
515
+      background: linear-gradient(
516
+        0deg,
517
+        rgba(114, 182, 253, 1),
518
+        rgba(52, 119, 254, 1)
519
+      );
520
+    }
521
+    span {
522
+      font-size: 12px;
523
+      color: rgba(182, 186, 193, 1);
524
+      line-height: 21px;
525
+    }
526
+  }
527
+}
528
+</style>

+ 104 - 0
src/scrm_pages/news/news.vue ファイルの表示

@@ -0,0 +1,104 @@
1
+<template>
2
+  <div>
3
+    <div class="content">
4
+      <div class="contentOne">
5
+        <div class="img">
6
+          <img src="static\images\img1.jpg" alt />
7
+        </div>
8
+        <div class="detail">
9
+          <p class="detailTitle">山东潍坊,高考还剩最一门...</p>
10
+          <p class="detailMessage">高三学生周某出生在潍坊市固堤镇一个普通的农村家庭,她的父母一直希望成绩优异的女儿能考上一所好...</p>
11
+        </div>
12
+      </div>
13
+      <div class="contentOne">
14
+        <div class="img">
15
+          <img src="static\images\img1.jpg" alt />
16
+        </div>
17
+        <div class="detail">
18
+          <p class="detailTitle">山东潍坊,高考还剩最一门...</p>
19
+          <p class="detailMessage">高三学生周某出生在潍坊市固堤镇一个普通的农村家庭,她的父母一直希望成绩优异的女儿能考上一所好...</p>
20
+        </div>
21
+      </div>
22
+      <div class="contentOne">
23
+        <div class="img">
24
+          <img src="static\images\img1.jpg" alt />
25
+        </div>
26
+        <div class="detail">
27
+          <p class="detailTitle">山东潍坊,高考还剩最一门...</p>
28
+          <p class="detailMessage">高三学生周某出生在潍坊市固堤镇一个普通的农村家庭,她的父母一直希望成绩优异的女儿能考上一所好...</p>
29
+        </div>
30
+      </div>
31
+      <div class="contentOne">
32
+        <div class="img">
33
+          <img src="static\images\img1.jpg" alt />
34
+        </div>
35
+        <div class="detail">
36
+          <p class="detailTitle">山东潍坊,高考还剩最一门...</p>
37
+          <p class="detailMessage">高三学生周某出生在潍坊市固堤镇一个普通的农村家庭,她的父母一直希望成绩优异的女儿能考上一所好...</p>
38
+        </div>
39
+      </div>
40
+      <div class="contentOne">
41
+        <div class="img">
42
+          <img src="static\images\img1.jpg" alt />
43
+        </div>
44
+        <div class="detail">
45
+          <p class="detailTitle">山东潍坊,高考还剩最一门...</p>
46
+          <p class="detailMessage">高三学生周某出生在潍坊市固堤镇一个普通的农村家庭,她的父母一直希望成绩优异的女儿能考上一所好...</p>
47
+        </div>
48
+      </div>
49
+      <div class="contentOne">
50
+        <div class="img">
51
+          <img src="static\images\img1.jpg" alt />
52
+        </div>
53
+        <div class="detail">
54
+          <p class="detailTitle">山东潍坊,高考还剩最一门...</p>
55
+          <p class="detailMessage">高三学生周某出生在潍坊市固堤镇一个普通的农村家庭,她的父母一直希望成绩优异的女儿能考上一所好...</p>
56
+        </div>
57
+      </div>
58
+    </div>
59
+  </div>
60
+</template>
61
+
62
+
63
+<style lang="scss" scoped>
64
+.contentOne {
65
+  margin: auto;
66
+  margin-top: 18px;
67
+  width: 334px;
68
+  height: 119px;
69
+  background: rgba(255, 255, 255, 1);
70
+  box-shadow: 0px 6px 20px 0px rgba(0, 0, 0, 0.05);
71
+  border-radius: 16px;
72
+  padding-left: 16px;
73
+  padding-top: 18px;
74
+  box-sizing: border-box;
75
+  .img {
76
+    float: left;
77
+    width: 80px;
78
+    height: 80px;
79
+    border-radius: 12px;
80
+  }
81
+  .detail {
82
+    float: left;
83
+    margin-left: 13px;
84
+    width: 210px;
85
+    .detailTitle {
86
+      margin-top: 8px;
87
+      width: 203px;
88
+      height: 17px;
89
+      font-size: 15px;
90
+      font-weight: 600;
91
+      color: rgba(7, 18, 40, 1);
92
+    }
93
+    .detailMessage {
94
+      margin-top: 4px;
95
+      width: 212px;
96
+      height: 58px;
97
+      font-size: 13px;
98
+      font-weight: 400;
99
+      color: rgba(155, 155, 155, 1);
100
+      line-height: 18px;
101
+    }
102
+  }
103
+}
104
+</style>

BIN
static/images/banner.jpg ファイルの表示


BIN
static/images/home.jpg ファイルの表示


BIN
static/images/icon1.jpg ファイルの表示


BIN
static/images/img1.jpg ファイルの表示


BIN
static/images/img2.png ファイルの表示


BIN
static/images/img3.jpg ファイルの表示


BIN
static/images/msg.jpg ファイルの表示


BIN
static/images/service.jpg ファイルの表示


BIN
static/images/tel.jpg ファイルの表示