apply-clients 3.3.79 → 3.3.84
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/.project +17 -0
- package/build/dev-server-app.js +76 -76
- package/build/dev-server.js +156 -127
- package/package.json +1 -1
- package/src/App.vue +22 -20
- package/src/apply.js +5 -0
- package/src/applyAndroid.js +39 -34
- package/src/components/android/AppOnetomany.vue +50 -8
- package/src/components/android/AppServiceView.vue +88 -8
- package/src/components/android/AppSign.vue +151 -142
- package/src/components/android/AppTakePic.vue +144 -143
- package/src/components/android/AreaSelect/AppResAreaSelect.vue +108 -0
- package/src/components/android/AreaSelect/AppResAreaSelectGroup.vue +135 -0
- package/src/components/android/Process/AppExplorationUser.vue +495 -492
- package/src/components/android/Process/AppServiceControl.vue +64 -1
- package/src/components/android/Supervisory/AppProcessSupervisory.vue +311 -311
- package/src/components/product/AreaSelect/MyAreaSelect.vue +423 -0
- package/src/components/product/AreaSelect/ResAreaSelect.vue +106 -0
- package/src/components/product/AreaSelect/ResAreaSelectGroup.vue +150 -0
- package/src/components/product/AreaSelect/utils/EventListener.js +29 -0
- package/src/components/product/AreaSelect/utils/coerceBoolean.js +7 -0
- package/src/components/product/Function/InstallInfoSelect.vue +320 -320
- package/src/components/product/Onetomany.vue +49 -7
- package/src/components/product/Print/BuildOrder/buildOrderList.vue +8 -4
- package/src/components/product/Print/BuildOrder/printBuildOrder.vue +4 -0
- package/src/components/product/Process/ExplorationSelect.vue +36 -23
- package/src/components/product/Process/Service/ServiceControl.vue +62 -0
- package/src/components/product/ServiceView.vue +276 -6
- package/src/components/product/Supervisory/SupervisoryList.vue +29 -11
- package/src/main.js +27 -27
- package/yarn.lock +0 -9013
|
@@ -151,7 +151,7 @@ import {guid, toStandardTimeString} from '../Util'
|
|
|
151
151
|
import Vue from 'vue'
|
|
152
152
|
export default {
|
|
153
153
|
title: 'onetomany',
|
|
154
|
-
props: ['onetomany', 'index'],
|
|
154
|
+
props: ['onetomany', 'index','selectdata'],
|
|
155
155
|
data () {
|
|
156
156
|
return {
|
|
157
157
|
showModal: false,
|
|
@@ -163,12 +163,54 @@ export default {
|
|
|
163
163
|
ready () {
|
|
164
164
|
},
|
|
165
165
|
methods: {
|
|
166
|
-
confirmModal () {
|
|
166
|
+
async confirmModal () {
|
|
167
167
|
if (this.modelTitle === '新增') {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
168
|
+
//报警器设备型号校验
|
|
169
|
+
if (this.modelTitle === '新增' && this.selectdata.f_apply_type === '报警器报建'){
|
|
170
|
+
let data = {
|
|
171
|
+
f_material_name : "",
|
|
172
|
+
f_bjq_sid: "",
|
|
173
|
+
}
|
|
174
|
+
this.onetomany.fields.forEach(item=>{
|
|
175
|
+
if (item.label === '材料编号'){
|
|
176
|
+
data.f_bjq_sid = item.value
|
|
177
|
+
}
|
|
178
|
+
if (item.label === '材料名称'){
|
|
179
|
+
data.f_material_name = item.value
|
|
180
|
+
}
|
|
181
|
+
})
|
|
182
|
+
if (data.f_material_name.substr(0,3) === '报警器'){
|
|
183
|
+
let res = await this.$resetpost(
|
|
184
|
+
`${this.$androidUtil.getProxyUrl()}/ncc/rs/logic/bjqcheck`,
|
|
185
|
+
// `/rs/logic/bjqcheck`,
|
|
186
|
+
data
|
|
187
|
+
)
|
|
188
|
+
if (res.data.code == 200){
|
|
189
|
+
if (this.onetomany.add.event) {
|
|
190
|
+
this.$dispatch(this.onetomany.add.event, this.index)
|
|
191
|
+
} else {
|
|
192
|
+
this.$dispatch('onetomanyadd', this.index)
|
|
193
|
+
}
|
|
194
|
+
this.closeModal()
|
|
195
|
+
}else {
|
|
196
|
+
this.disableButton = true
|
|
197
|
+
this.$showMessage(res.data.msg)
|
|
198
|
+
}
|
|
199
|
+
}else {
|
|
200
|
+
if (this.onetomany.add.event) {
|
|
201
|
+
this.$dispatch(this.onetomany.add.event, this.index)
|
|
202
|
+
} else {
|
|
203
|
+
this.$dispatch('onetomanyadd', this.index)
|
|
204
|
+
}
|
|
205
|
+
this.closeModal()
|
|
206
|
+
}
|
|
207
|
+
}else {
|
|
208
|
+
if (this.onetomany.add.event) {
|
|
209
|
+
this.$dispatch(this.onetomany.add.event, this.index)
|
|
210
|
+
} else {
|
|
211
|
+
this.$dispatch('onetomanyadd', this.index)
|
|
212
|
+
}
|
|
213
|
+
this.closeModal()
|
|
172
214
|
}
|
|
173
215
|
}
|
|
174
216
|
if (this.modelTitle === '修改') {
|
|
@@ -177,9 +219,9 @@ export default {
|
|
|
177
219
|
} else {
|
|
178
220
|
this.$dispatch('onetomanyupdate', this.index, this.rowIndex)
|
|
179
221
|
}
|
|
222
|
+
this.closeModal()
|
|
180
223
|
}
|
|
181
|
-
|
|
182
|
-
this.closeModal()
|
|
224
|
+
// this.closeModal()
|
|
183
225
|
},
|
|
184
226
|
onchange (fieldIndex) {
|
|
185
227
|
this.disableModalButton()
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<div v-for="(index,item) in data.fields">
|
|
6
6
|
<!--input-->
|
|
7
7
|
<div :style="item.style ? item.style : ''"
|
|
8
|
-
v-if="(item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email') && !item.hidden && (item.device === 'app' || !item.device)&& (item.label
|
|
8
|
+
v-if="(item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email') && !item.hidden && (item.device === 'app' || !item.device) && (item.label != '证件号码')&&(item.label != '身份证') && (item.label != '用户电话')"
|
|
9
9
|
:class="[item.required && !(item.value) ? 'apply-has-error' : '', item.bootstraped ? item.bootstraped + ' form-group app-input':'col-xs-12 form-group app-input']">
|
|
10
10
|
<label class="control-label-justify">{{item.label}}</label>
|
|
11
11
|
<div :style="item.value_style ? item.value_style:''"
|
|
@@ -24,9 +24,30 @@
|
|
|
24
24
|
</div>
|
|
25
25
|
</div>
|
|
26
26
|
|
|
27
|
+
<div :style="item.style ? item.style : ''"
|
|
28
|
+
v-if="(data.fields[index-1].value ==='营业执照'||data.fields[index-1].value ==='军官证')&& (item.label === '证件号码')"
|
|
29
|
+
:class="[item.required && !(item.value) ? 'apply-has-error' : '', item.bootstraped ? item.bootstraped + ' form-group app-input':'col-xs-12 form-group app-input']">
|
|
30
|
+
<label class="control-label-justify">{{item.label}}</label>
|
|
31
|
+
<div :style="item.value_style ? item.value_style:''"
|
|
32
|
+
:class="item.value_bootstraped ? item.value_bootstraped : 'col-xs-8'">
|
|
33
|
+
<input class="" style="width: 100%"
|
|
34
|
+
:type="item.type"
|
|
35
|
+
v-model="data.fields[index].value"
|
|
36
|
+
:placeholder="item.placeholder"
|
|
37
|
+
:value="data.fields[index].value"
|
|
38
|
+
:readonly="item.readonly"
|
|
39
|
+
:disabled="item.disabled"
|
|
40
|
+
@change="onchange(index)"
|
|
41
|
+
@blur="onblur(index)"
|
|
42
|
+
@input="oninput(index)"
|
|
43
|
+
/>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
|
|
27
48
|
<!--input身份证验证-->
|
|
28
49
|
<div :style="item.style ? item.style : ''"
|
|
29
|
-
v-if="(item.label==='身份证') || (
|
|
50
|
+
v-if="(item.label==='身份证') || (item.label === '证件号码' && data.fields[index-1].value ==='身份证')"
|
|
30
51
|
:class="[$v.f_idnumber2.identityCardValid ? 'apply-has-error' : '',item.bootstraped ? item.bootstraped + ' form-group app-input':'col-xs-12 form-group app-input']">
|
|
31
52
|
<label class="control-label-justify">{{item.label}}</label>
|
|
32
53
|
<div :style="item.value_style ? item.value_style:''"
|
|
@@ -60,7 +81,7 @@
|
|
|
60
81
|
type="number"
|
|
61
82
|
onKeypress="return(/[\d\.]/.test(String.fromCharCode(event.keyCode)))"
|
|
62
83
|
oninput="if(value.length > 11) value=value.slice(0,11)"
|
|
63
|
-
v-validate:f_user_phone="{minlength:
|
|
84
|
+
v-validate:f_user_phone="{minlength: 7, maxlength: 11 }"
|
|
64
85
|
v-model="data.fields[index].value"
|
|
65
86
|
:placeholder="item.placeholder"
|
|
66
87
|
:value="data.fields[index].value"
|
|
@@ -158,11 +179,21 @@
|
|
|
158
179
|
</div>
|
|
159
180
|
</div>
|
|
160
181
|
</div>
|
|
161
|
-
|
|
182
|
+
<!--区域地址联动-->
|
|
183
|
+
<div>
|
|
184
|
+
<app-res-area-select-group
|
|
185
|
+
v-if="data.f_apply_type === '报警器报建' && data.defname === '工程施工' && data.title === '工程施工' && data.f_sub_state !='完工'"
|
|
186
|
+
labelstyle = "control-label"
|
|
187
|
+
@shiji-select = "getSelectShijiValue"
|
|
188
|
+
@xian-select = "getSelectXianValue"
|
|
189
|
+
@shequ-select = "getSelectShequValue"
|
|
190
|
+
>
|
|
191
|
+
</app-res-area-select-group>
|
|
192
|
+
</div>
|
|
162
193
|
<div class="col-sm-12 col-xs-12" id="test11">
|
|
163
194
|
<accordion one-at-a-time="true">
|
|
164
195
|
<panel v-for="(i,item) in data.onetomany" :header="item.title" :is-open="false" type="primary">
|
|
165
|
-
<app-onetomany :onetomany="item" :index="i"></app-onetomany>
|
|
196
|
+
<app-onetomany :onetomany="item" :index="i" :selectdata="data"></app-onetomany>
|
|
166
197
|
</panel>
|
|
167
198
|
<panel v-for="(i,item) in data.components" :header="item.title" :is-open="false" type="primary" v-if="item.device === 'app' || !item.device">
|
|
168
199
|
<component :is="item.name" :selectdata="data" :mark="item.mark"></component>
|
|
@@ -171,7 +202,8 @@
|
|
|
171
202
|
</div>
|
|
172
203
|
|
|
173
204
|
<!--自定义组件-->
|
|
174
|
-
<slot
|
|
205
|
+
<slot>
|
|
206
|
+
</slot>
|
|
175
207
|
|
|
176
208
|
<!-- 按钮组 -->
|
|
177
209
|
<div class="text-center">
|
|
@@ -298,7 +330,7 @@
|
|
|
298
330
|
</button>
|
|
299
331
|
</footer>
|
|
300
332
|
</modal>
|
|
301
|
-
</form
|
|
333
|
+
</form>
|
|
302
334
|
</div>
|
|
303
335
|
</template>
|
|
304
336
|
<script>
|
|
@@ -338,7 +370,12 @@ export default {
|
|
|
338
370
|
model: {}, // 公司等属性
|
|
339
371
|
disable_button: true, // 控制按钮禁用
|
|
340
372
|
disable_modal_button: true, // 控制按钮禁用
|
|
341
|
-
showButModal: false
|
|
373
|
+
showButModal: false,
|
|
374
|
+
areaData:{
|
|
375
|
+
sjvalue:'',
|
|
376
|
+
xianvalue:'',
|
|
377
|
+
sqvalue:'',
|
|
378
|
+
}
|
|
342
379
|
}
|
|
343
380
|
},
|
|
344
381
|
watch: {
|
|
@@ -364,6 +401,34 @@ export default {
|
|
|
364
401
|
// 是否禁用按钮
|
|
365
402
|
this.disableButton()
|
|
366
403
|
},
|
|
404
|
+
async getSelectShijiValue(sjvalue,sjlable) {
|
|
405
|
+
|
|
406
|
+
this.areaData.sjvalue = sjvalue
|
|
407
|
+
console.log("这是父级接收的市级值:",sjvalue,sjlable)
|
|
408
|
+
this.data.areaData = this.areaData
|
|
409
|
+
console.log(this.areaData)
|
|
410
|
+
// 是否禁用按钮
|
|
411
|
+
this.disableButton()
|
|
412
|
+
},
|
|
413
|
+
async getSelectXianValue(xianvalue,xianlable) {
|
|
414
|
+
|
|
415
|
+
this.areaData.xianvalue = xianvalue
|
|
416
|
+
this.data.areaData = this.areaData
|
|
417
|
+
console.log("这是父级接收的县级值:",xianvalue,xianlable)
|
|
418
|
+
console.log(this.areaData)
|
|
419
|
+
|
|
420
|
+
// 是否禁用按钮
|
|
421
|
+
this.disableButton()
|
|
422
|
+
},
|
|
423
|
+
async getSelectShequValue(sqvalue,sqlable) {
|
|
424
|
+
this.areaData.sqvalue = sqvalue
|
|
425
|
+
this.data.areaData = this.areaData
|
|
426
|
+
console.log(this.areaData)
|
|
427
|
+
console.log("这是父级接收的社区值:",sqvalue,sqlable)
|
|
428
|
+
|
|
429
|
+
// 是否禁用按钮
|
|
430
|
+
this.disableButton()
|
|
431
|
+
},
|
|
367
432
|
// 是否禁用按钮
|
|
368
433
|
disableButton () {
|
|
369
434
|
let flag = false
|
|
@@ -383,6 +448,17 @@ export default {
|
|
|
383
448
|
}
|
|
384
449
|
}
|
|
385
450
|
|
|
451
|
+
//区域下拉框必选 流程模式为报警器报建
|
|
452
|
+
if (this.data.f_apply_type === '报警器报建' && this.data.defname === '工程施工' && this.data.title === '工程施工' && this.data.f_sub_state !='完工'){
|
|
453
|
+
if (!flag){
|
|
454
|
+
if (this.areaData.sjvalue ==null || this.areaData.sjvalue.length ==0 || this.areaData.sqvalue == null || this.areaData.sqvalue.length ==0
|
|
455
|
+
|| this.areaData.xianvalue == null || this.areaData.xianvalue == 0){
|
|
456
|
+
console.log("区域为空禁止提交:",this.areaData)
|
|
457
|
+
flag = true
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
|
|
386
462
|
this.disable_button = flag
|
|
387
463
|
},
|
|
388
464
|
// 失去焦点且值最终发生变化触发
|
|
@@ -435,6 +511,9 @@ export default {
|
|
|
435
511
|
},
|
|
436
512
|
// 点击按钮组按钮
|
|
437
513
|
async click_but (button) {
|
|
514
|
+
//报警器区域地址
|
|
515
|
+
this.data.areaData = this.areaData
|
|
516
|
+
|
|
438
517
|
if (this.data.defname === '通气点火') {
|
|
439
518
|
|
|
440
519
|
this.$showMessage(`请确认表号是否正确`).then((res) => {
|
|
@@ -482,6 +561,7 @@ export default {
|
|
|
482
561
|
this.$dispatch('button')
|
|
483
562
|
}
|
|
484
563
|
}
|
|
564
|
+
|
|
485
565
|
},
|
|
486
566
|
confirmModal () {
|
|
487
567
|
this.closeModal()
|
|
@@ -1,142 +1,151 @@
|
|
|
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
|
-
|
|
41
|
-
this.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
console.log(
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
let
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
this
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
.
|
|
131
|
-
display:
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
139
|
-
.
|
|
140
|
-
|
|
141
|
-
|
|
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
|
+
console.log('==============签字开始============')
|
|
41
|
+
console.log(this.f_sign_path)
|
|
42
|
+
console.log(guid() )
|
|
43
|
+
this.delAudioFile(this.f_sign_path)
|
|
44
|
+
console.log(this.signCallback)
|
|
45
|
+
this.fileName = guid() + '.jpg'
|
|
46
|
+
console.log(this.fileName)
|
|
47
|
+
HostApp.__callback__ = this.signCallback
|
|
48
|
+
HostApp.__this__ = this
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
HostApp.getSignature({
|
|
52
|
+
file: this.fileName,
|
|
53
|
+
requestCode: 111,
|
|
54
|
+
callback: 'javascript:HostApp.__callback__("f_sign_path", "%s");'
|
|
55
|
+
})
|
|
56
|
+
},
|
|
57
|
+
// 签名回调
|
|
58
|
+
signCallback (prop, signPath) {
|
|
59
|
+
console.log('==============签字回调============')
|
|
60
|
+
console.log(signPath)
|
|
61
|
+
HostApp.__this__.$set(prop, signPath)
|
|
62
|
+
console.log(HostApp.__this__.f_sign_path)
|
|
63
|
+
|
|
64
|
+
HostApp.__this__.uploadFile()
|
|
65
|
+
|
|
66
|
+
HostApp.__callback__ = null
|
|
67
|
+
HostApp.__this__ = null
|
|
68
|
+
},
|
|
69
|
+
uploadFile () {
|
|
70
|
+
console.log('===================签字文件上传==============')
|
|
71
|
+
let data = {
|
|
72
|
+
username: Vue.user.name,
|
|
73
|
+
fremarks: '报装手机签字文件',
|
|
74
|
+
fileName: HostApp.__this__.fileName,
|
|
75
|
+
fileUrl: HostApp.__this__.f_sign_path
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
console.log('-----------bzLogic-----------------')
|
|
79
|
+
console.log(JSON.stringify(data))
|
|
80
|
+
let res = HostApp.bzLogic({
|
|
81
|
+
'logic': 'appFileUpload',
|
|
82
|
+
'data': data
|
|
83
|
+
})
|
|
84
|
+
console.log('===============上传回调=================')
|
|
85
|
+
console.log(JSON.stringify(res))
|
|
86
|
+
HostApp.__this__.getFiles(res.id)
|
|
87
|
+
},
|
|
88
|
+
async getFiles (fileid) {
|
|
89
|
+
let http = new HttpResetClass()
|
|
90
|
+
|
|
91
|
+
let data = {
|
|
92
|
+
tablename: 't_files',
|
|
93
|
+
condition: `id = '${fileid}'`
|
|
94
|
+
}
|
|
95
|
+
let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`, {data: data}, {
|
|
96
|
+
// let res = await http.load('POST', `rs/sql/singleTable`, {data: data}, {
|
|
97
|
+
warnMsg: null,
|
|
98
|
+
resolveMsg: null
|
|
99
|
+
})
|
|
100
|
+
|
|
101
|
+
console.log('=========查询回调===============')
|
|
102
|
+
let fileUrl = `${this.$androidUtil.getProxyUrl()}/${res.data[0].f_downloadpath.substring(res.data[0].f_downloadpath.lastIndexOf(":\\") + 2)}`
|
|
103
|
+
console.log(fileUrl)
|
|
104
|
+
// HostApp.__this__.$set('f_sign_path', fileUrl)
|
|
105
|
+
// HostApp.__this__.f_sign_path = fileUrl
|
|
106
|
+
this.f_sign_path = fileUrl
|
|
107
|
+
|
|
108
|
+
this.$emit('sign-success', fileUrl)
|
|
109
|
+
},
|
|
110
|
+
delAudioFile (signPath) {
|
|
111
|
+
console.log('=========回调===============')
|
|
112
|
+
console.log(signPath)
|
|
113
|
+
if (!signPath) {
|
|
114
|
+
return
|
|
115
|
+
}
|
|
116
|
+
HostApp.delfile(signPath)
|
|
117
|
+
this.f_sign_path = null
|
|
118
|
+
this.fileName = null
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
events: {
|
|
122
|
+
},
|
|
123
|
+
computed: {
|
|
124
|
+
},
|
|
125
|
+
watch: {
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
</script>
|
|
129
|
+
<style scoped lang="less">
|
|
130
|
+
.qrcode {
|
|
131
|
+
display: inline-block !important;
|
|
132
|
+
margin: 10px 0px;
|
|
133
|
+
}
|
|
134
|
+
.panel-self{
|
|
135
|
+
border-radius: 10px;
|
|
136
|
+
border:1px solid #499EDF;
|
|
137
|
+
background-color: #F8F8F8;
|
|
138
|
+
}
|
|
139
|
+
.vertical-center {
|
|
140
|
+
display: flex;
|
|
141
|
+
align-items: center;
|
|
142
|
+
text-align: center;
|
|
143
|
+
}
|
|
144
|
+
/*清除model中的浮动*/
|
|
145
|
+
.clearfix:after,.clearfix:before{
|
|
146
|
+
display: table;
|
|
147
|
+
}
|
|
148
|
+
.clearfix:after{
|
|
149
|
+
clear: both;
|
|
150
|
+
}
|
|
151
|
+
</style>
|