apply-clients 3.3.43 → 3.3.47
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/package.json +3 -3
- package/src/AndroidApp.vue +35 -30
- package/src/apply.js +6 -2
- package/src/applyAndroid.js +3 -0
- package/src/components/android/AppServiceView.vue +1 -7
- package/src/components/android/AppSign.vue +142 -0
- package/src/components/android/Process/AppExplorationUser.vue +35 -1
- package/src/components/android/Process/AppServiceControl.vue +757 -757
- package/src/components/android/Process/Processes/AppBuildSign.vue +46 -0
- 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 +39 -14
- package/src/components/product/Process/ExplorationUser.vue +9 -0
- package/src/components/product/ServiceView.vue +1 -8
- package/src/components/product/Supervisory/SupervisoryhCart.vue +130 -124
- package/src/components/product/VueUtils/ApplyUpload.vue +273 -262
- package/src/components/product/VueUtils/HighMeter.vue +208 -0
- package/src/components/product/Process/Processes/Print/printBuildOrder.vue +0 -193
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apply-clients",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.47",
|
|
4
4
|
"description": "报建前端模块",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"directories": {
|
|
@@ -93,9 +93,9 @@
|
|
|
93
93
|
"style": "0.0.3",
|
|
94
94
|
"style-loader": "^0.20.3",
|
|
95
95
|
"system-clients": "3.1.87",
|
|
96
|
-
"system-phone": "1.
|
|
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/AndroidApp.vue
CHANGED
|
@@ -1,30 +1,35 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<!-- <app-base> -->
|
|
3
|
-
<div id="android-app">
|
|
4
|
-
<article>
|
|
5
|
-
<route :comp="{name: 'app-exploration-user'}" name="root"></route>
|
|
6
|
-
<!-- <route :comp="{name: 'app-process-supervisory'}" name="root"></route>-->
|
|
7
|
-
<!-- <route :comp="{name: 'apply-reserve'}" name="root"></route>-->
|
|
8
|
-
<!-- <route :comp="{name: 'task-graph'}" name="root"></route>-->
|
|
9
|
-
<!-- <route :comp="{name: 'app-istall-function'}" name="root"></route>-->
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
<
|
|
13
|
-
<
|
|
14
|
-
<alert-box
|
|
15
|
-
|
|
16
|
-
</
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
1
|
+
<template>
|
|
2
|
+
<!-- <app-base> -->
|
|
3
|
+
<div id="android-app">
|
|
4
|
+
<article>
|
|
5
|
+
<route :comp="{name: 'app-exploration-user'}" name="root"></route>
|
|
6
|
+
<!-- <route :comp="{name: 'app-process-supervisory'}" name="root"></route>-->
|
|
7
|
+
<!-- <route :comp="{name: 'apply-reserve'}" name="root"></route>-->
|
|
8
|
+
<!-- <route :comp="{name: 'task-graph'}" name="root"></route>-->
|
|
9
|
+
<!-- <route :comp="{name: 'app-istall-function'}" name="root"></route>-->
|
|
10
|
+
<!-- <route :comp="{name: 'login-app'}" name="root"></route>-->
|
|
11
|
+
</article>
|
|
12
|
+
<time-out></time-out>
|
|
13
|
+
<message-box></message-box>
|
|
14
|
+
<alert-box></alert-box>
|
|
15
|
+
<alert-box-batch></alert-box-batch>
|
|
16
|
+
</div>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script>
|
|
20
|
+
|
|
21
|
+
import AlertBox from "vue-client/src/components/AlertBox";
|
|
22
|
+
import AlertBoxBatch from "vue-client/src/components/AlertBoxBatch";
|
|
23
|
+
|
|
24
|
+
export default {
|
|
25
|
+
ready () {
|
|
26
|
+
if(!window.onerror) {
|
|
27
|
+
window.onerror = function (message, file, line, col, error) {
|
|
28
|
+
// HostApp.alert("Error occured: " + error.message)
|
|
29
|
+
return false
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
components: { AlertBox, AlertBoxBatch }
|
|
34
|
+
}
|
|
35
|
+
</script>
|
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
|
// 选择用户信息
|
|
@@ -76,7 +76,8 @@ export default function () {
|
|
|
76
76
|
Vue.component('back-page', (resolve) => { require(['./components/product/VueUtils/ToolsPage'], resolve) })
|
|
77
77
|
Vue.component('tree2', (resolve) => { require(['./components/product/VueUtils/Tree'], resolve) })
|
|
78
78
|
Vue.component('apply-upload', (resolve) => { require(['./components/product/VueUtils/ApplyUpload'], resolve) })
|
|
79
|
-
Vue.component('apply-high-meter', (resolve) => { require(['./components/product/VueUtils/GaoPaiYi/HighMeter'], resolve) })
|
|
79
|
+
// Vue.component('apply-high-meter', (resolve) => { require(['./components/product/VueUtils/GaoPaiYi/HighMeter'], resolve) })
|
|
80
|
+
Vue.component('apply-high-meter', (resolve) => { require(['./components/product/VueUtils/HighMeter'], resolve) })
|
|
80
81
|
|
|
81
82
|
// 旧报装处理入口
|
|
82
83
|
Vue.component('old-apply', (resolve) => { require(['./components/product/OldApply/OldApply'], resolve) })
|
|
@@ -86,4 +87,7 @@ export default function () {
|
|
|
86
87
|
|
|
87
88
|
Vue.component('apply-material-detailed', (resolve) => { require(['./components/product/Material/MaterialDetailed'], resolve) })
|
|
88
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) })
|
|
89
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
|
}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<work-busy :is-busy="showWork" v-show="showWork"></work-busy>
|
|
3
|
-
|
|
4
2
|
<div class="form-horizontal select-overspread">
|
|
5
3
|
<div v-for="(index,item) in data.fields">
|
|
6
4
|
<!--input-->
|
|
@@ -279,8 +277,7 @@ export default {
|
|
|
279
277
|
model: {}, // 公司等属性
|
|
280
278
|
disable_button: true, // 控制按钮禁用
|
|
281
279
|
disable_modal_button: true, // 控制按钮禁用
|
|
282
|
-
showButModal: false
|
|
283
|
-
showWork: false
|
|
280
|
+
showButModal: false
|
|
284
281
|
}
|
|
285
282
|
},
|
|
286
283
|
watch: {
|
|
@@ -377,7 +374,6 @@ export default {
|
|
|
377
374
|
},
|
|
378
375
|
// 点击按钮组按钮
|
|
379
376
|
async click_but (button) {
|
|
380
|
-
this.showWork = true
|
|
381
377
|
this.disable_button = true
|
|
382
378
|
|
|
383
379
|
this.data.fields.forEach(item => {
|
|
@@ -388,7 +384,6 @@ export default {
|
|
|
388
384
|
|
|
389
385
|
if (button.button_fields && button.button_fields.length > 0) {
|
|
390
386
|
this.showButModal = true
|
|
391
|
-
this.showWork = false
|
|
392
387
|
return
|
|
393
388
|
}
|
|
394
389
|
|
|
@@ -399,7 +394,6 @@ export default {
|
|
|
399
394
|
}
|
|
400
395
|
},
|
|
401
396
|
confirmModal () {
|
|
402
|
-
this.showWork = true
|
|
403
397
|
this.closeModal()
|
|
404
398
|
|
|
405
399
|
this.data.button.button_fields.forEach(item => {
|
|
@@ -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>
|
|
@@ -105,6 +105,21 @@
|
|
|
105
105
|
</datepicker>
|
|
106
106
|
</div>
|
|
107
107
|
</div>
|
|
108
|
+
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
109
|
+
<label class="">稍后处理:</label>
|
|
110
|
+
<div class="col-xs-8" >
|
|
111
|
+
<v-select
|
|
112
|
+
width="100%"
|
|
113
|
+
v-model="model.f_is_later"
|
|
114
|
+
placeholder='稍后处理'
|
|
115
|
+
condition="f_is_later = '{}'"
|
|
116
|
+
:value.sync="model.f_is_later"
|
|
117
|
+
:options='$parent.$parent.laterList'
|
|
118
|
+
class="select select_list"
|
|
119
|
+
:value-single="true"
|
|
120
|
+
close-on-select ></v-select>
|
|
121
|
+
</div>
|
|
122
|
+
</div>
|
|
108
123
|
<div class="row form-group text-right" style="">
|
|
109
124
|
<button class="btn btn-primary" @click="$parent.$parent.search()">查询</button>
|
|
110
125
|
<button class="btn btn-info" @click="$parent.$parent.clear()">清空</button>
|
|
@@ -157,6 +172,7 @@
|
|
|
157
172
|
</div>
|
|
158
173
|
|
|
159
174
|
<div class="col-xs-12 text-right">
|
|
175
|
+
<button class="btn btn-info" @click="$parent.$parent.$parent.later(row)" v-if="row.f_is_later !== '是'">稍后处理</button>
|
|
160
176
|
<button class="btn btn-info" @click="$parent.$parent.$parent.click(row)">处理</button>
|
|
161
177
|
</div>
|
|
162
178
|
</div>
|
|
@@ -185,13 +201,31 @@ export default {
|
|
|
185
201
|
criteriaShow: false,
|
|
186
202
|
applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')], // 所有报建类型
|
|
187
203
|
defnames: [{label: '全部', value: ''}],
|
|
188
|
-
applyNatures: [{label: '全部', value: ''}] // 报建性质
|
|
204
|
+
applyNatures: [{label: '全部', value: ''}], // 报建性质
|
|
205
|
+
laterList: [
|
|
206
|
+
{label: '全部', value: ''},
|
|
207
|
+
{label: '是', value: '是'},
|
|
208
|
+
{label: '否', value: '否'}
|
|
209
|
+
]
|
|
189
210
|
}
|
|
190
211
|
},
|
|
191
212
|
ready () {
|
|
192
213
|
this.search()
|
|
193
214
|
},
|
|
194
215
|
methods: {
|
|
216
|
+
async later (row) {
|
|
217
|
+
let res = await this.$showMessage('您确定要将此任务加入稍后处理吗?', ['confirm'])
|
|
218
|
+
|
|
219
|
+
if (res === 'confirm') {
|
|
220
|
+
row.f_is_later = '是'
|
|
221
|
+
let res = await this.$resetpost(
|
|
222
|
+
'rs/entity/t_apply',
|
|
223
|
+
row
|
|
224
|
+
)
|
|
225
|
+
|
|
226
|
+
this.$refs.cp.$refs.cri.search()
|
|
227
|
+
}
|
|
228
|
+
},
|
|
195
229
|
dialNumber (phone) {
|
|
196
230
|
this.$showMessage(`是否拨打电话:${phone}`, ['confirm']).then((res) => {
|
|
197
231
|
if (res === 'confirm') {
|