apply-clients 3.4.2-FuGu-15 → 3.4.2-FuGu-18
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 +4 -4
- package/package.json +1 -1
- package/src/components/android/AppTakePic.vue +143 -143
- package/src/components/android/Process/AppServiceControl.vue +66 -36
- package/src/components/android/Process/Processes/AppInstallationDetails.vue +448 -456
- package/src/components/product/Function/Service/FunctionServiceControl.vue +443 -420
- package/src/components/product/Process/Service/ServiceControl.vue +24 -9
- package/src/components/product/Stop/StopApplyList.vue +269 -269
- package/src/components/product/Supervisory/SupervisoryList.vue +2 -2
- package/src/components/product/VueUtils/ApplyUpload.vue +273 -273
package/build/dev-server.js
CHANGED
|
@@ -6,10 +6,10 @@ var proxyMiddleware = require('http-proxy-middleware')
|
|
|
6
6
|
var app = express()
|
|
7
7
|
var compiler = webpack(config)
|
|
8
8
|
// var proxy = httpProxy.createProxyServer()
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var ldap = 'http://192.168.50.4:8400'
|
|
12
|
-
var applyinstall = 'http://127.0.0.1:8082'
|
|
9
|
+
var ldap = 'http://124.70.12.19:8400'
|
|
10
|
+
var applyinstall = 'http://124.70.12.19:8400'
|
|
11
|
+
// var ldap = 'http://192.168.50.4:8400'
|
|
12
|
+
// var applyinstall = 'http://127.0.0.1:8082'
|
|
13
13
|
|
|
14
14
|
var proxyTable = {
|
|
15
15
|
'/rs/logic/getSaleInitData': {
|
package/package.json
CHANGED
|
@@ -1,143 +1,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
|
-
<div class="col-xs-4 col-sm-3 col-md-2 col-xs-offset-1 col-sm-offset-1 col-md-offset-1" v-for="(index,file) in fileList">
|
|
6
|
-
<img-self :src="file.f_downloadURL" :width="120" :height="170"></img-self>
|
|
7
|
-
<img v-if="isdelete" src="../../../src/assets/删除.png" style="width: 15px;margin-top: -80px" @click.prevent="delfile(file, index)">
|
|
8
|
-
</div>
|
|
9
|
-
</div>
|
|
10
|
-
<div class="row text-right form-group" v-if="istakepic">
|
|
11
|
-
<v-select
|
|
12
|
-
class="fileType"
|
|
13
|
-
placeholder="请选择使用类型"
|
|
14
|
-
v-if="istype"
|
|
15
|
-
:search="false"
|
|
16
|
-
close-on-select
|
|
17
|
-
value-single
|
|
18
|
-
:options="typeList"
|
|
19
|
-
v-model="type"
|
|
20
|
-
:value.sync="type"
|
|
21
|
-
></v-select>
|
|
22
|
-
<button class="btn" style="background-color: #7dc1f4;border-radius: 5px;margin-right: 10px" @click.prevent="takePic(type)">拍照</button>
|
|
23
|
-
</div>
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
</template>
|
|
27
|
-
|
|
28
|
-
<script>
|
|
29
|
-
import {HttpResetClass} from 'vue-client'
|
|
30
|
-
import {guid, toStandardTimeString} from '../Util'
|
|
31
|
-
import Vue from 'vue'
|
|
32
|
-
export default {
|
|
33
|
-
title: '附件',
|
|
34
|
-
props: ['blobid', 'type', 'defname', 'istype', 'typelabel', 'isdelete', 'istakepic'],
|
|
35
|
-
data () {
|
|
36
|
-
return {
|
|
37
|
-
fileList: []
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
ready () {
|
|
41
|
-
this.getFiles()
|
|
42
|
-
},
|
|
43
|
-
methods: {
|
|
44
|
-
async getFiles () {
|
|
45
|
-
console.log('----------------开始查询图片----------------')
|
|
46
|
-
this.fileList = []
|
|
47
|
-
|
|
48
|
-
let http = new HttpResetClass()
|
|
49
|
-
|
|
50
|
-
let data = {
|
|
51
|
-
tablename: 't_files',
|
|
52
|
-
condition: `f_blobid = '${this.blobid}' and fremarks = '手机拍照' order by f_uploaddate desc `
|
|
53
|
-
}
|
|
54
|
-
let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`, {data: data}, {
|
|
55
|
-
// let res = await http.load('POST', `rs/sql/singleTable`, {data: data}, {
|
|
56
|
-
warnMsg: null,
|
|
57
|
-
resolveMsg: null
|
|
58
|
-
})
|
|
59
|
-
|
|
60
|
-
for (var i = 0; i < res.data.length; i++) {
|
|
61
|
-
console.log('-----------地址----------------')
|
|
62
|
-
console.log(`${this.$androidUtil.getProxyUrl()}/${res.data[i].f_downloadpath.substring(res.data[i].f_downloadpath.lastIndexOf(":\\") + 2)}`)
|
|
63
|
-
res.data[i].f_downloadURL = `${this.$androidUtil.getProxyUrl()}/${res.data[i].f_downloadpath.substring(res.data[i].f_downloadpath.lastIndexOf(":\\") + 2)}`
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
this.fileList = res.data
|
|
67
|
-
},
|
|
68
|
-
delfile (file, index) {
|
|
69
|
-
this.$resetdelete(`${this.$androidUtil.getProxyUrl()}/rs/entity/t_files`, {id: file.id}, {resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
|
|
70
|
-
this.$dispatch("delResid", file.id)
|
|
71
|
-
this.getFiles()
|
|
72
|
-
})
|
|
73
|
-
},
|
|
74
|
-
takePic (title) {
|
|
75
|
-
// 拍照成功回调
|
|
76
|
-
HostApp.__callback__ = this.cameraCallBack
|
|
77
|
-
HostApp.__this__ = this
|
|
78
|
-
let fileName = guid() + '.jpg'
|
|
79
|
-
// 打开相机
|
|
80
|
-
HostApp._open_a_page({
|
|
81
|
-
type: 'boomerang',
|
|
82
|
-
page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
|
|
83
|
-
param: {
|
|
84
|
-
file: fileName,
|
|
85
|
-
requestCode: 200,
|
|
86
|
-
callback: 'javascript:HostApp.__callback__("' + fileName + '", "%s");',
|
|
87
|
-
watermark: title + '\t时间:' + toStandardTimeString() + '\t' + Vue.user.name // 水印
|
|
88
|
-
}
|
|
89
|
-
})
|
|
90
|
-
},
|
|
91
|
-
cameraCallBack (fileName, fileUrl) {
|
|
92
|
-
console.log('-----------cameraCallBack-----------------')
|
|
93
|
-
|
|
94
|
-
let data = {
|
|
95
|
-
blodid: HostApp.__this__.blobid,
|
|
96
|
-
type: HostApp.__this__.type,
|
|
97
|
-
defname: HostApp.__this__.defname,
|
|
98
|
-
username: Vue.user.name,
|
|
99
|
-
fremarks: '手机拍照',
|
|
100
|
-
fileName: fileName,
|
|
101
|
-
fileUrl: fileUrl
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
console.log('-----------bzLogic-----------------')
|
|
105
|
-
HostApp.bzLogic({
|
|
106
|
-
'logic': 'appFileUpload',
|
|
107
|
-
'data': data
|
|
108
|
-
})
|
|
109
|
-
|
|
110
|
-
console.log('----------------开始回调查询-------------------')
|
|
111
|
-
HostApp.__this__.getFiles()
|
|
112
|
-
console.log('----------------查询回调结束-------------------')
|
|
113
|
-
|
|
114
|
-
HostApp.__callback__ = null
|
|
115
|
-
HostApp.__this__ = null
|
|
116
|
-
}
|
|
117
|
-
},
|
|
118
|
-
computed: {
|
|
119
|
-
typeList () {
|
|
120
|
-
if (this.typelabel) {
|
|
121
|
-
return this.$appdata.getParam(this.typelabel)
|
|
122
|
-
}
|
|
123
|
-
return this.$appdata.getParam('
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
|
-
events: {
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
</script>
|
|
130
|
-
|
|
131
|
-
<style lang="less">
|
|
132
|
-
.fileType {
|
|
133
|
-
float: left;
|
|
134
|
-
.select-style {
|
|
135
|
-
background: #f8f8f8;
|
|
136
|
-
border: 0px;
|
|
137
|
-
}
|
|
138
|
-
input {
|
|
139
|
-
border-left: none;
|
|
140
|
-
width: 100%;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
</style>
|
|
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
|
+
<div class="col-xs-4 col-sm-3 col-md-2 col-xs-offset-1 col-sm-offset-1 col-md-offset-1" v-for="(index,file) in fileList">
|
|
6
|
+
<img-self :src="file.f_downloadURL" :width="120" :height="170"></img-self>
|
|
7
|
+
<img v-if="isdelete" src="../../../src/assets/删除.png" style="width: 15px;margin-top: -80px" @click.prevent="delfile(file, index)">
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="row text-right form-group" v-if="istakepic">
|
|
11
|
+
<v-select
|
|
12
|
+
class="fileType"
|
|
13
|
+
placeholder="请选择使用类型"
|
|
14
|
+
v-if="istype"
|
|
15
|
+
:search="false"
|
|
16
|
+
close-on-select
|
|
17
|
+
value-single
|
|
18
|
+
:options="typeList"
|
|
19
|
+
v-model="type"
|
|
20
|
+
:value.sync="type"
|
|
21
|
+
></v-select>
|
|
22
|
+
<button class="btn" style="background-color: #7dc1f4;border-radius: 5px;margin-right: 10px" @click.prevent="takePic(type)">拍照</button>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
</template>
|
|
27
|
+
|
|
28
|
+
<script>
|
|
29
|
+
import {HttpResetClass} from 'vue-client'
|
|
30
|
+
import {guid, toStandardTimeString} from '../Util'
|
|
31
|
+
import Vue from 'vue'
|
|
32
|
+
export default {
|
|
33
|
+
title: '附件',
|
|
34
|
+
props: ['blobid', 'type', 'defname', 'istype', 'typelabel', 'isdelete', 'istakepic'],
|
|
35
|
+
data () {
|
|
36
|
+
return {
|
|
37
|
+
fileList: []
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
ready () {
|
|
41
|
+
this.getFiles()
|
|
42
|
+
},
|
|
43
|
+
methods: {
|
|
44
|
+
async getFiles () {
|
|
45
|
+
console.log('----------------开始查询图片----------------')
|
|
46
|
+
this.fileList = []
|
|
47
|
+
|
|
48
|
+
let http = new HttpResetClass()
|
|
49
|
+
|
|
50
|
+
let data = {
|
|
51
|
+
tablename: 't_files',
|
|
52
|
+
condition: `f_blobid = '${this.blobid}' and fremarks = '手机拍照' order by f_uploaddate desc `
|
|
53
|
+
}
|
|
54
|
+
let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`, {data: data}, {
|
|
55
|
+
// let res = await http.load('POST', `rs/sql/singleTable`, {data: data}, {
|
|
56
|
+
warnMsg: null,
|
|
57
|
+
resolveMsg: null
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
for (var i = 0; i < res.data.length; i++) {
|
|
61
|
+
console.log('-----------地址----------------')
|
|
62
|
+
console.log(`${this.$androidUtil.getProxyUrl()}/${res.data[i].f_downloadpath.substring(res.data[i].f_downloadpath.lastIndexOf(":\\") + 2)}`)
|
|
63
|
+
res.data[i].f_downloadURL = `${this.$androidUtil.getProxyUrl()}/${res.data[i].f_downloadpath.substring(res.data[i].f_downloadpath.lastIndexOf(":\\") + 2)}`
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
this.fileList = res.data
|
|
67
|
+
},
|
|
68
|
+
delfile (file, index) {
|
|
69
|
+
this.$resetdelete(`${this.$androidUtil.getProxyUrl()}/rs/entity/t_files`, {id: file.id}, {resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
|
|
70
|
+
this.$dispatch("delResid", file.id)
|
|
71
|
+
this.getFiles()
|
|
72
|
+
})
|
|
73
|
+
},
|
|
74
|
+
takePic (title) {
|
|
75
|
+
// 拍照成功回调
|
|
76
|
+
HostApp.__callback__ = this.cameraCallBack
|
|
77
|
+
HostApp.__this__ = this
|
|
78
|
+
let fileName = guid() + '.jpg'
|
|
79
|
+
// 打开相机
|
|
80
|
+
HostApp._open_a_page({
|
|
81
|
+
type: 'boomerang',
|
|
82
|
+
page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
|
|
83
|
+
param: {
|
|
84
|
+
file: fileName,
|
|
85
|
+
requestCode: 200,
|
|
86
|
+
callback: 'javascript:HostApp.__callback__("' + fileName + '", "%s");',
|
|
87
|
+
watermark: title + '\t时间:' + toStandardTimeString() + '\t' + Vue.user.name // 水印
|
|
88
|
+
}
|
|
89
|
+
})
|
|
90
|
+
},
|
|
91
|
+
cameraCallBack (fileName, fileUrl) {
|
|
92
|
+
console.log('-----------cameraCallBack-----------------')
|
|
93
|
+
|
|
94
|
+
let data = {
|
|
95
|
+
blodid: HostApp.__this__.blobid,
|
|
96
|
+
type: HostApp.__this__.type,
|
|
97
|
+
defname: HostApp.__this__.defname,
|
|
98
|
+
username: Vue.user.name,
|
|
99
|
+
fremarks: '手机拍照',
|
|
100
|
+
fileName: fileName,
|
|
101
|
+
fileUrl: fileUrl
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
console.log('-----------bzLogic-----------------')
|
|
105
|
+
HostApp.bzLogic({
|
|
106
|
+
'logic': 'appFileUpload',
|
|
107
|
+
'data': data
|
|
108
|
+
})
|
|
109
|
+
|
|
110
|
+
console.log('----------------开始回调查询-------------------')
|
|
111
|
+
HostApp.__this__.getFiles()
|
|
112
|
+
console.log('----------------查询回调结束-------------------')
|
|
113
|
+
|
|
114
|
+
HostApp.__callback__ = null
|
|
115
|
+
HostApp.__this__ = null
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
computed: {
|
|
119
|
+
typeList () {
|
|
120
|
+
if (this.typelabel) {
|
|
121
|
+
return this.$appdata.getParam(this.typelabel)
|
|
122
|
+
}
|
|
123
|
+
return this.$appdata.getParam('文件类型')
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
events: {
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
</script>
|
|
130
|
+
|
|
131
|
+
<style lang="less">
|
|
132
|
+
.fileType {
|
|
133
|
+
float: left;
|
|
134
|
+
.select-style {
|
|
135
|
+
background: #f8f8f8;
|
|
136
|
+
border: 0px;
|
|
137
|
+
}
|
|
138
|
+
input {
|
|
139
|
+
border-left: none;
|
|
140
|
+
width: 100%;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
</style>
|
|
@@ -282,14 +282,6 @@ export default {
|
|
|
282
282
|
})
|
|
283
283
|
}
|
|
284
284
|
}
|
|
285
|
-
if (this.selectdata.f_apply_source === '微信公众号' && this.selectdata.defname === '现场勘察') {
|
|
286
|
-
for (const item of this.selectdata.fields) {
|
|
287
|
-
if (item.label==='预约地址' || item.label==='地址类型' || item.label==='片区' || item.label==='区/县' || item.label==='街道' || item.label==='小区') {
|
|
288
|
-
item.hidden = false
|
|
289
|
-
item.required = true
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
285
|
// 消除双向绑定,避免子组件(显示层)数据更改,父组件(控制层)也更改
|
|
294
286
|
let temp = JSON.parse(JSON.stringify(this.selectdata))
|
|
295
287
|
|
|
@@ -297,6 +289,20 @@ export default {
|
|
|
297
289
|
this.$nextTick(() => {
|
|
298
290
|
this.showview = true
|
|
299
291
|
})
|
|
292
|
+
if (this.show_data.f_apply_source === '微信公众号' && this.show_data.defname === '现场勘察') {
|
|
293
|
+
for (const item of this.show_data.fields) {
|
|
294
|
+
if (item.label==='预约地址' || item.label==='地址类型' || item.label==='片区' || item.label==='区/县' || item.label==='街道' || item.label==='小区') {
|
|
295
|
+
item.hidden = false
|
|
296
|
+
item.required = true
|
|
297
|
+
}
|
|
298
|
+
if (item.label==='区/县' && item.value !== null && item.value !==''){
|
|
299
|
+
this.pcdChange()
|
|
300
|
+
}
|
|
301
|
+
if (item.label==='街道' && item.value !== null && item.value !==''){
|
|
302
|
+
this.streetChange()
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
300
306
|
},
|
|
301
307
|
// 金额转大写
|
|
302
308
|
smalltoBIG(n) {
|
|
@@ -472,13 +478,11 @@ export default {
|
|
|
472
478
|
}
|
|
473
479
|
}))
|
|
474
480
|
},
|
|
475
|
-
async
|
|
481
|
+
async streetChange () {
|
|
476
482
|
if (isEmpty(this.show_data.f_street)) {
|
|
477
483
|
return
|
|
478
484
|
}
|
|
479
485
|
|
|
480
|
-
this.setLabelValue('小区', null)
|
|
481
|
-
|
|
482
486
|
let data = {
|
|
483
487
|
tablename: 't_area',
|
|
484
488
|
condition: `f_filialeid = '${Vue.user.orgid}' and f_street = '${this.show_data.f_street}'`
|
|
@@ -498,31 +502,6 @@ export default {
|
|
|
498
502
|
}
|
|
499
503
|
}))
|
|
500
504
|
},
|
|
501
|
-
// 搜索小区
|
|
502
|
-
async 'searchArea' (area, index) {
|
|
503
|
-
let data = {
|
|
504
|
-
tablename: 't_area',
|
|
505
|
-
condition: `f_filialeid = '${Vue.user.orgid}' and f_street = '${this.show_data.f_street}' and f_residential_area like '%${area}%'`
|
|
506
|
-
}
|
|
507
|
-
let http = new HttpResetClass()
|
|
508
|
-
let res = await http.load(
|
|
509
|
-
'POST',
|
|
510
|
-
`${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`,
|
|
511
|
-
{data: data},
|
|
512
|
-
{resolveMsg: null, rejectMsg: '小区查询失败!!!'}
|
|
513
|
-
)
|
|
514
|
-
|
|
515
|
-
if (res.data.length === 0) {
|
|
516
|
-
return
|
|
517
|
-
}
|
|
518
|
-
|
|
519
|
-
this.setLabelOptions('小区', res.data.map(item => {
|
|
520
|
-
return {
|
|
521
|
-
label: item.f_residential_area,
|
|
522
|
-
value: item.f_residential_area
|
|
523
|
-
}
|
|
524
|
-
}))
|
|
525
|
-
},
|
|
526
505
|
// 缴费前置
|
|
527
506
|
chargeBefore () {
|
|
528
507
|
if (Number(this.show_data.f_due_money) > Number(this.show_data.f_cumulative_payment_money) || Number(this.show_data.f_surplus_money) > 0) {
|
|
@@ -647,6 +626,57 @@ export default {
|
|
|
647
626
|
}
|
|
648
627
|
}
|
|
649
628
|
},
|
|
629
|
+
async 'streetChange' (index) {
|
|
630
|
+
if (isEmpty(this.show_data.f_street)) {
|
|
631
|
+
return
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
this.setLabelValue('小区', null)
|
|
635
|
+
|
|
636
|
+
let data = {
|
|
637
|
+
tablename: 't_area',
|
|
638
|
+
condition: `f_filialeid = '${Vue.user.orgid}' and f_street = '${this.show_data.f_street}'`
|
|
639
|
+
}
|
|
640
|
+
let http = new HttpResetClass()
|
|
641
|
+
let res = await http.load(
|
|
642
|
+
'POST',
|
|
643
|
+
`${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`,
|
|
644
|
+
{data: data},
|
|
645
|
+
{resolveMsg: null, rejectMsg: '小区查询失败!!!'}
|
|
646
|
+
)
|
|
647
|
+
|
|
648
|
+
this.setLabelOptions('小区', res.data.map(item => {
|
|
649
|
+
return {
|
|
650
|
+
label: item.f_residential_area,
|
|
651
|
+
value: item.f_residential_area
|
|
652
|
+
}
|
|
653
|
+
}))
|
|
654
|
+
},
|
|
655
|
+
// 搜索小区
|
|
656
|
+
async 'searchArea' (area, index) {
|
|
657
|
+
let data = {
|
|
658
|
+
tablename: 't_area',
|
|
659
|
+
condition: `f_filialeid = '${Vue.user.orgid}' and f_street = '${this.show_data.f_street}' and f_residential_area like '%${area}%'`
|
|
660
|
+
}
|
|
661
|
+
let http = new HttpResetClass()
|
|
662
|
+
let res = await http.load(
|
|
663
|
+
'POST',
|
|
664
|
+
`${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`,
|
|
665
|
+
{data: data},
|
|
666
|
+
{resolveMsg: null, rejectMsg: '小区查询失败!!!'}
|
|
667
|
+
)
|
|
668
|
+
|
|
669
|
+
if (res.data.length === 0) {
|
|
670
|
+
return
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
this.setLabelOptions('小区', res.data.map(item => {
|
|
674
|
+
return {
|
|
675
|
+
label: item.f_residential_area,
|
|
676
|
+
value: item.f_residential_area
|
|
677
|
+
}
|
|
678
|
+
}))
|
|
679
|
+
},
|
|
650
680
|
// 打开模态框获取材料
|
|
651
681
|
async 'getMaterialName' (index) {
|
|
652
682
|
let data = {
|