|
@@ -18,11 +18,11 @@
|
|
|
>
|
|
|
<div slot="toolbar" class="inner-toolbar">
|
|
|
<div class="toolbar-search">
|
|
|
- <en-table-search placeholder="请输入搜索关键字" @search="handlerSearch" />
|
|
|
+ <en-table-search :placeholder="this.$t('action.keywords')" @search="handlerSearch" />
|
|
|
</div>
|
|
|
<div class="toolbar-btns">
|
|
|
- <el-button v-if="part_view" type="primary" size="mini" @click="handleAdd">新增设备</el-button>
|
|
|
- <el-button v-if="part_view" type="danger" size="mini" @click="batchDelete">批量删除</el-button>
|
|
|
+ <el-button v-if="part_view" type="primary" size="mini" @click="handleAdd">{{ this.$t('deviceManage.deviceAdd') }}</el-button>
|
|
|
+ <el-button v-if="part_view" type="danger" size="mini" @click="batchDelete">{{ this.$t('action.deleteList') }}</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<el-pagination
|
|
@@ -43,107 +43,108 @@
|
|
|
<el-form ref="deviceEditForm" :rules="deviceRules" label-width="120px" :model="deviceModel">
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="设备类型" prop="device_type">
|
|
|
- <el-select v-model="deviceModel.device_type" placeholder="请选择设备类型" :disabled="deviceTypeDisabled" clearable @change="deviceTypeChange">
|
|
|
- <el-option v-for="(item,index) in deviceTypeTransfer" :key="index" :label="item.key" :value="item.value" />
|
|
|
+ <el-form-item :label="this.$t('deviceManage.deviceType')" prop="device_type">
|
|
|
+ <el-select v-model="deviceModel.device_type" :placeholder="this.$t('deviceManage.choiceDeviceType')" :disabled="deviceTypeDisabled" clearable @change="deviceTypeChange">
|
|
|
+<!-- <el-option v-for="(item,index) in deviceTypeTransfer" :key="index" :label="item.key" :value="item.value" />-->
|
|
|
+ <el-option v-for="(item, index) in Object.keys(deviceTypeEnum)" :key="index" :label="deviceTypeEnum[item]" :value="parseInt(item)" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="设备别名" prop="name">
|
|
|
- <el-input v-model="deviceModel.name" clearable :maxlength="20" placeholder="请输入设备别名" />
|
|
|
+ <el-form-item :label="this.$t('deviceManage.deviceName')" prop="name">
|
|
|
+ <el-input v-model="deviceModel.name" clearable :maxlength="20" :placeholder="this.$t('deviceManage.inputDeviceName')" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="出厂编号" prop="code">
|
|
|
- <el-input v-model="deviceModel.code" clearable placeholder="请输入出厂编号" />
|
|
|
+ <el-form-item :label="this.$t('deviceManage.code')" prop="code">
|
|
|
+ <el-input v-model="deviceModel.code" clearable :placeholder="this.$t('deviceManage.inputCode')" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="设备型号" prop="model">
|
|
|
- <el-input v-model="deviceModel.model" clearable placeholder="请输入设备型号" />
|
|
|
+ <el-form-item :label="this.$t('deviceManage.model')" prop="model">
|
|
|
+ <el-input v-model="deviceModel.model" clearable :placeholder="this.$t('deviceManage.inputModel')" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="有线物理地址" prop="eth_mac">
|
|
|
- <el-input v-model="deviceModel.eth_mac" clearable placeholder="请输入物理MAC地址" />
|
|
|
+ <el-form-item :label="this.$t('deviceManage.ethMac')" prop="eth_mac">
|
|
|
+ <el-input v-model="deviceModel.eth_mac" clearable :placeholder="this.$t('deviceManage.inputEthMac')" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="有线IP地址" prop="eth_ip">
|
|
|
- <el-input v-model="deviceModel.eth_ip" clearable placeholder="请输入IP地址" />
|
|
|
+ <el-form-item :label="this.$t('deviceManage.ethIp')" prop="eth_ip">
|
|
|
+ <el-input v-model="deviceModel.eth_ip" clearable :placeholder="this.$t('deviceManage.inputEthIp')" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="WIFI物理地址" prop="wifi_mac">
|
|
|
- <el-input v-model="deviceModel.wifi_mac" clearable placeholder="请输入WIFI MAC地址" readonly />
|
|
|
+ <el-form-item :label="this.$t('deviceManage.wifiMac')" prop="wifi_mac">
|
|
|
+ <el-input v-model="deviceModel.wifi_mac" clearable :placeholder="this.$t('deviceManage.inputWifiMac')" readonly />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="WIFIIP地址" prop="wifi_ip">
|
|
|
- <el-input v-model="deviceModel.wifi_ip" clearable placeholder="请输入WIFI IP地址" readonly />
|
|
|
+ <el-form-item :label="this.$t('deviceManage.wifiIp')" prop="wifi_ip">
|
|
|
+ <el-input v-model="deviceModel.wifi_ip" clearable :placeholder="this.$t('deviceManage.inputWifiIp')" readonly />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="软件版本" prop="soft_ver">
|
|
|
- <el-input v-model="deviceModel.soft_ver" clearable placeholder="请输入软件版本号" />
|
|
|
+ <el-form-item :label="this.$t('deviceManage.softVer')" prop="soft_ver">
|
|
|
+ <el-input v-model="deviceModel.soft_ver" clearable :placeholder="this.$t('deviceManage.inputSoftVer')" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="硬件版本" prop="hard_ver">
|
|
|
- <el-input v-model="deviceModel.hard_ver" clearable placeholder="请输入硬件版本号" />
|
|
|
+ <el-form-item :label="this.$t('deviceManage.hardVer')" prop="hard_ver">
|
|
|
+ <el-input v-model="deviceModel.hard_ver" clearable :placeholder="this.$t('deviceManage.inputHardVer')" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="WIFI热点">
|
|
|
- <el-input v-model="deviceModel.wifi_hostname" :readonly="true" clearable placeholder="请输入WIFI热点名称" />
|
|
|
+ <el-form-item :label="this.$t('deviceManage.wifiHostname')">
|
|
|
+ <el-input v-model="deviceModel.wifi_hostname" :readonly="true" clearable :placeholder="this.$t('deviceManage.inputWifiHostname')" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="WIFI密码">
|
|
|
- <el-input v-model="deviceModel.wifi_password" :readonly="true" clearable placeholder="请输入WIFI热点密码" />
|
|
|
+ <el-form-item :label="this.$t('deviceManage.wifiPassword')">
|
|
|
+ <el-input v-model="deviceModel.wifi_password" :readonly="true" clearable :placeholder="this.$t('deviceManage.inputPassword')" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="设备位置" prop="frame_id">
|
|
|
- <el-select v-model="deviceModel.frame_id" filterable clearable :disabled="frameSelectabled" placeholder="请选择安装位置">
|
|
|
+ <el-form-item :label="this.$t('deviceManage.frameName')" prop="frame_id">
|
|
|
+ <el-select v-model="deviceModel.frame_id" filterable clearable :disabled="frameSelectabled" :placeholder="this.$t('deviceManage.choiceFrameName')">
|
|
|
<el-option v-for="(item,index) in typeFrames" :key="index" :label="item.full_name" :value="item.id" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="设备电话号码">
|
|
|
- <el-input v-model="deviceModel.phone_number" clearable placeholder="请输入设备电话号码" />
|
|
|
+ <el-form-item :label="this.$t('deviceManage.phoneNumber')">
|
|
|
+ <el-input v-model="deviceModel.phone_number" clearable :placeholder="this.$t('deviceManage.inputPhoneNumber')" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="设备优先级">
|
|
|
+ <el-form-item :label="this.$t('deviceManage.priority')">
|
|
|
<el-input-number v-model="deviceModel.priority" controls-position="right" :min="1" :max="99" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="后备设备ID">
|
|
|
+ <el-form-item :label="this.$t('deviceManage.backupId')">
|
|
|
<el-input v-model="deviceModel.backup_id" clearable placeholder="" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="是否启用">
|
|
|
- <el-checkbox v-model="deviceModel.status" :true-label="1" :false-label="0">启用设备</el-checkbox>
|
|
|
+ <el-form-item :label="this.$t('deviceManage.deviceStatus')">
|
|
|
+ <el-checkbox v-model="deviceModel.status" :true-label="1" :false-label="0">{{ this.$t('deviceManage.choiceDeviceStatus') }}</el-checkbox>
|
|
|
<!-- <el-radio v-model="formmodel.status" :label="1">启用</el-radio>-->
|
|
|
<!-- <el-radio v-model="formmodel.status" :label="0">不启用</el-radio>-->
|
|
|
</el-form-item>
|
|
@@ -151,8 +152,8 @@
|
|
|
</el-row>
|
|
|
<el-row v-if="hasRoleId">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="适用角色" prop="role_id">
|
|
|
- <el-select v-model="deviceModel.role_id" placeholder="适用角色" clearable>
|
|
|
+ <el-form-item :label="this.$t('deviceManage.roleName')" prop="role_id">
|
|
|
+ <el-select v-model="deviceModel.role_id" :placeholder="this.$t('deviceManage.roleName')" clearable>
|
|
|
<el-option v-for="item in rolesOptions" :key="item.role_id" :label="item.role_name" :value="item.role_id" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -160,15 +161,15 @@
|
|
|
</el-row>
|
|
|
<el-row v-if="hasAudioId">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="上属总线转换盒" prop="trans_audio_id">
|
|
|
- <el-select v-model="deviceModel.trans_audio_id" placeholder="上属总线转换盒" clearable>
|
|
|
+ <el-form-item :label="this.$t('deviceManage.transAudio')" prop="trans_audio_id">
|
|
|
+ <el-select v-model="deviceModel.trans_audio_id" :placeholder="this.$t('deviceManage.transAudio')" clearable>
|
|
|
<el-option v-for="item in audioOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="上属485转换盒" prop="trans_rs485_id">
|
|
|
- <el-select v-model="deviceModel.trans_rs485_id" placeholder="上属485转换盒" clearable>
|
|
|
+ <el-form-item :label="this.$t('deviceManage.transRs485')" prop="trans_rs485_id">
|
|
|
+ <el-select v-model="deviceModel.trans_rs485_id" :placeholder="this.$t('deviceManage.transRs485')" clearable>
|
|
|
<el-option v-for="item in rs485Options" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -176,61 +177,64 @@
|
|
|
</el-row>
|
|
|
<el-row v-if="hasAudioId">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="485地址" prop="sip_id">
|
|
|
- <el-input v-model="deviceModel.sip_id" clearable placeholder="请输入485地址" />
|
|
|
+ <el-form-item :label="this.$t('deviceManage.re485SipId')" prop="sip_id">
|
|
|
+ <el-input v-model="deviceModel.sip_id" clearable :placeholder="this.$t('deviceManage.inputRe485SipId')" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row v-if="hasSosDeviceSettings">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="报警设备模式" prop="type">
|
|
|
- <el-select v-model="sosDeviceSetting.type" placeholder="报警设备模式" clearable>
|
|
|
- <el-option v-for="item in sosDeviceSettingsTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
+ <el-form-item :label="this.$t('deviceManage.sosDeviceSetting')" prop="type">
|
|
|
+ <el-select v-model="sosDeviceSetting.type" :placeholder="this.$t('deviceManage.sosDeviceSetting')" clearable>
|
|
|
+<!-- <el-option v-for="item in sosDeviceSettingsTypeOptions" :key="item.value" :label="item.label" :value="item.value" /><el-option v-for="(item, index) in Object.keys(sosDeviceSettingEnum)" :key="index" :label="sosDeviceSettingEnum[item]" :value="parseInt(item)" />-->
|
|
|
+ <el-option v-for="(item, index) in Object.keys(sosDeviceSettingEnum)" :key="index" :label="sosDeviceSettingEnum[item]" :value="parseInt(item)" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row v-if="sosDeviceSetting.type === 2">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="报警时间" prop="setting_time">
|
|
|
+ <el-form-item :label="this.$t('deviceManage.sosDeviceSettingTime')" prop="setting_time">
|
|
|
<el-input-number v-model="sosDeviceSetting.setting_time" controls-position="right" :min="0" :max="60" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="报警时间单位" prop="unit">
|
|
|
+ <el-form-item :label="this.$t('deviceManage.sosDeviceSettingUnit')" prop="unit">
|
|
|
<el-radio-group v-model="sosDeviceSetting.unit" size="mini" prop="unit">
|
|
|
- <el-radio label="小时">小时</el-radio>
|
|
|
- <el-radio label="分钟">分钟</el-radio>
|
|
|
- <el-radio label="秒">秒</el-radio>
|
|
|
+ <el-radio :label="this.$t('action.time')">{{ this.$t('action.time') }}</el-radio>
|
|
|
+ <el-radio :label="this.$t('action.minute')">{{ this.$t('action.minute') }}</el-radio>
|
|
|
+ <el-radio :label="this.$t('action.second')">{{ this.$t('action.second') }}</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row v-if="isLedDevice">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="点阵屏规格" prop="led_resolution_ratio">
|
|
|
- <el-input v-model="deviceModel.led_resolution_ratio" clearable placeholder="点阵屏规格" />
|
|
|
+ <el-form-item :label="this.$t('deviceManage.ledResolutionRatio')" prop="led_resolution_ratio">
|
|
|
+ <el-input v-model="deviceModel.led_resolution_ratio" clearable :placeholder="this.$t('deviceManage.ledResolutionRatio')" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="语音播放" prop="led_voice">
|
|
|
- <el-radio-group v-model="deviceModel.led_voice" size="mini" prop="unit">
|
|
|
- <el-radio :label=1>开启语音</el-radio>
|
|
|
- <el-radio :label=0>关闭语音</el-radio>
|
|
|
- </el-radio-group>
|
|
|
+ <el-form-item :label="this.$t('deviceManage.ledVoice')" prop="led_voice">
|
|
|
+ <el-checkbox v-model="deviceModel.led_voice" :true-label="1" :false-label="0">
|
|
|
+ {{ this.$t('deviceManage.ledVoiceStatus') }}</el-checkbox>
|
|
|
+<!-- <el-radio-group v-model="deviceModel.led_voice" size="mini" prop="led_voice">-->
|
|
|
+<!-- <el-radio :label=1>开启语音</el-radio>-->
|
|
|
+<!-- <el-radio :label=0>关闭语音</el-radio>-->
|
|
|
+<!-- </el-radio-group>-->
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row v-if="isLedDevice">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="字体大小" prop="led_font_size">
|
|
|
+ <el-form-item :label="this.$t('deviceManage.ledFontSize')" prop="led_font_size">
|
|
|
<el-input-number v-model="deviceModel.led_font_size" controls-position="right" :min="0" :max="60" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="handlerFormSubmit('deviceEditForm')">确 定</el-button>
|
|
|
+ <el-button type="primary" @click="handlerFormSubmit('deviceEditForm')">{{ this.$t('action.yes') }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<!-- 设备编辑弹窗 -->
|
|
@@ -250,6 +254,7 @@ import * as clerk_API from '@/api/ncs_clerk'
|
|
|
// import { DeviceUrl } from '@/utils/domain'
|
|
|
import { FRAME_TYPE } from '@/utils/enum/FrameTypeEnum'
|
|
|
import { DEVICE_TYPE } from '@/utils/enum/DeviceTypeEnum'
|
|
|
+import {SOS_DEVICE_SETTING_TYPE} from "@/utils/enum/SosDeviceSettingTypeEnum";
|
|
|
const DeviceUrl = domain.DeviceUrl
|
|
|
export default {
|
|
|
name: 'DeviceManager',
|
|
@@ -288,38 +293,38 @@ export default {
|
|
|
},
|
|
|
/** device 弹窗 **/
|
|
|
deviceDialogVisible: false,
|
|
|
- deviceEditTitle: '添加设备',
|
|
|
+ deviceEditTitle: this.$t('deviceManage.deviceAdd'),
|
|
|
deviceModel: {},
|
|
|
deviceTypeDisabled: false,
|
|
|
deviceRules: {
|
|
|
name: [
|
|
|
- this.MixinRequired('请输入设备别名!')
|
|
|
+ this.MixinRequired(this.$t('deviceManage.inputDeviceName'))
|
|
|
],
|
|
|
device_type: [
|
|
|
- { required: true, message: '请选择设备类型', trigger: 'blur' }
|
|
|
+ { required: true, message: this.$t('deviceManage.choiceDeviceType'), trigger: 'blur' }
|
|
|
],
|
|
|
code: [
|
|
|
- { required: true, message: '请输入设备编码', trigger: 'blur' }
|
|
|
+ { required: true, message: this.$t('deviceManage.inputCode'), trigger: 'blur' }
|
|
|
],
|
|
|
model: [
|
|
|
- { required: true, message: '请输入设备型号', trigger: 'blur' }
|
|
|
+ { required: true, message: this.$t('deviceManage.inputModel'), trigger: 'blur' }
|
|
|
],
|
|
|
eth_mac: [
|
|
|
- { required: true, message: '请输入设备MAC地址', trigger: 'blur' },
|
|
|
+ { required: true, message: this.$t('deviceManage.inputEthMac'), trigger: 'blur' },
|
|
|
// { pattern: /^([0-9A-Fa-f]{2}:?){6}/gi, message: '请输入正确的MAC地址', trigger: 'blur' }
|
|
|
- { pattern: null, message: '请输入正确的MAC地址', trigger: 'blur' }
|
|
|
+ { pattern: null, message: this.$t('deviceManage.inputTrueEthMac'), trigger: 'blur' }
|
|
|
],
|
|
|
frame_id: [
|
|
|
- { required: Object.keys(this.frame).length === 0, message: '请选安装位置!', trigger: 'blur' } // 没有传入frame 属性,必须选择安装位置
|
|
|
+ { required: Object.keys(this.frame).length === 0, message: this.$t('deviceManage.choiceFrameName'), trigger: 'blur' } // 没有传入frame 属性,必须选择安装位置
|
|
|
],
|
|
|
phone_number: [
|
|
|
- { required: true, message: '请输入设备电话号码', trigger: 'blur' }
|
|
|
+ { required: true, message: this.$t('deviceManage.phoneNumber'), trigger: 'blur' }
|
|
|
],
|
|
|
role_id: [
|
|
|
- { required: true, message: '请选择适用人', trigger: 'blur' }
|
|
|
+ { required: true, message: this.$t('deviceManage.choiceRoleName'), trigger: 'blur' }
|
|
|
],
|
|
|
trans_audio_id: [
|
|
|
- { required: true, message: '请选择总线转换盒', trigger: 'blur' }
|
|
|
+ { required: true, message: this.$t('deviceManage.choiceTransAudio'), trigger: 'blur' }
|
|
|
],
|
|
|
// trans_rs485_id: [
|
|
|
// { required: true, message: '请选择485转换盒', trigger: 'blur' }
|
|
@@ -337,51 +342,52 @@ export default {
|
|
|
// { required: true, message: '报警时间单位', trigger: 'blur' }
|
|
|
// ],
|
|
|
led_resolution_ratio: [
|
|
|
- { required: true, message: '点阵屏规格', trigger: 'blur' }
|
|
|
+ { required: true, message: this.$t('deviceManage.ledResolutionRatio'), trigger: 'blur' }
|
|
|
],
|
|
|
led_voice: [
|
|
|
- { required: true, message: '点阵屏语音播放', trigger: 'blur' }
|
|
|
+ { required: true, message: this.$t('deviceManage.ledVoice'), trigger: 'blur' }
|
|
|
],
|
|
|
led_font_size: [
|
|
|
- { required: true, message: '点阵屏字体大小', trigger: 'blur' }
|
|
|
+ { required: true, message: this.$t('deviceManage.ledFontSize'), trigger: 'blur' }
|
|
|
],
|
|
|
},
|
|
|
partFrames: [],
|
|
|
typeFrames: [],
|
|
|
/** 设备类型转换数组 **/
|
|
|
deviceTypeTransfer: [
|
|
|
- { key: '护士主机', value: 1 },
|
|
|
- { key: '医生主机', value: 2 },
|
|
|
- { key: '门口机', value: 3 },
|
|
|
- { key: '床位分机', value: 4 },
|
|
|
- { key: 'LCD走廊屏', value: 5 },
|
|
|
- { key: 'LED点阵屏', value: 6 },
|
|
|
- { key: '移动设备', value: 7 },
|
|
|
+ { key: this.$t('deviceType.NURSE_HOST'), value: 1 },
|
|
|
+ { key: this.$t('deviceType.DOCTOR_HOST'), value: 2 },
|
|
|
+ { key: this.$t('deviceType.DOOR_DEVICE'), value: 3 },
|
|
|
+ { key: this.$t('deviceType.DIGIT_BED_DEVICE'), value: 4 },
|
|
|
+ { key: this.$t('deviceType.LCD_SCREEN'), value: 5 },
|
|
|
+ { key: this.$t('deviceType.LED_SCREEN'), value: 6 },
|
|
|
+ { key: this.$t('deviceType.NURSE_WATCH'), value: 7 },
|
|
|
// { key: '护工腕表', value: 8 },
|
|
|
- { key: '病人腕表', value: 9 },
|
|
|
- { key: '手机App', value: 10 },
|
|
|
- { key: '总线转换盒', value: 11 },
|
|
|
- { key: '模拟分机', value: 12 },
|
|
|
- { key: '模拟紧急按钮', value: 13 },
|
|
|
- { key: '模拟门灯', value: 14 },
|
|
|
- { key: '遥控器', value: 15 },
|
|
|
- { key: '信标', value: 16 },
|
|
|
- { key: '看板', value: 17 },
|
|
|
- { key: '门禁设备', value: 18 },
|
|
|
- { key: '探视机', value: 19 },
|
|
|
- { key: '485转换盒', value: 20 },
|
|
|
- { key: '紧急按钮', value: 21 },
|
|
|
- { key: '485门口机', value: 22 },
|
|
|
- { key: '红外报警器', value: 23 },
|
|
|
- { key: '用水监控器', value: 24 },
|
|
|
- { key: '家用燃起报警器', value: 25 },
|
|
|
- { key: '家用烟雾报警器', value: 26 },
|
|
|
- { key: '一键报警器', value: 27 },
|
|
|
- { key: '门磁传感器', value: 30 }
|
|
|
+ { key: this.$t('deviceType.WORKER_WATCH'), value: 9 },
|
|
|
+ { key: this.$t('deviceType.USER_WATCH'), value: 10 },
|
|
|
+ { key: this.$t('deviceType.CELL_PHONE'), value: 11 },
|
|
|
+ { key: this.$t('deviceType.TRANSFER_DEVICE'), value: 12 },
|
|
|
+ { key: this.$t('deviceType.SIMULATE_BED_DEVICE'), value: 13 },
|
|
|
+ { key: this.$t('deviceType.SIMULATE_EMERGENCY_BUTTON'), value: 14 },
|
|
|
+ { key: this.$t('deviceType.SIMULATE_DOOR_LIGHT'), value: 15 },
|
|
|
+ { key: this.$t('deviceType.REMOTE_CONTROL'), value: 16 },
|
|
|
+ { key: this.$t('deviceType.BEACON'), value: 17 },
|
|
|
+ { key: this.$t('deviceType.INFORMATION_BOARD'), value: 18 },
|
|
|
+ { key: this.$t('deviceType.ENTRANCE_GUARD'), value: 19 },
|
|
|
+ { key: this.$t('deviceType.VISITATION'), value: 20 },
|
|
|
+ { key: this.$t('deviceType.RS485_TRANSFER'), value: 21 },
|
|
|
+ { key: this.$t('deviceType.EMERGENCY_BUTTON'), value: 22 },
|
|
|
+ { key: this.$t('deviceType.RS485_DOOR'), value: 23 },
|
|
|
+ { key: this.$t('deviceType.ALARM_BODY_INDUCTIVE'), value: 24 },
|
|
|
+ { key: this.$t('deviceType.ALARM_WATER_OVERFLOW'), value: 25 },
|
|
|
+ { key: this.$t('deviceType.ALARM_HOUSEHOLD_GAS'), value: 26 },
|
|
|
+ { key: this.$t('deviceType.ALARM_HOUSEHOLD_SMOKE'), value: 27 },
|
|
|
+ { key: this.$t('deviceType.DOOR_LOCK'), value: 30 }
|
|
|
],
|
|
|
+ deviceTypeEnum: DEVICE_TYPE.getValueList(),
|
|
|
deviceStatusTransfer: [
|
|
|
- { key: '启用', value: 1, color: 'green' },
|
|
|
- { key: '未启用', value: 0, color: 'red' }
|
|
|
+ { key: this.$t('deviceManage.statusTure'), value: 1, color: 'green' },
|
|
|
+ { key: this.$t('deviceManage.statusFalse'), value: 0, color: 'red' }
|
|
|
],
|
|
|
rolesOptions: [],
|
|
|
hasRoleId: false,
|
|
@@ -402,6 +408,7 @@ export default {
|
|
|
label: '关爱老人模式'
|
|
|
}
|
|
|
],
|
|
|
+ sosDeviceSettingEnum: SOS_DEVICE_SETTING_TYPE.getValueList(),
|
|
|
isLedDevice: false,
|
|
|
websock: null,
|
|
|
onlineDevice: []
|
|
@@ -435,25 +442,26 @@ export default {
|
|
|
valueGetter: this.hashValueGetter
|
|
|
},
|
|
|
{ headerName: 'ID', field: 'id', sortable: true, filter: 'agNumberColumnFilter', width: 100 },
|
|
|
- { headerName: '设备类型', field: 'device_type', sortable: true,
|
|
|
+ { headerName: this.$t('deviceManage.deviceType'), field: 'device_type', sortable: true,
|
|
|
filterFramework: 'ListFilter', width: 160,
|
|
|
filterParams: {
|
|
|
- listData: this.deviceTypeTransfer
|
|
|
+ // listData: this.deviceTypeTransfer
|
|
|
+ listData: DEVICE_TYPE.getValueList()
|
|
|
},
|
|
|
valueGetter: this.deviceTypeGetter
|
|
|
},
|
|
|
// lockPosition 锁定位置,会在第一列
|
|
|
// lockPinned = true 不能拖动然后固定
|
|
|
// resizeable 单元个大小是否可以调整
|
|
|
- { headerName: '设备别名', field: 'name', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
- { headerName: '设备状态', field: 'status', sortable: true,
|
|
|
+ { headerName: this.$t('deviceManage.deviceName'), field: 'name', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
+ { headerName: this.$t('deviceManage.status'), field: 'status', sortable: true,
|
|
|
filterFramework: 'RadioFilter',
|
|
|
filterParams: {
|
|
|
listData: this.deviceStatusTransfer
|
|
|
},
|
|
|
cellRenderer: this.deviceStatusFormatter
|
|
|
},
|
|
|
- { headerName: '连接状态', field: 'online_state', sortable: false, filter: 'agTextColumnFilter',
|
|
|
+ { headerName: this.$t('deviceManage.connect'), field: 'online_state', sortable: false, filter: 'agTextColumnFilter',
|
|
|
|
|
|
filterParams: {
|
|
|
textCustomComparator: (filter, value, filterText) => {
|
|
@@ -484,29 +492,29 @@ export default {
|
|
|
},
|
|
|
cellRenderer: this.onlineStateFormatter
|
|
|
},
|
|
|
- { headerName: '部署位置', field: 'full_name', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
- { headerName: '设备号码', field: 'phone_number', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
- { headerName: '以太网MAC地址', field: 'eth_mac', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
- { headerName: '以太网IP地址', field: 'eth_ip', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
- { headerName: '通讯端口', field: 'eth_ip_port', sortable: true, filter: 'agNumberColumnFilter' },
|
|
|
- { headerName: '设备型号', field: 'model', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
- { headerName: '出厂编号', field: 'code', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
- { headerName: '软件版本', field: 'soft_ver', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
- { headerName: '硬件版本', field: 'hard_ver', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
- { headerName: '无线MAC地址', field: 'wifi_mac', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
- { headerName: '无线IP地址', field: 'wifi_ip', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
- { headerName: 'SIP账号', field: 'sip_id', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
- { headerName: '更新时间', field: 'update_time', sortable: true, filter: 'agDateColumnFilter', valueFormatter: this.unixDateFormatter, filterParams: {
|
|
|
+ { headerName: this.$t('deviceManage.frameFullName'), field: 'full_name', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
+ { headerName: this.$t('deviceManage.phoneNumber'), field: 'phone_number', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
+ { headerName: this.$t('deviceManage.ethMac'), field: 'eth_mac', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
+ { headerName: this.$t('deviceManage.ethIp'), field: 'eth_ip', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
+ { headerName: this.$t('deviceManage.ethIpPort'), field: 'eth_ip_port', sortable: true, filter: 'agNumberColumnFilter' },
|
|
|
+ { headerName: this.$t('deviceManage.model'), field: 'model', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
+ { headerName: this.$t('deviceManage.code'), field: 'code', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
+ { headerName: this.$t('deviceManage.softVer'), field: 'soft_ver', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
+ { headerName: this.$t('deviceManage.hardVer'), field: 'hard_ver', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
+ { headerName: this.$t('deviceManage.wifiMac'), field: 'wifi_mac', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
+ { headerName: this.$t('deviceManage.wifiIp'), field: 'wifi_ip', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
+ { headerName: this.$t('deviceManage.sipId'), field: 'sip_id', sortable: true, filter: 'agTextColumnFilter' },
|
|
|
+ { headerName: this.$t('deviceManage.updateTime'), field: 'update_time', sortable: true, filter: 'agDateColumnFilter', valueFormatter: this.unixDateFormatter, filterParams: {
|
|
|
comparator: (filterLocalDateAtMidnight, cellValue) => { // 所有数据都由服务器端过滤,此处只需返回0 即可
|
|
|
const celldate = unixToDate(cellValue, 'yyyy-MM-dd 00:00:00')
|
|
|
return (new Date(celldate).getTime() / 1000) - (filterLocalDateAtMidnight.getTime() / 1000)
|
|
|
}
|
|
|
}},
|
|
|
- { headerName: '编辑', field: 'id',
|
|
|
+ { headerName: this.$t('action.edit'), field: 'id',
|
|
|
cellRendererFramework: 'ButtonCellRender',
|
|
|
cellRendererParams: {
|
|
|
onClick: this.handleEdit,
|
|
|
- label: '编辑',
|
|
|
+ label: this.$t('action.edit'),
|
|
|
buttonType: 'primary',
|
|
|
buttonSize: 'mini'
|
|
|
},
|
|
@@ -516,12 +524,12 @@ export default {
|
|
|
width: 90,
|
|
|
resizable: false,
|
|
|
sortable: false },
|
|
|
- { headerName: '删除', field: 'id',
|
|
|
+ { headerName: this.$t('action.delete'), field: 'id',
|
|
|
cellRendererFramework: 'ButtonCellRender',
|
|
|
cellRendererParams: param => {
|
|
|
return {
|
|
|
onClick: this.deleteSingle,
|
|
|
- label: '删除',
|
|
|
+ label: this.$t('action.delete'),
|
|
|
buttonType: 'danger',
|
|
|
buttonSize: 'mini',
|
|
|
disabled: param.data['member_name'] === 'superadmin'
|
|
@@ -584,13 +592,13 @@ export default {
|
|
|
const mac = this.onlineDevice.filter(p => p.toLowerCase() === item.eth_mac.toLowerCase())[0]
|
|
|
// console.log('在线设备1', mac)
|
|
|
if (mac !== undefined && mac !== null) {
|
|
|
- item['online_state'] = '在线'
|
|
|
+ item['online_state'] = this.$t('deviceManage.connectTrue')
|
|
|
} else {
|
|
|
- item['online_state'] = '离线'
|
|
|
+ item['online_state'] = this.$t('deviceManage.connectFalse')
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- item['online_state'] = '离线'
|
|
|
+ item['online_state'] = this.$t('deviceManage.connectFalse')
|
|
|
}
|
|
|
})
|
|
|
this.rowData = deviceData
|
|
@@ -665,13 +673,14 @@ export default {
|
|
|
},
|
|
|
/** 处理搜索 */
|
|
|
handlerSearch(keywords) {
|
|
|
- this.params.query = keywords
|
|
|
+ this.params.query = keywordsgridSortChange
|
|
|
this.getList()
|
|
|
},
|
|
|
/** 获取设备类型文字显示,从deviceTypeTransfer 中找出value值对应的key显示出来 */
|
|
|
deviceTypeGetter(params) {
|
|
|
const gridVal = params.data.device_type
|
|
|
- return this.deviceTypeTransfer.filter(p => p.value === gridVal).map(p => p.key)
|
|
|
+ // return this.deviceTypeTransfer.filter(p => p.value === gridVal).map(p => p.key)
|
|
|
+ return DEVICE_TYPE.getDescFromValue(gridVal)
|
|
|
},
|
|
|
/** 格式化时间函数 */
|
|
|
unixDateFormatter(param) {
|
|
@@ -690,10 +699,12 @@ export default {
|
|
|
},
|
|
|
/** 设备连接状态格式化 **/
|
|
|
onlineStateFormatter(params) {
|
|
|
- if (params.value === '在线') {
|
|
|
- return '<span style="color:green;">在线</span>'
|
|
|
+ if (params.value === this.$t('deviceManage.connectTrue')) {
|
|
|
+ // return '<span style="color:green;">在线</span>'
|
|
|
+ return '<span style="color:green;">' + this.$t('deviceManage.connectTrue') + '</span>'
|
|
|
} else {
|
|
|
- return '<span style="color:gray;">离线</span>'
|
|
|
+ // return '<span style="color:gray;">离线</span>'
|
|
|
+ return '<span style="color:gray;">' + this.$t('deviceManage.connectFalse') + '</span>'
|
|
|
}
|
|
|
},
|
|
|
/** 删除设备 **/
|
|
@@ -702,9 +713,9 @@ export default {
|
|
|
},
|
|
|
/** 删除设备 **/
|
|
|
handlerDelete(id) {
|
|
|
- this.$confirm('删除操作后数据不可复原,您确定要删除此数据?', '警告', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
+ this.$confirm(this.$t('action.sureDelete'), this.$t('action.waring'), {
|
|
|
+ confirmButtonText: this.$t('action.yes'),
|
|
|
+ cancelButtonText: this.$t('action.cancel'),
|
|
|
type: 'warning'
|
|
|
}).then(() => {
|
|
|
API_Device.remove(id).then(
|
|
@@ -726,7 +737,7 @@ export default {
|
|
|
}).catch(() => {
|
|
|
this.$message({
|
|
|
type: 'info',
|
|
|
- message: '已取消删除'
|
|
|
+ message: this.$t('action.cancelDelete')
|
|
|
})
|
|
|
})
|
|
|
},
|
|
@@ -816,7 +827,7 @@ export default {
|
|
|
this.hasSosDeviceSettings = false
|
|
|
this.isLedDevice = false
|
|
|
this.getDevices(this.$store.getters.partId)
|
|
|
- this.deviceEditTitle = '添加设备'
|
|
|
+ this.deviceEditTitle = this.$t('deviceManage.deviceAdd')
|
|
|
this.deviceDialogVisible = true
|
|
|
this.deviceTypeDisabled = false // 新增设备可以选择设备类型
|
|
|
this.typeFrames = this.partFrames
|
|
@@ -839,7 +850,7 @@ export default {
|
|
|
this.deviceModel = {
|
|
|
...params
|
|
|
}
|
|
|
- this.deviceEditTitle = '修改设备'
|
|
|
+ this.deviceEditTitle = this.$t('deviceManage.deviceEdit')
|
|
|
this.deviceDialogVisible = true
|
|
|
this.deviceTypeDisabled = true // 修改设备时,不能改变设备类型
|
|
|
},
|
|
@@ -851,14 +862,14 @@ export default {
|
|
|
/** 新增 */
|
|
|
if (!this.deviceModel.id) {
|
|
|
API_Device.add(this.deviceModel).then(r => {
|
|
|
- this.$message.success('保存成功!')
|
|
|
+ this.$message.success(this.$t('action.saveSuccess'))
|
|
|
_this.device = r
|
|
|
this.sosDeviceSetting.device_id = _this.device.id
|
|
|
this.sosDeviceSetting.part_id = _this.device.part_id
|
|
|
|
|
|
if (this.hasSosDeviceSettings) {
|
|
|
API_SosDeviceSetting.add(this.sosDeviceSetting).then(() => {
|
|
|
- this.$message.success('保存成功!')
|
|
|
+ this.$message.success(this.$t('action.saveSuccess'))
|
|
|
this.hasSosDeviceSettings = false
|
|
|
})
|
|
|
}
|
|
@@ -869,13 +880,13 @@ export default {
|
|
|
} else {
|
|
|
/** 修改 */
|
|
|
API_Device.update(this.deviceModel.id, this.deviceModel).then(() => {
|
|
|
- this.$message.success('修改成功!')
|
|
|
+ this.$message.success(this.$t('action.editSuccess'))
|
|
|
|
|
|
if (this.hasSosDeviceSettings) {
|
|
|
this.sosDeviceSetting.device_id = this.deviceModel.id
|
|
|
this.sosDeviceSetting.part_id = this.deviceModel.part_id
|
|
|
API_SosDeviceSetting.updateByDeviceId(this.deviceModel.id, this.sosDeviceSetting).then(() => {
|
|
|
- this.$message.success('保存成功!')
|
|
|
+ this.$message.success(this.$t('action.saveSuccess'))
|
|
|
this.hasSosDeviceSettings = false
|
|
|
})
|
|
|
}
|
|
@@ -928,10 +939,10 @@ export default {
|
|
|
this.websock.onclose = this.websocketclose
|
|
|
},
|
|
|
websocketonopen: function() {
|
|
|
- console.log('WebSocket连接成功')
|
|
|
+ console.log(this.$t('deviceManage.webSocketSuccess'))
|
|
|
},
|
|
|
websocketonerror: function(e) {
|
|
|
- console.log('WebSocket连接发生错误')
|
|
|
+ console.log(this.$t('deviceManage.webSocketError'))
|
|
|
},
|
|
|
websocketonmessage: function(e) {
|
|
|
this.onlineDevice = JSON.parse(e.data)
|
|
@@ -939,7 +950,7 @@ export default {
|
|
|
for (let i = 0; i < this.rowData.length; i++) {
|
|
|
if (this.rowData[i].eth_mac) {
|
|
|
const mac = this.onlineDevice.filter(p => p.toLowerCase() === this.rowData[i].eth_mac.toLowerCase())[0]
|
|
|
- this.rowData[i]['online_state'] = (mac !== undefined && mac !== null) ? '在线' : '离线'
|
|
|
+ this.rowData[i]['online_state'] = (mac !== undefined && mac !== null) ? this.$t('deviceManage.connectTrue') : this.$t('deviceManage.connectFalse')
|
|
|
}
|
|
|
}
|
|
|
const rowData = [...this.rowData]
|
|
@@ -952,7 +963,7 @@ export default {
|
|
|
batchDelete() {
|
|
|
const rows = this.gridApi.getSelectedRows()
|
|
|
if (rows.length === 0) {
|
|
|
- this.$message({ type: 'info', message: '请先勾选需要删除的数据' })
|
|
|
+ this.$message({ type: 'info', message: this.$t('action.pleaseChoiceDelete') })
|
|
|
return
|
|
|
}
|
|
|
const ids = []
|