apply-clients 3.3.45 → 3.3.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/dev-server.js +130 -130
- package/package.json +2 -2
- package/src/apply.js +4 -1
- package/src/applyAndroid.js +3 -0
- package/src/components/android/AppSign.vue +142 -0
- package/src/components/android/Process/AppExplorationUser.vue +340 -306
- package/src/components/android/Process/AppServiceControl.vue +761 -757
- package/src/components/android/Process/Processes/AppBuildSign.vue +46 -0
- package/src/components/android/Supervisory/AppSupervisoryCart.vue +119 -115
- package/src/components/product/ApplyCharge/ApplyChargeList.vue +372 -367
- package/src/components/product/Print/BuildOrder/buildOrderList.vue +264 -0
- package/src/components/product/Print/BuildOrder/printBuildOrder.vue +153 -0
- package/src/components/product/Process/ExplorationSelect.vue +50 -25
- package/src/components/product/Process/ExplorationUser.vue +9 -0
- package/src/components/product/Process/Processes/chargeManagement.vue +656 -639
- package/src/components/product/Process/Service/ServiceControl.vue +11 -0
- package/src/components/product/Supervisory/SupervisoryhCart.vue +130 -124
- package/src/components/product/Process/Processes/Print/printBuildOrder.vue +0 -193
package/build/dev-server.js
CHANGED
|
@@ -1,130 +1,130 @@
|
|
|
1
|
-
var express = require('express')
|
|
2
|
-
var webpack = require('webpack')
|
|
3
|
-
var config = require('./webpack.dev.conf')
|
|
4
|
-
var proxyMiddleware = require('http-proxy-middleware')
|
|
5
|
-
// var httpProxy = require('http-proxy')
|
|
6
|
-
var app = express()
|
|
7
|
-
var compiler = webpack(config)
|
|
8
|
-
// var proxy = httpProxy.createProxyServer()
|
|
9
|
-
// var ldap = 'http://121.36.79.201:8400'
|
|
10
|
-
// var applyinstall = 'http://121.36.79.201:8400'
|
|
11
|
-
// var ldap = 'http://192.168.50.4:8400'
|
|
12
|
-
var ldap = 'http://192.168.20.28:8400'
|
|
13
|
-
// var applyinstall = 'http://192.168.20.27:8400'
|
|
14
|
-
var applyinstall = 'http://127.0.0.1:8080'
|
|
15
|
-
|
|
16
|
-
var proxyTable = {
|
|
17
|
-
'/wx': {
|
|
18
|
-
target: ldap
|
|
19
|
-
},
|
|
20
|
-
'/rs/sql/filemanage_getUserfies/n': {
|
|
21
|
-
target: ldap
|
|
22
|
-
},
|
|
23
|
-
'/rs/sql/filemanage_getUserfies': {
|
|
24
|
-
target: ldap
|
|
25
|
-
},
|
|
26
|
-
'/rs/logic/saveInsInfo': {
|
|
27
|
-
target: ldap
|
|
28
|
-
},
|
|
29
|
-
'/rs/logic/exportfile': {
|
|
30
|
-
target: ldap
|
|
31
|
-
},
|
|
32
|
-
'/rs/logic/getBatchOperaPro': {
|
|
33
|
-
target: ldap
|
|
34
|
-
},
|
|
35
|
-
'/rs/logic/insuranceguanl': {
|
|
36
|
-
target: ldap
|
|
37
|
-
},
|
|
38
|
-
'/rs/logic/getSaleInitData': {
|
|
39
|
-
target: ldap
|
|
40
|
-
},
|
|
41
|
-
'/rs/workflow': {
|
|
42
|
-
target: applyinstall
|
|
43
|
-
},
|
|
44
|
-
'/rs/vue': {
|
|
45
|
-
target: ldap
|
|
46
|
-
},
|
|
47
|
-
// 查找资源服务数据
|
|
48
|
-
'/rs/search': {
|
|
49
|
-
target: ldap
|
|
50
|
-
},
|
|
51
|
-
// 用户登录服务地址
|
|
52
|
-
'/rs/user': {
|
|
53
|
-
target: ldap
|
|
54
|
-
},
|
|
55
|
-
'/rs/logic/getInitData': {
|
|
56
|
-
target: ldap?ldap:applyinstall
|
|
57
|
-
},
|
|
58
|
-
'/rs/logic/getLogin': {
|
|
59
|
-
target: ldap
|
|
60
|
-
},
|
|
61
|
-
'/rs/file': { // 文件上传
|
|
62
|
-
target: applyinstall
|
|
63
|
-
},
|
|
64
|
-
'/project': { // 文件回显
|
|
65
|
-
target: applyinstall
|
|
66
|
-
},
|
|
67
|
-
'/rs': {
|
|
68
|
-
target: applyinstall
|
|
69
|
-
},
|
|
70
|
-
'/ws': {
|
|
71
|
-
target: applyinstall,
|
|
72
|
-
ws: true // 代理webSocket
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
var devMiddleware = require('webpack-dev-middleware')(compiler, {
|
|
77
|
-
publicPath: config.output.publicPath,
|
|
78
|
-
stats: {
|
|
79
|
-
colors: true,
|
|
80
|
-
chunks: false
|
|
81
|
-
}
|
|
82
|
-
})
|
|
83
|
-
|
|
84
|
-
var hotMiddleware = require('webpack-hot-middleware')(compiler)
|
|
85
|
-
// force page reload when html-webpack-plugin template changes
|
|
86
|
-
compiler.plugin('compilation', function (compilation) {
|
|
87
|
-
compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
|
|
88
|
-
hotMiddleware.publish({action: 'reload'})
|
|
89
|
-
cb()
|
|
90
|
-
})
|
|
91
|
-
})
|
|
92
|
-
|
|
93
|
-
// proxy api requests
|
|
94
|
-
Object.keys(proxyTable).forEach(function (context) {
|
|
95
|
-
var options = proxyTable[context]
|
|
96
|
-
if (typeof options === 'string') {
|
|
97
|
-
options = {target: options}
|
|
98
|
-
}
|
|
99
|
-
app.use(proxyMiddleware(context, options))
|
|
100
|
-
})
|
|
101
|
-
|
|
102
|
-
// handle fallback for HTML5 history API
|
|
103
|
-
app.use(require('connect-history-api-fallback')())
|
|
104
|
-
// app.use(function (req, res, next) {
|
|
105
|
-
// res.header('Access-Control-Allow-Origin', '*')
|
|
106
|
-
// res.header('Access-Control-Allow-Headers', 'X-Requested-With')
|
|
107
|
-
// res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
|
|
108
|
-
// res.header('X-Powered-By', '3,2,1')
|
|
109
|
-
// res.header('Access-Control-Allow-Credentials', 'true')
|
|
110
|
-
// res.header('Content-Type', 'application/json;charset=utf-8')
|
|
111
|
-
// next()
|
|
112
|
-
// })
|
|
113
|
-
|
|
114
|
-
// serve webpack bundle output
|
|
115
|
-
app.use(devMiddleware)
|
|
116
|
-
|
|
117
|
-
// enable hot-reload and state-preserving
|
|
118
|
-
// compilation error display
|
|
119
|
-
app.use(hotMiddleware)
|
|
120
|
-
|
|
121
|
-
// serve pure static assets
|
|
122
|
-
app.use('/static', express.static('./static'))
|
|
123
|
-
|
|
124
|
-
module.exports = app.listen(8300, function (err) {
|
|
125
|
-
if (err) {
|
|
126
|
-
console.log(err)
|
|
127
|
-
return
|
|
128
|
-
}
|
|
129
|
-
console.log('Listening at http://localhost:8300')
|
|
130
|
-
})
|
|
1
|
+
var express = require('express')
|
|
2
|
+
var webpack = require('webpack')
|
|
3
|
+
var config = require('./webpack.dev.conf')
|
|
4
|
+
var proxyMiddleware = require('http-proxy-middleware')
|
|
5
|
+
// var httpProxy = require('http-proxy')
|
|
6
|
+
var app = express()
|
|
7
|
+
var compiler = webpack(config)
|
|
8
|
+
// var proxy = httpProxy.createProxyServer()
|
|
9
|
+
// var ldap = 'http://121.36.79.201:8400'
|
|
10
|
+
// var applyinstall = 'http://121.36.79.201:8400'
|
|
11
|
+
// var ldap = 'http://192.168.50.4:8400'
|
|
12
|
+
var ldap = 'http://192.168.20.28:8400'
|
|
13
|
+
// var applyinstall = 'http://192.168.20.27:8400'
|
|
14
|
+
var applyinstall = 'http://127.0.0.1:8080'
|
|
15
|
+
|
|
16
|
+
var proxyTable = {
|
|
17
|
+
'/wx': {
|
|
18
|
+
target: ldap
|
|
19
|
+
},
|
|
20
|
+
'/rs/sql/filemanage_getUserfies/n': {
|
|
21
|
+
target: ldap
|
|
22
|
+
},
|
|
23
|
+
'/rs/sql/filemanage_getUserfies': {
|
|
24
|
+
target: ldap
|
|
25
|
+
},
|
|
26
|
+
'/rs/logic/saveInsInfo': {
|
|
27
|
+
target: ldap
|
|
28
|
+
},
|
|
29
|
+
'/rs/logic/exportfile': {
|
|
30
|
+
target: ldap
|
|
31
|
+
},
|
|
32
|
+
'/rs/logic/getBatchOperaPro': {
|
|
33
|
+
target: ldap
|
|
34
|
+
},
|
|
35
|
+
'/rs/logic/insuranceguanl': {
|
|
36
|
+
target: ldap
|
|
37
|
+
},
|
|
38
|
+
'/rs/logic/getSaleInitData': {
|
|
39
|
+
target: ldap
|
|
40
|
+
},
|
|
41
|
+
'/rs/workflow': {
|
|
42
|
+
target: applyinstall
|
|
43
|
+
},
|
|
44
|
+
'/rs/vue': {
|
|
45
|
+
target: ldap
|
|
46
|
+
},
|
|
47
|
+
// 查找资源服务数据
|
|
48
|
+
'/rs/search': {
|
|
49
|
+
target: ldap
|
|
50
|
+
},
|
|
51
|
+
// 用户登录服务地址
|
|
52
|
+
'/rs/user': {
|
|
53
|
+
target: ldap
|
|
54
|
+
},
|
|
55
|
+
'/rs/logic/getInitData': {
|
|
56
|
+
target: ldap?ldap:applyinstall
|
|
57
|
+
},
|
|
58
|
+
'/rs/logic/getLogin': {
|
|
59
|
+
target: ldap
|
|
60
|
+
},
|
|
61
|
+
'/rs/file': { // 文件上传
|
|
62
|
+
target: applyinstall
|
|
63
|
+
},
|
|
64
|
+
'/project': { // 文件回显
|
|
65
|
+
target: applyinstall
|
|
66
|
+
},
|
|
67
|
+
'/rs': {
|
|
68
|
+
target: applyinstall
|
|
69
|
+
},
|
|
70
|
+
'/ws': {
|
|
71
|
+
target: applyinstall,
|
|
72
|
+
ws: true // 代理webSocket
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
var devMiddleware = require('webpack-dev-middleware')(compiler, {
|
|
77
|
+
publicPath: config.output.publicPath,
|
|
78
|
+
stats: {
|
|
79
|
+
colors: true,
|
|
80
|
+
chunks: false
|
|
81
|
+
}
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
var hotMiddleware = require('webpack-hot-middleware')(compiler)
|
|
85
|
+
// force page reload when html-webpack-plugin template changes
|
|
86
|
+
compiler.plugin('compilation', function (compilation) {
|
|
87
|
+
compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
|
|
88
|
+
hotMiddleware.publish({action: 'reload'})
|
|
89
|
+
cb()
|
|
90
|
+
})
|
|
91
|
+
})
|
|
92
|
+
|
|
93
|
+
// proxy api requests
|
|
94
|
+
Object.keys(proxyTable).forEach(function (context) {
|
|
95
|
+
var options = proxyTable[context]
|
|
96
|
+
if (typeof options === 'string') {
|
|
97
|
+
options = {target: options}
|
|
98
|
+
}
|
|
99
|
+
app.use(proxyMiddleware(context, options))
|
|
100
|
+
})
|
|
101
|
+
|
|
102
|
+
// handle fallback for HTML5 history API
|
|
103
|
+
app.use(require('connect-history-api-fallback')())
|
|
104
|
+
// app.use(function (req, res, next) {
|
|
105
|
+
// res.header('Access-Control-Allow-Origin', '*')
|
|
106
|
+
// res.header('Access-Control-Allow-Headers', 'X-Requested-With')
|
|
107
|
+
// res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
|
|
108
|
+
// res.header('X-Powered-By', '3,2,1')
|
|
109
|
+
// res.header('Access-Control-Allow-Credentials', 'true')
|
|
110
|
+
// res.header('Content-Type', 'application/json;charset=utf-8')
|
|
111
|
+
// next()
|
|
112
|
+
// })
|
|
113
|
+
|
|
114
|
+
// serve webpack bundle output
|
|
115
|
+
app.use(devMiddleware)
|
|
116
|
+
|
|
117
|
+
// enable hot-reload and state-preserving
|
|
118
|
+
// compilation error display
|
|
119
|
+
app.use(hotMiddleware)
|
|
120
|
+
|
|
121
|
+
// serve pure static assets
|
|
122
|
+
app.use('/static', express.static('./static'))
|
|
123
|
+
|
|
124
|
+
module.exports = app.listen(8300, function (err) {
|
|
125
|
+
if (err) {
|
|
126
|
+
console.log(err)
|
|
127
|
+
return
|
|
128
|
+
}
|
|
129
|
+
console.log('Listening at http://localhost:8300')
|
|
130
|
+
})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apply-clients",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.49",
|
|
4
4
|
"description": "报建前端模块",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"directories": {
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"system-clients": "3.1.87",
|
|
96
96
|
"system-phone": "1.2.80-49",
|
|
97
97
|
"url-loader": "^0.5.7",
|
|
98
|
-
"vue-client": "1.24.
|
|
98
|
+
"vue-client": "1.24.33",
|
|
99
99
|
"vue-hot-reload-api": "^1.2.0",
|
|
100
100
|
"vue-html-loader": "^1.0.0",
|
|
101
101
|
"vue-loader": "^8.2.1",
|
package/src/apply.js
CHANGED
|
@@ -61,7 +61,7 @@ export default function () {
|
|
|
61
61
|
Vue.component('apply-charge-management', (resolve) => { require(['./components/product/Process/Processes/chargeManagement'], resolve) })
|
|
62
62
|
Vue.component('apply-print-charge', (resolve) => { require(['./components/product/Process/Processes/Print/printCharge'], resolve) })
|
|
63
63
|
Vue.component('apply-print-refund', (resolve) => { require(['./components/product/Process/Processes/Print/printRefund'], resolve) })
|
|
64
|
-
|
|
64
|
+
|
|
65
65
|
// 补充协议
|
|
66
66
|
Vue.component('supplemental-agreement', (resolve) => { require(['./components/product/Process/Processes/supplementalAgreement'], resolve) })
|
|
67
67
|
// 选择用户信息
|
|
@@ -87,4 +87,7 @@ export default function () {
|
|
|
87
87
|
|
|
88
88
|
Vue.component('apply-material-detailed', (resolve) => { require(['./components/product/Material/MaterialDetailed'], resolve) })
|
|
89
89
|
Vue.component('apply-install-project', (resolve) => { require(['./components/product/Install/InstallProject'], resolve) })
|
|
90
|
+
|
|
91
|
+
Vue.component('build-order-list', (resolve) => { require(['./components/product/Print/BuildOrder/buildOrderList'], resolve) })
|
|
92
|
+
Vue.component('print-build-order', (resolve) => { require(['./components/product/Print/BuildOrder/printBuildOrder'], resolve) })
|
|
90
93
|
}
|
package/src/applyAndroid.js
CHANGED
|
@@ -17,6 +17,7 @@ export default function () {
|
|
|
17
17
|
Vue.component('app-istall-function', (resolve) => { require(['./components/android/Function/AppInstallFunction'], resolve) })
|
|
18
18
|
Vue.component('app-function-service-control', (resolve) => { require(['./components/android/Function/AppFunctionServiceControl'], resolve) })
|
|
19
19
|
|
|
20
|
+
Vue.component('app-sign', (resolve) => { require(['./components/android/AppSign'], resolve) })
|
|
20
21
|
Vue.component('app-take-pic', (resolve) => { require(['./components/android/AppTakePic'], resolve) })
|
|
21
22
|
Vue.component('app-service-view', (resolve) => { require(['./components/android/AppServiceView'], resolve) })
|
|
22
23
|
Vue.component('app-onetomany', (resolve) => { require(['./components/android/AppOnetomany'], resolve) })
|
|
@@ -25,4 +26,6 @@ export default function () {
|
|
|
25
26
|
Vue.component('app-apply-devices-management', (resolve) => { require(['./components/android/Process/Processes/AppDevicesManagement'], resolve) })
|
|
26
27
|
Vue.component('app-charge-management', (resolve) => { require(['./components/android/Process/Processes/AppChargeManagement'], resolve) })
|
|
27
28
|
Vue.component('app-supplemental-agreement', (resolve) => { require(['./components/android/Process/Processes/AppSupplementalAgreement'], resolve) })
|
|
29
|
+
|
|
30
|
+
Vue.component('app-build-sign', (resolve) => { require(['./components/android/Process/Processes/AppBuildSign'], resolve) })
|
|
28
31
|
}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="panel">
|
|
3
|
+
<div class="panel-body panel-self" style="background-color: #F8F8F8;">
|
|
4
|
+
<div class="row form-group" style="height: 240px;overflow: scroll;">
|
|
5
|
+
<img :src="f_sign_path" width="100%" height="100%" />
|
|
6
|
+
</div>
|
|
7
|
+
<div class="row text-right form-group">
|
|
8
|
+
<button class="btn" style="background-color: #f1e404;border-radius: 5px;margin-right: 10px" @click="clean">清除</button>
|
|
9
|
+
<button class="btn" style="background-color: #7dc1f4;border-radius: 5px;margin-right: 10px" @click="sign">签名</button>
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
</template>
|
|
14
|
+
<script>
|
|
15
|
+
import {getNowDate, guid, isEmpty} from '../Util'
|
|
16
|
+
import {PagedList} from 'vue-client'
|
|
17
|
+
import {HttpResetClass} from 'vue-client'
|
|
18
|
+
import QRCode from 'qrcodejs2'
|
|
19
|
+
import Vue from "vue";
|
|
20
|
+
|
|
21
|
+
export default {
|
|
22
|
+
title: '签字',
|
|
23
|
+
props: ['filePath'],
|
|
24
|
+
data () {
|
|
25
|
+
return {
|
|
26
|
+
f_sign_path: null,
|
|
27
|
+
fileName: null
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
ready () {
|
|
31
|
+
this.f_sign_path = this.filePath
|
|
32
|
+
},
|
|
33
|
+
methods: {
|
|
34
|
+
clean () {
|
|
35
|
+
this.f_sign_path = null
|
|
36
|
+
this.fileName = null
|
|
37
|
+
this.$emit('sign-clean')
|
|
38
|
+
},
|
|
39
|
+
sign () {
|
|
40
|
+
this.delAudioFile(this.f_sign_path)
|
|
41
|
+
this.fileName = guid() + '.jpg'
|
|
42
|
+
HostApp.__callback__ = this.signCallback
|
|
43
|
+
HostApp.__this__ = this
|
|
44
|
+
HostApp.getSignature({
|
|
45
|
+
file: this.fileName,
|
|
46
|
+
requestCode: 111,
|
|
47
|
+
callback: 'javascript:HostApp.__callback__("f_sign_path", "%s");'
|
|
48
|
+
})
|
|
49
|
+
},
|
|
50
|
+
// 签名回调
|
|
51
|
+
signCallback (prop, signPath) {
|
|
52
|
+
console.log('==============签字回调============')
|
|
53
|
+
console.log(signPath)
|
|
54
|
+
HostApp.__this__.$set(prop, signPath)
|
|
55
|
+
console.log(HostApp.__this__.f_sign_path)
|
|
56
|
+
|
|
57
|
+
HostApp.__this__.uploadFile()
|
|
58
|
+
|
|
59
|
+
HostApp.__callback__ = null
|
|
60
|
+
HostApp.__this__ = null
|
|
61
|
+
},
|
|
62
|
+
uploadFile () {
|
|
63
|
+
console.log('===================签字文件上传==============')
|
|
64
|
+
let data = {
|
|
65
|
+
username: Vue.user.name,
|
|
66
|
+
fremarks: '报装手机签字文件',
|
|
67
|
+
fileName: HostApp.__this__.fileName,
|
|
68
|
+
fileUrl: HostApp.__this__.f_sign_path
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
console.log('-----------bzLogic-----------------')
|
|
72
|
+
console.log(JSON.stringify(data))
|
|
73
|
+
let res = HostApp.bzLogic({
|
|
74
|
+
'logic': 'appFileUpload',
|
|
75
|
+
'data': data
|
|
76
|
+
})
|
|
77
|
+
console.log('===============上传回调=================')
|
|
78
|
+
console.log(JSON.stringify(res))
|
|
79
|
+
HostApp.__this__.getFiles(res.id)
|
|
80
|
+
},
|
|
81
|
+
async getFiles (fileid) {
|
|
82
|
+
let http = new HttpResetClass()
|
|
83
|
+
|
|
84
|
+
let data = {
|
|
85
|
+
tablename: 't_files',
|
|
86
|
+
condition: `id = '${fileid}'`
|
|
87
|
+
}
|
|
88
|
+
let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`, {data: data}, {
|
|
89
|
+
// let res = await http.load('POST', `rs/sql/singleTable`, {data: data}, {
|
|
90
|
+
warnMsg: null,
|
|
91
|
+
resolveMsg: null
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
console.log('=========查询回调===============')
|
|
95
|
+
let fileUrl = `${this.$androidUtil.getProxyUrl()}/${res.data[0].f_downloadpath.substring(res.data[0].f_downloadpath.lastIndexOf(":\\") + 2)}`
|
|
96
|
+
console.log(fileUrl)
|
|
97
|
+
// HostApp.__this__.$set('f_sign_path', fileUrl)
|
|
98
|
+
// HostApp.__this__.f_sign_path = fileUrl
|
|
99
|
+
this.f_sign_path = fileUrl
|
|
100
|
+
|
|
101
|
+
this.$emit('sign-success', fileUrl)
|
|
102
|
+
},
|
|
103
|
+
delAudioFile (signPath) {
|
|
104
|
+
if (!signPath) {
|
|
105
|
+
return
|
|
106
|
+
}
|
|
107
|
+
HostApp.delfile(signPath)
|
|
108
|
+
this.f_sign_path = null
|
|
109
|
+
this.fileName = null
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
events: {
|
|
113
|
+
},
|
|
114
|
+
computed: {
|
|
115
|
+
},
|
|
116
|
+
watch: {
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
</script>
|
|
120
|
+
<style scoped lang="less">
|
|
121
|
+
.qrcode {
|
|
122
|
+
display: inline-block !important;
|
|
123
|
+
margin: 10px 0px;
|
|
124
|
+
}
|
|
125
|
+
.panel-self{
|
|
126
|
+
border-radius: 10px;
|
|
127
|
+
border:1px solid #499EDF;
|
|
128
|
+
background-color: #F8F8F8;
|
|
129
|
+
}
|
|
130
|
+
.vertical-center {
|
|
131
|
+
display: flex;
|
|
132
|
+
align-items: center;
|
|
133
|
+
text-align: center;
|
|
134
|
+
}
|
|
135
|
+
/*清除model中的浮动*/
|
|
136
|
+
.clearfix:after,.clearfix:before{
|
|
137
|
+
display: table;
|
|
138
|
+
}
|
|
139
|
+
.clearfix:after{
|
|
140
|
+
clear: both;
|
|
141
|
+
}
|
|
142
|
+
</style>
|