import { deviceLoader } from '@/utils/basedata.js'; // 设备列表查询字段 export const queryParams = { // sysId: '', // 系统id // province: '', // 省 // city: '', // 市 // region: '', // 区 // community: '', // 小区 // buildingId: '', // 建筑ID deviceNo: '', //设备编号、水表电子号、水表档案号 // status: '', // 设备状态 // manufacturerId: '', // 厂商id // equipmentType: '', // 系列 // model: '', // 型号 // floor: '', // 楼层 // locDesc: '', // 位置描述 // concentratorName: '', // 集中器编号 // channelNumberName: '', // 通道号 // collectorNo: '', // 采集器编码 // errorType: '', // 告警类型 // issueStatus: '',//下发状态 // customerId: '', // 客户id // days: '', // 连续故障天数 // deviceTypeId: '', // 设备型号 // valveStatus: '', // 阀门控制 // registerStatus: '', // 注册状态 // syncStatus: '',// 同步状态 // channelNumberId:'',//通道号 companyOrgId: '', deptOrgId: '', // communityId: '', categoryId: '', // productId: '', address: '', concentratorId: '', concentratorNo: '', collectorId: '', collectorNo: '', channelNumberId: '', deviceStatus: '', valveStatus: '', startDate: '', endDate: '' } /** * @description: 设备列表搜索条件配置 * @param : conditions 条件汇总 | alias 场景别名区分常显和更多过滤条件 * @return: */ export const searchConfig = { conditions: [{ label: '', prop: 'deviceNo', slot: 'deviceNo', placeholder: '设备编号/电子号', }, { label: '设备型号', prop: 'deviceModel', slot: 'deviceModel', placeholder: '请选择设备型号', }, { label: '设备型号', prop: 'mechanicdeviceModel', slot: 'mechanicdeviceModel', placeholder: '请选择机械表设备型号', }, { label: '设备状态', prop: 'deviceStatus', placeholder: '请选择设备状态', options: deviceLoader.options, class: 'inherit-css' }, { label: '公司', prop: 'companyOrgId', slot: 'companyOrgId', placeholder: '请选择公司', }, { label: '部门', prop: 'deptOrgId', slot: 'deptOrgId', placeholder: '请选择部门', }, { label: '小区', prop: 'communityId', slot: 'communityId', placeholder: '请选择小区', }, { label: '告警类型', prop: 'errorType', slot: 'errorType', placeholder: '请选择告警类型', }, { label: '下发状态', prop: 'issueStatus', slot: 'issueStatus', placeholder: '请选择下发状态', options: [{ id: '', label: '全部' }, { id: '1', label: '已下发' }, { id: '0', label: '未下发' }] }, { label: '客户', prop: 'customerId', slot: 'customerId', placeholder: '请选择客户', }, { label: '阀门控制', prop: 'valveStatus', placeholder: '请选择阀门控制', options: [{ id: '', label: '全部' }, { id: '1', label: '阀开' }, { id: '0', label: '阀关' }, { id: '2', label: '异常' }] }, { label: '注册状态', prop: 'registerStatus', placeholder: '请选择注册状态', options: [{ id: '', label: '全部' }, { id: '1', label: '已注册' }, { id: '0', label: '未注册' }] }, { label: '水表电子号', prop: 'meterNo', slot: 'meterNo', placeholder: '请输入水表电子号' }, { label: '水表铅封号', prop: 'sealNo', slot: 'sealNo', placeholder: '请输入水表铅封号' }, { label: '集中器编码', prop: 'concentratorId', slot: 'concentratorId', placeholder: '请选择集中器编码', }, { label: '通道号', prop: 'channelNumberId', slot: 'channelNumberId', }, { label: '采集器编码', prop: 'collectorNo', placeholder: '请输入采集器编码', }, { label: '楼层', prop: 'floor', type: 'number', placeholder: '请输入楼层', }, { label: '安装地址', prop: 'address', placeholder: '请输入安装地址', }, { label: '同步状态', prop: 'syncStatus', slot: 'syncStatus', placeholder: '请选择同步状态', options: [{ id: '', label: '全部' }, { id: '1', label: '已同步' }, { id: '2', label: '未同步' }] }, { label: '连续故障天数', prop: 'days', type: 'number', placeholder: '请输入连续故障天数', maxlength: 8 }, { label: '安装时间', prop: 'installTime', slot: 'installTime', placeholder: '请选择安装时间', } ], loraMeter: { normal: ['deviceNo', 'deviceModel', 'deviceStatus'], more: ['companyOrgId', 'deptOrgId', 'communityId', 'address', 'installTime'], }, // 2. 搜索:设备型号、设备状态、下发状态;高级搜索条件:客户、水表编号、集中器编码、通道号、采集器编码、安装地址、阀门控制; photoelectricMeter: { normal: ['deviceModel', 'status', 'issueStatus'], more: ['customerId', 'waterMeterNo', 'concentratorId', 'collectorNo', 'locDesc', 'valveStatus'], }, nbiotMeter: { normal: ['deviceNo', 'deviceModel', 'deviceStatus'], more: ['companyOrgId', 'deptOrgId', 'communityId', 'valveStatus', 'address', 'installTime'], }, // wiredRemoteMeter: { // normal: ['deviceModel', 'status', 'errorType'], // more: ['customerId', 'deviceNo', 'concentratorId', 'collectorNo', 'locDesc', 'days'], // }, //远传表 ycMeter: { normal: ['deviceNo', 'deviceModel', 'deviceStatus'], more: ['companyOrgId', 'deptOrgId', 'communityId', 'concentratorId', 'channelNumberId', 'collectorNo', 'address', 'installTime'], }, mechanicMeter: { normal: ['deviceNo', 'deviceStatus'], more: ['companyOrgId', 'deptOrgId', 'address', 'installTime'], }, other: { normal: ['deviceNo', 'deviceStatus'], more: ['companyOrgId', 'address'], }, newdevice: { //为遵义项目增加的条目 normal: ['deviceModel', 'status', 'deviceNo', 'locDesc'] }, mechanicdevice: { normal: ['mechanicdeviceModel', 'customerId', 'deviceNo', 'locDesc'] } } // 设备列表所有列 export const allDeviceCols = { conditions: [{ label: '设备编号', prop: 'deviceNo', }, { label: '水表电子号', prop: 'meterNo', }, { label: '水表铅封号', prop: 'sealNo', slot: 'sealNo', }, { label: '设备型号', prop: 'deviceModel', slot: 'deviceModel', width: 200 }, { label: '客户', prop: 'customerName', }, { label: '设备状态', prop: 'deviceStatus', slot: 'deviceStatus', }, { label: '集中器编码', prop: 'concentratorName', }, { label: '通道号', prop: 'channelNumberName', }, { label: '采集器编码', prop: 'collectorName', }, { label: '告警类型', prop: 'lastErrorType', slot: 'lastErrorType' }, { label: '下发状态', prop: 'issueStatus', slot: 'issueStatus' }, { label: '当前读数', prop: 'readData', }, { label: '公司', prop: 'companyName', }, { label: '部门', prop: 'deptName', }, { label: '小区', prop: 'communityName', }, { label: '楼层', prop: 'floor', }, { label: '安装地址', prop: 'address' }, { label: '出厂时间', prop: 'planTime' }, { label: '安装时间', prop: 'dateCreate', }, { label: '验收时间', prop: 'acceptTime' }, { label: '最后上报时间', prop: 'lastReceiveTime', }, { label: '注册状态', prop: 'registerStatus', slot: 'registerStatus', }, { label: '同步状态', prop: 'syncStatus', slot: 'syncStatus', }, { label: '阀门状态', prop: 'valveStatus', slot: 'valveStatus', }, { label: '操作', prop: 'opt', slot: 'opt', }, { label: '操作', prop: 'newopt', slot: 'newopt', } ], loraMeter: ['deviceNo', 'meterNo', 'deviceModel', 'deviceStatus', 'readData', 'valveStatus', 'companyName', 'deptName', 'communityName', 'address', 'lastReceiveTime', 'opt'], nbiotMeter: ['deviceNo', 'meterNo', 'deviceModel', 'deviceStatus', 'readData', 'valveStatus', 'companyName', 'deptName', 'communityName', 'address', 'lastReceiveTime', 'opt'], ycMeter: ['meterNo', 'deviceModel', 'deviceStatus', 'concentratorName', 'collectorName', 'readData', 'issueStatus', 'valveStatus', 'companyName', 'deptName', 'communityName', 'address', 'lastReceiveTime', 'opt'], mechanicMeter: ['deviceNo', 'meterNo', 'deviceModel', 'readData', 'companyName', 'deptName', 'address', 'opt'], default: ['deviceNo', 'meterNo', 'deviceModel', 'readData', 'companyName', 'deptName', 'address'] } export const batchOpt = { openValve: { noConfirm: true, title: "批量开阀", tip: "您尚未勾选设备,请勾选完重试", msg: "您勾选的设备存在无阀或不可操作状态,请重新勾选。", msg2: "批量开阀请求已提交,请稍后在消息查看结果,通过刷新页面查看设备最新阀门状态。", apiUrl: `/device/batchSetValve/1`, params: { valveStatus: 1, } }, closeValve: { noConfirm: true, title: "批量关阀", tip: "您尚未勾选设备,请勾选完重试", msg: "您勾选的设备存在无阀或不可操作状态,请重新勾选。", msg2: "批量关阀请求已提交,请稍后在消息查看结果,通过刷新页面查看设备最新阀门状态。", apiUrl: `/device/batchSetValve/0`, params: { valveStatus: 0, } }, fileReset: { title: "档案重置", tip: "您尚未勾选设备,请勾选完重试", msg: "您确定要重置{length}个设备的档案,重置后设备下发状态将改为“未下发”,无法恢复,是否继续?", msg2: "档案重置请求已提交,请稍后在消息查看结果,通过刷新页面查看设备最新档案信息。", apiUrl: '/device/fileReset', }, batchDelivery: { title: "批量下发", tip: "您尚未勾选设备,请勾选完重试", msg: "您确定要下发{length}个设备的档案,重置后设备下发状态将改为“已下发”,无法恢复,是否继续?", msg2: "批量下发请求已提交,请稍后在消息查看结果,通过刷新页面查看设备最新下发状态。", apiUrl: '/device/batchReleaseFiles', }, batchRegister: { title: "批量注册", tip: "您尚未勾选设备,请勾选完重试", msg: "您确定要批量注册{length}个设备,注册后将无法撤销,是否继续?", apiUrl: '/install/batchRegister', // body传参数据类型 bodyType: 'String', bodyMethod: 'postForm', noMsgBoxTip: true } } /* 设备详情-设备信息展示信息配置 */ export const detailCols = { allMeter: [ [{ label: '公司', prop: 'companyName' }, { label: '部门', prop: 'deptName' }, { label: '设备型号', prop: 'deviceModel', format(val, data) { return !data.manufacturerName && !data.productModel && !data.productName ? '-' : `${data.manufacturerName || '-'}/${data.productName || '-'}/${data.productModel || '-'}` } }, { label: '水表档案号', prop: 'fileNo' }, { label: '水表电子号', prop: 'meterNo' }, { label: '水表铅封号', prop: 'sealNo' }, { label: '阀门状态', prop: 'valveStatus', format(val, data) { return String(data.isSupportValve) === '0' ? '无阀' : val ? '阀开' : '阀关' } }, { label: '所在区域', prop: 'zone', format(val, data) { return !data.provinceName && !data.cityName && !data.regionName ? '-' : `${data.provinceName || '-'}/${data.cityName || '-'}/${data.regionName || '-'}` } }, { label: '小区', prop: 'communityName' }, { label: '安装地址', prop: 'address' }, { label: '用户名称', prop: 'userName' }, { label: '创建时间', prop: 'createDate' }, { label: '安装时间', prop: 'installDate' }, { label: '验收时间', prop: 'acceptDate' }, { label: '离线时长', prop: 'offlineDays', format(val, data) { return val ? val + '天' : '-' } }, { label: '最后上报时间', prop: 'lastReceiveTime' }, { label: '旧表止度', prop: 'oldEndDegree' }, { label: '旧表照片', prop: 'oldImageUrl', slot: 'oldImageUrl' }, ] ], photoelectricMeter: [ // 远传水表 [{ label: '公司', prop: 'companyName' }, { label: '部门', prop: 'deptName' }, { label: '设备型号', prop: 'deviceModel', format(val, data) { return !data.manufacturerName && !data.equipmentType && !data.model ? '-' : `${data.manufacturerName || '-'}/${data.equipmentType || '-'}/${data.model || '-'}` } }, { label: '水表档案号', prop: 'waterMeterFileNo' }, { label: '水表电子号', prop: 'waterNo' }, { label: '水表铅封号', prop: 'sealNo' }, { label: '阀门状态', prop: 'valveStatus', format(val, data) { return !data.isSupportValve ? '无阀' : val ? '阀开' : '阀关' } }, { label: '当前读数', prop: 'meterReading' } ], [{ label: '客户', prop: 'customerName' }, { label: '小区', prop: 'communityName' }, { label: '建筑', prop: 'buildingName' }, { label: '安装地址', prop: 'locDesc' }, ], [{ label: '下发状态', prop: 'issueStatus', format(val) { return val ? '已下发' : '未下发' } }, { label: '出厂时间', prop: 'planTime' }, { label: '创建时间', prop: 'dateCreate' }, ], [{ label: '集中器编码', prop: 'concentratorName' }, { label: '采集器编码', prop: 'collectorName' }, { label: '通道号', prop: 'channelNumberName' }, { label: '测量点号', prop: 'port' }, ], [{ label: '安装时间', prop: 'installTime' }, { label: '验收时间', prop: 'acceptTime' }, { label: '最后上报时间', prop: 'lastReceiveTime' }, ] ], water: [ // 水表通用 [{ label: '设备编号', prop: 'deviceNo' }, { label: '水表档案号', prop: 'waterMeterFileNo' }, { label: '水表电子号', prop: 'waterMeterNo' }, { label: '水表铅封号', prop: 'sealNo' }, { label: '设备型号', prop: 'deviceModel', format(val, data) { return !data.manufacturerName && !data.equipmentType && !data.model ? '-' : `${data.manufacturerName || '-'}/${data.equipmentType || '-'}/${data.model || '-'}` } }, ], [{ label: '客户', prop: 'customerName' }, { label: '小区', prop: 'communityName' }, { label: '建筑', prop: 'buildingName' }, { label: '安装地址', prop: 'locDesc' }, ], [{ label: '当前读数', prop: 'meterReading' }, { label: '阀门状态', prop: 'valveStatus', format(val) { return val == '2' ? '无阀' : val ? '阀开' : '阀关' } }, // { // label: '出厂时间', // prop: 'planTime' // }, { label: '创建时间', prop: 'createDate' }, ], [{ label: '安装时间', prop: 'installDate' }, { label: '验收时间', prop: 'acceptTime' }, { label: '最后上报时间', prop: 'lastReceiveTime' }, ] ], other: [ // 其他通用 [{ label: '设备编号', prop: 'deviceNo' }, { label: '设备型号', prop: 'deviceModel', format(val, data) { return !data.manufacturerName && !data.equipmentType && !data.model ? '-' : `${data.manufacturerName || '-'}/${data.equipmentType || '-'}/${data.model || '-'}` } }, ], [{ label: '客户', prop: 'customerName' }, { label: '建筑', prop: 'buildingName' }, ], [{ label: '安装地址', prop: 'locDesc' }, { label: '经纬度', prop: 'latitude', format(val, data) { return data.latitude ? `${data.latitude},${data.longitude}` : '-' } }, ], [{ label: '安装时间', prop: 'dateCreate' }, { label: '最后上报时间', prop: 'lastReceiveTime' }, ] ], } /* 设备详情-历史数据列表 */ export const historyCols = [ { label: '上报时间', prop: 'alarmDate' }, { label: '止度', prop: 'alarmName', }, { label: '阀门状态', prop: 'alarmDescribe' }, { label: '阀门状态', prop: '设备状态' }] /* 设备详情-告警列表展示信息配置 */ export const AlertsCols = [ { label: '告警时间', prop: 'alarmDate' }, { label: '告警名称', prop: 'alarmName', }, { label: '告警描述', prop: 'alarmDescribe' }] /* 设备详情-阀控记录列表展示信息配置 */ export const valveInfoCols = [ { label: '操作原因', prop: 'operationCause', }, { label: '操作类型', prop: 'operationType', format(val, data) { let name = ''; switch (val) { case 0: return '关' + name; case 1: return '开' + name; default: return '-'; } } }, { label: '操作结果', prop: 'operationResult', format(val, data) { switch (val) { case 0: return '发送'; case 1: return '超时'; case 2: return '成功'; case 3: return '失败'; default: return '-'; } } }, { label: '操作时间', prop: 'operationDate' }, { label: '处理时间', prop: 'finishDate' } ]