Przeglądaj źródła

[FE]:修改AI报警接口数据

xiayu3 4 lat temu
rodzic
commit
c7d3dfb76c

+ 7 - 4
security-protection-platform/src/api/aialarm/index.js

3

3

4
const api = {
4
const api = {
5
  // 获取报警记录列表
5
  // 获取报警记录列表
6
  getaialarmlist (params) {
6
  getAiAlarmList (params) {
7
    return $default.get('/sp/aiAlarmManage/queryPageAiAlarm', params)
7
    return $default.get('/sp/aiAlarmManage/queryPageAiAlarm', params)
8
  },
8
  },
9

9
  // 获取报警列表详情信息
10
  getAlarmDetail(id) {
11
    return $default.get('/sp/aiAlarmManage/queryOneAiAlarmInfo', id).catch((err) => { return err })
12
  },
10
  // 获取报警类型查询下拉框
13
  // 获取报警类型查询下拉框
11
  getaialarmtype () {
14
  getAiAlarmType () {
12
    return $default.get('/sp/charSpec/getCharSpecList?charSpecCode=AI_ALARM_TYPE')
15
    return $default.get('/sp/charSpec/getCharSpecList?charSpecCode=AI_ALARM_TYPE')
13
  },
16
  },
14
  getaialarmhandler () {
17
  getAiAlarmHandler () {
15
    return $http.get('/aialarm/getaialarmhandler')
18
    return $http.get('/aialarm/getaialarmhandler')
16
  },
19
  },
17
  dispose (params) {
20
  dispose (params) {

+ 34 - 29
security-protection-platform/src/modules/aialarm/index.vue

92
          <div class="detail">
92
          <div class="detail">
93
            <label class="detail_title">状态:</label>
93
            <label class="detail_title">状态:</label>
94
            <div class="detail_content">
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
            </div>
99
            </div>
100

100

101
          </div>
101
          </div>
102
          <div class="detail">
102
          <div class="detail">
103
            <label class="detail_title">报警类型:</label>
103
            <label class="detail_title">报警类型:</label>
104
            <div class="detail_content">{{ currentdata.data.alarmTypeName }}</div>
104
            <div class="detail_content">{{ alarmDetailData.alarmTypeCode || '' }}</div>
105
          </div>
105
          </div>
106
          <div class="detail">
106
          <div class="detail">
107
            <label class="detail_title">报警描述:</label>
107
            <label class="detail_title">报警描述:</label>
108
            <div class="detail_content">{{ currentdata.data.alarmMemo }}</div>
108
            <div class="detail_content">{{ alarmDetailData.alarmMemo }}</div>
109
          </div>
109
          </div>
110
          <div class="detail">
110
          <div class="detail">
111
            <label class="detail_title">报警时间:</label>
111
            <label class="detail_title">报警时间:</label>
112
            <div class="detail_content">{{ currentdata.data.aiIdenTime }}</div>
112
            <div class="detail_content">{{ alarmDetailData.aiIdenTime }}</div>
113
          </div>
113
          </div>
114

114

115
          <div class="detail">
115
          <div class="detail">
116
            <label class="detail_title">设备编号:</label>
116
            <label class="detail_title">设备编号:</label>
117
            <div class="detail_content">{{ currentdata.data.resourceToolCode }}</div>
117
            <div class="detail_content">{{ alarmDetailData.resourceToolCode }}</div>
118
          </div>
118
          </div>
119
          <div class="detail">
119
          <div class="detail">
120
            <label class="detail_title">设备位置:</label>
120
            <label class="detail_title">设备位置:</label>
121
            <div class="detail_content">{{ currentdata.data.monitorSceneName }}</div>
121
            <div class="detail_content">{{ alarmDetailData.monitorSceneName }}</div>
122
          </div>
122
          </div>
123

123

124
          <div class="detail">
124
          <div v-if="alarmDetailData.workEmployeeRoleId!==null" class="detail">
125
            <label class="detail_title">处理人:</label>
125
            <label class="detail_title">处理人:</label>
126
            <div class="detail_content">{{ currentdata.data.workEmployeeRoleName }}</div>
126
            <div class="detail_content">{{ alarmDetailData.workEmployeeRoleName }}</div>
127
          </div>
127
          </div>
128

128

129
          <div class="detail">
129
          <div v-if="alarmDetailData.workEmployeeRoleId!==null" class="detail">
130
            <label class="detail_title">处理时间:</label>
130
            <label class="detail_title">处理时间:</label>
131
            <div>{{ currentdata.data.processTime }}</div>
131
            <div>{{ alarmDetailData.doneDate }}</div>
132
          </div>
132
          </div>
133
        </div>
133
        </div>
134

134

135
        <div class="details_item2">
135
        <div class="details_item2">
136
          <div>
136
          <div>
137
            <div>识别图片</div>
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
          </div>
139
          </div>
140
          <div>
140
          <div>
141
            <div>识别视频</div>
141
            <div>识别视频</div>
142
            <div>
142
            <div>
143
              <video :src="currentdata.data.idenVideoUrl" class="video" controls></video>
143
              <video :src="videoDetailData.videoFileUrl" class="video" controls></video>
144
            </div>
144
            </div>
145
          </div>
145
          </div>
146
        </div>
146
        </div>
147
        <div v-if="clickdetail==1">
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
            <div>报警处理 : </div>
149
            <div>报警处理 : </div>
150
            <div v-if="currentdata.data.status=='INI'">
150
            <div v-if="alarmDetailData.status=='INI'">
151
              <t-radio-group v-model="status">
151
              <t-radio-group v-model="status">
152
                <t-radio label="RUN">
152
                <t-radio label="RUN">
153

153

161
              </t-radio-group>
161
              </t-radio-group>
162
            </div>
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
              <t-radio-group v-model="status">
165
              <t-radio-group v-model="status">
166
                <t-radio label="END">关闭</t-radio>
166
                <t-radio label="END">关闭</t-radio>
167
              </t-radio-group>
167
              </t-radio-group>
214
        index: '',
214
        index: '',
215
        data: {}
215
        data: {}
216
      },
216
      },
217
      // 报警详情数据
218
      alarmDetailData: {},
219
      // 图片详情数据
220
      pictureDetailData: {},
221
      // 视频详情数据
222
      videoDetailData: {},
217
      // 选择的数据
223
      // 选择的数据
218
      selectdata: [],
224
      selectdata: [],
219
      // 判断是详情还是处理
225
      // 判断是详情还是处理
255
      // console.log(val)
261
      // console.log(val)
256
      this.selectdata = val
262
      this.selectdata = val
257
    },
263
    },
