浏览代码

Merge branch 'dev' of http://git.ycjcjy.com/SpaceOfCheng/admin into dev

ytj 6 年前
父节点
当前提交
83a47af9d2

+ 17
- 2
package-lock.json 查看文件

@@ -2077,8 +2077,7 @@
2077 2077
     "camelcase": {
2078 2078
       "version": "1.2.1",
2079 2079
       "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
2080
-      "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
2081
-      "dev": true
2080
+      "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk="
2082 2081
     },
2083 2082
     "camelcase-keys": {
2084 2083
       "version": "2.1.0",
@@ -14523,6 +14522,14 @@
14523 14522
       "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
14524 14523
       "dev": true
14525 14524
     },
14525
+    "uppercamelcase": {
14526
+      "version": "1.1.0",
14527
+      "resolved": "https://registry.npmjs.org/uppercamelcase/-/uppercamelcase-1.1.0.tgz",
14528
+      "integrity": "sha1-Mk2YprOvx+iolT4QZBUJsOTiP5c=",
14529
+      "requires": {
14530
+        "camelcase": "1.2.1"
14531
+      }
14532
+    },
14526 14533
     "uri-js": {
14527 14534
       "version": "4.2.2",
14528 14535
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
@@ -14688,6 +14695,14 @@
14688 14695
       "resolved": "https://registry.npmjs.org/vue/-/vue-2.5.17.tgz",
14689 14696
       "integrity": "sha512-mFbcWoDIJi0w0Za4emyLiW72Jae0yjANHbCVquMKijcavBGypqlF7zHRgMa5k4sesdv7hv2rB4JPdZfR+TPfhQ=="
14690 14697
     },
14698
+    "vue-amap": {
14699
+      "version": "0.5.8",
14700
+      "resolved": "https://registry.npmjs.org/vue-amap/-/vue-amap-0.5.8.tgz",
14701
+      "integrity": "sha512-VWU6M58jAY4K80QGi+2tYWxvAszd/MQiWkBEYdyu2ptBHAgsNfZz2zxR1mWL32V74Q2bFoZz4yfOycMrQywlUA==",
14702
+      "requires": {
14703
+        "uppercamelcase": "1.1.0"
14704
+      }
14705
+    },
14691 14706
     "vue-cookie": {
14692 14707
       "version": "1.1.4",
14693 14708
       "resolved": "https://registry.npmjs.org/vue-cookie/-/vue-cookie-1.1.4.tgz",

+ 1
- 0
package.json 查看文件

@@ -17,6 +17,7 @@
17 17
     "axios": "^0.18.0",
18 18
     "element-ui": "^2.4.5",
19 19
     "vue": "^2.5.2",
20
+    "vue-amap": "^0.5.8",
20 21
     "vue-cookie": "^1.1.4",
21 22
     "vue-router": "^3.0.1",
22 23
     "vuex": "^3.0.1"

+ 3
- 3
src/components/siderBar/index.vue 查看文件

@@ -39,15 +39,15 @@ export default {
39 39
   },
40 40
   mounted () {
41 41
     this.$nextTick(function () {
42
-      console.log(this.menu)
42
+      // console.log(this.menu)
43 43
     })
44 44
   },
45 45
   methods: {
46 46
     handleOpen (key, keyPath) {
47
-      console.log(key, keyPath)
47
+      // console.log(key, keyPath)
48 48
     },
49 49
     handleClose (key, keyPath) {
50
-      console.log(key, keyPath)
50
+      // console.log(key, keyPath)
51 51
     }
52 52
   }
53 53
 }

+ 9
- 0
src/main.js 查看文件

@@ -4,6 +4,7 @@ import Vue from 'vue'
4 4
 import App from './App'
5 5
 import ElementUI from 'element-ui'
6 6
 import 'element-ui/lib/theme-chalk/index.css'
7
+import VueAMap from 'vue-amap'
7 8
 import Cookies from 'vue-cookie'
8 9
 import './style/main.css'
9 10
 import router from './router'
@@ -13,6 +14,14 @@ import store from './store'
13 14
 
14 15
 Vue.use(ElementUI)
15 16
 Vue.use(Cookies)
17
+Vue.use(VueAMap)
18
+
19
+VueAMap.initAMapApiLoader({
20
+  key: 'f0d1d4f82432504003ebf46e5e36ff03',
21
+  plugin: ['AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor'],
22
+  // 默认高德 sdk 版本为 1.4.4
23
+  v: '1.4.4'
24
+})
16 25
 
