Browse Source

设备状态列表查询

报警列表优化
质物检测对比相似度列表 详情 视频接入摄像头
master
yangzongjia 2 years ago
parent
commit
f9f4322bb6
  1. 8
      src/api/device/device.js
  2. 16
      src/api/deviceImage/deviceImage.js
  3. 47
      src/views/baojingchaxun/baojingchaxunList.vue
  4. 8
      src/views/shebeitaizhang/shebeitaizhangAdd.vue
  5. 12
      src/views/shebeitaizhang/shebeitaizhangInfo.vue
  6. 23
      src/views/shebeitaizhang/shebeitaizhangList.vue
  7. 210
      src/views/shebeizhuangtai/shebeizhuangtaiList.vue
  8. 157
      src/views/zhiwujiance/zhiwujianceInfo.vue
  9. 181
      src/views/zhiwujiance/zhiwujianceList.vue

8
src/api/device/device.js

@ -14,7 +14,7 @@ export function createDevice(data) {
// 删除设备
export function removeDevice(data) {
return request({ url: '/device/removeDevice', method: 'post', params: data })
return request({ url: '/device/removeDeviceByIds', method: 'GET', params: data })
}
// 获取设备列表
@ -22,6 +22,11 @@ export function getDevicePage(data) {
return request({ url: '/device/getDevicePage', method: 'GET', params: data })
}
// 获取设备状态列表
export function getDeviceStatusPage(data) {
return request({ url: '/device/getDeviceStatusPage', method: 'GET', params: data })
}
// 更新设备信息
export function updateDevice(data) {
return request({ url: '/device/updateDevice', method: 'post', params: data })
@ -54,3 +59,4 @@ export function doCallMessageOffsets(data) {
export function getCallZoneStatusList(data) {
return request({ url: '/call/getCallZoneStatusList', method: 'GET' })
}

16
src/api/deviceImage/deviceImage.js

@ -2,7 +2,21 @@ import request from '@/utils/request'
// eslint-disable-next-line no-unused-vars
import qs from 'qs'
// 获取设备日志列表
// 获取设备抓拍图片列表
export function getDeviceImagePage(data) {
return request({ url: '/deviceImage/getDeviceImagePage', method: 'GET', params: data })
}
// 单条获取设备抓拍图片
export function getDeviceImageById(data) {
return request({ url: '/deviceImage/getDeviceImageById', method: 'GET', params: data })
}
// 获取视频
export function getShiPinByChannelNo(data) {
return request({ url: '/deviceImage/getShiPinByChannelNo', method: 'GET', params: data })
}

47
src/views/baojingchaxun/baojingchaxunList.vue

@ -10,13 +10,13 @@
<el-form-item label="设备名称">
<el-input v-model="listQuery.name" clearable placeholder="" class="addinputw"></el-input>
</el-form-item>
<el-form-item label="设备类型">
<!-- <el-form-item label="设备类型">
<el-select v-model="listQuery.type" filterable clearable placeholder="请选择设备类型">
<el-option v-for="item in supplierType_list" :key="item.id" :label="item.title" :value="item.id" />
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item label="开始时间">
<el-date-picker v-model="listQuery.startTIme" type="date" placeholder="选择日期"
<el-date-picker v-model="listQuery.startTime" type="date" placeholder="选择日期"
maxlength="20"></el-date-picker>
</el-form-item>
<el-form-item label="结束时间">
@ -56,9 +56,9 @@
<span>{{ scope.row.position }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center">
<el-table-column label="报警类型" align="center">
<template slot-scope="scope">
<span>{{ getSupplierType(scope.row.supplierTypeValue) }}</span>
<span>{{ scope.row.callType }}</span>
</template>
</el-table-column>
</el-table>
@ -105,18 +105,7 @@ export default {
sids: [],
// -----------
tableKey: 0,
list: [
{ bianma: 'ZYR2060801', supplierTypeValue: '1', name: '电梯系统', weizhi: '库房', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-18 06:00:00', isElse: '待处理' },
{ bianma: 'ZYR2060802', supplierTypeValue: '1', name: '电梯系统', weizhi: '观察', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-19 06:00:00', isElse: '已处理' },
{ bianma: 'ZYR2060803', supplierTypeValue: '2', name: '电梯系统', weizhi: '后院', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-19 06:00:00', isElse: '待处理' },
{ bianma: 'ZYR2060804', supplierTypeValue: '2', name: '电梯系统', weizhi: '铁皮', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-20 06:00:00', isElse: '已处理' },
{ bianma: 'ZYR2060805', supplierTypeValue: '2', name: '电梯系统', weizhi: '盲点', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-20 06:00:00', isElse: '待处理' },
{ bianma: 'ZYR2060806', supplierTypeValue: '3', name: '电梯系统', weizhi: '凉亭', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-21 06:00:00', isElse: '待处理' },
{ bianma: 'ZYR2060807', supplierTypeValue: '3', name: '电梯系统', weizhi: '书房', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-23 06:00:00', isElse: '已处理' },
{ bianma: 'ZYR2060808', supplierTypeValue: '4', name: '电梯系统', weizhi: '藏经阁', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-23 06:00:00', isElse: '待处理' },
{ bianma: 'ZYR2060809', supplierTypeValue: '4', name: '电梯系统', weizhi: '车库', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-23 06:00:00', isElse: '已处理' },
{ bianma: 'ZYR2060810', supplierTypeValue: '5', name: '电梯系统', weizhi: '斜坡', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-23 06:00:00', isElse: '待处理' },
],
list: [],
listLoading: false,
listQuery: {
current: 1,
@ -190,7 +179,7 @@ export default {
console.log(res)
if (res.code == 200) {
this.list = res.data.records
this.total = res.total
this.listQuery.total = res.data.total
} else {
this.list = []
}
@ -214,17 +203,17 @@ export default {
},
//
getList() {
// this.listLoading = true
// req.gysPagerList(this.listQuery).then((response) => {
// this.listLoading = false
// if (response.code === '200' && response.data && response.data.total > 0) {
// this.list = response.data.records
// this.listQuery.total = response.data.total
// } else {
// this.list = []
// this.listQuery.total = 0
// }
// })
this.listLoading = true
getCallPolicePage(this.listQuery).then((res) => {
this.listLoading = false
console.log(res)
if (res.code == 200) {
this.list = res.data.records
this.listQuery.total = res.data.total
} else {
this.list = []
}
})
},
//
handleFilter() {

8
src/views/shebeitaizhang/shebeitaizhangAdd.vue

@ -63,17 +63,17 @@
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>设备序列号</span>
</el-col>
<el-col :span="8">
<el-form-item prop="deviceSerial">
<el-input v-model="addForm.deviceSerial" maxlength="20" placeholder="请填写设备序列号" class="addinputw"
<el-form-item prop="serialNumber">
<el-input v-model="addForm.serialNumber" maxlength="20" placeholder="请填写设备序列号" class="addinputw"
clearable />
</el-form-item>
</el-col>
</el-row> -->
</el-row>
</el-form>
</div>
</div>

12
src/views/shebeitaizhang/shebeitaizhangInfo.vue

@ -48,22 +48,22 @@
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>状态</span>
<span>序列号</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ getStatus(infoForm.status) }}</span>
<span>{{ infoForm.serialNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<!-- <el-col :span="4" class="tleftb">
</el-col>
<el-col :span="8">
<el-form-item>
</el-form-item>
</el-col>
</el-row> -->
</el-col> -->
</el-row>
</el-form>
</div>
</div>

23
src/views/shebeitaizhang/shebeitaizhangList.vue

@ -37,16 +37,19 @@
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="110px" class="tab-header">
<el-form-item label="选择仓库">
<!-- <el-form-item label="选择仓库">
<el-select v-model="listQuery.cangku" filterable clearable placeholder="请选择仓库">
<el-option v-for="item in cangku_list" :key="item.id" :label="item.title" :value="item.id" />
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item label="设备类型">
<el-select v-model="listQuery.type" filterable clearable placeholder="请选择设备类型">
<el-option v-for="item in supplierType_list" :key="item.id" :label="item.title" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="设备名称">
<el-input v-model="listQuery.name" clearable placeholder="" class="addinputw"></el-input>
</el-form-item>
</el-form>
<div class="btn">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
@ -73,9 +76,9 @@
<el-button size="mini" type="primary" @click="handleCheck(row)">详情</el-button>
</template>
</el-table-column>
<el-table-column prop="jc" label="设备编码" header-align="center" align="center">
<el-table-column prop="jc" label="设备序列号" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.bianma }}</span>
<span>{{ scope.row.serialNumber }}</span>
</template>
</el-table-column>
<el-table-column label="设备类型" width="110" align="center">
@ -103,13 +106,13 @@
<span>{{ scope.row.cangku }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center">
<!-- <el-table-column label="状态" align="center">
<template slot-scope="scope">
<span v-if="scope.row.status == 1" style="color:red">{{ getStatus(scope.row.status) }}</span>
<span v-if="scope.row.status == 2" style="color:orange">{{ getStatus(scope.row.status) }}</span>
<span v-if="scope.row.status == 3" style="color:green">{{ getStatus(scope.row.status) }}</span>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
</div>
<div class="pages">
@ -255,7 +258,7 @@ export default {
listLoading: false,
listQuery: {
current: 1,
size: 5,
size: 10,
total: 0
},
supplierType_list: [
@ -407,7 +410,7 @@ export default {
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
aa.push(element.id)
})
this.sids = aa
},
@ -426,8 +429,8 @@ export default {
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
removeDevice(this.sids.toString()).then(resp => {
if (resp.success) {
removeDevice({ ids: this.sids.toString() }).then(resp => {
if (resp.code == 200) {
loading.close()
this.$message({ type: 'success', message: resp.msg, showClose: true })
this.getList()

210
src/views/shebeizhuangtai/shebeizhuangtaiList.vue

@ -7,21 +7,11 @@
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="110px" class="tab-header">
<!-- <el-form-item label="设备类型">
<el-input v-model="listQuery.params.manufacturerName" clearable placeholder=""
class="addinputw"></el-input>
</el-form-item> -->
<el-form-item label="设备类型">
<el-select v-model="listQuery.params.supplierType" filterable clearable placeholder="请选择设备类型">
<el-select v-model="listQuery.type" filterable clearable placeholder="请选择设备类型">
<el-option v-for="item in supplierType_list" :key="item.id" :label="item.title" :value="item.id" />
</el-select>
</el-form-item>
<!-- <el-form-item label="厂商办公电话">
<el-input v-model="listQuery.params.manufacturerTelePhone" maxlength="130" placeholder="" class="addinputw" clearable/>
</el-form-item>
<el-form-item label="联系人">
<el-input v-model="listQuery.params.contactName" maxlength="125" placeholder="" class="addinputw" clearable/>
</el-form-item> -->
</el-form>
<div class="btn">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
@ -40,69 +30,27 @@
@selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50" />
<el-table-column label="序号" fixed type="index" width="80" :index="indexMethod" align="center" />
<!-- <el-table-column label="操作" fixed align="center" width="160px" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button size="mini" type="primary" :disabled="!row.isShow && (row.supplierTypeValue === '主机厂' || row.supplierTypeValue === '分公司')" @click="handleEdit(row)">编辑</el-button>
<el-button size="mini" type="primary" @click="handleCheck(row)">详情</el-button>
</template>
</el-table-column> -->
<!-- <el-table-column prop="jc" label="设备" width="220" header-align="center" align="center">
<template slot-scope="scope">
<span class="bluezi" @click="handleCheck(scope.row)">{{ scope.row.bianma }}</span>
</template>
</el-table-column> -->
<!--
<el-table-column label="报警时间" align="center">
<template slot-scope="scope">
<span>{{ scope.row.policeTime }}</span>
</template>
</el-table-column>
<el-table-column label="设备位置" width="" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.weizhi }}</span>
</template>
</el-table-column> -->
<el-table-column label="设备类型" align="center">
<template slot-scope="scope">
<span>{{ getDeviceType(scope.row.deviceType) }}</span>
<span>{{ getDeviceType(scope.row.type) }}</span>
</template>
</el-table-column>
<el-table-column prop="jc" label="设备编码" header-align="center" align="center">
<el-table-column prop="jc" label="设备名称" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.bianma }}</span>
<span>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="IP地址" align="center">
<el-table-column label="设备位置" align="center">
<template slot-scope="scope">
<span>{{ scope.row.ipAddress }}</span>
<span>{{ scope.row.position }}</span>
</template>
</el-table-column>
<el-table-column label="当前状态" width="110" align="center">
<template slot-scope="scope">
<span v-if="scope.row.supplierTypeValue == 1" style="color:green">{{ getSupplierType(scope.row.supplierTypeValue) }}</span>
<span v-if="scope.row.supplierTypeValue == 2" style="color:red">{{ getSupplierType(scope.row.supplierTypeValue) }}</span>
<span v-if="scope.row.status == '1'" style="color:green">在线</span>
<span v-if="scope.row.status == 2" style="color:red">离线</span>
</template>
</el-table-column>
<!-- <el-table-column label="出厂时间" align="center">
<template slot-scope="scope">
<span>{{ scope.row.time }}</span>
</template>
</el-table-column>
<el-table-column label="安装时间" align="center">
<template slot-scope="scope">
<span>{{ scope.row.anzhuangtime }}</span>
</template>
</el-table-column>
<el-table-column label="供货商" align="center">
<template slot-scope="scope">
<span>{{ scope.row.gonghuashang }}</span>
</template>
</el-table-column>
<el-table-column label="生产厂家" align="center">
<template slot-scope="scope">
<span>{{ scope.row.owner }}</span>
</template>
</el-table-column> -->
</el-table>
</div>
<div class="pages">
@ -112,8 +60,6 @@
</div>
</div>
</div>
<!-- <baojingchaxunAdd v-show="viewState == 2" ref="divadd" @doback="resetState" @reloadlist="handleFilter"/>
<baojingchaxunInfo v-show="viewState == 4" ref="divinfo" @doback="resetState"/> -->
</div>
</template>
@ -121,10 +67,7 @@
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
// import { typeValues, getOrgSidByPath } from '@/api/cheliang/dictcommons'
// import baojingchaxunAdd from './baojingchaxunAdd'
// import baojingchaxunInfo from './baojingchaxunInfo'
// import req from '@/api/baojingchaxun/baojingchaxun'
import { getDeviceStatusPage } from '@/api/device/device'
export default {
name: 'baojingchaxunList',
@ -132,49 +75,11 @@
Pagination,
pageye,
ButtonBar,
// baojingchaxunAdd,
// baojingchaxunInfo,
},
data() {
return {
btndisabled: false,
btnList: [
// {
// type: 'primary',
// size: 'small',
// icon: 'plus',
// btnKey: 'toAdd',
// btnLabel: ''
// },
// {
// type: 'danger',
// size: 'small',
// icon: 'del',
// btnKey: 'doDel',
// btnLabel: ''
// },
// {
// type: 'primary',
// size: 'small',
// icon: '',
// btnKey: 'toChangShang',
// btnLabel: ''
// },
// {
// type: 'primary',
// size: 'small',
// icon: '',
// btnKey: 'toGain',
// btnLabel: ''
// },
// {
// type: 'success',
// size: 'small',
// icon: 'export',
// btnKey: 'build',
// btnLabel: ''
// },
{
type: 'info',
size: 'small',
@ -189,39 +94,18 @@
sids: [],
// -----------
tableKey: 0,
list: [
{ bianma: 'Pro2160901', supplierTypeValue: '1', weizhi: '库房', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-18', deviceType: '1', ipAddress: '192.168.5.12' },
{ bianma: 'Pro2160902', supplierTypeValue: '1', weizhi: '观察', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-19', deviceType: '1', ipAddress: '192.168.5.13' },
{ bianma: 'Pro2160903', supplierTypeValue: '2', weizhi: '后院', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-19', deviceType: '2', ipAddress: '192.168.5.14' },
{ bianma: 'Pro2160904', supplierTypeValue: '2', weizhi: '铁皮', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-20', deviceType: '2', ipAddress: '192.168.5.15' },
{ bianma: 'Pro2160905', supplierTypeValue: '2', weizhi: '盲点', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-20', deviceType: '2', ipAddress: '192.168.5.16' },
{ bianma: 'Pro2160906', supplierTypeValue: '1', weizhi: '凉亭', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-21', deviceType: '1', ipAddress: '192.168.5.17' },
{ bianma: 'Pro2160907', supplierTypeValue: '1', weizhi: '书房', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-23', deviceType: '1', ipAddress: '192.168.5.18' },
{ bianma: 'Pro2160908', supplierTypeValue: '2', weizhi: '藏经阁', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-23', deviceType: '2', ipAddress: '192.168.5.19' },
{ bianma: 'Pro2160909', supplierTypeValue: '1', weizhi: '车库', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-23', deviceType: '1', ipAddress: '192.168.5.20' },
{ bianma: 'ZYR2060810', supplierTypeValue: '2', weizhi: '斜坡', time: '2023-02-26', anzhuangtime: '2023-02-26', gonghuashang: 'Pepsi Cola', owner: 'Owner Peer', policeTime: '2023-05-23', deviceType: '1', ipAddress: '192.168.5.21' },
],
list: [],
listLoading: false,
listQuery: {
params: {
manufacturerName: '',
supplierType: '',
useOrgSid: '',
createOrgSid: '',
manufacturerTelePhone: '',
contactName: ''
},
current: 1,
size: 5,
total: 10
},
supplierType_list: [
{ title: '在线', id: '1' },
{ title: '离线', id: '2' },
],
deviceType_list: [
{ title: '普通设备', id: '1' },
{ title: '人脸设备', id: '2' },
{ title: '摄像头', id: '1' },
{ title: '电子围栏', id: '2' },
{ title: '门禁', id: '3' },
{ title: '机器人', id: '4' }
],
rules: {}
}
@ -231,23 +115,19 @@
},
created() {
//
// this.init()
this.init()
},
methods: {
getSupplierType(item) {
console.log('item', item)
},
getDeviceType(item) {
for (var i = 0; i < this.supplierType_list.length; i++) {
if (this.supplierType_list[i].id == item) {
return this.supplierType_list[i].title
}
}
},
getDeviceType(item) {
for (var i = 0; i < this.deviceType_list.length; i++) {
if (this.deviceType_list[i].id == item) {
return this.deviceType_list[i].title
}
}
},
resetState() {
this.viewState = 1
},
@ -285,25 +165,18 @@
this.searchxianshitit = '显示查询条件'
}
},
// init() {
// getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
// if (res.success) {
// this.listQuery.params.createOrgSid = res.data
// this.getType()
// this.getList()
// }
// })
// },
// getType() {
// typeValues({
// type: 'supplierType'
// }).then((res) => {
// if (res.code === '200') {
// this.supplierType_list = res.data
// console.log('', this.supplierType_list)
// }
// })
// },
init() {
getDeviceStatusPage(this.listQuery).then((res) => {
console.log(res)
if (res.code == 200) {
this.listQuery.total = res.data.total
this.list = res.data.records
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
@ -312,17 +185,15 @@
},
//
getList() {
// this.listLoading = true
// req.gysPagerList(this.listQuery).then((response) => {
// this.listLoading = false
// if (response.code === '200' && response.data && response.data.total > 0) {
// this.list = response.data.records
// this.listQuery.total = response.data.total
// } else {
// this.list = []
// this.listQuery.total = 0
// }
// })
getDeviceStatusPage(this.listQuery).then((res) => {
if (res.code == 200) {
this.listQuery.total = res.data.total
this.list = res.data.records
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
@ -446,5 +317,4 @@
}
</script>
<style scoped>
</style>
<style scoped></style>

157
src/views/zhiwujiance/zhiwujianceInfo.vue

@ -62,146 +62,20 @@
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.time }}</span>
<span>{{ infoForm.modifyTime }}</span>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-col :span="4" class="tleftb">
<span>质物编码</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.bianma }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>质物位置</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.weizhi }}</span>
</el-form-item>
</el-col>
</el-row> -->
<!-- <el-row>
<el-col :span="4" class="tleftb">
<span>拍照时间</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.time }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span></span>
</el-col>
<el-col :span="8">
<el-form-item>
<span></span>
</el-form-item>
</el-col>
</el-row> -->
<el-row>
<el-col :span="4" class="tleftb">
<span>拍照图片</span>
</el-col>
<el-col :span="20">
<el-form-item>
<span><img class="tus" :src="infoForm.tuUrl" alt="" /></span>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-col :span="4" class="tleftb">
<span>质物类型</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ getSupplierType(infoForm.manufacturerCode) }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>拍照时间</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.supplierTypeValue }}</span>
<span><img class="tus" :src="infoForm.imgAfter" alt="" /></span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>出厂时间</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.manufacturer }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>供货商</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.manufacturerAddress }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>生产厂家</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.manufacturerTelePhone }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>保修截止日期</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.manufacturerFax }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>状态</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ getStatus(infoForm.status) }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
</el-col>
<el-col :span="8">
<el-form-item>
</el-form-item>
</el-col>
</el-row> -->
<!-- <div class="title">
<div>开户行信息</div>
</div>
<el-table :key="tableKey" :data="baseManufacturerBankDto" :index="index" border style="width: 100%">
<el-table-column fixed width="60px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="dueBankValue" width="140px" label="账户类型" align="center"/>
<el-table-column prop="depositBank" width="180px" label="开户银行" align="center"/>
<el-table-column prop="bankAccount" width="160px" label="银行账号" align="center"/>
<el-table-column prop="accountName" width="130px" label="账号名称" align="center"/>
<el-table-column prop="bankingOutlets" width="180px" label="银行网点" align="center"/>
<el-table-column prop="bankAddress" width="260px" label="开户行地址" align="center"/>
<el-table-column prop="paymentLines" width="160px" label="联行号" align="center"/>
<el-table-column prop="swiftCode" width="200px" label="swiftcode(银行代码)" align="center"/>
<el-table-column prop="currency" width="130px" label="币种" align="center"/>
<el-table-column prop="remarks" width="240px" label="描述" align="center"/>
<el-table-column prop="actualPay" width="240px" label="厂家销售通路" align="center"/>
<el-table-column prop="paymentAccessNoValue" width="240px" label="付款通路编码" align="center"/>
</el-table> -->
</el-form>
</div>
</div>
@ -209,7 +83,8 @@
</template>
<script>
// import req from '@/api/shebeitaizhang/shebeitaizhang'
import { getDeviceImageById } from '@/api/deviceImage/deviceImage'
export default {
name: 'shebeitaizhangInfo',
@ -226,7 +101,8 @@
{ title: '已维修', id: '2' },
{ title: '完好', id: '3' },
],
infoForm: {cangkuname:'仓库1',huohao:'1025632',ren:'sun',tel:'138330025635',
infoForm: {
cangkuname: '仓库1', huohao: '1025632', ren: 'sun', tel: '138330025635',
bianma: '02124623', name: '矿泉水', num: '500', weizhi: '仓库1F3',
manufacturerName: 'KD-22',
manufacturerAs: '2F金陵文脉',
@ -240,9 +116,7 @@
cangku: '仓库1',
tuUrl: './image/tu1.jpg'
},
// baseManufacturerBankDto: [],
rules: {},
// submitdisabled: false
}
},
methods: {
@ -265,12 +139,14 @@
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '质物台账详情'
// req.fetchBySid(row.sid).then(resp => {
// this.infoForm = resp.data.infoForm
// this.baseManufacturerBankDto = resp.data.baseManufacturerBankDto
// }).catch(e => {
// this.formobj = row
// })
getDeviceImageById({ id: row.id }).then(resp => {
console.log('resp', resp)
// this.infoForm = resp.data
this.infoForm.modifyTime = resp.data.modifyTime
this.infoForm.imgAfter = resp.data.imgAfter
}).catch(e => {
this.formobj = row
})
},
handleReturn() {
this.$emit('doback')
@ -280,5 +156,8 @@
</script>
<style scoped>
.tus{width: 400px;margin: 20px;}
.tus {
width: 400px;
margin: 20px;
}
</style>

181
src/views/zhiwujiance/zhiwujianceList.vue

@ -5,7 +5,7 @@
<button-bar view-title="质物监测" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<!-- <el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button> -->
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="110px" class="tab-header">
<el-form-item label="物品名称">
@ -52,29 +52,24 @@
</template>
</el-table-column>
<el-table-column prop="jc" label="相似度对比" header-align="center" align="center">
<template slot-scope="scope">
<template slot-scope="{row}">
<div v-for="(item, index) in Datalista" :key="index">
<div class="newslilefts">
<!-- <span class="tits">图库照</span> -->
<div class="newsli">
<div class="tu"><img :src="item.tuUrl" alt="" /></div>
<div class="tu"><img :src="row.imgBrfore" alt="" /></div>
<div class="rightwen">
<!-- <div class="tit">位置{{item.cangku}}</div> -->
<div class="time">拍照日期{{ item.createTime }}</div>
<div class="time">拍照时间{{ item.createTime2 }}</div>
<!-- <div class="time">拍照日期{{ row.createTime }}</div> -->
<div class="time" style="margin-top:10%">拍照时间{{ row.createTime }}</div>
</div>
</div>
<div class="yuans">
<p>98%</p><span>相似度</span>
<p>{{ row.similarity }}</p><span>相似度</span>
</div>
<!-- <span class="tits">图库照</span> -->
<div class="newsli">
<div class="tu"><img :src="item.tuUrlb" alt="" /></div>
<div class="tu"><img :src="row.modifyTime" alt="" /></div>
<div class="rightwen">
<!-- <div class="tit">位置{{item.cangku}}</div> -->
<div class="time">拍照日期{{ item.createTime }}</div>
<div class="time">拍照时间{{ item.createTime2 }}</div>
<!-- <div class="time">拍照日期{{ row.createTime }}</div> -->
<div class="time" style="margin-top:10%">拍照时间{{ row.modifyTime }}</div>
</div>
</div>
</div>
@ -82,14 +77,10 @@
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="220px" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button size="mini" type="primary" @click="toShipin()">视频</el-button>
<!-- <el-button size="mini" type="primary" @click="handleEdit(row)">编辑</el-button> -->
<el-button size="mini" type="primary" @click="toShipin(row)">视频</el-button>
<el-button size="mini" type="primary" @click="handleCheck(row)">详情</el-button>
<!-- <el-button size="mini" type="primary">处理</el-button> -->
</template>
</el-table-column>
</el-table>
@ -104,17 +95,10 @@
</div>
<!-- 查看视频 -->
<el-dialog title="查看视频" :visible.sync="dialogImage" width="800px" :before-close="handleClose">
<div class="shipin">
<video id="video" :preload="preload" :height="height" :width="width" align="center" :controls="controls">
<source :src="videoSrc" type="video/mp4">
</video>
</div>
<!-- <span slot="footer" class="dialog-footer">
<el-button @click="dialogImage = false"> </el-button>
</span> -->
<iframe :src="this.spUrl" width="750" height="400" id="ysOpenDevice" allowfullscreen>
</iframe>
</el-dialog>
<zhiwujianceAdd v-show="viewState == 2" ref="divadd" @doback="resetState" @reloadlist="handleFilter" />
<!-- <zhiwujianceAddShebei v-show="viewState == 5" ref="divaddshebei" @doback="resetState" @reloadlist="handleFilter" /> -->
<zhiwujianceInfo v-show="viewState == 4" ref="divinfo" @doback="resetState" />
</div>
</template>
@ -124,14 +108,11 @@
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
// import { typeValues, getOrgSidByPath } from '@/api/cheliang/dictcommons'
import zhiwujianceAdd from './zhiwujianceAdd'
// import zhiwujianceAddShebei from '@/views/zhiwujiance/shebei/shebeiList'
import zhiwujianceInfo from './zhiwujianceInfo'
// import req from '@/api/zhiwujiance/zhiwujiance'
import * as echarts from "echarts";
import PieChartrenyuan from '@/views/echarts/components/PieChartrenyuanb'
import { getDeviceImagePage } from '@/api/deviceImage/deviceImage'
import { getDeviceImagePage, getShiPinByChannelNo } from '@/api/deviceImage/deviceImage'
// 1.1
const wanhao_Chart = {
@ -172,8 +153,6 @@ const weixiu_Chart = {
show: false
}
},
// radius: ['50%', '55%']
}
// 1.3
const sunhai_Chart = {
@ -193,7 +172,6 @@ const sunhai_Chart = {
}
},
// radius: ['50%', '55%']
}
export default {
@ -203,7 +181,6 @@ export default {
pageye,
ButtonBar,
zhiwujianceAdd,
// zhiwujianceAddShebei,
zhiwujianceInfo, PieChartrenyuan
},
data() {
@ -213,48 +190,6 @@ export default {
sunhai_Chart: sunhai_Chart,
btndisabled: false,
btnList: [
// {
// type: 'primary',
// size: 'small',
// icon: 'plus',
// btnKey: 'toAdd',
// btnLabel: ''
// },
// {
// type: 'danger',
// size: 'small',
// icon: 'del',
// btnKey: 'doDel',
// btnLabel: ''
// },
// {
// type: 'primary',
// size: 'small',
// icon: '',
// btnKey: 'toChangShang',
// btnLabel: ''
// },
// {
// type: 'primary',
// size: 'small',
// icon: '',
// btnKey: 'toGain',
// btnLabel: ''
// },
// {
// type: 'success',
// size: 'small',
// icon: 'export',
// btnKey: 'import',
// btnLabel: ''
// },
// {
// type: 'success',
// size: 'small',
// icon: 'export',
// btnKey: 'build',
// btnLabel: ''
// },
{
type: 'info',
size: 'small',
@ -286,21 +221,6 @@ export default {
cangku: '仓库1003F3', name: '康师傅矿泉水', tuUrl: './image/tu1.jpg', createTime: '2023-05-03', createTime2: '18:26:38', changjia: '康师傅', shuliang: '1000', zhongliang: '500',
nameb: '康师傅矿泉水2', tuUrlb: './image/tu2.jpg', createTimeb: '2023-05-03', createTime2: '18:26:38', changjiab: '康师傅', shuliangb: '1000', zhongliangb: '500'
},
// { weizhi: '', quyu: '', mianji: '2000',
// cenggao: '23', jiage: '263', xingzhi: '',
// fangyuan: '', lianxiren: '', dianhua: '17073404927' ,leibie: '',beizhu:'2'},
// { weizhi: '', quyu: '', mianji: '2000',
// cenggao: '23', jiage: '263', xingzhi: '',
// fangyuan: '', lianxiren: '', dianhua: '17073404927' ,leibie: '',beizhu:'2'},
// { weizhi: '', quyu: '', mianji: '2000',
// cenggao: '23', jiage: '263', xingzhi: '',
// fangyuan: '', lianxiren: '', dianhua: '17073404927' ,leibie: '',beizhu:'2'},
// { weizhi: '', quyu: '', mianji: '2000',
// cenggao: '23', jiage: '263', xingzhi: '',
// fangyuan: '', lianxiren: '', dianhua: '17073404927' ,leibie: '',beizhu:'2'},
// { weizhi: '', quyu: '', mianji: '2000',
// cenggao: '23', jiage: '263', xingzhi: '',
// fangyuan: '', lianxiren: '', dianhua: '17073404927' ,leibie: '',beizhu:'2'},
],
Datalista: [
@ -341,11 +261,11 @@ export default {
dialogImage: false,
//
videoSrc: '../../../image/cangkushipin.mp4',
playStatus: '',
muteStatus: '',
isMute: true,
isPlay: false,
spUrl: "",
width: '100%', //
height: '430', //
preload: 'auto', // <video>
@ -363,8 +283,12 @@ export default {
this.init()
},
methods: {
toShipin() {
toShipin(row) {
getShiPinByChannelNo({ channelNo: row.channelNo }).then(res => {
this.spUrl = res.data
this.dialogImage = true
})
},
handleClose() {
this.dialogImage = false
@ -428,18 +352,9 @@ export default {
},
init() {
getDeviceImagePage(this.listQuery).then((res) => {
this.list = res.data.records
})
},
// getType() {
// typeValues({
// type: 'supplierType'
// }).then((res) => {
// if (res.code === '200') {
// this.supplierType_list = res.data
// console.log('', this.supplierType_list)
// }
// })
// },
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
@ -466,19 +381,6 @@ export default {
this.getList()
},
handleReset() {
// this.listQuery = {
// params: {
// manufacturerName: '',
// supplierType: '',
// useOrgSid: '',
// createOrgSid: '',
// manufacturerTelePhone: '',
// contactName: ''
// },
// current: 1,
// size: 5
// }
// this.init()
},
//
toAdd() {
@ -490,8 +392,6 @@ export default {
this.$router.push({
path: '/zhiwujiance/shebeiList',
})
// this.viewState = 5
// this.$refs['divaddshebei'].showAdd(this.listQuery.params.createOrgSid)
},
handleSelectionChange(row) {
const aa = []
@ -533,56 +433,15 @@ export default {
return
}
},
// toChangShang() {
// req.saveGysByOrgSid(this.listQuery.params.createOrgSid).then((resp) => {
// if (resp.success) {
// this.$message({ showClose: true, type: 'success', message: '' })
// this.getList()
// }
// })
// },
// toGain() {
// req.saveAllByOrgSid({ orgSid: this.listQuery.params.createOrgSid }).then((resp) => {
// if (resp.success) {
// this.$message({ showClose: true, type: 'success', message: '' })
// this.getList()
// }
// })
// },
handleEdit(row) {
// this.viewState = 3
// this.$refs['divadd'].showEdit(row)
this.viewState = 2
this.$refs['divadd'].showAdd(this.listQuery.createOrgSid)
// if (row.supplierTypeValue !== '' && row.supplierTypeValue !== '') {
// this.viewState = 3
// this.$refs['divadd'].showEdit(row)
// } else {
// this.viewState = 5
// this.$refs['divHosts'].showInfo(row)
// }
},
//
handleCheck(row) {
this.viewState = 4
this.$refs['divinfo'].showInfo(row)
},
//
// doExport() {
// basefinbankExportExcel(this.sids).then((res) => {
// const blob = new Blob([res], {
// type: 'application/vnd.ms-excel'
// })
// const objectUrl = URL.createObjectURL(blob)
// window.location.href = objectUrl
// this.$notify({
// title: '',
// message: '',
// type: 'success',
// duration: 2000
// })
// })
// },
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)

Loading…
Cancel
Save