safecheck-client 4.0.1-80 → 4.0.1-82
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/SafecheckUpload.vue +280 -281
- package/src/components/android/AndroidDefectDeal.vue +700 -667
- package/src/components/paper/PaperList.vue +802 -802
- package/src/components/pc/DefectDeal.vue +5 -5
- package/src/filiale/qingjian/pc/SecurityCheckCoordinates.vue +359 -0
- package/src/filiale/qingjian/pc.js +1 -1
- package/src/filiale/taiyuan/android/AddPlanItem.vue +456 -456
- package/src/filiale/taiyuan/android/AreaPlan.vue +565 -565
- package/src/filiale/taiyuan/android/PhoneUpUserinfo.vue +1253 -1253
- package/src/filiale/taiyuan/android/SafecheckUserInfo.vue +784 -784
- package/src/filiale/taiyuan/android.js +15 -15
- package/src/filiale/taiyuan/pc/PaperList.vue +795 -795
- package/src/filiale/taiyuan/pc.js +16 -16
- package/src/filiale/tianke/android/CurrentCreate.vue +988 -988
- package/src/main.js +33 -33
- package/.trae/.ignore +0 -0
- package/.vscode/settings.json +0 -3
@@ -280,7 +280,7 @@
|
|
280
280
|
<safecheck-file-upload
|
281
281
|
:issearch="false"
|
282
282
|
:isupload="true"
|
283
|
-
:blodid="check.
|
283
|
+
:blodid="check.f_defect_id"
|
284
284
|
:isdelete="true"
|
285
285
|
flag="safeCheck"
|
286
286
|
@filename="getfile"
|
@@ -532,7 +532,7 @@
|
|
532
532
|
},
|
533
533
|
methods: {
|
534
534
|
getfile(res){
|
535
|
-
this.solveModal.uploadData.filename=res.
|
535
|
+
this.solveModal.uploadData.filename=res.f_downloadpath
|
536
536
|
},
|
537
537
|
async getDefectOption() {
|
538
538
|
let res = await new HttpResetClass().load("POST", `/api/af-safecheck/sql/safe_singleTable_GroupBy`, {
|
@@ -620,9 +620,9 @@
|
|
620
620
|
this.solveModal.preData.defectImg1 = row.f_p1_path ? '/rs/image/file/' + row.f_p1_path : ''
|
621
621
|
this.solveModal.preData.defectImg2 = row.f_p2_path ? '/rs/image/file/' + row.f_p2_path : ''
|
622
622
|
|
623
|
-
this.solveModal.preData.repairedImg = row.f_repair_path ? '/rs/image/file/' + row.f_repair_path : ''
|
624
|
-
this.solveModal.preData.repairedImg1 = row.f_repair1_path ? '/rs/image/file/' + row.f_repair1_path : ''
|
625
|
-
this.solveModal.preData.repairedImg2 = row.f_repair2_path ? '/rs/image/file/' + row.f_repair2_path : ''
|
623
|
+
this.solveModal.preData.repairedImg = row.f_repair_path ? (row.f_repair_path.startsWith('/resource') ? row.f_repair_path : '/rs/image/file/' + row.f_repair_path) : ''
|
624
|
+
this.solveModal.preData.repairedImg1 = row.f_repair1_path ? (row.f_repair1_path.startsWith('/resource') ? row.f_repair1_path : '/rs/image/file/' + row.f_repair1_path) : ''
|
625
|
+
this.solveModal.preData.repairedImg2 = row.f_repair2_path ? (row.f_repair2_path.startsWith('/resource') ? row.f_repair2_path : '/rs/image/file/' + row.f_repair2_path) : ''
|
626
626
|
this.solveModal.uploadData.id = row.f_defect_id
|
627
627
|
this.solveModal.uploadData.f_repairman = row.f_repairman
|
628
628
|
this.solveModal.uploadData.f_repair_date = row.f_repair_date
|
@@ -0,0 +1,359 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="flex-row">
|
3
|
+
<div class="basic-main" style="flex:7">
|
4
|
+
<div id="check_map" style="height:100%">
|
5
|
+
</div>
|
6
|
+
</div>
|
7
|
+
<div id="zzz" class="basic-main" style="flex:1;margin-left: 0px;overflow: hidden">
|
8
|
+
<div class="panel panel-info" style="margin-top:0px; height: 100%; display: flex; flex-direction: column;">
|
9
|
+
<div class="panel-heading" style="height: 50px">
|
10
|
+
<h3 class="panel-title">状态选择</h3>
|
11
|
+
</div>
|
12
|
+
<div class="panel-body">
|
13
|
+
<ul class="safe_ul_sty">
|
14
|
+
<li class="safe_li_sty"><input class="safe_checkbox_sty" v-model="mulchs.level1" @change="enableChange('level1',mulchs.level1)" type="checkbox"/><img class="safe_deimg" src="../../../assets/警告 (3).png"/>拒检</li>
|
15
|
+
<li class="safe_li_sty"><input class="safe_checkbox_sty" v-model="mulchs.level3" @change="enableChange('level3',mulchs.level3)" type="checkbox"/><img class="safe_deimg" src="../../../assets/警告 (4).png"/>到访不遇</li>
|
16
|
+
<li class="safe_li_sty"><input class="safe_checkbox_sty" v-model="mulchs.problems" @change="enableChange('problems',mulchs.problems)" type="checkbox"/><img class="safe_deimg" src="../../../assets/警告 (5).png"/>正常</li>
|
17
|
+
</ul>
|
18
|
+
</div>
|
19
|
+
<div class="panel-heading" style="height: 50px">
|
20
|
+
<h3 class="panel-title">时间选择</h3>
|
21
|
+
</div>
|
22
|
+
<div class="panel-body">
|
23
|
+
<div class="row" style="height: 50px">
|
24
|
+
<datepicker
|
25
|
+
:value.sync="f_check_start"
|
26
|
+
placeholder='开始时间'
|
27
|
+
:disabled-days-of-week="[]"
|
28
|
+
@change="safeRefresh"
|
29
|
+
:format="'yyyy-MM-dd'"
|
30
|
+
:show-rest-button="reset"
|
31
|
+
v-model="f_check_start">
|
32
|
+
</datepicker>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div class="row" style="height: 50px">
|
36
|
+
<datepicker
|
37
|
+
:value.sync="f_check_end"
|
38
|
+
placeholder='结束时间'
|
39
|
+
:disabled-days-of-week="[]"
|
40
|
+
@change="safeRefresh"
|
41
|
+
:format="'yyyy-MM-dd'"
|
42
|
+
:show-rest-button="reset"
|
43
|
+
v-model="f_check_end">
|
44
|
+
</datepicker>
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
</div>
|
48
|
+
</div>
|
49
|
+
</div>
|
50
|
+
</template>
|
51
|
+
|
52
|
+
<script>
|
53
|
+
import {HttpResetClass} from 'vue-client'
|
54
|
+
export default {
|
55
|
+
title: '用户安检定位信息',
|
56
|
+
data() {
|
57
|
+
return {
|
58
|
+
loading: false,
|
59
|
+
f_check_start:'',
|
60
|
+
f_check_end:'',
|
61
|
+
map:null,
|
62
|
+
infoWindow:null,
|
63
|
+
level1Mulchs:null,//拒检点位
|
64
|
+
level3Mulchs:null,//到访不遇点位
|
65
|
+
problemsMulchs:null,//正常点位
|
66
|
+
level1:[],
|
67
|
+
level3:[],
|
68
|
+
problems:[],
|
69
|
+
defectList:{rows:[]},
|
70
|
+
intervalNum:'',
|
71
|
+
mulchs:{//覆盖物控制显示
|
72
|
+
level1:true,
|
73
|
+
level3:true,
|
74
|
+
problems:true
|
75
|
+
},
|
76
|
+
styleObject :[
|
77
|
+
{
|
78
|
+
url: require('../../../assets/警告 (3).png'), //拒检图标URL
|
79
|
+
anchor: new AMap.Pixel(14, 8), // 图标偏移位置
|
80
|
+
size: new AMap.Size(26, 28) //图标大小
|
81
|
+
},
|
82
|
+
{
|
83
|
+
url: require('../../../assets/警告 (4).png'), //到访不遇图标URL
|
84
|
+
anchor: new AMap.Pixel(14, 8), // 图标偏移位置
|
85
|
+
size: new AMap.Size(26, 28) //图标大小
|
86
|
+
},
|
87
|
+
{
|
88
|
+
url: require('../../../assets/警告 (5).png'), //正常图标URL
|
89
|
+
anchor: new AMap.Pixel(14, 8), // 图标偏移位置
|
90
|
+
size: new AMap.Size(26, 28) //图标大小
|
91
|
+
}
|
92
|
+
]
|
93
|
+
}
|
94
|
+
},
|
95
|
+
async ready(){
|
96
|
+
this.initMap()
|
97
|
+
await this.getNewData(`f_lng is not null and f_lat is not null`)
|
98
|
+
this.assemblyData()
|
99
|
+
this.intervalNum=window.setInterval(this.safeRefresh, 240000)
|
100
|
+
},
|
101
|
+
methods: {
|
102
|
+
async getNewData (condition) {
|
103
|
+
this.loading = true
|
104
|
+
let arr = await new HttpResetClass().load('POST', `api/af-safecheck/sql/safe_singleTable_OrderBy`,
|
105
|
+
{
|
106
|
+
data: {
|
107
|
+
items:'tua.*,tui.f_user_name,tab.f_adjustable_name,tr.f_name as f_region_name ',
|
108
|
+
tablename: 't_user_address tua left join t_userinfo tui on tui.f_userinfo_id = tua.f_userinfo_id left join t_userfiles uf on uf.f_userinfo_id = tua.f_userinfo_id left join t_adjustablebox tab on tab.id=uf.f_adjustable_id left join t_region tr on tab.f_region_id=tr.id ',
|
109
|
+
condition: condition,
|
110
|
+
orderitem: 'tua.f_last_check_state'
|
111
|
+
}}, {resolveMsg: null, rejectMsg: null})
|
112
|
+
if (arr.data) {
|
113
|
+
this.level1 = []
|
114
|
+
this.level3 = []
|
115
|
+
this.problems = []
|
116
|
+
arr.data.forEach((defect) => {
|
117
|
+
if (defect.f_entry_status == '拒检' ) {
|
118
|
+
this.level1.push(defect)
|
119
|
+
} else if (defect.f_entry_status == '到访不遇' ) {
|
120
|
+
this.level3.push(defect)
|
121
|
+
} else {
|
122
|
+
this.problems.push(defect)
|
123
|
+
}
|
124
|
+
})
|
125
|
+
}
|
126
|
+
this.loading = false
|
127
|
+
this.defectList.rows = arr.data
|
128
|
+
},
|
129
|
+
getDefectContent(row){
|
130
|
+
return `
|
131
|
+
<div style="padding:0px;margin-left: 8px;"><b>安检内容</b></div>
|
132
|
+
<div class="panel panel-default" style="background-color: azure;border-radius: 5px;margin-left: 8px;">
|
133
|
+
<div class="panel-body">
|
134
|
+
<ul style="list-style-type: none;font-size: 15px;">
|
135
|
+
<li style="margin: 3px 0;">用户姓名: ${row.f_user_name}</li>
|
136
|
+
<li style="margin: 3px 0;">用户地址: ${row.f_address}</li>
|
137
|
+
<li style="margin: 3px 0;">安检状态: ${row.f_last_check_state}</li>
|
138
|
+
<li style="margin: 3px 0;">安检时间: ${row.f_last_check_date}</li>
|
139
|
+
<li style="margin: 3px 0;">安检人员: ${row.f_last_checker}</li>
|
140
|
+
<li style="margin: 3px 0;">调压箱: ${row.f_adjustable_name?row.f_adjustable_name:'无'}</li>
|
141
|
+
<li style="margin: 3px 0;">所属区域: ${row.f_region_name?row.f_region_name:'无'}</li>
|
142
|
+
</ul>
|
143
|
+
</div>
|
144
|
+
</div>`
|
145
|
+
},
|
146
|
+
assemblyData(){
|
147
|
+
let a2=[]
|
148
|
+
for(let i=0;i<this.level1.length;i++){
|
149
|
+
a2.push({
|
150
|
+
lnglat: [this.level1[i].f_lng, this.level1[i].f_lat], //点标记位置
|
151
|
+
name: '拒检',
|
152
|
+
id:i,
|
153
|
+
rowstr:this.level1[i]
|
154
|
+
})
|
155
|
+
}
|
156
|
+
this.level1Mulchs.setData(a2);
|
157
|
+
this.level1Mulchs.setMap(this.map);
|
158
|
+
|
159
|
+
let a4=[]
|
160
|
+
for(let p=0;p<this.level3.length;p++){
|
161
|
+
if (this.level3[p].f_lng&&this.level3[p].f_lat){
|
162
|
+
a4.push({
|
163
|
+
lnglat: [this.level3[p].f_lng, this.level3[p].f_lat], //点标记位置
|
164
|
+
name: '到访不遇',
|
165
|
+
id:p,
|
166
|
+
rowstr:this.level3[p]
|
167
|
+
})
|
168
|
+
}
|
169
|
+
}
|
170
|
+
this.level3Mulchs.setData(a4);
|
171
|
+
this.level3Mulchs.setMap(this.map);
|
172
|
+
|
173
|
+
let a5=[]
|
174
|
+
for(let l=0;l<this.problems.length;l++){
|
175
|
+
if (this.problems[l].f_lng&&this.problems[l].f_lat){
|
176
|
+
a5.push({
|
177
|
+
lnglat: [this.problems[l].f_lng, this.problems[l].f_lat], //点标记位置
|
178
|
+
name: '正常',
|
179
|
+
id:l,
|
180
|
+
rowstr:this.problems[l]
|
181
|
+
})
|
182
|
+
}
|
183
|
+
}
|
184
|
+
this.problemsMulchs.setData(a5);
|
185
|
+
this.problemsMulchs.setMap(this.map);
|
186
|
+
},
|
187
|
+
enableChange(vname,val){
|
188
|
+
switch(vname){
|
189
|
+
case 'level1':
|
190
|
+
if(val){
|
191
|
+
this.level1Mulchs.show()
|
192
|
+
}else{
|
193
|
+
this.level1Mulchs.hide()
|
194
|
+
}
|
195
|
+
break;
|
196
|
+
case 'level3':
|
197
|
+
if(val){
|
198
|
+
this.level3Mulchs.show()
|
199
|
+
}else{
|
200
|
+
this.level3Mulchs.hide()
|
201
|
+
}
|
202
|
+
break;
|
203
|
+
case 'problems':
|
204
|
+
if(val){
|
205
|
+
this.problemsMulchs.show()
|
206
|
+
}else{
|
207
|
+
this.problemsMulchs.hide()
|
208
|
+
}
|
209
|
+
break;
|
210
|
+
default:
|
211
|
+
}
|
212
|
+
},
|
213
|
+
initMap(){
|
214
|
+
let that=this
|
215
|
+
this.map = new AMap.Map('check_map', {
|
216
|
+
zoom: 17,
|
217
|
+
viewMode: '2D',
|
218
|
+
lang: 'zh_cn',
|
219
|
+
zindex: 99,
|
220
|
+
zooms: [3, 18], // 设置地图缩放范围为3到18级
|
221
|
+
center: [110.121181, 37.088921],
|
222
|
+
});
|
223
|
+
AMap.plugin(
|
224
|
+
['AMap.ToolBar','AMap.Geolocation'], () => {
|
225
|
+
var geolocation = new AMap.Geolocation({
|
226
|
+
enableHighAccuracy: true,
|
227
|
+
showbutton: true,
|
228
|
+
timeout: 10000,
|
229
|
+
buttonOffset: new AMap.Pixel(10, 20),
|
230
|
+
buttonPosition: 'LB'
|
231
|
+
})
|
232
|
+
that.map.addControl(geolocation)
|
233
|
+
geolocation.getCurrentPosition();
|
234
|
+
that.map.addControl(new AMap.ToolBar())
|
235
|
+
});
|
236
|
+
this.map.setDefaultCursor('move');
|
237
|
+
this.infoWindow = new AMap.InfoWindow({
|
238
|
+
anchor: 'bottom-center',
|
239
|
+
autoMove:true,
|
240
|
+
content: '',
|
241
|
+
offset: new AMap.Pixel(0, -25)
|
242
|
+
})
|
243
|
+
|
244
|
+
this.level1Mulchs=new AMap.MassMarks([], {
|
245
|
+
opacity: 0.8,
|
246
|
+
zIndex: 111,
|
247
|
+
cursor: 'pointer',
|
248
|
+
style: this.styleObject[0]
|
249
|
+
});
|
250
|
+
this.level1Mulchs.on('mouseover',function (e) {
|
251
|
+
let defectContent=that.getDefectContent(e.data.rowstr)
|
252
|
+
that.infoWindow.setContent(defectContent)
|
253
|
+
that.infoWindow.open(that.map, e.data.lnglat);
|
254
|
+
})
|
255
|
+
this.level1Mulchs.on('mouseout',function (e) {
|
256
|
+
that.infoWindow.close();
|
257
|
+
})
|
258
|
+
this.level3Mulchs=new AMap.MassMarks([], {
|
259
|
+
opacity: 0.8,
|
260
|
+
zIndex: 111,
|
261
|
+
cursor: 'pointer',
|
262
|
+
style: this.styleObject[1]
|
263
|
+
});
|
264
|
+
this.level3Mulchs.on('mouseover',function (e) {
|
265
|
+
let defectContent=that.getDefectContent(e.data.rowstr)
|
266
|
+
that.infoWindow.setContent(defectContent)
|
267
|
+
that.infoWindow.open(that.map, e.data.lnglat);
|
268
|
+
})
|
269
|
+
this.level3Mulchs.on('mouseout',function (e) {
|
270
|
+
that.infoWindow.close();
|
271
|
+
})
|
272
|
+
this.problemsMulchs=new AMap.MassMarks([], {
|
273
|
+
opacity: 0.8,
|
274
|
+
zIndex: 111,
|
275
|
+
cursor: 'pointer',
|
276
|
+
style: this.styleObject[2]
|
277
|
+
});
|
278
|
+
this.problemsMulchs.on('mouseover',function (e) {
|
279
|
+
let defectContent=that.getDefectContent(e.data.rowstr)
|
280
|
+
that.infoWindow.setContent(defectContent)
|
281
|
+
that.infoWindow.open(that.map, e.data.lnglat);
|
282
|
+
})
|
283
|
+
this.problemsMulchs.on('mouseout',function (e) {
|
284
|
+
that.infoWindow.close();
|
285
|
+
})
|
286
|
+
},
|
287
|
+
async safeRefresh(){
|
288
|
+
let condition =`f_lng is not null and f_lat is not null`
|
289
|
+
if (this.f_check_start){
|
290
|
+
condition += ` and f_last_check_date >= '${this.f_check_start} 00:00:00'`
|
291
|
+
}
|
292
|
+
if (this.f_check_end){
|
293
|
+
condition += ` and f_last_check_date <= '${this.f_check_end} 23:59:59'`
|
294
|
+
}
|
295
|
+
await this.getNewData(condition)
|
296
|
+
this.assemblyData()
|
297
|
+
}
|
298
|
+
},
|
299
|
+
destroyed() {
|
300
|
+
window.clearInterval(this.intervalNum)
|
301
|
+
}
|
302
|
+
}
|
303
|
+
</script>
|
304
|
+
|
305
|
+
<style lang="less" scoped>
|
306
|
+
|
307
|
+
.time-picker-container {
|
308
|
+
display: flex;
|
309
|
+
align-items: center;
|
310
|
+
}
|
311
|
+
|
312
|
+
.time-picker-container /deep/ .v-datepicker {
|
313
|
+
width: 100% !important;
|
314
|
+
}
|
315
|
+
|
316
|
+
.date-separator {
|
317
|
+
padding: 0 5px;
|
318
|
+
}
|
319
|
+
|
320
|
+
.safe_checkbox_sty{
|
321
|
+
vertical-align:text-bottom;
|
322
|
+
margin-right: 3px;
|
323
|
+
|
324
|
+
}
|
325
|
+
.safe_ul_sty{
|
326
|
+
list-style-type: none;
|
327
|
+
font-size: 13px;
|
328
|
+
padding-left: 5px;
|
329
|
+
}
|
330
|
+
.safe_li_sty{
|
331
|
+
font-size: 13px;
|
332
|
+
margin-top: 5px;
|
333
|
+
}
|
334
|
+
.safe_p{
|
335
|
+
white-space: nowrap;
|
336
|
+
overflow: hidden;
|
337
|
+
text-overflow: ellipsis;
|
338
|
+
margin: 0 0 0 10px;
|
339
|
+
|
340
|
+
font-size: 12px;
|
341
|
+
}
|
342
|
+
.safe_list_li{
|
343
|
+
margin-top: 5px;
|
344
|
+
background-color: #ffffff;
|
345
|
+
border: solid 1px #f0f4fa !important;
|
346
|
+
color: #666666 !important;
|
347
|
+
font-size: 1.3rem !important;
|
348
|
+
font-family: PINGFANG-MEDIUM !important;
|
349
|
+
padding: 8px;
|
350
|
+
}
|
351
|
+
.safe_list_li:hover{
|
352
|
+
background-color: rgb(203,234,241);
|
353
|
+
}
|
354
|
+
.safe_deimg{
|
355
|
+
vertical-align: text-bottom;
|
356
|
+
width: 15px;
|
357
|
+
margin-right: 3px;
|
358
|
+
}
|
359
|
+
</style>
|
@@ -6,7 +6,7 @@ let specialComp = {
|
|
6
6
|
'new-check-paper': (resolve) => { require(['./pc/NewCheckpaper'], resolve) },
|
7
7
|
'paper-defect-main': (resolve) => { require(['./pc/PaperDefectMain'], resolve) },
|
8
8
|
'check-user-list': (resolve) => { require(['./pc/checkUserList'], resolve) },
|
9
|
-
|
9
|
+
'security-check-coordinates': (resolve) => { require(['./pc/SecurityCheckCoordinates.vue'], resolve) },
|
10
10
|
}
|
11
11
|
exports.specialComp = specialComp
|
12
12
|
|