17 26
 Vue.config.productionTip = false
18 27
 Vue.prototype.$api = api

+ 152
- 0
src/pages/system/caseManger/caseInfo/addCase/index.vue 查看文件

@@ -0,0 +1,152 @@
1
+<template>
2
+  <div class="subPage">
3
+    <form class="mainForm">
4
+      <ul>
5
+        <li class="flex-h">
6
+          <span>案场名称:</span>
7
+          <div class="flex-item">
8
+            <div style="width:50%">
9
+              <el-input
10
+                placeholder="请输入内容"
11
+                v-model="postData.name"
12
+                clearable>
13
+              </el-input>
14
+            </div>
15
+          </div>
16
+        </li>
17
+        <li class="flex-h">
18
+          <span>案场地址:</span>
19
+          <div class="flex-item">
20
+            <div>
21
+              <el-input
22
+                type="textarea"
23
+                :autosize="{ minRows: 3, maxRows: 5}"
24
+                placeholder="请填写详细地址"
25
+                v-model="postData.address">
26
+              </el-input>
27
+            </div>
28
+          </div>
29
+        </li>
30
+        <li class="flex-h">
31
+          <span>案场头像:</span>
32
+          <div class="flex-item">
33
+            <div>
34
+              <a class="formImg">
35
+                <img src="" class="centerLabel contain" alt="">
36
+                <i class="iconfont icon-quxiao"></i>
37
+              </a>
38
+              <el-button type="success" size="mini">上传图片</el-button>
39
+            </div>
40
+          </div>
41
+        </li>
42
+        <li class="flex-h">
43
+          <span>案场负责人:</span>
44
+          <div class="flex-item">
45
+            <div style="width:50%">
46
+              <el-input
47
+                placeholder="真实姓名,可包含汉字、英文"
48
+                v-model="postData.leaderName"
49
+                clearable>
50
+              </el-input>
51
+            </div>
52
+          </div>
53
+        </li>
54
+        <li class="flex-h">
55
+          <span>负责人手机号:</span>
56
+          <div class="flex-item">
57
+            <div style="width:50%">
58
+              <el-input
59
+                placeholder="限中国地区有效手机号"
60
+                v-model="postData.leaderPhone"
61
+                clearable>
62
+              </el-input>
63
+            </div>
64
+          </div>
65
+        </li>
66
+        <li class="flex-h">
67
+          <span>左击地图获取经纬度:</span>
68
+          <div class="flex-item">
69
+            <div style="width:50%">
70
+              <el-input
71
+                placeholder=""
72
+                v-model="postData.atitudeAndLongitude"
73
+                clearable>
74
+              </el-input>
75
+            </div>
76
+          </div>
77
+        </li>
78
+        <li class="map flex-v">
79
+          <div class="search">
80
+            <el-amap-search-box class="search-box" :search-option="searchOption" :on-search-result="onSearchResult"></el-amap-search-box>
81
+          </div>
82
+          <div class="flex-item">
83
+            <div>
84
+              <el-amap ref="map" vid="amapDemo" :center="mapCenter" :zoom="12" :events="events" class="amap-demo">
85
+                <el-amap-marker v-for="(item,index) in markers" :key="index" :position="item" ></el-amap-marker>
86
+              </el-amap>
87
+            </div>
88
+          </div>
89
+        </li>
90
+        <li style="text-align:center">
91
+          <el-button type="primary" size="mini">保存</el-button>
92
+          <el-button type="danger" size="mini">取消</el-button>
93
+        </li>
94
+      </ul>
95
+    </form>
96
+  </div>
97
+</template>
98
+
99
+<script>
100
+
101
+export default {
102
+  name: '',
103
+  data () {
104
+    var _self = this
105
+    return {
106
+      postData: {
107
+        name: '', // 案场名称
108
+        address: '', // 案场地址
109
+        leaderName: '', // 负责人
110
+        leaderPhone: '', // 负责人手机号
111
+        atitudeAndLongitude: '',
112
+      },
113
+      markers: [],
114
+      searchOption: {
115
+        city: '南京',
116
+        citylimit: false
117
+      },
118
+      mapCenter: [118.789509, 32.019989],
119
+      events: {
120
+        click: (e) => {
121
+          _self.postData.atitudeAndLongitude = e.lnglat.lat + ',' + e.lnglat.lng
122
+        }
123
+      },
124
+    }
125
+  },
126
+  components: {},
127
+  methods: {
128
+    onSearchResult (pois) {
129
+      let latSum = 0
130
+      let lngSum = 0
131
+      if (pois.length > 0) {
132
+        pois.forEach(poi => {
133
+          let { lng, lat } = poi
134
+          lngSum += lng
135
+          latSum += lat
136
+          this.markers.push([poi.lng, poi.lat])
137
+        })
138
+        let center = {
139
+          lng: lngSum / pois.length,
140
+          lat: latSum / pois.length
141
+        }
142
+        this.mapCenter = [center.lng, center.lat]
143
+      }
144
+    }
145
+  }
146
+}
147
+</script>
148
+
149
+<!-- Add "scoped" attribute to limit CSS to this component only -->
150
+<style lang="scss" scoped>
151
+@import "page.scss";
152
+</style>