258

259
    // 点击详情
264
    // 点击详情
260
    handleClick (scope, val) {
265
    async handleClick (scope, val) {
261
      this.clickdetail = val
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
      this.status = ''
274
      this.status = ''
265

266
      this.details_modal = true // 打开模态框
275
      this.details_modal = true // 打开模态框
267
      this.currentdata.data = scope.row // 获取当前行的数据
276
      // this.currentdata.data = scope.row // 获取当前行的数据
268
      this.currentdata.index = scope.$index // 获取当前行的索引
277
      this.currentdata.index = scope.$index // 获取当前行的索引
269
      // console.log(this.currentdata.data)
270
    },
278
    },
271

279

272
    // 未确认状态的模态框的确认按钮 || 处理中状态的模态框的确认按钮
280
    // 未确认状态的模态框的确认按钮 || 处理中状态的模态框的确认按钮
278
        // 向后端发送数据
286
        // 向后端发送数据
279
        this.alarmdispose(this.currentdata.data.workTaskId, this.status)
287
        this.alarmdispose(this.currentdata.data.workTaskId, this.status)
280
        // console.log(this.status)
288
        // console.log(this.status)
281
        // console.log(this.currentdata.data.workTaskId)
282
        // 关闭模态框
289
        // 关闭模态框
283
        this.details_modal = false
290
        this.details_modal = false
284
      } else {
291
      } else {
293
      // console.log(res)
300
      // console.log(res)
294
      if (res.status === 200) {
301
      if (res.status === 200) {
295
        this.$Message.success('操作成功')
302
        this.$Message.success('操作成功')
296
        // console.log(res.data.data)
297
        this.data[this.currentdata.index].status = res.data.data.status
303
        this.data[this.currentdata.index].status = res.data.data.status
298
        this.data[this.currentdata.index].processTime = res.data.data.doneDate
304
        this.data[this.currentdata.index].processTime = res.data.data.doneDate
299
      } else {
305
      } else {
318

324

319
    // 获取报警类型
325
    // 获取报警类型
320
    async gettype () {
326
    async gettype () {
321
      var res = await aialarmapi.getaialarmtype()
327
      var res = await aialarmapi.getAiAlarmType()
322
      // console.log(res)
328
      // console.log(res)
323
      if (res.status === 200) {
329
      if (res.status === 200) {
324
        // this.alarmtypelist = res.data.data
330
        // this.alarmtypelist = res.data.data
338
        params.pageNumber = this.page
344
        params.pageNumber = this.page
339
        params.pageSize = this.limit
345
        params.pageSize = this.limit
340

346

341
        var res = await aialarmapi.getaialarmlist({
347
        var res = await aialarmapi.getAiAlarmList({
342
          params: params
348
          params: params
343
        })
349
        })
344

350

345
        // console.log(res)
351
        // console.log(res)
346
        if (res.status === 200) {
352
        if (res.status === 200) {
347
          this.data = res.data.data.data
353
          this.data = res.data.data.data
348
          // console.log('数据是:', this.data)
349
          this.data = this.data.map((item) => { item.aiIdenTime = formatDateTime(item.aiIdenTime); return item })
354
          this.data = this.data.map((item) => { item.aiIdenTime = formatDateTime(item.aiIdenTime); return item })
350
          // console.log(this.data)
355
          // console.log(this.data)
351

356


+ 1 - 1
security-protection-platform/src/modules/videoSurveillance/components/ReplayDialog/index.vue

1
<template>
1
<template>
2
  <t-modal :visibled.sync="visible" :header-visibled="false" :footer-visibled="false" :no-padding="true" width="100%">
2
  <t-modal :visibled.sync="visible" :header-visibled="false" :footer-visibled="false" :no-padding="true" width="90%">
3
    <div class="replayer">
3
    <div class="replayer">
4
      <div class="replayer-list">
4
      <div class="replayer-list">
5
        <div class="date-select-box row-12">
5
        <div class="date-select-box row-12">