|
@ -92,62 +92,62 @@
|
92
|
92
|
<div class="detail">
|
93
|
93
|
<label class="detail_title">状态:</label>
|
94
|
94
|
<div class="detail_content">
|
95
|
|
<t-tag v-if="currentdata.data.status==='INI'" state="warning">未确认</t-tag>
|
96
|
|
<t-tag v-if="currentdata.data.status==='END'" state="success">已处理</t-tag>
|
97
|
|
<t-tag v-if="currentdata.data.status==='RUN'" state="info">处理中</t-tag>
|
98
|
|
<t-tag v-if="currentdata.data.status==='FAL'" state="danger">误报</t-tag>
|
|
95
|
<t-tag v-if="alarmDetailData.status==='未确认'" state="warning">未确认</t-tag>
|
|
96
|
<t-tag v-if="alarmDetailData.status==='已处理'" state="success">已处理</t-tag>
|
|
97
|
<t-tag v-if="alarmDetailData.status==='处理中'" state="info">处理中</t-tag>
|
|
98
|
<t-tag v-if="alarmDetailData.status==='误报'" state="danger">误报</t-tag>
|
99
|
99
|
</div>
|
100
|
100
|
|
101
|
101
|
</div>
|
102
|
102
|
<div class="detail">
|
103
|
103
|
<label class="detail_title">报警类型:</label>
|
104
|
|
<div class="detail_content">{{ currentdata.data.alarmTypeName }}</div>
|
|
104
|
<div class="detail_content">{{ alarmDetailData.alarmTypeCode || '' }}</div>
|
105
|
105
|
</div>
|
106
|
106
|
<div class="detail">
|
107
|
107
|
<label class="detail_title">报警描述:</label>
|
108
|
|
<div class="detail_content">{{ currentdata.data.alarmMemo }}</div>
|
|
108
|
<div class="detail_content">{{ alarmDetailData.alarmMemo }}</div>
|
109
|
109
|
</div>
|
110
|
110
|
<div class="detail">
|
111
|
111
|
<label class="detail_title">报警时间:</label>
|
112
|
|
<div class="detail_content">{{ currentdata.data.aiIdenTime }}</div>
|
|
112
|
<div class="detail_content">{{ alarmDetailData.aiIdenTime }}</div>
|
113
|
113
|
</div>
|
114
|
114
|
|
115
|
115
|
<div class="detail">
|
116
|
116
|
<label class="detail_title">设备编号:</label>
|
117
|
|
<div class="detail_content">{{ currentdata.data.resourceToolCode }}</div>
|
|
117
|
<div class="detail_content">{{ alarmDetailData.resourceToolCode }}</div>
|
118
|
118
|
</div>
|
119
|
119
|
<div class="detail">
|
120
|
120
|
<label class="detail_title">设备位置:</label>
|
121
|
|
<div class="detail_content">{{ currentdata.data.monitorSceneName }}</div>
|
|
121
|
<div class="detail_content">{{ alarmDetailData.monitorSceneName }}</div>
|
122
|
122
|
</div>
|
123
|
123
|
|
124
|
|
<div class="detail">
|
|
124
|
<div v-if="alarmDetailData.workEmployeeRoleId!==null" class="detail">
|
125
|
125
|
<label class="detail_title">处理人:</label>
|
126
|
|
<div class="detail_content">{{ currentdata.data.workEmployeeRoleName }}</div>
|
|
126
|
<div class="detail_content">{{ alarmDetailData.workEmployeeRoleName }}</div>
|
127
|
127
|
</div>
|
128
|
128
|
|
129
|
|
<div class="detail">
|
|
129
|
<div v-if="alarmDetailData.workEmployeeRoleId!==null" class="detail">
|
130
|
130
|
<label class="detail_title">处理时间:</label>
|
131
|
|
<div>{{ currentdata.data.processTime }}</div>
|
|
131
|
<div>{{ alarmDetailData.doneDate }}</div>
|
132
|
132
|
</div>
|
133
|
133
|
</div>
|
134
|
134
|
|
135
|
135
|
<div class="details_item2">
|
136
|
136
|
<div>
|
137
|
137
|
<div>识别图片</div>
|
138
|
|
<div><img :src="currentdata.data.idenPictureUrl" alt="" srcset="" style="width:100%;height:100%"></div>
|
|
138
|
<div><img :src="pictureDetailData.fileUrl" alt="" srcset="" style="width:100%;height:100%"></div>
|
139
|
139
|
</div>
|
140
|
140
|
<div>
|
141
|
141
|
<div>识别视频</div>
|
142
|
142
|
<div>
|
143
|
|
<video :src="currentdata.data.idenVideoUrl" class="video" controls></video>
|
|
143
|
<video :src="videoDetailData.videoFileUrl" class="video" controls></video>
|
144
|
144
|
</div>
|
145
|
145
|
</div>
|
146
|
146
|
</div>
|
147
|
147
|
<div v-if="clickdetail==1">
|
148
|
|
<div v-if="currentdata.data.status!='END'" class="radio">
|
|
148
|
<div v-if="alarmDetailData.status!='END'" class="radio">
|
149
|
149
|
<div>报警处理 : </div>
|
150
|
|
<div v-if="currentdata.data.status=='INI'">
|
|
150
|
<div v-if="alarmDetailData.status=='INI'">
|
151
|
151
|
<t-radio-group v-model="status">
|
152
|
152
|
<t-radio label="RUN">
|
153
|
153
|
|
|
@ -161,7 +161,7 @@
|
161
|
161
|
</t-radio-group>
|
162
|
162
|
</div>
|
163
|
163
|
|
164
|
|
<div v-if="currentdata.data.status=='RUN'||currentdata.data.status=='FAL'">
|
|
164
|
<div v-if="alarmDetailData.status=='RUN'||alarmDetailData.status=='FAL'">
|
165
|
165
|
<t-radio-group v-model="status">
|
166
|
166
|
<t-radio label="END">关闭</t-radio>
|
167
|
167
|
</t-radio-group>
|
|
@ -214,6 +214,12 @@ export default {
|
214
|
214
|
index: '',
|
215
|
215
|
data: {}
|
216
|
216
|
},
|
|
217
|
// 报警详情数据
|
|
218
|
alarmDetailData: {},
|
|
219
|
// 图片详情数据
|
|
220
|
pictureDetailData: {},
|
|
221
|
// 视频详情数据
|
|
222
|
videoDetailData: {},
|
217
|
223
|
// 选择的数据
|
218
|
224
|
selectdata: [],
|
219
|
225
|
// 判断是详情还是处理
|
|
@ -255,18 +261,20 @@ export default {
|
255
|
261
|
// console.log(val)
|
256
|
262
|
this.selectdata = val
|
257
|
263
|
},
|
258
|
|
|
259
|
264
|
// 点击详情
|
260
|
|
handleClick (scope, val) {
|
|
265
|
async handleClick (scope, val) {
|
261
|
266
|
this.clickdetail = val
|
262
|
267
|
// 去除模态框中的单选项
|
263
|
|
|
|
268
|
let res = await aialarmapi.getAlarmDetail({params: {'workTaskId': scope.row.workTaskId}})
|
|
269
|
if (res.status === 200) {
|
|
270
|
this.alarmDetailData = res.data.data.alarmInfo
|
|
271
|
this.pictureDetailData = res.data.data.pictureInfo
|
|
272
|
this.videoDetailData = res.data.data.videoInfo
|
|
273
|
} else { this.$Message.danger('处理失败') }
|
264
|
274
|
this.status = ''
|
265
|
|
|
266
|
275
|
this.details_modal = true // 打开模态框
|
267
|
|
this.currentdata.data = scope.row // 获取当前行的数据
|
|
276
|
// this.currentdata.data = scope.row // 获取当前行的数据
|
268
|
277
|
this.currentdata.index = scope.$index // 获取当前行的索引
|
269
|
|
// console.log(this.currentdata.data)
|
270
|
278
|
},
|
271
|
279
|
|
272
|
280
|
// 未确认状态的模态框的确认按钮 || 处理中状态的模态框的确认按钮
|
|
@ -278,7 +286,6 @@ export default {
|
278
|
286
|
// 向后端发送数据
|
279
|
287
|
this.alarmdispose(this.currentdata.data.workTaskId, this.status)
|
280
|
288
|
// console.log(this.status)
|
281
|
|
// console.log(this.currentdata.data.workTaskId)
|
282
|
289
|
// 关闭模态框
|
283
|
290
|
this.details_modal = false
|
284
|
291
|
} else {
|
|
@ -293,7 +300,6 @@ export default {
|
293
|
300
|
// console.log(res)
|
294
|
301
|
if (res.status === 200) {
|
295
|
302
|
this.$Message.success('操作成功')
|
296
|
|
// console.log(res.data.data)
|
297
|
303
|
this.data[this.currentdata.index].status = res.data.data.status
|
298
|
304
|
this.data[this.currentdata.index].processTime = res.data.data.doneDate
|
299
|
305
|
} else {
|
|
@ -318,7 +324,7 @@ export default {
|
318
|
324
|
|
319
|
325
|
// 获取报警类型
|
320
|
326
|
async gettype () {
|
321
|
|
var res = await aialarmapi.getaialarmtype()
|
|
327
|
var res = await aialarmapi.getAiAlarmType()
|
322
|
328
|
// console.log(res)
|
323
|
329
|
if (res.status === 200) {
|
324
|
330
|
// this.alarmtypelist = res.data.data
|
|
@ -338,14 +344,13 @@ export default {
|
338
|
344
|
params.pageNumber = this.page
|
339
|
345
|
params.pageSize = this.limit
|
340
|
346
|
|
341
|
|
var res = await aialarmapi.getaialarmlist({
|
|
347
|
var res = await aialarmapi.getAiAlarmList({
|
342
|
348
|
params: params
|
343
|
349
|
})
|
344
|
350
|
|
345
|
351
|
// console.log(res)
|
346
|
352
|
if (res.status === 200) {
|
347
|
353
|
this.data = res.data.data.data
|
348
|
|
// console.log('数据是:', this.data)
|
349
|
354
|
this.data = this.data.map((item) => { item.aiIdenTime = formatDateTime(item.aiIdenTime); return item })
|
350
|
355
|
// console.log(this.data)
|
351
|
356
|
|