+ 52
- 0
src/pages/system/caseManger/caseInfo/addCase/page.scss 查看文件

@@ -0,0 +1,52 @@
1
+
2
+.map{
3
+  height: 500px;
4
+  background: #eee;
5
+  position: relative;
6
+  overflow: hidden;
7
+  box-sizing: border-box;
8
+  border: 1px solid #dcdfe6;
9
+
10
+  &>div.search{
11
+    display: inline-block;
12
+    position: absolute;
13
+  }
14
+
15
+  &>div.flex-item{
16
+    width: 100%;
17
+    &>div{
18
+      width: 100%;
19
+      height: 100%;
20
+      position: relative;
21
+      overflow: hidden;
22
+    }
23
+  }
24
+}
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+

+ 152
- 0
src/pages/system/caseManger/caseInfo/editCase/index.vue 查看文件

@@ -0,0 +1,152 @@
1
+<template>
2
+  <div class="subPage">
3
+    <form class="mainForm">
4
+      <ul>
5
+        <li class="flex-h">
6
+          <span>案场名称:</span>
7
+          <div class="flex-item">
8
+            <div style="width:50%">
9
+              <el-input
10
+                placeholder="请输入内容"
11
+                v-model="postData.name"
12
+                clearable>
13
+              </el-input>
14
+            </div>
15
+          </div>
16
+        </li>
17
+        <li class="flex-h">
18
+          <span>案场地址:</span>
19
+          <div class="flex-item">
20
+            <div>
21
+              <el-input
22
+                type="textarea"
23
+                :autosize="{ minRows: 3, maxRows: 5}"
24
+                placeholder="请填写详细地址"
25
+                v-model="postData.address">
26
+              </el-input>
27
+            </div>
28
+          </div>
29
+        </li>
30
+        <li class="flex-h">
31
+          <span>案场头像:</span>
32
+          <div class="flex-item">
33
+            <div>
34
+              <a class="formImg">
35
+                <img src="" class="centerLabel contain" alt="">
36
+                <i class="iconfont icon-quxiao"></i>
37
+              </a>
38
+              <el-button type="success" size="mini">上传图片</el-button>
39
+            </div>
40
+          </div>
41
+        </li>
42
+        <li class="flex-h">
43
+          <span>案场负责人:</span>
44
+          <div class="flex-item">
45
+            <div style="width:50%">
46
+              <el-input
47
+                placeholder="真实姓名,可包含汉字、英文"
48
+                v-model="postData.leaderName"
49
+                clearable>
50
+              </el-input>
51
+            </div>
52
+          </div>
53
+        </li>
54
+        <li class="flex-h">
55
+          <span>负责人手机号:</span>
56
+          <div class="flex-item">
57
+            <div style="width:50%">
58
+              <el-input
59
+                placeholder="限中国地区有效手机号"
60
+                v-model="postData.leaderPhone"
61
+                clearable>
62
+              </el-input>
63
+            </div>
64
+          </div>
65
+        </li>
66
+        <li class="flex-h">
67
+          <span>左击地图获取经纬度:</span>
68
+          <div class="flex-item">
69
+            <div style="width:50%">
70
+              <el-input
71
+                placeholder=""
72
+                v-model="postData.atitudeAndLongitude"
73
+                clearable>
74
+              </el-input>
75
+            </div>
76
+          </div>
77
+        </li>
78
+        <li class="map flex-v">
79
+          <div class="search">
80
+            <el-amap-search-box class="search-box" :search-option="searchOption" :on-search-result="onSearchResult"></el-amap-search-box>
81
+          </div>
82
+          <div class="flex-item">
83
+            <div>
84
+              <el-amap ref="map" vid="amapDemo" :center="mapCenter" :zoom="12" :events="events" class="amap-demo">
85
+                <el-amap-marker v-for="(item,index) in markers" :key="index" :position="item" ></el-amap-marker>
86
+              </el-amap>
87
+            </div>
88
+          </div>
89
+        </li>
90
+        <li style="text-align:center">
91
+          <el-button type="primary" size="mini">保存</el-button>
92
+          <el-button type="danger" size="mini">取消</el-button>
93
+        </li>
94
+      </ul>
95
+    </form>
96
+  </div>
97
+</template>
98
+
99
+<script>
100
+
101
+export default {
102
+  name: '',
103
+  data () {
104
+    var _self = this
105
+    return {
106
+      postData: {
107
+        name: '', // 案场名称
108
+        address: '', // 案场地址
109
+        leaderName: '', // 负责人
110
+        leaderPhone: '', // 负责人手机号
111
+        atitudeAndLongitude: '',
112
+      },
113
+      markers: [],
114
+      searchOption: {
115
+        city: '南京',
116
+        citylimit: false
117
+      },
118
+      mapCenter: [118.789509, 32.019989],
119
+      events: {
120
+        click: (e) => {
121
+          _self.postData.atitudeAndLongitude = e.lnglat.lat + ',' + e.lnglat.lng
122
+        }
123
+      },
124
+    }
125
+  },
126
+  components: {},
127
+  methods: {
128
+    onSearchResult (pois) {
129
+      let latSum = 0
130
+      let lngSum = 0
131
+      if (pois.length > 0) {
132
+        pois.forEach(poi => {
133
+          let { lng, lat } = poi
134
+          lngSum += lng
135
+          latSum += lat
136
+          this.markers.push([poi.lng, poi.lat])
137
+        })
138
+        let center = {
139
+          lng: lngSum / pois.length,
140
+          lat: latSum / pois.length
141
+        }
142
+        this.mapCenter = [center.lng, center.lat]
143
+      }
144
+    }
145
+  }
146
+}
147
+</script>
148
+
149
+<!-- Add "scoped" attribute to limit CSS to this component only -->
150
+<style lang="scss" scoped>
151
+@import "page.scss";
152
+</style>

