apply-clients 3.3.110-2 → 3.3.112
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-app.js +76 -76
- package/build/dev-server.js +5 -23
- package/package.json +1 -1
- package/src/App.vue +20 -21
- package/src/applyAndroid.js +42 -42
- package/src/components/android/AppSign.vue +154 -143
- package/src/components/android/AreaSelect/AppResAreaMapGroup.vue +143 -143
- package/src/components/android/Process/Processes/AppDevicesManagement.vue +513 -513
- package/src/components/android/Supervisory/AppProcessSupervisory.vue +317 -317
- package/src/components/android/Supervisory/AppSupervisoryCart.vue +152 -152
- package/src/components/product/Function/InstallInfoSelect.vue +320 -320
- package/src/components/product/Print/IgnitionBill/IgnitionBill.vue +259 -259
- package/src/components/product/Print/IgnitionBill/printIgnitionBill.vue +168 -168
- package/src/main.js +26 -27
- package/.project +0 -17
package/build/dev-server-app.js
CHANGED
|
@@ -1,76 +1,76 @@
|
|
|
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
|
-
|
|
10
|
-
// Define HTTP proxies to your custom API backend
|
|
11
|
-
// https://github.com/chimurai/http-proxy-middleware
|
|
12
|
-
var proxyTable = {
|
|
13
|
-
'/rs': {
|
|
14
|
-
target: 'http://192.168.20.27:8555'
|
|
15
|
-
// target: 'http://192.168.30.86:8077'
|
|
16
|
-
},
|
|
17
|
-
'/AndroidRest/rs': {
|
|
18
|
-
target: 'http://192.168.20.27:8555'
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
var devMiddleware = require('webpack-dev-middleware')(compiler, {
|
|
23
|
-
publicPath: config.output.publicPath,
|
|
24
|
-
stats: {
|
|
25
|
-
colors: true,
|
|
26
|
-
chunks: false
|
|
27
|
-
}
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
var hotMiddleware = require('webpack-hot-middleware')(compiler)
|
|
31
|
-
// force page reload when html-webpack-plugin template changes
|
|
32
|
-
compiler.plugin('compilation', function (compilation) {
|
|
33
|
-
compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
|
|
34
|
-
hotMiddleware.publish({action: 'reload'})
|
|
35
|
-
cb()
|
|
36
|
-
})
|
|
37
|
-
})
|
|
38
|
-
|
|
39
|
-
// proxy api requests
|
|
40
|
-
Object.keys(proxyTable).forEach(function (context) {
|
|
41
|
-
var options = proxyTable[context]
|
|
42
|
-
if (typeof options === 'string') {
|
|
43
|
-
options = {target: options}
|
|
44
|
-
}
|
|
45
|
-
app.use(proxyMiddleware(context, options))
|
|
46
|
-
})
|
|
47
|
-
|
|
48
|
-
// handle fallback for HTML5 history API
|
|
49
|
-
app.use(require('connect-history-api-fallback')())
|
|
50
|
-
// app.use(function (req, res, next) {
|
|
51
|
-
// res.header('Access-Control-Allow-Origin', '*')
|
|
52
|
-
// res.header('Access-Control-Allow-Headers', 'X-Requested-With')
|
|
53
|
-
// res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
|
|
54
|
-
// res.header('X-Powered-By', '3,2,1')
|
|
55
|
-
// res.header('Access-Control-Allow-Credentials', 'true')
|
|
56
|
-
// res.header('Content-Type', 'application/json;charset=utf-8')
|
|
57
|
-
// next()
|
|
58
|
-
// })
|
|
59
|
-
|
|
60
|
-
// serve webpack bundle output
|
|
61
|
-
app.use(devMiddleware)
|
|
62
|
-
|
|
63
|
-
// enable hot-reload and state-preserving
|
|
64
|
-
// compilation error display
|
|
65
|
-
app.use(hotMiddleware)
|
|
66
|
-
|
|
67
|
-
// serve pure static assets
|
|
68
|
-
app.use('/static', express.static('./static'))
|
|
69
|
-
|
|
70
|
-
module.exports = app.listen(8089, function (err) {
|
|
71
|
-
if (err) {
|
|
72
|
-
console.log(err)
|
|
73
|
-
return
|
|
74
|
-
}
|
|
75
|
-
console.log('Listening at http://localhost:8089')
|
|
76
|
-
})
|
|
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
|
+
|
|
10
|
+
// Define HTTP proxies to your custom API backend
|
|
11
|
+
// https://github.com/chimurai/http-proxy-middleware
|
|
12
|
+
var proxyTable = {
|
|
13
|
+
'/rs': {
|
|
14
|
+
target: 'http://192.168.20.27:8555'
|
|
15
|
+
// target: 'http://192.168.30.86:8077'
|
|
16
|
+
},
|
|
17
|
+
'/AndroidRest/rs': {
|
|
18
|
+
target: 'http://192.168.20.27:8555'
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
var devMiddleware = require('webpack-dev-middleware')(compiler, {
|
|
23
|
+
publicPath: config.output.publicPath,
|
|
24
|
+
stats: {
|
|
25
|
+
colors: true,
|
|
26
|
+
chunks: false
|
|
27
|
+
}
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
var hotMiddleware = require('webpack-hot-middleware')(compiler)
|
|
31
|
+
// force page reload when html-webpack-plugin template changes
|
|
32
|
+
compiler.plugin('compilation', function (compilation) {
|
|
33
|
+
compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
|
|
34
|
+
hotMiddleware.publish({action: 'reload'})
|
|
35
|
+
cb()
|
|
36
|
+
})
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
// proxy api requests
|
|
40
|
+
Object.keys(proxyTable).forEach(function (context) {
|
|
41
|
+
var options = proxyTable[context]
|
|
42
|
+
if (typeof options === 'string') {
|
|
43
|
+
options = {target: options}
|
|
44
|
+
}
|
|
45
|
+
app.use(proxyMiddleware(context, options))
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
// handle fallback for HTML5 history API
|
|
49
|
+
app.use(require('connect-history-api-fallback')())
|
|
50
|
+
// app.use(function (req, res, next) {
|
|
51
|
+
// res.header('Access-Control-Allow-Origin', '*')
|
|
52
|
+
// res.header('Access-Control-Allow-Headers', 'X-Requested-With')
|
|
53
|
+
// res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
|
|
54
|
+
// res.header('X-Powered-By', '3,2,1')
|
|
55
|
+
// res.header('Access-Control-Allow-Credentials', 'true')
|
|
56
|
+
// res.header('Content-Type', 'application/json;charset=utf-8')
|
|
57
|
+
// next()
|
|
58
|
+
// })
|
|
59
|
+
|
|
60
|
+
// serve webpack bundle output
|
|
61
|
+
app.use(devMiddleware)
|
|
62
|
+
|
|
63
|
+
// enable hot-reload and state-preserving
|
|
64
|
+
// compilation error display
|
|
65
|
+
app.use(hotMiddleware)
|
|
66
|
+
|
|
67
|
+
// serve pure static assets
|
|
68
|
+
app.use('/static', express.static('./static'))
|
|
69
|
+
|
|
70
|
+
module.exports = app.listen(8089, function (err) {
|
|
71
|
+
if (err) {
|
|
72
|
+
console.log(err)
|
|
73
|
+
return
|
|
74
|
+
}
|
|
75
|
+
console.log('Listening at http://localhost:8089')
|
|
76
|
+
})
|
package/build/dev-server.js
CHANGED
|
@@ -6,33 +6,15 @@ var proxyMiddleware = require('http-proxy-middleware')
|
|
|
6
6
|
var app = express()
|
|
7
7
|
var compiler = webpack(config)
|
|
8
8
|
// var proxy = httpProxy.createProxyServer()
|
|
9
|
+
// var ldap = 'http://121.36.79.201:8400'
|
|
10
|
+
// var applyinstall = 'http://121.36.79.201:8400'
|
|
9
11
|
var ldap = 'http://192.168.20.28:8400'
|
|
10
12
|
var applyinstall = 'http://192.168.20.28:8400'
|
|
11
|
-
// var
|
|
12
|
-
//
|
|
13
|
-
// var applyinstall = 'http://127.0.0.1:8080'
|
|
13
|
+
// var applyinstall = 'http://127.0.0.1:8081'
|
|
14
14
|
var proxyTable = {
|
|
15
15
|
'/wx': {
|
|
16
16
|
target: ldap
|
|
17
17
|
},
|
|
18
|
-
// '/ncc': {
|
|
19
|
-
// target: 'http://192.168.20.28:7890'
|
|
20
|
-
// },
|
|
21
|
-
'/rs/logic/bjqadduser': {
|
|
22
|
-
target: 'http://127.0.0.1:8081'
|
|
23
|
-
},
|
|
24
|
-
'/rs/logic/bjqcheck': {
|
|
25
|
-
target: 'http://127.0.0.1:8081'
|
|
26
|
-
},
|
|
27
|
-
'/rs/logic/gdMapTransBMap': {
|
|
28
|
-
target: 'http://127.0.0.1:8081'
|
|
29
|
-
},
|
|
30
|
-
'/rs/logic/saveArea': {
|
|
31
|
-
target: 'http://127.0.0.1:8080'
|
|
32
|
-
},
|
|
33
|
-
'/rs/logic/applyBjqMap': {
|
|
34
|
-
target: 'http://127.0.0.1:8080'
|
|
35
|
-
},
|
|
36
18
|
'/rs/sql/filemanage_getUserfies/n': {
|
|
37
19
|
target: ldap
|
|
38
20
|
},
|
|
@@ -137,10 +119,10 @@ app.use(hotMiddleware)
|
|
|
137
119
|
// serve pure static assets
|
|
138
120
|
app.use('/static', express.static('./static'))
|
|
139
121
|
|
|
140
|
-
module.exports = app.listen(
|
|
122
|
+
module.exports = app.listen(8600, function (err) {
|
|
141
123
|
if (err) {
|
|
142
124
|
console.log(err)
|
|
143
125
|
return
|
|
144
126
|
}
|
|
145
|
-
console.log('Listening at http://localhost:
|
|
127
|
+
console.log('Listening at http://localhost:8600')
|
|
146
128
|
})
|
package/package.json
CHANGED
package/src/App.vue
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<app-base class="bg">
|
|
4
|
-
<div class='flex'>
|
|
5
|
-
<article>
|
|
6
|
-
<route :comp="{name: 'login'}"></route>
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<app-base class="bg">
|
|
4
|
+
<div class='flex'>
|
|
5
|
+
<article>
|
|
6
|
+
<route :comp="{name: 'login'}"></route>
|
|
7
|
+
</article>
|
|
8
|
+
</div>
|
|
9
|
+
</app-base>
|
|
10
|
+
</div>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
export default {
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
}
|
|
20
|
+
</script>
|
package/src/applyAndroid.js
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import Vue from 'vue'
|
|
2
|
-
import { all } from 'vue-client'
|
|
3
|
-
Vue.config.silent = true
|
|
4
|
-
import ApplyGetSaleParam from './stores/ApplyGetSaleParams'
|
|
5
|
-
import ApplyLoadParams from './stores/ApplyLoadParams'
|
|
6
|
-
/** ****************服务插件*********************/
|
|
7
|
-
|
|
8
|
-
export default function () {
|
|
9
|
-
Vue.use(ApplyGetSaleParam)
|
|
10
|
-
Vue.use(ApplyLoadParams)
|
|
11
|
-
/** ***************************报建模块*********************************/
|
|
12
|
-
// 报建 总入口
|
|
13
|
-
Vue.component('app-exploration-user', (resolve) => { require(['./components/android/Process/AppExplorationUser'], resolve) })
|
|
14
|
-
Vue.component('app-service-control', (resolve) => { require(['./components/android/Process/AppServiceControl'], resolve) })
|
|
15
|
-
Vue.component('app-process-supervisory', (resolve) => { require(['./components/android/Supervisory/AppProcessSupervisory'], resolve) })
|
|
16
|
-
Vue.component('app-supervisory-cart', (resolve) => { require(['./components/android/Supervisory/AppSupervisoryCart'], resolve) })
|
|
17
|
-
Vue.component('app-istall-function', (resolve) => { require(['./components/android/Function/AppInstallFunction'], resolve) })
|
|
18
|
-
Vue.component('app-function-service-control', (resolve) => { require(['./components/android/Function/AppFunctionServiceControl'], resolve) })
|
|
19
|
-
|
|
20
|
-
Vue.component('app-sign', (resolve) => { require(['./components/android/AppSign'], resolve) })
|
|
21
|
-
Vue.component('app-take-pic', (resolve) => { require(['./components/android/AppTakePic'], resolve) })
|
|
22
|
-
Vue.component('app-service-view', (resolve) => { require(['./components/android/AppServiceView'], resolve) })
|
|
23
|
-
Vue.component('app-onetomany', (resolve) => { require(['./components/android/AppOnetomany'], resolve) })
|
|
24
|
-
|
|
25
|
-
Vue.component('app-installation-details', (resolve) => { require(['./components/android/Process/Processes/AppInstallationDetails'], resolve) })
|
|
26
|
-
Vue.component('app-apply-devices-management', (resolve) => { require(['./components/android/Process/Processes/AppDevicesManagement'], resolve) })
|
|
27
|
-
Vue.component('app-charge-management', (resolve) => { require(['./components/android/Process/Processes/AppChargeManagement'], resolve) })
|
|
28
|
-
Vue.component('app-supplemental-agreement', (resolve) => { require(['./components/android/Process/Processes/AppSupplementalAgreement'], resolve) })
|
|
29
|
-
// 选择用户信息
|
|
30
|
-
Vue.component('select-userinfo', (resolve) => { require(['./components/android/Process/Processes/selectUserinfo'], resolve) })
|
|
31
|
-
// 选择报建项目
|
|
32
|
-
Vue.component('select-apply', (resolve) => { require(['./components/android/Process/Processes/selectApply'], resolve) })
|
|
33
|
-
Vue.component('app-build-sign', (resolve) => { require(['./components/android/Process/Processes/AppBuildSign'], resolve) })
|
|
34
|
-
|
|
35
|
-
// 区域 地址下拉框联动组件
|
|
36
|
-
Vue.component('app-res-area-select', (resolve) => { require(['./components/android/AreaSelect/AppResAreaSelect'], resolve) })
|
|
37
|
-
Vue.component('app-res-area-select-group', (resolve) => { require(['./components/android/AreaSelect/AppResAreaSelectGroup'], resolve) })
|
|
38
|
-
Vue.component('area-select', (resolve) => { require(['./components/product/AreaSelect/MyAreaSelect'], resolve) })
|
|
39
|
-
Vue.component('apply-print-charge', (resolve) => { require(['./components/product/Process/Processes/Print/printCharge'], resolve) })
|
|
40
|
-
//地图组件
|
|
41
|
-
Vue.component('app-res-area-map-group', (resolve) => { require(['./components/android/AreaSelect/AppResAreaMapGroup'], resolve) })
|
|
42
|
-
}
|
|
1
|
+
import Vue from 'vue'
|
|
2
|
+
import { all } from 'vue-client'
|
|
3
|
+
Vue.config.silent = true
|
|
4
|
+
import ApplyGetSaleParam from './stores/ApplyGetSaleParams'
|
|
5
|
+
import ApplyLoadParams from './stores/ApplyLoadParams'
|
|
6
|
+
/** ****************服务插件*********************/
|
|
7
|
+
|
|
8
|
+
export default function () {
|
|
9
|
+
Vue.use(ApplyGetSaleParam)
|
|
10
|
+
Vue.use(ApplyLoadParams)
|
|
11
|
+
/** ***************************报建模块*********************************/
|
|
12
|
+
// 报建 总入口
|
|
13
|
+
Vue.component('app-exploration-user', (resolve) => { require(['./components/android/Process/AppExplorationUser'], resolve) })
|
|
14
|
+
Vue.component('app-service-control', (resolve) => { require(['./components/android/Process/AppServiceControl'], resolve) })
|
|
15
|
+
Vue.component('app-process-supervisory', (resolve) => { require(['./components/android/Supervisory/AppProcessSupervisory'], resolve) })
|
|
16
|
+
Vue.component('app-supervisory-cart', (resolve) => { require(['./components/android/Supervisory/AppSupervisoryCart'], resolve) })
|
|
17
|
+
Vue.component('app-istall-function', (resolve) => { require(['./components/android/Function/AppInstallFunction'], resolve) })
|
|
18
|
+
Vue.component('app-function-service-control', (resolve) => { require(['./components/android/Function/AppFunctionServiceControl'], resolve) })
|
|
19
|
+
|
|
20
|
+
Vue.component('app-sign', (resolve) => { require(['./components/android/AppSign'], resolve) })
|
|
21
|
+
Vue.component('app-take-pic', (resolve) => { require(['./components/android/AppTakePic'], resolve) })
|
|
22
|
+
Vue.component('app-service-view', (resolve) => { require(['./components/android/AppServiceView'], resolve) })
|
|
23
|
+
Vue.component('app-onetomany', (resolve) => { require(['./components/android/AppOnetomany'], resolve) })
|
|
24
|
+
|
|
25
|
+
Vue.component('app-installation-details', (resolve) => { require(['./components/android/Process/Processes/AppInstallationDetails'], resolve) })
|
|
26
|
+
Vue.component('app-apply-devices-management', (resolve) => { require(['./components/android/Process/Processes/AppDevicesManagement'], resolve) })
|
|
27
|
+
Vue.component('app-charge-management', (resolve) => { require(['./components/android/Process/Processes/AppChargeManagement'], resolve) })
|
|
28
|
+
Vue.component('app-supplemental-agreement', (resolve) => { require(['./components/android/Process/Processes/AppSupplementalAgreement'], resolve) })
|
|
29
|
+
// 选择用户信息
|
|
30
|
+
Vue.component('select-userinfo', (resolve) => { require(['./components/android/Process/Processes/selectUserinfo'], resolve) })
|
|
31
|
+
// 选择报建项目
|
|
32
|
+
Vue.component('select-apply', (resolve) => { require(['./components/android/Process/Processes/selectApply'], resolve) })
|
|
33
|
+
Vue.component('app-build-sign', (resolve) => { require(['./components/android/Process/Processes/AppBuildSign'], resolve) })
|
|
34
|
+
|
|
35
|
+
// 区域 地址下拉框联动组件
|
|
36
|
+
Vue.component('app-res-area-select', (resolve) => { require(['./components/android/AreaSelect/AppResAreaSelect'], resolve) })
|
|
37
|
+
Vue.component('app-res-area-select-group', (resolve) => { require(['./components/android/AreaSelect/AppResAreaSelectGroup'], resolve) })
|
|
38
|
+
Vue.component('area-select', (resolve) => { require(['./components/product/AreaSelect/MyAreaSelect'], resolve) })
|
|
39
|
+
Vue.component('apply-print-charge', (resolve) => { require(['./components/product/Process/Processes/Print/printCharge'], resolve) })
|
|
40
|
+
//地图组件
|
|
41
|
+
Vue.component('app-res-area-map-group', (resolve) => { require(['./components/android/AreaSelect/AppResAreaMapGroup'], resolve) })
|
|
42
|
+
}
|
|
@@ -1,143 +1,154 @@
|
|
|
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.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
this
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
HostApp.__this__
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
let
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
console.log('
|
|
96
|
-
let
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
this.
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
.
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
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','blobid','type', 'defname'],
|
|
24
|
+
data () {
|
|
25
|
+
return {
|
|
26
|
+
f_sign_path: null,
|
|
27
|
+
fileName: null
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
ready () {
|
|
31
|
+
console.log('在ready里打印一下this.filePath',this.filePath)
|
|
32
|
+
this.f_sign_path = this.filePath
|
|
33
|
+
console.log('在ready里打印一下this.f_sign_path',this.f_sign_path)
|
|
34
|
+
// this.getFiles()
|
|
35
|
+
},
|
|
36
|
+
methods: {
|
|
37
|
+
clean () {
|
|
38
|
+
this.f_sign_path = null
|
|
39
|
+
this.fileName = null
|
|
40
|
+
this.$emit('sign-clean')
|
|
41
|
+
},
|
|
42
|
+
sign () {
|
|
43
|
+
debugger
|
|
44
|
+
this.type='手机签字'
|
|
45
|
+
console.log('==============签字打印this============',this)
|
|
46
|
+
this.delAudioFile(this.f_sign_path)
|
|
47
|
+
this.fileName = guid() + '.jpg'
|
|
48
|
+
HostApp.__callback__ = this.signCallback
|
|
49
|
+
HostApp.__this__ = this
|
|
50
|
+
HostApp.getSignature({
|
|
51
|
+
file: this.fileName,
|
|
52
|
+
requestCode: 111,
|
|
53
|
+
callback: 'javascript:HostApp.__callback__("f_sign_path", "%s");'
|
|
54
|
+
})
|
|
55
|
+
},
|
|
56
|
+
// 签名回调
|
|
57
|
+
signCallback (prop, signPath) {
|
|
58
|
+
console.log('==============签字回调============')
|
|
59
|
+
console.log(signPath)
|
|
60
|
+
HostApp.__this__.$set(prop, signPath)
|
|
61
|
+
console.log(HostApp.__this__.f_sign_path)
|
|
62
|
+
|
|
63
|
+
HostApp.__this__.uploadFile()
|
|
64
|
+
|
|
65
|
+
HostApp.__callback__ = null
|
|
66
|
+
HostApp.__this__ = null
|
|
67
|
+
},
|
|
68
|
+
uploadFile () {
|
|
69
|
+
console.log('===================签字文件上传==============')
|
|
70
|
+
console.log('===================打印id==============',HostApp.__this__.blobid)
|
|
71
|
+
let data = {
|
|
72
|
+
defname:HostApp.__this__.defname,
|
|
73
|
+
type:HostApp.__this__.type,
|
|
74
|
+
blodid: HostApp.__this__.blobid,
|
|
75
|
+
username: Vue.user.name,
|
|
76
|
+
fremarks: '报装手机签字文件',
|
|
77
|
+
fileName: HostApp.__this__.fileName,
|
|
78
|
+
fileUrl: HostApp.__this__.f_sign_path
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
console.log('-----------bzLogic-----------------')
|
|
82
|
+
console.log(JSON.stringify(data))
|
|
83
|
+
let res = HostApp.bzLogic({
|
|
84
|
+
'logic': 'appFileUpload',
|
|
85
|
+
'data': data
|
|
86
|
+
})
|
|
87
|
+
console.log('===============上传回调=================')
|
|
88
|
+
console.log(JSON.stringify(res))
|
|
89
|
+
HostApp.__this__.getFiles(res.id)
|
|
90
|
+
},
|
|
91
|
+
async getFiles (fileid) {
|
|
92
|
+
debugger
|
|
93
|
+
console.log('=========进来===============')
|
|
94
|
+
let http = new HttpResetClass()
|
|
95
|
+
console.log('=========进来===============')
|
|
96
|
+
let data = {
|
|
97
|
+
tablename: 't_files',
|
|
98
|
+
condition: `f_blobid = '${this.blobid}' `
|
|
99
|
+
}
|
|
100
|
+
let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`, {data: data}, {
|
|
101
|
+
// let res = await http.load('POST', `rs/sql/singleTable`, {data: data}, {
|
|
102
|
+
warnMsg: null,
|
|
103
|
+
resolveMsg: null
|
|
104
|
+
})
|
|
105
|
+
|
|
106
|
+
console.log('=========查询回调===============')
|
|
107
|
+
let fileUrl = `${this.$androidUtil.getProxyUrl()}/${res.data[0].f_downloadpath.substring(res.data[0].f_downloadpath.lastIndexOf(":\\") + 2)}`
|
|
108
|
+
console.log(fileUrl)
|
|
109
|
+
// HostApp.__this__.$set('f_sign_path', fileUrl)
|
|
110
|
+
// HostApp.__this__.f_sign_path = fileUrl
|
|
111
|
+
this.f_sign_path = fileUrl
|
|
112
|
+
|
|
113
|
+
this.$emit('sign-success', fileUrl)
|
|
114
|
+
},
|
|
115
|
+
delAudioFile (signPath) {
|
|
116
|
+
if (!signPath) {
|
|
117
|
+
return
|
|
118
|
+
}
|
|
119
|
+
HostApp.delfile(signPath)
|
|
120
|
+
this.f_sign_path = null
|
|
121
|
+
this.fileName = null
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
events: {
|
|
125
|
+
},
|
|
126
|
+
computed: {
|
|
127
|
+
},
|
|
128
|
+
watch: {
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
</script>
|
|
132
|
+
<style scoped lang="less">
|
|
133
|
+
.qrcode {
|
|
134
|
+
display: inline-block !important;
|
|
135
|
+
margin: 10px 0px;
|
|
136
|
+
}
|
|
137
|
+
.panel-self{
|
|
138
|
+
border-radius: 10px;
|
|
139
|
+
border:1px solid #499EDF;
|
|
140
|
+
background-color: #F8F8F8;
|
|
141
|
+
}
|
|
142
|
+
.vertical-center {
|
|
143
|
+
display: flex;
|
|
144
|
+
align-items: center;
|
|
145
|
+
text-align: center;
|
|
146
|
+
}
|
|
147
|
+
/*清除model中的浮动*/
|
|
148
|
+
.clearfix:after,.clearfix:before{
|
|
149
|
+
display: table;
|
|
150
|
+
}
|
|
151
|
+
.clearfix:after{
|
|
152
|
+
clear: both;
|
|
153
|
+
}
|
|
154
|
+
</style>
|