Browse Source

feat: 首页&&测肤记录

lihai 2 years ago
parent
commit
a1c3fa3ab1

+ 14 - 0
.gitignore

@@ -0,0 +1,14 @@
1
+# Windows
2
+[Dd]esktop.ini
3
+Thumbs.db
4
+$RECYCLE.BIN/
5
+
6
+# macOS
7
+.DS_Store
8
+.fseventsd
9
+.Spotlight-V100
10
+.TemporaryItems
11
+.Trashes
12
+
13
+# Node.js
14
+/node_modules

File diff suppressed because it is too large
+ 1942 - 809
package-lock.json


+ 1 - 1
package.json

@@ -11,7 +11,7 @@
11 11
     "test2": "vue-cli-service test:unit"
12 12
   },
13 13
   "dependencies": {
14
-    "axios": "^0.18.0",
14
+    "axios": "^0.27.2",
15 15
     "crypto-js": "^3.1.9-1",
16 16
     "element-ui": "^2.8.2",
17 17
     "vue": "^2.6.6",

+ 25 - 25
src/common/auth.js

@@ -1,32 +1,32 @@
1
-import {logFlag, logPath} from '@/config/env'
1
+import { logFlag, logPath } from '@/config/env'
2 2
 let isFirst = false;
3 3
 export default (router, hasLogin) => {
4
-    router.beforeEach((to, from, next)=>{
5
-        if (to.meta.title) {
6
-            document.title = to.meta.title;
7
-        }
8
-        isFirst = globalVue ? false : true;
9
-        if(to.meta.auth && !hasLogin){ //需要登录而未登录
10
-            let backUrl = _getTargetUrl(to, from);
11
-            tool.toLogin(backUrl);//如果不加backUrl则登录回调会跳转到前一个页面
12
-        } else{
13
-            next()
14
-        }
15
-    })
4
+  router.beforeEach((to, from, next) => {
5
+    if (to.meta.title) {
6
+      document.title = to.meta.title;
7
+    }
8
+    isFirst = globalVue ? false : true;
9
+    if (to.meta.auth && !hasLogin) { //需要登录而未登录
10
+      let backUrl = _getTargetUrl(to, from);
11
+      tool.toLogin(backUrl);//如果不加backUrl则登录回调会跳转到前一个页面
12
+    } else {
13
+      next()
14
+    }
15
+  })
16 16
 }
17 17
 
18
-function _getTargetUrl(to, from){
19
-    let backUrl = location.href.split("?")[0];
20
-    if(!isFirst){ //只有非首次进入才做处理
21
-        if(from.path === '/' && to.path != '/'){ //首页到其它页
22
-            backUrl += to.path.slice(1);
23
-        } else{ //其它页互相跳(包括跳到首页)
24
-            backUrl = backUrl.replace(from.path, to.path);
25
-        }
18
+function _getTargetUrl (to, from) {
19
+  let backUrl = location.href.split("?")[0];
20
+  if (!isFirst) { //只有非首次进入才做处理
21
+    if (from.path === '/' && to.path != '/') { //首页到其它页
22
+      backUrl += to.path.slice(1);
23
+    } else { //其它页互相跳(包括跳到首页)
24
+      backUrl = backUrl.replace(from.path, to.path);
26 25
     }
26
+  }
27 27
 
28
-    if(location.search){
29
-        backUrl += location.search;
30
-    }
31
-    return backUrl;
28
+  if (location.search) {
29
+    backUrl += location.search;
30
+  }
31
+  return backUrl;
32 32
 }

+ 6 - 4
src/common/index.js

@@ -1,10 +1,12 @@
1 1
 // 全局注入 
2
-import {injectTool} from './tool'
2
+import { injectTool } from './tool'
3 3
 import injectHttp from './http'
4 4
 import errorLog from './errorHandler.js'
5
+import utils from './utils'
5 6
 
6 7
 export const injectGlobal = () => {
7
-	injectTool();
8
-	injectHttp();
9
-	errorLog();
8
+  injectTool();
9
+  injectHttp();
10
+  utils()
11
+  // errorLog();
10 12
 }

+ 12 - 0
src/common/utils.js

@@ -0,0 +1,12 @@
1
+// 自定义全局方法封装
2
+const utils = {
3
+  test: function () { },
4
+  isBack: false
5
+
6
+}
7
+
8
+export default () => {
9
+  if (typeof window.utils == 'undefined') {
10
+    window.utils = utils
11
+  }
12
+}

+ 36 - 19
src/components/common/layout/layout.vue

@@ -1,11 +1,17 @@
1 1
 <template>
2 2
   <div class="layout">
3 3
     <div class="menu-wrapper">
4
-      <left-menu :isCollapse='isFold' @changeMenu="changeMenu"></left-menu>
4
+      <left-menu :isCollapse='isFold'
5
+                 @changeMenu="changeMenu"></left-menu>
5 6
     </div>
6 7
     <div class="content">
7 8
       <header :style="menuIndex==0?'justify-content: space-between;':''">
8
-        <div class="left" v-if="menuIndex==0">
9
+        <div class="back-icon"
10
+             v-if="isback"
11
+             @click="goBack"><img src="https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/icon/slices/back.png"
12
+               alt=""></div>
13
+        <div class="left"
14
+             v-if="menuIndex==0">
9 15
           <div class="address">JOLIJOLI(西安)</div>
10 16
         </div>
11 17
         <div class="right">
@@ -23,24 +29,25 @@
23 29
 <script type="text/javascript">
24 30
 import leftMenu from './leftMenu'
25 31
 import api from '@/server/home'
26
-import {mapState} from 'vuex'
32
+import { mapState } from 'vuex'
27 33
 
28 34
 export default {
29
-  data() {
35
+  data () {
30 36
     return {
31 37
       isFold: false,    //导航菜单面板是否折叠
32 38
       userId: 0,
33
-      menuIndex:0,
39
+      menuIndex: 0,
40
+      isback: false
34 41
     }
35 42
   },
36
-  created() {
43
+  created () {
37 44
     this.initData();
38 45
   },
39 46
   components: {
40 47
     leftMenu,
41 48
   },
42 49
   methods: {
43
-    initData() {
50
+    initData () {
44 51
       let sskey = tool.getYdUserKey("session_key");
45 52
       let userId = tool.getYdUserKey('user_id');
46 53
       let enterprise_id = tool.getYdUserKey('enterprise_id');
@@ -49,9 +56,9 @@ export default {
49 56
         return;
50 57
       }
51 58
       this.userId = userId;
52
-      this.$router.replace('/home');
59
+      // this.$router.replace('/home');
53 60
     },
54
-    loginOut() {
61
+    loginOut () {
55 62
       let keys = document.cookie.match(/[^ =;]+(?=\=)/g);
56 63
       if (keys) {
57 64
         for (let i = keys.length; i--;)
@@ -59,13 +66,16 @@ export default {
59 66
       }
60 67
       tool.toLogin();
61 68
     },
62
-    changeMenu(index){
69
+    changeMenu (index) {
63 70
       this.menuIndex = index
71
+    },
72
+    goBack () {
73
+      this.$router.back()
64 74
     }
65 75
   },
66 76
   computed: {
67 77
     ...mapState(['user']),
68
-    routerItems() {
78
+    routerItems () {
69 79
       let resultArr = [];
70 80
       let routeNow = this.$route;
71 81
       let RootName = routeNow.matched[0].name; //当前路由的根路由name
@@ -100,13 +110,13 @@ export default {
100 110
   height: 100%;
101 111
   text-align: center;
102 112
   overflow: auto;
103
-  background-color: #FA7D22;
113
+  background-color: #fa7d22;
104 114
 
105 115
   .el-menu {
106
-    background-color: #FA7D22;
116
+    background-color: #fa7d22;
107 117
 
108 118
     .el-menu-item {
109
-      color: #eee
119
+      color: #eee;
110 120
     }
111 121
   }
112 122
 }
@@ -119,7 +129,7 @@ export default {
119 129
   header {
120 130
     line-height: 50px;
121 131
     font-size: 16px;
122
-    color: #409EFF;
132
+    color: #409eff;
123 133
     padding: 0 28px 0 13px;
124 134
     border-bottom: 1px solid #e5e5e5;
125 135
     height: 60px;
@@ -128,7 +138,14 @@ export default {
128 138
     justify-content: right;
129 139
 
130 140
     position: relative;
131
-    .left{
141
+    .back-icon {
142
+      position: absolute;
143
+      left: 19px;
144
+      img {
145
+        width: 16px;
146
+      }
147
+    }
148
+    .left {
132 149
       font-size: 14px;
133 150
       font-family: SourceHanSansCN-Regular, SourceHanSansCN;
134 151
       font-weight: 400;
@@ -148,12 +165,12 @@ export default {
148 165
           display: block;
149 166
         }
150 167
       }
151
-      .head-img{
168
+      .head-img {
152 169
         margin-left: 19px;
153 170
         width: 28px;
154 171
         height: 28px;
155 172
         border-radius: 50%;
156
-        img{
173
+        img {
157 174
           width: 100%;
158 175
           display: block;
159 176
         }
@@ -166,7 +183,7 @@ export default {
166 183
     width: 100%;
167 184
     overflow: auto;
168 185
     padding: 20px;
169
-    background-color: #F7F8FA;
186
+    background-color: #f7f8fa;
170 187
   }
171 188
 }
172 189
 </style>

+ 28 - 16
src/components/common/layout/leftMenu.vue

@@ -7,9 +7,11 @@
7 7
            style="width: 115px;"
8 8
            router>
9 9
     <div class="logo">
10
-      <img src="https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/home/logo.png" alt="">
10
+      <img src="https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/home/logo.png"
11
+           alt="">
11 12
     </div>
12
-    <div v-for="(item,index1) in menu" :key="index1">
13
+    <div v-for="(item,index1) in menu"
14
+         :key="index1">
13 15
       <!--      <el-submenu :index="index1+'a'" v-if="item.children && item.children.length > 0">-->
14 16
       <!--        <template slot="title">-->
15 17
       <!--          <i :class="item.icon"></i>-->
@@ -22,7 +24,10 @@
22 24
       <!--          </el-menu-item>-->
23 25
       <!--        </div>-->
24 26
       <!--      </el-submenu>-->
25
-      <div class="el-menu-item" @click="handleSelect(index1,item)" :index="item.path" :class="index1==nowIndex?'active':''"
27
+      <div class="el-menu-item"
28
+           @click="handleSelect(index1,item)"
29
+           :index="item.path"
30
+           :class="index1==nowIndex?'active':''"
26 31
            :style="index1+1==nowIndex?'padding-bottom:0px':index1-1==nowIndex?'padding-top:0px':''">
27 32
         <img :src="index1==nowIndex?item.icon:item.unicon"><span slot="title">{{ item.name }}</span>
28 33
       </div>
@@ -34,7 +39,7 @@
34 39
 // import memberLogic from '@/server/memberLogic.js'
35 40
 export default {
36 41
   props: ['isCollapse'],
37
-  data() {
42
+  data () {
38 43
     return {
39 44
       menu: [
40 45
         {
@@ -62,11 +67,11 @@ export default {
62 67
           name: "历史订单",
63 68
           path: "/historicalOrder",
64 69
           unicon: 'https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/icon/slices/unhistory.png',
65
-          icon:'https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/icon/slices/history.png',
70
+          icon: 'https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/icon/slices/history.png',
66 71
         }, {
67 72
           name: "确定订单",
68 73
           path: "/confirmOrder",
69
-          unicon:'https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/icon/slices/unconfirmOrder.png',
74
+          unicon: 'https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/icon/slices/unconfirmOrder.png',
70 75
           icon: 'https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/icon/slices/confirmOrder.png'
71 76
         }, {
72 77
           name: "门店检测",
@@ -78,16 +83,23 @@ export default {
78 83
       nowIndex: 0
79 84
     }
80 85
   },
81
-  mounted() {
82
-
86
+  mounted () {
87
+    let patname = `/${window.location.pathname.split('/')[1]}`
88
+    console.log(patname, 'patname');
89
+    this.menu.forEach((item, index) => {
90
+      if (patname == item.path) {
91
+        this.nowIndex = index
92
+        this.$emit('changeMenu', index)
93
+      }
94
+    })
83 95
   },
84 96
   methods: {
85
-    handleSelect(index,item) {
97
+    handleSelect (index, item) {
86 98
       this.nowIndex = index
87 99
       this.$router.push({
88
-        path:item.path
100
+        path: item.path
89 101
       })
90
-      this.$emit('changeMenu',index)
102
+      this.$emit('changeMenu', index)
91 103
     }
92 104
   }
93 105
 }
@@ -101,16 +113,16 @@ export default {
101 113
   img {
102 114
     width: 60px;
103 115
     height: 60px;
104
-
105 116
   }
106 117
 }
107 118
 
108 119
 .active {
109 120
   line-height: 46px !important;
110
-  background: url("https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/home/select_icon.png") no-repeat;
121
+  background: url("https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/home/select_icon.png")
122
+    no-repeat;
111 123
   background-size: 100% 100%;
112
-  background-color: #FA7D22 !important;
113
-  color: #FA7D22 !important;
124
+  background-color: #fa7d22 !important;
125
+  color: #fa7d22 !important;
114 126
 }
115 127
 
116 128
 .el-menu-item {
@@ -121,7 +133,7 @@ export default {
121 133
   line-height: initial;
122 134
   padding: 13px 0;
123 135
   cursor: none;
124
-  color: #FFFFFF;
136
+  color: #ffffff;
125 137
 
126 138
   img {
127 139
     width: 20px;

+ 10 - 10
src/main.js

@@ -4,7 +4,7 @@ import router from './router/index'
4 4
 import store from './store/index'
5 5
 import login from './common/login'
6 6
 import auth from './common/auth'
7
-import {injectGlobal} from './common/'
7
+import { injectGlobal } from './common/'
8 8
 import ElementUI from 'element-ui'
9 9
 import 'element-ui/lib/theme-chalk/index.css'
10 10
 import './style/reset.less'
@@ -18,13 +18,13 @@ Vue.use(ElementUI)
18 18
 
19 19
 window.globalVue = "";
20 20
 // login((hasLogin)=>{
21
-	auth(router);
22
-	Vue.config.productionTip = false
23
-	const globalVue = new Vue({
24
-		router,
25
-		store,
26
-		render: h => h(App)
27
-	}).$mount('#app')
28
-	window.globalVue = globalVue;
29
-	window.ydStorage && ydStorage.postItem();
21
+auth(router);
22
+Vue.config.productionTip = false
23
+const globalVue = new Vue({
24
+  router,
25
+  store,
26
+  render: h => h(App)
27
+}).$mount('#app')
28
+window.globalVue = globalVue;
29
+window.ydStorage && ydStorage.postItem();
30 30
 // });

+ 382 - 7
src/pages/testSkin/details/index.vue

@@ -1,25 +1,169 @@
1 1
 <template>
2 2
   <div class="mine">
3
-    <div class=""></div>
3
+    <div class="left">
4
+      <div class="user-info">
5
+        <div class="user-img"><img :src="userInfo.image"
6
+               alt=""></div>
7
+        <div class="user-span">
8
+          <div class="name">昵称:<span>{{userInfo.name}}</span></div>
9
+          <div class="sex">性别:<span>{{userInfo.sex}}</span></div>
10
+          <div class="age">肤龄:<span>{{userInfo.age}}</span></div>
11
+          <div class="skin-type">肤质:<span>{{userInfo.skinType}}</span></div>
12
+        </div>
13
+      </div>
14
+      <div class="user-record">
15
+        <div class="fraction">
16
+          <div class="title">肌肤得分</div>
17
+          <div class="num">37分</div>
18
+        </div>
19
+        <div class="status">
20
+          <div class="title">皮肤状态</div>
21
+          <div class="tips">肤质一般</div>
22
+        </div>
23
+        <div class="times">
24
+          <div class="title">上传检测时间</div>
25
+          <div class="ts">2022.04.18 16:04</div>
26
+        </div>
27
+      </div>
28
+      <div class="summary">
29
+        <div class="left-title">皮肤总结</div>
30
+        <div class="summary-list">
31
+          <div class="summary-info">
32
+            <div class="result">
33
+              <div class="result-left">
34
+                <div class="title">RGB毛孔:</div>
35
+                <div class="tips">粗大毛孔个数144</div>
36
+              </div>
37
+              <div class="right">
38
+                <span>粗大毛孔个数:144个</span><br>
39
+                <span>中等毛孔个数:409个</span><br>
40
+                <span>细小毛孔个数:299个</span>
41
+              </div>
42
+            </div>
43
+            <div class="bottom-tips">
44
+              <span>皮肤状态一般,污物阻塞导致,油脂分泌旺盛,皮肤状态一般,污物阻塞导致,油脂分泌旺盛</span>
45
+            </div>
46
+          </div>
47
+        </div>
48
+      </div>
49
+    </div>
50
+    <div class="right">
51
+      <div class="lable">
52
+        <div class="lable-title">
53
+          面诊标签
54
+        </div>
55
+        <div class="lable-list">
56
+          <div v-for="(item,index) in lableList"
57
+               :key="index"
58
+               :class="['lable-info', item.disabled?'active':'']">
59
+            {{item.text}}
60
+          </div>
61
+          <div class="add-lable">
62
+            +
63
+          </div>
64
+        </div>
65
+        <div class="lable-title">
66
+          备注
67
+        </div>
68
+        <div class="remarks">
69
+          <el-input type="textarea"
70
+                    autosize
71
+                    resize="none"
72
+                    placeholder="多行输入"
73
+                    v-model="remarks">
74
+          </el-input>
75
+        </div>
76
+      </div>
77
+      <div class="programme">
78
+        <div class="tab">
79
+          <div class="tab-title">执行方案</div>
80
+          <div class="add">新增</div>
81
+        </div>
82
+        <div class="programme-list">
83
+          <div class="programme-info">
84
+            <div class="programme-left"></div>
85
+            <div class="programme-right"></div>
86
+          </div>
87
+        </div>
88
+      </div>
89
+    </div>
4 90
   </div>
5 91
 </template>
6 92
 
7 93
 <script>
94
+import { mapActions } from 'vuex'
8 95
 export default {
9 96
   components: {},
10
-  data() {
11
-    return {};
97
+  data () {
98
+    return {
99
+      userInfo: {
100
+        image: "https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/home/make.png",
101
+        name: '张三',
102
+        sex: '女',
103
+        age: '23',
104
+        skinType: '中性皮肤'
105
+      },
106
+      lableList: [
107
+        {
108
+          text: '对话框的',
109
+          disabled: false
110
+        },
111
+        {
112
+          text: '对话框的',
113
+          disabled: true
114
+        },
115
+        {
116
+          text: '对话框的',
117
+          disabled: false
118
+        },
119
+        {
120
+          text: '对话框的',
121
+          disabled: false
122
+        },
123
+        {
124
+          text: '对话框的',
125
+          disabled: false
126
+        },
127
+        {
128
+          text: '对话框的',
129
+          disabled: false
130
+        },
131
+        {
132
+          text: '对话框的',
133
+          disabled: false
134
+        },
135
+        {
136
+          text: '对话框的',
137
+          disabled: false
138
+        },
139
+        {
140
+          text: '对话框的',
141
+          disabled: false
142
+        },
143
+        {
144
+          text: '对话框的',
145
+          disabled: false
146
+        },
147
+      ],
148
+      remarks: '',
149
+
150
+    };
151
+  },
152
+  computed: {
153
+
12 154
   },
13
-  computed: {},
14 155
   watch: {},
15 156
 
16
-  methods: {},
157
+  methods: {
158
+  },
159
+
160
+  created () {
161
+
17 162
 
18
-  created() {
19 163
 
20 164
   },
21 165
 
22
-  mounted() {
166
+  mounted () {
23 167
 
24 168
   },
25 169
 }
@@ -27,5 +171,236 @@ export default {
27 171
 </script>
28 172
 
29 173
 <style lang='less' scoped>
174
+.mine {
175
+  height: 100%;
176
+  display: flex;
177
+  .left {
178
+    width: 318px;
179
+    padding: 12px 12px 0 12px;
180
+    background: #ffffff;
181
+    box-shadow: 0px 2px 4px 0px rgba(184, 191, 198, 0.2);
182
+    border-radius: 8px;
183
+    font-size: 13px;
184
+    font-family: PingFangSC-Regular, PingFang SC;
185
+    font-weight: 400;
186
+    color: #999999;
187
+    line-height: 18px;
188
+    height: 100%;
189
+    .user-info {
190
+      display: flex;
191
+      align-items: center;
192
+      .user-img {
193
+        width: 96px;
194
+        img {
195
+          width: 100%;
196
+          display: block;
197
+        }
198
+      }
199
+      .user-span {
200
+        margin-left: 12px;
30 201
 
202
+        span {
203
+          color: #333333;
204
+        }
205
+      }
206
+    }
207
+    .user-record {
208
+      margin-top: 16px;
209
+      display: flex;
210
+      justify-content: space-between;
211
+      .num {
212
+        font-size: 18px;
213
+        font-family: OPPOSans-B, OPPOSans;
214
+        font-weight: normal;
215
+        color: #333333;
216
+        line-height: 29px;
217
+      }
218
+      .tips {
219
+        font-size: 13px;
220
+        font-family: PingFangSC-Regular, PingFang SC;
221
+        font-weight: 400;
222
+        color: #333333;
223
+        line-height: 30px;
224
+      }
225
+      .ts {
226
+        font-size: 13px;
227
+        font-family: PingFangSC-Regular, PingFang SC;
228
+        font-weight: 400;
229
+        color: #333333;
230
+        line-height: 30px;
231
+      }
232
+    }
233
+    .summary {
234
+      .left-title {
235
+        margin-top: 10px;
236
+        font-size: 14px;
237
+        font-family: PingFangSC-Medium, PingFang SC;
238
+        font-weight: 500;
239
+        color: #333333;
240
+        line-height: 20px;
241
+      }
242
+      .summary-list {
243
+        margin-top: 10px;
244
+        height: 280px;
245
+        overflow: scroll;
246
+        .summary-info {
247
+          border-radius: 4px;
248
+          margin-bottom: 20px;
249
+          border: 1px solid #f5f5f5;
250
+          .result {
251
+            padding: 10px;
252
+            display: flex;
253
+            justify-content: space-between;
254
+            align-content: center;
255
+            .result-left {
256
+              font-family: PingFangSC-Regular, PingFang SC;
257
+              font-weight: 400;
258
+              .title {
259
+                font-size: 14px;
260
+
261
+                color: #666666;
262
+                line-height: 20px;
263
+              }
264
+              .tips {
265
+                font-size: 18px;
266
+                color: #fa7d22;
267
+                line-height: 25px;
268
+              }
269
+            }
270
+            .right {
271
+              font-size: 12px;
272
+              transform: scale(0.83);
273
+              font-family: PingFangSC-Regular, PingFang SC;
274
+              font-weight: 400;
275
+              color: #666666;
276
+              line-height: 16px;
277
+            }
278
+          }
279
+          .bottom-tips {
280
+            padding: 6px 10px;
281
+            font-size: 10px;
282
+            font-family: PingFang-SC-Regular, PingFang-SC;
283
+            font-weight: 400;
284
+            color: #333333;
285
+            line-height: 14px;
286
+            background: #f5f5f5;
287
+            border-radius: 4px;
288
+            span {
289
+              display: block;
290
+              zoom: 0.83;
291
+            }
292
+          }
293
+        }
294
+      }
295
+    }
296
+  }
297
+  .right {
298
+    margin-left: 18px;
299
+    flex: 1;
300
+    .lable {
301
+      width: 100%;
302
+      height: 230px;
303
+      overflow: scroll;
304
+      padding: 12px;
305
+      background: #ffffff;
306
+      box-shadow: 0px 2px 4px 0px rgba(184, 191, 198, 0.2);
307
+      border-radius: 8px;
308
+      .lable-title {
309
+        font-size: 14px;
310
+        font-family: PingFangSC-Medium, PingFang SC;
311
+        font-weight: 500;
312
+        color: #333333;
313
+        line-height: 20px;
314
+        margin-bottom: 14px;
315
+      }
316
+      .lable-list {
317
+        width: 100%;
318
+        min-height: 105rpx;
319
+        .lable-info {
320
+          display: inline-block;
321
+          padding: 0 12px;
322
+          margin-left: 10px;
323
+          height: 24px;
324
+          line-height: 24px;
325
+          border-radius: 2px;
326
+          border: 1px solid #d6d6d6;
327
+          margin-bottom: 10px;
328
+        }
329
+        .add-lable {
330
+          display: inline-block;
331
+          width: 27px;
332
+          height: 24px;
333
+          line-height: 24px;
334
+          font-size: 12px;
335
+          font-family: PingFang-SC-Regular, PingFang-SC;
336
+          font-weight: 400;
337
+          color: #333333;
338
+          text-align: center;
339
+          margin-left: 10px;
340
+          border-radius: 2px;
341
+          border: 1px solid #d6d6d6;
342
+        }
343
+        .active {
344
+          background: url(https://we-spa.oss-cn-shenzhen.aliyuncs.com/pad_clerk/icon/slices/%E9%80%89%E4%B8%AD2%402x.png)
345
+            no-repeat;
346
+          background-size: 100% 100%;
347
+          border: 0px solid #d6d6d6;
348
+        }
349
+      }
350
+      .remarks {
351
+        /deep/ .el-textarea__inner:focus {
352
+          border-color: #fa852f;
353
+        }
354
+      }
355
+    }
356
+    .programme {
357
+      margin-top: 18px;
358
+      width: 100%;
359
+      height: 208px;
360
+      background: #ffffff;
361
+      box-shadow: 0px 2px 4px 0px rgba(184, 191, 198, 0.2);
362
+      border-radius: 8px;
363
+      .tab {
364
+        display: flex;
365
+        align-items: center;
366
+        justify-content: space-between;
367
+        padding: 14px 12px 0 12px;
368
+        .tab-title {
369
+          font-size: 14px;
370
+          font-family: PingFangSC-Medium, PingFang SC;
371
+          font-weight: 500;
372
+          color: #333333;
373
+          line-height: 20px;
374
+        }
375
+        .add {
376
+          width: 60px;
377
+          height: 28px;
378
+          line-height: 28px;
379
+          background: #fa7d22;
380
+          border-radius: 8px;
381
+          font-size: 14px;
382
+          font-family: PingFangSC-Medium, PingFang SC;
383
+          font-weight: 500;
384
+          color: #ffffff;
385
+          text-align: center;
386
+        }
387
+      }
388
+      .programme-list {
389
+        margin-top: 10px;
390
+        .programme-info {
391
+          padding: 8px 10px;
392
+          margin-bottom: 10px;
393
+          display: flex;
394
+          align-items: center;
395
+          .programme-left {
396
+            flex: 1;
397
+          }
398
+          .programme-right {
399
+            flex: 1;
400
+          }
401
+        }
402
+      }
403
+    }
404
+  }
405
+}
31 406
 </style>

+ 14 - 14
src/router/map/home.js

@@ -1,7 +1,7 @@
1 1
 /**
2 2
  * Created by ZhongquanHe on 2019/04/29.
3 3
  */
4
-import layout from '@/components/common/layout/layout' 
4
+import layout from '@/components/common/layout/layout'
5 5
 import Home from '@/pages/home/index.vue'
6 6
 import TestSkin from '@/pages/testSkin/index'
7 7
 import TestSkinDetails from '@/pages/testSkin/details'
@@ -11,18 +11,18 @@ import ConfirmOrder from '@/pages/confirmOrder/index'
11 11
 import StoreDetection from '@/pages/storeDetection/index'
12 12
 import Coupon from '@/pages/coupon/index'
13 13
 export default {
14
-	path: '/',
15
-	name: '首页',
16
-	component:layout,
17
-	children:[
18
-		{path:'/home', component:Home},
19
-		{path:'/testSkin',component:TestSkin },
20
-		{path:'/testSkin/details',component: TestSkinDetails},
21
-		{path:'/customerMan',component:CustomerMan },
22
-		{path: '/historicalOrder',component: HistoricalOrder},
23
-		{path: '/confirmOrder',component: ConfirmOrder},
24
-		{path: '/storeDetection',component: StoreDetection},
25
-		{path:'/coupon',component: Coupon},
14
+  path: '/',
15
+  name: '首页',
16
+  component: layout,
17
+  children: [
18
+    { path: '/home', component: Home },
19
+    { path: '/testSkin', component: TestSkin },
20
+    { path: '/testSkin/details', component: TestSkinDetails },
21
+    { path: '/customerMan', component: CustomerMan },
22
+    { path: '/historicalOrder', component: HistoricalOrder },
23
+    { path: '/confirmOrder', component: ConfirmOrder },
24
+    { path: '/storeDetection', component: StoreDetection },
25
+    { path: '/coupon', component: Coupon },
26 26
 
27
-    ]
27
+  ]
28 28
 }

+ 12 - 12
src/store/modules/comVal.js

@@ -1,23 +1,23 @@
1 1
 const state = {
2
-    name:666,
3
-    isBack:false
2
+  name: 666
4 3
 }
5 4
 
6 5
 const actions = {
7
-    saveCommonValue({commit},value) {
8
-        commit('SAVE_COMMON_VALUE', value);
9
-	}
6
+  saveCommonValue ({ commit }, value) {
7
+    commit('SAVE_COMMON_VALUE', value);
8
+
9
+  }
10 10
 }
11 11
 
12 12
 const mutations = {
13
-    SAVE_COMMON_VALUE(state, obj) {
14
-        state[obj.key] = obj.value;
15
-        // state.data = data;
16
-    },
13
+  SAVE_COMMON_VALUE (state, obj) {
14
+    state[obj.key] = obj.value;
15
+    // state.data = data;
16
+  }
17 17
 }
18 18
 
19 19
 export default {
20
-    state,
21
-    actions,
22
-    mutations
20
+  state,
21
+  actions,
22
+  mutations
23 23
 }