+ 52
- 0
src/pages/system/caseManger/caseInfo/editCase/page.scss 查看文件

@@ -0,0 +1,52 @@
1
+
2
+.map{
3
+  height: 500px;
4
+  background: #eee;
5
+  position: relative;
6
+  overflow: hidden;
7
+  box-sizing: border-box;
8
+  border: 1px solid #dcdfe6;
9
+
10
+  &>div.search{
11
+    display: inline-block;
12
+    position: absolute;
13
+  }
14
+
15
+  &>div.flex-item{
16
+    width: 100%;
17
+    &>div{
18
+      width: 100%;
19
+      height: 100%;
20
+      position: relative;
21
+      overflow: hidden;
22
+    }
23
+  }
24
+}
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+

+ 12
- 5
src/pages/system/caseManger/caseInfo/index.vue 查看文件

@@ -3,7 +3,7 @@
3 3
     <div class="system-table-search">
4 4
       <div class="flex-h">
5 5
         <div class="flex-item flex-h">
6
-          <el-button size="mini" type="success">新增案场</el-button>
6
+          <el-button size="mini" type="success" @click="redirection('addCase')">新增案场</el-button>
7 7
         </div>
8 8
         <tableSearch value="请输入案场名称" @exportSearchKey="searchList"></tableSearch>
9 9
       </div>
@@ -50,12 +50,12 @@
50 50
           <template slot-scope="scope">
51 51
             <el-button
52 52
               size="mini"
53
-              type="danger"
53
+              type="warning"
54 54
               @click="editItem(scope.$index, scope.row)">修改</el-button>
55
-            <el-button
55
+            <!-- <el-button
56 56
               size="mini"
57 57
               type="success"
58
-              @click="keyManger(scope.$index, scope.row)">钥匙管理</el-button>
58
+              @click="keyManger(scope.$index, scope.row)">钥匙管理</el-button> -->
59 59
           </template>
60 60
         </el-table-column>
61 61
       </el-table>
