safecheck-client 4.0.0-6 → 4.0.0-61
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 +1 -1
- package/src/components/Util/ImgSelfSafePlus.vue +13 -3
- package/src/components/android/AndroidDefectDeal.vue +1 -1
- package/src/components/android/AndroidDefectDealBeforeSafe.vue +1 -1
- package/src/components/android/AndroidDefectDetails.vue +725 -0
- package/src/components/android/BlackUserOnLine.vue +2 -2
- package/src/components/android/Insurance/PhoneInsurancePurchase.vue +1 -1
- package/src/components/android/PaperFeedback.vue +14 -12
- package/src/components/android/PaperFeedbackTemp.vue +2 -2
- package/src/components/android/PhoneUpUserinfo.vue +20 -0
- package/src/components/android/RelieveRestrict.vue +1 -1
- package/src/components/android/Restriction.vue +1 -1
- package/src/components/android/SafecheckDevices.vue +47 -2
- package/src/components/android/SafecheckOrderV.vue +2 -2
- package/src/components/android/SealBind.vue +392 -0
- package/src/components/android/SealManage.vue +250 -0
- package/src/components/inspections/inspectionFeedback.vue +2 -2
- package/src/components/paper/PaperList.vue +34 -6
- package/src/components/pc/AddToCheckBook.vue +100 -23
- package/src/components/pc/CheckBook.vue +2 -0
- package/src/components/pc/CheckBookDetails.vue +6 -39
- package/src/components/pc/CheckBookEntry.vue +6 -7
- package/src/components/pc/CheckBookList.vue +60 -71
- package/src/components/pc/CheckBookSearchArea.vue +20 -24
- package/src/components/pc/CheckBookSearchUser.vue +139 -84
- package/src/components/pc/CheckBookSearchUserList.vue +1 -2
- package/src/components/pc/CheckBookUser.vue +276 -44
- package/src/components/pc/NewCheckpaper.vue +14 -8
- package/src/components/pc/NewCheckpaperTemp.vue +5 -5
- package/src/components/pc/PaperDefectMain.vue +1 -0
- package/src/components/planmanage/PlanManage.vue +6 -8
- package/src/components/rongcheng/AspPaperFeedback.vue +1 -1
- package/src/components/rongcheng/PaperFeedback.vue +2 -2
- package/src/components/safecheck/queryManage/CheckBookAll.vue +2 -2
- package/src/filiale/ancheng/android/PaperFeedback.vue +2 -2
- package/src/filiale/ankangyihua/android/AndroidDefectDeal.vue +1 -1
- package/src/filiale/baiyin/android/AndroidDefectDeal.vue +1 -1
- package/src/filiale/bayan/android/PaperFeedback.vue +2 -2
- package/src/filiale/fugou/pc/PaperDefectMain.vue +1 -1
- package/src/filiale/hanzhong/android/PaperFeedback.vue +2 -2
- package/src/filiale/huatong/android/PaperFeedback.vue +2 -2
- package/src/filiale/huayin/android/PaperFeedback.vue +2 -2
- package/src/filiale/huayin/android/SafecheckOrderV.vue +1 -1
- package/src/filiale/jiaocheng/android/PaperFeedback.vue +2 -2
- package/src/filiale/jingyang/android/PaperFeedback.vue +2 -2
- package/src/filiale/jinhong/android/PhoneInsurancePurchaseDetail.vue +437 -366
- package/src/filiale/jinhong/android/PhoneInsuranceRecordList.vue +346 -0
- package/src/filiale/jinhong/android.js +1 -0
- package/src/filiale/kelai/android/AndroidDefectDeal.vue +2 -2
- package/src/filiale/kelai/android/PaperFeedback.vue +2 -2
- package/src/filiale/kelai/android/RelieveRestrict.vue +1 -1
- package/src/filiale/kelai/android/SafecheckOrderV.vue +1 -1
- package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasPaper.vue +1 -1
- package/src/filiale/meihekou/android/AreaPlan.vue +569 -0
- package/src/filiale/meihekou/android/CheckPlanList.vue +198 -0
- package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -0
- package/src/filiale/meihekou/android/CurrentCreate.vue +1087 -0
- package/src/filiale/meihekou/android/MeterReading.vue +106 -0
- package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1276 -0
- package/src/filiale/meihekou/android/SafecheckOrderV.vue +2400 -0
- package/src/filiale/meihekou/android/SafecheckUserInfo.vue +787 -0
- package/src/filiale/meihekou/android.js +19 -0
- package/src/filiale/meihekou/pc.js +12 -0
- package/src/filiale/pingxiang/android/PaperFeedback.vue +2 -2
- package/src/filiale/qianneng/android/PaperFeedback.vue +2 -2
- package/src/filiale/rizhao/android/PaperFeedback.vue +2 -2
- package/src/filiale/rongchuang/android/PaperFeedback.vue +2 -2
- package/src/filiale/shanggao/android/PaperFeedback.vue +2 -2
- package/src/filiale/shanxian/android/AndroidDefectDeal.vue +1 -1
- package/src/filiale/shanxian/android/PaperFeedback.vue +2 -2
- package/src/filiale/shexian/android/AndroidDefectDeal.vue +1 -1
- package/src/filiale/shexian/android/PaperFeedback.vue +2 -2
- package/src/filiale/shimen/android/PaperFeedback.vue +2 -2
- package/src/filiale/tongchuan/android/AndroidDefectDeal.vue +1 -1
- package/src/filiale/tongchuan/android/PaperFeedback.vue +2 -2
- package/src/filiale/weinan/android/SafecheckOrderV.vue +3 -3
- package/src/filiale/wenxi/android/PaperFeedback.vue +3 -3
- package/src/filiale/wuan/android/PaperFeedback.vue +2 -2
- package/src/filiale/wuhai/android/PaperFeedback.vue +2 -2
- package/src/filiale/xiangyuanzhongai/android/SafecheckDevices.vue +20 -1
- package/src/filiale/xiangyuanzhongai/android/SafecheckOrderV.vue +2282 -0
- package/src/filiale/xiangyuanzhongai/android/SafecheckUserInfo.vue +786 -0
- package/src/filiale/xiangyuanzhongai/android.js +2 -0
- package/src/filiale/xiangyuanzhongai/pc/DefectListNew.vue +663 -0
- package/src/filiale/xiangyuanzhongai/pc/PaperList.vue +795 -0
- package/src/filiale/xiangyuanzhongai/pc.js +2 -0
- package/src/filiale/yangchunboneng/android/PaperFeedback.vue +2 -2
- package/src/filiale/yongzhou/android/PaperFeedback.vue +2 -2
- package/src/filiale/yuansheng/android/AndroidDefectDeal.vue +1 -1
- package/src/filiale/yuansheng/android/PaperFeedback.vue +2 -2
- package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +2 -2
- package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -0
- package/src/filiale/yunchengminsheng/android/SafecheckOrderV.vue +2 -0
- package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +1 -1
- package/src/filiale/yunchengminsheng/android.js +1 -0
- package/src/filiale/yunchengminsheng/pc/NewCheckpaper.vue +16 -5
- package/src/filiale/zhongsheng/android/PaperFeedback.vue +2 -2
- package/src/filiale/zhoukou/android/PaperFeedback.vue +2 -2
- package/src/safecheck-android.js +3 -0
@@ -178,7 +178,7 @@ export default {
|
|
178
178
|
orderitem: "f_userinfo_id"
|
179
179
|
}
|
180
180
|
}, {resolveMsg: null, rejectMsg: null})
|
181
|
-
let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-
|
181
|
+
let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-revenue/logic/backlistOperate`, {
|
182
182
|
data: {
|
183
183
|
"f_operat_type": "取消拉黑",
|
184
184
|
"f_state": "有效",
|
@@ -223,7 +223,7 @@ export default {
|
|
223
223
|
orderitem: "f_userinfo_id"
|
224
224
|
}
|
225
225
|
}, {resolveMsg: null, rejectMsg: null})
|
226
|
-
let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-
|
226
|
+
let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-revenue/logic/backlistOperate`, {
|
227
227
|
data: {
|
228
228
|
"f_operat_type": "拉黑",
|
229
229
|
"f_state": "有效",
|
@@ -41,7 +41,7 @@
|
|
41
41
|
</div>
|
42
42
|
<div class="col-xs-7">
|
43
43
|
<input type="text" class="form-control" v-model="model.f_address" placeholder="请输入客户地址"
|
44
|
-
condition="f_address like '%{}%'" />
|
44
|
+
condition="ads.f_address like '%{}%'" />
|
45
45
|
</div>
|
46
46
|
</div>
|
47
47
|
<div class="row text-center app-row">
|
@@ -1219,6 +1219,8 @@ export default {
|
|
1219
1219
|
this.paper.f_blacklist = "否"
|
1220
1220
|
this.$showMessage("取消该用户限制购气成功!")
|
1221
1221
|
} else {
|
1222
|
+
this.showmodelthree = false
|
1223
|
+
this.deleteenabled = true
|
1222
1224
|
this.$showMessage("网络异常,请稍后再试!")
|
1223
1225
|
}
|
1224
1226
|
},
|
@@ -1249,7 +1251,7 @@ export default {
|
|
1249
1251
|
limit_value = Vue.config.safecheck.ApproveConfig.limit_value
|
1250
1252
|
limit_amount = Vue.config.safecheck.ApproveConfig.limit_amount
|
1251
1253
|
}
|
1252
|
-
|
1254
|
+
http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-revenue/logic/backlistOperate`, {
|
1253
1255
|
data: {
|
1254
1256
|
data:this.$parent.$parent.data,
|
1255
1257
|
item:this.$parent.$parent.data.item,
|
@@ -1273,21 +1275,21 @@ export default {
|
|
1273
1275
|
"f_limit_amount":limit_amount,
|
1274
1276
|
'f_limit_type':'气量'
|
1275
1277
|
}
|
1276
|
-
}, {resolveMsg: null, rejectMsg: null})
|
1277
|
-
|
1278
|
-
////tag)
|
1279
|
-
if (res2.data.code == 200) {
|
1278
|
+
}, {resolveMsg: null, rejectMsg: null}).then(res2=>{
|
1280
1279
|
this.showmodel = false
|
1281
1280
|
this.enabled = true
|
1282
1281
|
this.paper.f_blacklist = "是"
|
1283
1282
|
this.$showMessage("将该用户限制购气成功!")
|
1284
|
-
}
|
1285
|
-
|
1286
|
-
|
1287
|
-
|
1288
|
-
|
1289
|
-
|
1290
|
-
|
1283
|
+
}).catch(error=>{
|
1284
|
+
if (error.status== 601){
|
1285
|
+
this.showmodel = false
|
1286
|
+
this.enabled = true
|
1287
|
+
this.paper.f_blacklist = "是"
|
1288
|
+
this.$showMessage("该用户已被限制购气,请勿重复提交!")
|
1289
|
+
}else {
|
1290
|
+
this.$showMessage("网络异常,请稍后再试!")
|
1291
|
+
}
|
1292
|
+
})
|
1291
1293
|
},
|
1292
1294
|
cancel() {
|
1293
1295
|
this.backlistisselect = false
|
@@ -1143,7 +1143,7 @@
|
|
1143
1143
|
}, {resolveMsg: null, rejectMsg: null})
|
1144
1144
|
////tag)
|
1145
1145
|
////tag
|
1146
|
-
let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-
|
1146
|
+
let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-revenue/logic/backlistOperate`, {
|
1147
1147
|
data: {
|
1148
1148
|
"f_operat_type": "取消拉黑",
|
1149
1149
|
"f_state": "有效",
|
@@ -1201,7 +1201,7 @@
|
|
1201
1201
|
limit_times = Vue.config.safecheck.ApproveConfig.limit_times
|
1202
1202
|
limit_value = Vue.config.safecheck.ApproveConfig.limit_value
|
1203
1203
|
}
|
1204
|
-
let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-
|
1204
|
+
let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-revenue/logic/backlistOperate`, {
|
1205
1205
|
data: {
|
1206
1206
|
data:this.$parent.$parent.data,
|
1207
1207
|
item:this.$parent.$parent.data.item,
|
@@ -630,6 +630,16 @@
|
|
630
630
|
userinfoms.f_orgname_record = Vue.user.orgs
|
631
631
|
userinfoms.f_depid_record = Vue.user.depids
|
632
632
|
userinfoms.f_depname_record = Vue.user.deps
|
633
|
+
this.userinfo_old.baseinfo.base.f_idnumber = this.userinfo.baseinfo.base.f_idnumber
|
634
|
+
this.userinfo_old.baseinfo.base.f_user_phone = this.userinfo.baseinfo.base.f_user_phone
|
635
|
+
this.userinfo_old.baseinfo.base.f_rent_name = this.userinfo.baseinfo.base.f_rent_name
|
636
|
+
this.userinfo_old.baseinfo.base.f_zuhu_phone = this.userinfo.baseinfo.base.f_zuhu_phone
|
637
|
+
this.userinfo_old.addressinfo.f_iscity = this.userinfo.addressinfo.f_iscity
|
638
|
+
this.userinfo_old.addressinfo.f_building = this.userinfo.addressinfo.f_building
|
639
|
+
this.userinfo_old.addressinfo.f_unit = this.userinfo.addressinfo.f_unit
|
640
|
+
this.userinfo_old.addressinfo.f_floor = this.userinfo.addressinfo.f_floor
|
641
|
+
this.userinfo_old.addressinfo.f_room = this.userinfo.addressinfo.f_room
|
642
|
+
this.userinfo_old.addressinfo.f_address = this.userinfo.addressinfo.f_address
|
633
643
|
this.userinfo_old.meterinfo[0].f_gas_person = this.userinfo.meterinfo[0].f_gas_person
|
634
644
|
this.userinfo_old.meterinfo[0].f_gas_date = this.userinfo.meterinfo[0].f_gas_date
|
635
645
|
this.userinfo_old.meterinfo[0].f_adjustable_id = this.userinfo.meterinfo[0].f_adjustable_id
|
@@ -694,6 +704,16 @@
|
|
694
704
|
userinfoms.f_orgname_record = Vue.user.orgs
|
695
705
|
userinfoms.f_depid_record = Vue.user.depids
|
696
706
|
userinfoms.f_depname_record = Vue.user.deps
|
707
|
+
this.userinfo_old.baseinfo.base.f_idnumber = this.userinfo.baseinfo.base.f_idnumber
|
708
|
+
this.userinfo_old.baseinfo.base.f_user_phone = this.userinfo.baseinfo.base.f_user_phone
|
709
|
+
this.userinfo_old.baseinfo.base.f_rent_name = this.userinfo.baseinfo.base.f_rent_name
|
710
|
+
this.userinfo_old.baseinfo.base.f_zuhu_phone = this.userinfo.baseinfo.base.f_zuhu_phone
|
711
|
+
this.userinfo_old.addressinfo.f_iscity = this.userinfo.addressinfo.f_iscity
|
712
|
+
this.userinfo_old.addressinfo.f_building = this.userinfo.addressinfo.f_building
|
713
|
+
this.userinfo_old.addressinfo.f_unit = this.userinfo.addressinfo.f_unit
|
714
|
+
this.userinfo_old.addressinfo.f_floor = this.userinfo.addressinfo.f_floor
|
715
|
+
this.userinfo_old.addressinfo.f_room = this.userinfo.addressinfo.f_room
|
716
|
+
this.userinfo_old.addressinfo.f_address = this.userinfo.addressinfo.f_address
|
697
717
|
this.userinfo_old.meterinfo[0].f_gas_person = this.userinfo.meterinfo[0].f_gas_person
|
698
718
|
this.userinfo_old.meterinfo[0].f_gas_date = this.userinfo.meterinfo[0].f_gas_date
|
699
719
|
this.userinfo_old.meterinfo[0].f_adjustable_id = this.userinfo.meterinfo[0].f_adjustable_id
|
@@ -258,7 +258,7 @@ export default {
|
|
258
258
|
f_limit_value: res.data[0].f_limit_value
|
259
259
|
}
|
260
260
|
})
|
261
|
-
await http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-
|
261
|
+
await http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-revenue/logic/backlistOperate`, data, {resolveMsg: `${type}成功`, rejectMsg: `${type}失败,请重试`}).then(res => {
|
262
262
|
if (res.data.code === 200) {
|
263
263
|
this.message = '解除限购成功!!!'
|
264
264
|
} else {
|
@@ -306,7 +306,7 @@ export default {
|
|
306
306
|
f_limit_value: type == '限购'? this.xgGis: ''
|
307
307
|
}
|
308
308
|
})
|
309
|
-
await http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-
|
309
|
+
await http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-revenue/logic/backlistOperate`, data, {resolveMsg: `${type}成功`, rejectMsg: `${type}失败,请重试`}).then(res => {
|
310
310
|
if (res.data.code === 200) {
|
311
311
|
this.message = `${type}成功!!!`
|
312
312
|
} else {
|
@@ -154,6 +154,9 @@
|
|
154
154
|
</div>
|
155
155
|
<img v-show="row.f_path" src="../../assets/remove.png" :class="style__" @click="delfile(idxs, row.f_path)" v-if="role!='androidview'" style="width: 40px;height: 40px;position: absolute;left:110px;top:110px"></img>
|
156
156
|
</div>
|
157
|
+
<button v-if="isalbum" style="float: right" type="button" name="button" class="btn btn-primary btn-photo"
|
158
|
+
@click="takePic2(idxs, row.f_item_name)">相册
|
159
|
+
</button>
|
157
160
|
</div>
|
158
161
|
</div>
|
159
162
|
</div>
|
@@ -170,6 +173,9 @@
|
|
170
173
|
</div>
|
171
174
|
<img v-show="row['f_p' + (itemIndex+1)+'_path']" src="../../assets/remove.png" :class="style__" @click="delfile(idxs,row['f_p' + (itemIndex+1)+'_path'],'f_p' + (itemIndex+1)+ '_path')" v-if="role!='androidview'" style="width: 40px;height: 40px;position: absolute;left:110px;top:110px"></img>
|
172
175
|
</div >
|
176
|
+
<button v-if="isalbum" style="float: right" type="button" name="button" class="btn btn-primary btn-photo"
|
177
|
+
@click="takePic2(idxs, row.f_item_name,'f_p' + (itemIndex+1)+ '_path')">相册
|
178
|
+
</button>
|
173
179
|
</div>
|
174
180
|
</div>
|
175
181
|
</div>
|
@@ -302,7 +308,8 @@ export default {
|
|
302
308
|
)(this),
|
303
309
|
showElse:false, //控制其他选项是否显示
|
304
310
|
showXCImg: false, // 是否显示现场整改拍照选项
|
305
|
-
showZXTime: false // 是否显示自行整改处理时效
|
311
|
+
showZXTime: false, // 是否显示自行整改处理时效
|
312
|
+
isalbum:this.$appdata.getSingleValue('安检使用相册') || false,
|
306
313
|
}
|
307
314
|
},
|
308
315
|
props: ['config','device','idx','operation','role'],
|
@@ -356,6 +363,7 @@ export default {
|
|
356
363
|
},
|
357
364
|
changdeal(val){
|
358
365
|
if(val == undefined){
|
366
|
+
this.f_items[this.selectindex].f_deal_dispose = ''
|
359
367
|
return
|
360
368
|
}
|
361
369
|
if(this.selectindex != null) {
|
@@ -466,6 +474,41 @@ export default {
|
|
466
474
|
param: {file: fileName, requestCode: 111, callback:'javascript:HostApp.__callback__("'+ prop +'","'+ title +'", "%s","'+pathname+'");', watermark: title + '\t时间:'+ Util.toStandardTimeString() + '\t' + Vue.user.name + jingweidu}
|
467
475
|
})
|
468
476
|
},
|
477
|
+
takePic2(prop, title, pathname='null') {
|
478
|
+
if (this.role == 'androidview') {
|
479
|
+
return
|
480
|
+
}
|
481
|
+
HostApp.__callback__ = this.cameraCallBack
|
482
|
+
HostApp.__this__ = this
|
483
|
+
//tag
|
484
|
+
let fileName
|
485
|
+
if (pathname == 'null') {
|
486
|
+
if (!this.f_items[prop].f_path || this.f_items[prop].f_path.includes("nopic.png")) {
|
487
|
+
fileName = Util.guid() + '-' + 'device' + this.device.n + '-' + this.idx + '-' + 'f_items' + prop + '.jpg'
|
488
|
+
} else {
|
489
|
+
fileName = Util.getFileName(this.f_items[prop].f_path)
|
490
|
+
}
|
491
|
+
} else {
|
492
|
+
if (!this.f_items[prop][pathname] || this.f_items[prop][pathname].includes("nopic.png")) {
|
493
|
+
fileName = Util.guid() + '-' + 'device' + this.device.n + '-' + this.idx + '-' + 'f_items' + prop + '.jpg'
|
494
|
+
} else {
|
495
|
+
fileName = Util.getFileName(this.f_items[prop][pathname])
|
496
|
+
}
|
497
|
+
}
|
498
|
+
let jingweidu = ''
|
499
|
+
if (this.$parent.$parent.is_has_jingweidu == 'true'){
|
500
|
+
const obj = HostApp.getGpsDetailAddress()
|
501
|
+
jingweidu = '\t经度:' + obj.longitude+ '\t纬度:' + obj.latitude
|
502
|
+
this.f_items[prop].f_longitude = obj.longitude
|
503
|
+
this.f_items[prop].f_latitude = obj.latitude
|
504
|
+
}
|
505
|
+
//tag
|
506
|
+
//tag
|
507
|
+
HostApp._open_a_page({type: 'boomerang',
|
508
|
+
page: 'com.aofeng.hybrid.android.peripheral.ActionPickActivity',
|
509
|
+
param: {file: fileName, requestCode: 111, callback:'javascript:HostApp.__callback__("'+ prop +'","'+ title +'", "%s","'+pathname+'");', watermark: title + '\t时间:'+ Util.toStandardTimeString() + '\t' + Vue.user.name + jingweidu}
|
510
|
+
})
|
511
|
+
},
|
469
512
|
cameraCallBack(prop,title, fileName,pathname) {
|
470
513
|
//tag
|
471
514
|
if (pathname == 'null') {
|
@@ -625,7 +668,9 @@ export default {
|
|
625
668
|
if(shImage){
|
626
669
|
this.f_items[n].f_is_defect =true
|
627
670
|
this.f_items[n].f_defect_level = options[i].level
|
628
|
-
|
671
|
+
if (!multiple){
|
672
|
+
this.f_items[n].f_path = Vue.nopic
|
673
|
+
}
|
629
674
|
this.f_items[n].f_live_dispose = '否'
|
630
675
|
this.f_items[n].f_deal_dispose = '未处理'
|
631
676
|
//tag
|
@@ -1433,7 +1433,7 @@
|
|
1433
1433
|
if(this.item.f_user_type == '非民用'){
|
1434
1434
|
// 非民用
|
1435
1435
|
if (Vue.config.safecheck.DevicesSetConfig != undefined){
|
1436
|
-
if(this.item.f_safecheck_type == undefined || this.item.f_safecheck_type == '' || Vue.config.safecheck.SafecheckType == undefined) {
|
1436
|
+
if(this.item.f_safecheck_type == undefined || this.item.f_safecheck_type == '' || Vue.config.safecheck.SafecheckType == undefined || !Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type]]) {
|
1437
1437
|
this.config = this.extend(this.config, Vue.config.safecheck.DevicesSetConfig)
|
1438
1438
|
}else{
|
1439
1439
|
this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_user_type]])
|
@@ -1443,7 +1443,7 @@
|
|
1443
1443
|
}else{
|
1444
1444
|
// 民用户
|
1445
1445
|
if (Vue.config.safecheck.DevicesConfig != undefined){
|
1446
|
-
if(this.item.f_safecheck_type == undefined || this.item.f_safecheck_type == '' || Vue.config.safecheck.SafecheckType == undefined) {
|
1446
|
+
if(this.item.f_safecheck_type == undefined || this.item.f_safecheck_type == '' || Vue.config.safecheck.SafecheckType == undefined || !Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type]]) {
|
1447
1447
|
this.config = this.extend(this.config, Vue.config.safecheck.DevicesConfig)
|
1448
1448
|
}else{
|
1449
1449
|
this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_user_type?this.item.f_user_type:'民用']])
|
@@ -0,0 +1,392 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="auto">
|
3
|
+
<div class="row app-row">
|
4
|
+
<div class="col-xs-4">
|
5
|
+
<img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
|
6
|
+
<label for="f_userinfoid" class="font text-left">用户编号:</label>
|
7
|
+
</div>
|
8
|
+
<div class="col-xs-8" >
|
9
|
+
<input id="f_userinfoid" class="search_input input-font" readonly
|
10
|
+
v-model=row.f_userinfo_code :value.sync="row.f_userinfo_code" />
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
<div class="row app-row">
|
14
|
+
<div class="col-xs-4">
|
15
|
+
<img src="../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
|
16
|
+
<label class="font text-left">用户姓名:</label>
|
17
|
+
</div>
|
18
|
+
<div class="col-xs-8" >
|
19
|
+
<input class="search_input input-font" v-model=row.f_user_name :value.sync="row.f_user_name" readonly />
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
<div class="row app-row">
|
23
|
+
<div class="col-xs-4">
|
24
|
+
<img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
|
25
|
+
<label class="font text-left">用户地址:</label>
|
26
|
+
</div>
|
27
|
+
<div class="col-xs-8" >
|
28
|
+
<input class="search_input input-font" v-model=row.f_address :value.sync="row.f_address" readonly />
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
<div class="row app-row">
|
32
|
+
<div class="col-xs-4">
|
33
|
+
<img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
|
34
|
+
<label class="font text-left">铅封编号:</label>
|
35
|
+
</div>
|
36
|
+
<div class="col-xs-5" >
|
37
|
+
<input class="search_input input-font"
|
38
|
+
v-model=sealUID :value.sync="sealUID" readonly />
|
39
|
+
</div>
|
40
|
+
<div class="col-xs-3">
|
41
|
+
<button style="padding: 5px" type="button" class="btn btn-font btn-color" @click="scan()">NFC识别</button>
|
42
|
+
</div>
|
43
|
+
</div>
|
44
|
+
<div class="row app-row">
|
45
|
+
<div class="col-xs-4">
|
46
|
+
<img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
|
47
|
+
<label class="font text-left">二维码编号:</label>
|
48
|
+
</div>
|
49
|
+
<div class="col-xs-5" >
|
50
|
+
<input class="search_input input-font"
|
51
|
+
v-model=f_qr_code :value.sync="f_qr_code" readonly />
|
52
|
+
</div>
|
53
|
+
<div class="col-xs-3">
|
54
|
+
<button style="padding: 5px" type="button" class="btn btn-font btn-color" @click="codeScan()">扫描二维码</button>
|
55
|
+
</div>
|
56
|
+
</div>
|
57
|
+
<div class="row app-row">
|
58
|
+
<div class="form-group col-sm-12 col-xs-12 col-md-12 " :class="style__">
|
59
|
+
<label class="text-left font">铅封照片:</label>
|
60
|
+
|
61
|
+
<div class="auto" :class="style__">
|
62
|
+
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
63
|
+
<div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
|
64
|
+
<div class="row" style="height: 240px;overflow: scroll;top: 1px" >
|
65
|
+
<div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px" v-for="(index,img) in imgs">
|
66
|
+
<img-self :src="img" alt="铅封照片" :width="140" :height="170"></img-self>
|
67
|
+
<img src="../../assets/删除.png" @click="delfile(img,index)" style="width: 15px;margin-top: -80px" alt="">
|
68
|
+
</div>
|
69
|
+
</div>
|
70
|
+
<div class="row text-right div-photo">
|
71
|
+
<button type="button" name="button" class="btn btn-photo" @click="takePic()">拍照</button>
|
72
|
+
</div>
|
73
|
+
</div>
|
74
|
+
</div>
|
75
|
+
</div>
|
76
|
+
</div>
|
77
|
+
</div>
|
78
|
+
<div class="row app-row">
|
79
|
+
<div class="col-xs-4">
|
80
|
+
<img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
|
81
|
+
<label class="font text-left">施封原因:</label>
|
82
|
+
</div>
|
83
|
+
<div class="col-xs-8" >
|
84
|
+
<v-select
|
85
|
+
v-model="cause"
|
86
|
+
:value.sync="cause"
|
87
|
+
:value-single="true"
|
88
|
+
:options='causeOption'
|
89
|
+
placeholder='请选择施封原因'
|
90
|
+
width="100%"
|
91
|
+
close-on-select></v-select>
|
92
|
+
</div>
|
93
|
+
</div>
|
94
|
+
<div class="row text-center" style="margin-top: 40px;">
|
95
|
+
<button style="font-size: 20px; padding: 8px 40px" type="button" name="button" class="col-sm-3 btn btn-primary" @click="bind">
|
96
|
+
施封
|
97
|
+
</button>
|
98
|
+
</div>
|
99
|
+
</div>
|
100
|
+
</template>
|
101
|
+
|
102
|
+
<script>
|
103
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
104
|
+
import Vue from 'vue'
|
105
|
+
import * as Util from '../Util'
|
106
|
+
|
107
|
+
export default {
|
108
|
+
title: '施封',
|
109
|
+
props: ['row'],
|
110
|
+
data () {
|
111
|
+
return {
|
112
|
+
sealUID: '',
|
113
|
+
imgs: [],
|
114
|
+
cause: '',
|
115
|
+
address: '',
|
116
|
+
longitude: '',
|
117
|
+
latitude: '',
|
118
|
+
f_qr_code: '',
|
119
|
+
causeOption: this.$appdata.getParam('施封原因')
|
120
|
+
}
|
121
|
+
},
|
122
|
+
ready () {
|
123
|
+
console.log('this.row=', JSON.stringify(this.row))
|
124
|
+
this.getLocation()
|
125
|
+
if (this.longitude == 0){
|
126
|
+
this.timer = window.setInterval(this.getLocation, 3000)
|
127
|
+
}
|
128
|
+
},
|
129
|
+
computed: {
|
130
|
+
|
131
|
+
},
|
132
|
+
methods:{
|
133
|
+
codeScan() {
|
134
|
+
console.log('codeScan=========')
|
135
|
+
HostApp.__this__ = this
|
136
|
+
HostApp.scanQRCode({callback:"javascript:HostApp.__this__.codeScanCallback()"})
|
137
|
+
},
|
138
|
+
codeScanCallback() {
|
139
|
+
console.log('codeScanCallback=========')
|
140
|
+
let result = HostApp.getQRCode()
|
141
|
+
console.log('result=', result)
|
142
|
+
if (result.code == 200){
|
143
|
+
// 判断result.data是否包含等号。如果有,只要等号后面的内容
|
144
|
+
if (result.data.indexOf('=') > 0) {
|
145
|
+
this.f_qr_code = result.data.substring(result.data.indexOf('=') + 1)
|
146
|
+
}else{
|
147
|
+
this.f_qr_code = result.data
|
148
|
+
}
|
149
|
+
}else {
|
150
|
+
this.$showMessage("未识别到二维码信息,请重新尝试!")
|
151
|
+
}
|
152
|
+
},
|
153
|
+
generateUUID() {
|
154
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
155
|
+
var r = (Math.random() * 16) | 0,
|
156
|
+
v = c == 'x' ? r : (r & 0x3) | 0x8;
|
157
|
+
return v.toString(16);
|
158
|
+
});
|
159
|
+
},
|
160
|
+
getLocation() {
|
161
|
+
const location = HostApp.getDetailAddress()
|
162
|
+
this.address = location.data
|
163
|
+
const longitude = HostApp.getPreference('longitude')
|
164
|
+
this.longitude = longitude.data
|
165
|
+
const latitude = HostApp.getPreference('latitude')
|
166
|
+
this.latitude = latitude.data
|
167
|
+
if (this.longitude != 0){
|
168
|
+
window.clearInterval(this.timer)
|
169
|
+
}
|
170
|
+
console.log('this.address=', this.address)
|
171
|
+
console.log('this.longitude=', this.longitude)
|
172
|
+
console.log('this.latitude=', this.latitude)
|
173
|
+
},
|
174
|
+
bind() {
|
175
|
+
if (!this.sealUID) {
|
176
|
+
this.$showMessage("铅封编号不能为空!")
|
177
|
+
return
|
178
|
+
}
|
179
|
+
if (!this.f_qr_code) {
|
180
|
+
this.$showMessage("二维码编号不能为空!")
|
181
|
+
return
|
182
|
+
}
|
183
|
+
if (!this.imgs.length) {
|
184
|
+
this.$showMessage("请拍摄铅封照片!")
|
185
|
+
return
|
186
|
+
}
|
187
|
+
if (!this.cause) {
|
188
|
+
this.$showMessage("请选择施封原因!")
|
189
|
+
return
|
190
|
+
}
|
191
|
+
//this.getLocation()
|
192
|
+
if (this.longitude == 0){
|
193
|
+
this.$showMessage("位置获取失败,未开启定位或者网络信号弱未获取到定位!")
|
194
|
+
return
|
195
|
+
}
|
196
|
+
const param = {
|
197
|
+
seal: {
|
198
|
+
f_uid: this.sealUID,
|
199
|
+
f_qr_code: this.f_qr_code,
|
200
|
+
f_userinfo_code: this.row.f_userinfo_code,
|
201
|
+
f_userinfo_id: this.row.f_userinfo_id,
|
202
|
+
f_filiale: this.row.f_filiale,
|
203
|
+
f_filiale_id: this.row.f_filiale_id,
|
204
|
+
f_user_id: this.row.f_user_id,
|
205
|
+
f_address: this.address,
|
206
|
+
f_longitude: this.longitude,
|
207
|
+
f_latitude: this.latitude,
|
208
|
+
f_operate_name: Vue.user.name,
|
209
|
+
f_operate_id: Vue.user.id,
|
210
|
+
f_operate_date: Util.toStandardTimeString(),
|
211
|
+
f_state: '有效'
|
212
|
+
},
|
213
|
+
operateList: {
|
214
|
+
f_cause: this.cause,
|
215
|
+
f_operate_date: Util.toStandardTimeString(),
|
216
|
+
f_creation_date: Util.toStandardTimeString(),
|
217
|
+
f_creation_name: Vue.user.name,
|
218
|
+
f_creation_name_id: Vue.user.id
|
219
|
+
},
|
220
|
+
files: [],
|
221
|
+
imgs: [],
|
222
|
+
f_devices_no: this.generateUUID()
|
223
|
+
}
|
224
|
+
for (const img of this.imgs) {
|
225
|
+
const i1 = img.lastIndexOf('?')
|
226
|
+
const i2 = img.lastIndexOf('/')
|
227
|
+
const key = img.substring(i2+1, i1)
|
228
|
+
const filename = img.substring(0, i1)
|
229
|
+
param.files.push({
|
230
|
+
f_img_url: key,
|
231
|
+
f_operate_date: Util.toStandardTimeString(),
|
232
|
+
f_operator: Vue.user.name,
|
233
|
+
f_operatorid: Vue.user.id
|
234
|
+
})
|
235
|
+
param.imgs.push({
|
236
|
+
key: key,
|
237
|
+
filename: filename
|
238
|
+
})
|
239
|
+
}
|
240
|
+
//tag)
|
241
|
+
let paramStr = JSON.stringify(param)
|
242
|
+
console.log('paramStr=', paramStr)
|
243
|
+
// 多长截断一次
|
244
|
+
let subLength = 800
|
245
|
+
for (let i = 0; i < paramStr.length; i += subLength) {
|
246
|
+
HostApp.param_cache(paramStr.substr(i, subLength))
|
247
|
+
}
|
248
|
+
HostApp.__this__ = this
|
249
|
+
HostApp.syncLogic({
|
250
|
+
'logic': 'sealBind',
|
251
|
+
'callback': 'javascript:HostApp.__this__.sealBindBack()',
|
252
|
+
'backresult': 1
|
253
|
+
})
|
254
|
+
},
|
255
|
+
sealBindBack(jo) {
|
256
|
+
if(jo.state == 'ok') {
|
257
|
+
let res = JSON.parse(jo.result)
|
258
|
+
if (res.code == 200 && res.data.code == 200) {
|
259
|
+
this.$showMessage('施封成功!')
|
260
|
+
this.$back(this.sealUID)
|
261
|
+
return
|
262
|
+
}
|
263
|
+
if(res.msg){
|
264
|
+
this.$showMessage(res.msg)
|
265
|
+
}else{
|
266
|
+
this.$showMessage(res.data.msg)
|
267
|
+
}
|
268
|
+
return
|
269
|
+
}
|
270
|
+
this.$showMessage('网络异常!')
|
271
|
+
},
|
272
|
+
scan() {
|
273
|
+
HostApp.__this__ = this
|
274
|
+
HostApp.readNfc({
|
275
|
+
'callback': 'javascript:HostApp.__this__.scanCallback()',
|
276
|
+
// 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
|
277
|
+
// 执行回调方法传入key为backresult
|
278
|
+
// 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
|
279
|
+
'backresult': 1
|
280
|
+
})
|
281
|
+
},
|
282
|
+
scanCallback() {
|
283
|
+
console.log('scanCallback=========')
|
284
|
+
const result = HostApp.getNfcUUID()
|
285
|
+
console.log('result=', result)
|
286
|
+
if (result.code == 200){
|
287
|
+
this.sealUID = result.data
|
288
|
+
}else {
|
289
|
+
this.$showMessage("未识别到铅封信息,请重新尝试!")
|
290
|
+
return
|
291
|
+
}
|
292
|
+
},
|
293
|
+
takePic() {
|
294
|
+
HostApp.__callback__ = this.cameraCallBack
|
295
|
+
HostApp.__this__ = this
|
296
|
+
|
297
|
+
let fileName = `${Util.guid()}.jpg`
|
298
|
+
HostApp._open_a_page({
|
299
|
+
type: 'boomerang',
|
300
|
+
page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
|
301
|
+
param: {
|
302
|
+
file: fileName,
|
303
|
+
requestCode: 111,
|
304
|
+
callback: 'javascript:HostApp.__callback__("%s");',
|
305
|
+
watermark: '铅封照片\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name + '\t' + this.row.f_userinfo_id+ '\t' + this.row.f_user_name+ '\t' + this.row.f_address
|
306
|
+
}
|
307
|
+
})
|
308
|
+
},
|
309
|
+
cameraCallBack(fileName) {
|
310
|
+
// if (prop == 'f_overall_path') {
|
311
|
+
// let f_overall_path = fileName + '?' + Math.random()
|
312
|
+
// HostApp.__this__.paper.f_overall_imgs.push({
|
313
|
+
// f_overall_path: f_overall_path
|
314
|
+
// })
|
315
|
+
// } else {
|
316
|
+
// HostApp.__this__.paper[prop] = fileName + '?' + Math.random()
|
317
|
+
// }
|
318
|
+
this.imgs.push(fileName + '?' + Math.random())
|
319
|
+
HostApp.__callback__ = null
|
320
|
+
HostApp.__this__ = null
|
321
|
+
},
|
322
|
+
delfile(fileName, index) {
|
323
|
+
if (fileName == Vue.nopic)
|
324
|
+
return
|
325
|
+
else {
|
326
|
+
this.imgs.splice(index, 1)
|
327
|
+
HostApp.delfile(fileName)
|
328
|
+
}
|
329
|
+
}
|
330
|
+
}
|
331
|
+
}
|
332
|
+
</script>
|
333
|
+
<style scoped>
|
334
|
+
.app-row {
|
335
|
+
background-color: white;
|
336
|
+
padding: 10px 10px 0 10px;
|
337
|
+
border-bottom: 1px solid rgba(235, 235, 235, 0.5);
|
338
|
+
}
|
339
|
+
.search_input {
|
340
|
+
border: 0;
|
341
|
+
outline: none;
|
342
|
+
}
|
343
|
+
.font{
|
344
|
+
font: 15px PingFang-SC-Medium;
|
345
|
+
color: #666666;
|
346
|
+
}
|
347
|
+
.input-font{
|
348
|
+
font: 15px PingFang-SC-Medium;
|
349
|
+
color: #333333;
|
350
|
+
}
|
351
|
+
.btn-font{
|
352
|
+
font:600 16px PingFang-SC-Bold;
|
353
|
+
color: #499EDF;
|
354
|
+
}
|
355
|
+
.btn-color{
|
356
|
+
background-color: #FFFFFF;
|
357
|
+
border-radius: 10px ;
|
358
|
+
border: 1px solid #499EDF;
|
359
|
+
}
|
360
|
+
.app-text {
|
361
|
+
font-size: 12px;
|
362
|
+
}
|
363
|
+
.panel-self{
|
364
|
+
border-radius: 10px;
|
365
|
+
border:1px solid #499EDF;
|
366
|
+
background-color: #F8F8F8;
|
367
|
+
}
|
368
|
+
.yybtn-color{
|
369
|
+
border-radius: 4px ;
|
370
|
+
border: 1px solid #499EDF;
|
371
|
+
}
|
372
|
+
.qxbtn-color{
|
373
|
+
background-color: #FFFFFF;
|
374
|
+
border-radius: 4px ;
|
375
|
+
border: 1px solid #499EDF;
|
376
|
+
}
|
377
|
+
.btn-photo{
|
378
|
+
border: 0;
|
379
|
+
border-radius: 7px;
|
380
|
+
background-color: #7dc1f4;
|
381
|
+
font: 15px PingFang-SC-Bold;
|
382
|
+
height: 20%;
|
383
|
+
}
|
384
|
+
.div-photo{
|
385
|
+
width: auto;
|
386
|
+
height: auto;
|
387
|
+
/* margin-top: 10px; */
|
388
|
+
position: absolute;
|
389
|
+
bottom: 10px;
|
390
|
+
right: 10px;
|
391
|
+
}
|
392
|
+
</style>
|