@@ -125,7 +125,13 @@ export default {
125 125
   components: {
126 126
     tableSearch,
127 127
   },
128
+  mounted () {
129
+    this.$nextTick(function () {})
130
+  },
128 131
   methods: {
132
+    redirection (pathName) { // 重定向
133
+      this.$router.push({ name: pathName })
134
+    },
129 135
     handleSizeChange (val) {
130 136
       console.log(`每页 ${val} 条`)
131 137
     },
@@ -133,7 +139,8 @@ export default {
133 139
       console.log(`当前页: ${val}`)
134 140
     },
135 141
     editItem (index, row) { // 修改
136
-      console.log(index, row)
142
+      // console.log(index, row)
143
+      this.$router.push({ name: 'editCase', query: { id: row.id } })
137 144
     },
138 145
     keyManger (index, row) { // 钥匙管理
139 146
       console.log(index, row)

+ 58
- 0
src/pages/system/caseManger/keyManger/index.vue 查看文件

@@ -43,6 +43,10 @@
43 43
               size="mini"
44 44
               type="danger"
45 45
               @click="unBindItem(scope.$index, scope.row)">解绑</el-button>
46
+            <el-button
47
+              size="mini"
48
+              type="success"
49
+              @click="bindItem(scope.$index, scope.row)">绑定</el-button>
46 50
           </template>
47 51
         </el-table-column>
48 52
       </el-table>
@@ -55,6 +59,32 @@
55 59
       layout="prev, pager, next, jumper"
56 60
       :total="100">
57 61
     </el-pagination>
62
+    <el-dialog title="钥匙绑定" :visible.sync="dialogTableVisible">
63
+      <ul class="cutBindType">
64
+        <li :class="{'active':cutBindType==0}" @click="cutBindType=0">扫码绑定</li>
65
+        <li :class="{'active':cutBindType==1}" @click="cutBindType=1">手机号绑定</li>
66
+      </ul>
67
+      <ul class="cutBody">
68
+        <li :hidden="cutBindType==1"></li>
69
+        <li :hidden="cutBindType==0">
70
+          <div class="flex-h" v-if="!showCardList">
71
+            <div class="flex-item">
72
+              <el-input
73
+                placeholder="请输入正确的手机号"
74
+                v-model="bindPhone"
75
+                clearable>
76
+              </el-input>
77
+            </div>
78
+            <el-button type="success" size="mini" @click="sureBindPhone">确定</el-button>
79
+          </div>
80
+          <el-table :hidden="!showCardList" :data="gridData">
81
+            <el-table-column property="date" label="日期" width="150"></el-table-column>
82
+            <el-table-column property="name" label="姓名" width="200"></el-table-column>
83
+            <el-table-column property="address" label="地址"></el-table-column>
84
+          </el-table>
85
+        </li>
86
+      </ul>
87
+    </el-dialog>
58 88
   </div>
59 89
 </template>
60 90
 
@@ -68,6 +98,27 @@ export default {
68 98
   name: '',
69 99
   data () {
70 100
     return {
101
+      showCardList: false, // 显隐卡列表
102
+      bindPhone: '', // 绑定手机号
103
+      cutBindType: 1, // 切换绑定方式
104
+      dialogTableVisible: false,
105
+      gridData: [{
106
+        date: '2016-05-02',
107
+        name: '王小虎',
108
+        address: '上海市普陀区金沙江路 1518 弄'
109
+      }, {
110
+        date: '2016-05-04',
111
+        name: '王小虎',
112
+        address: '上海市普陀区金沙江路 1518 弄'
113
+      }, {
114
+        date: '2016-05-01',
115
+        name: '王小虎',
116
+        address: '上海市普陀区金沙江路 1518 弄'
117
+      }, {
118
+        date: '2016-05-03',
119
+        name: '王小虎',
120
+        address: '上海市普陀区金沙江路 1518 弄'
121
+      }],
71 122
       currentPage: 0, // 当前页码
72 123
       tableSearch: { // 表格搜索条件
73 124
         key: '', // 搜索关键字
@@ -101,12 +152,19 @@ export default {
101 152
     tableSearch,
102 153
   },
103 154
   methods: {
155
+    sureBindPhone () { // 确认绑定手机号
156
+      this.showCardList = true
157
+    },
104 158
     handleSizeChange (val) {
105 159
       console.log(`每页 ${val} 条`)
106 160
     },
107 161
     handleCurrentChange (val) {
108 162
       console.log(`当前页: ${val}`)
109 163
     },
164
+    bindItem (index, row) { // 绑定
165
+      console.log(index, row)
166
+      this.dialogTableVisible = true
167
+    },
110 168
     unBindItem (index, row) { // 解绑
111 169
       console.log(index, row)
112 170
       this.$confirm('确认解绑此锁柜?', '提示', {

+ 30
- 0
src/pages/system/caseManger/keyManger/page.scss 查看文件

@@ -1,5 +1,35 @@
1 1
 
2 2
 
3
+.cutBindType{
4
+  width: 100%;
5
+  white-space: nowrap;
6
+  font-size: 0;
7
+  border-bottom: 1px solid #eee;
8
+  li{
9
+    display: inline-block;
10
+    line-height: 40px;
11
+    padding: 0 15px;
12
+    background: #eee;
13
+  }
14
+  li.active{
15
+    background: #409EFF;
16
+    color: #fff;
17
+  }
18
+  li:hover{
19
+    cursor: pointer;
20
+  }
21
+}
22
+
23
+.cutBody{
24
+  li{
25
+    &>div{
26
+      margin: 20px auto 0;
27
+    }
28
+  }
29
+}
30
+
31
+
32
+
3 33
 
4 34
 
5 35
 

+ 12
- 0
src/pages/system/page.js 查看文件

@@ -7,6 +7,8 @@ import characterManger from './systemSet/characterManger/index' // 角色管理
7 7
 
8 8
 import caseManger from './caseManger/index' // 案场管理
9 9
 import caseInfo from './caseManger/caseInfo/index' // 案场信息
10
+import addCase from './caseManger/caseInfo/addCase/index' // 新增案场
11
+import editCase from './caseManger/caseInfo/editCase/index' // 新增案场
10 12
 import keyManger from './caseManger/keyManger/index' // 钥匙管理
11 13
 import caseAreaManger from './caseManger/caseAreaManger/index' // 案场区域管理
12 14
 import caseTableManger from './caseManger/caseTableManger/index' // 案场桌位管理
@@ -61,6 +63,16 @@ export default {
61 63
           name: 'caseInfo',
62 64
           component: caseInfo,
63 65
           children: []
66
+        }, { // 新增案场
67
+          path: 'caseInfo/addCase',
68
+          name: 'addCase',
69
+          component: addCase,
70
+          children: []
71
+        }, { // 修改案场
72
+          path: 'caseInfo/editCase',
73
+          name: 'editCase',
74
+          component: editCase,
75
+          children: []
64 76
         }, { // 钥匙管理
65 77
           path: 'keyManger',
66 78
           name: 'keyManger',

+ 69
- 0
src/style/main.css 查看文件

@@ -217,6 +217,75 @@ select:focus {
217 217
   background: #eee;
218 218
 }
219 219
 
220
+.iframePage{
221
+  width: 100%;
222
+  position: absolute;
223
+  left: 0;
224
+  top: 0;
225
+  bottom: 0;
226
+  overflow: hidden;
227
+  z-index: 90;
228
+  display: none;
229
+  background: #fff;
230
+}
231
+
232
+.iframePage.show{
233
+  display: block;
234
+}
235
+
236
+.mainForm{
237
+  width: calc(100% - 40px);
238
+  position: relative;
239
+  overflow: hidden;
240
+  display: block;
241
+  margin: 20px auto;
242
+}
243
+
244
+.mainForm>ul>li{
245
+  align-items: flex-start;
246
+  margin-top: 20px;
247
+}
248
+
249
+.mainForm>ul>li>span{
250
+  line-height: 40px;
251
+  min-width: 110px;
252
+}
253
+
254
+.mainForm>ul>li>div>div{
255
+  min-height: 40px;
256
+  vertical-align: top;
257
+}
258
+
259
+.mainForm>ul>li>div>div>*{
260
+  vertical-align: top;
261
+}
262
+
263
+.mainForm>ul>li>div>div>button{
264
+  margin-top: 5px;
265
+}
266
+
267
+.mainForm .formImg{
268
+  width: 150px;
269
+  height: 150px;
270
+  display: inline-block;
271
+  background: #eee;
272
+  position: relative;
273
+  overflow: hidden;
274
+}
275
+
276
+.mainForm .formImg img{
277
+  z-index: 1;
278
+}
279
+
280
+.mainForm .formImg i{
281
+  display: inline-block;
282
+  position: absolute;
283
+  right: 5px;
284
+  top: 5px;
285
+  font-size: 20px;
286
+  color: red;
287
+  z-index: 2;
288
+}
220 289
 
221 290
 
222 291