|
@@ -149,6 +149,22 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</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-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-option v-for="item in rs485Options" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button type="primary" @click="handlerFormSubmit('deviceEditForm')">确 定</el-button>
|
|
@@ -166,6 +182,9 @@ import ListFilter from '@/components/AgGridCustomFilter/ListFilter'
|
|
|
import RadioFilter from '@/components/AgGridCustomFilter/RadioFilter'
|
|
|
import * as API_Device from '@/api/ncs_device'
|
|
|
import * as clerk_API from '@/api/ncs_clerk'
|
|
|
+import { DEVICE_TYPE } from '@/utils/DeviceTypeEnum'
|
|
|
+import * as API_Frame from '@/api/ncs_hospitalFrame'
|
|
|
+import { FRAME_TYPE } from '@/utils/FrameTypeEnum'
|
|
|
export default {
|
|
|
name: 'DeviceManager',
|
|
|
components: { ButtonCellRender, ListFilter, RadioFilter },
|
|
@@ -225,8 +244,15 @@ export default {
|
|
|
],
|
|
|
role_id: [
|
|
|
{ required: true, message: '请选择适用人', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ trans_audio_id: [
|
|
|
+ { required: true, message: '请选择总线转换盒', trigger: 'blur' }
|
|
|
]
|
|
|
},
|
|
|
+ partFrameList: [],
|
|
|
+ roomFrameList: [],
|
|
|
+ bedFrameList: [],
|
|
|
+ typeFrames: [],
|
|
|
/** 设备类型转换数组 **/
|
|
|
deviceTypeTransfer: [
|
|
|
{ key: '护士主机', value: 1 },
|
|
@@ -255,6 +281,9 @@ export default {
|
|
|
],
|
|
|
rolesOptions: [],
|
|
|
hasRoleId: false,
|
|
|
+ audioOptions: [],
|
|
|
+ rs485Options: [],
|
|
|
+ hasAudioId: false,
|
|
|
hasAdd: true
|
|
|
}
|
|
|
},
|
|
@@ -398,8 +427,19 @@ export default {
|
|
|
}).catch(err => {
|
|
|
this.$message.error(err)
|
|
|
})
|
|
|
+ this.getTypeFrame()
|
|
|
+ },
|
|
|
+ getTypeFrame() {
|
|
|
+ API_Frame.getFrameByPartIdAndFrameType(this.$store.getters.partId, FRAME_TYPE.PART).then(res => {
|
|
|
+ this.partFrameList = [...res]
|
|
|
+ })
|
|
|
+ API_Frame.getFrameByPartIdAndFrameType(this.$store.getters.partId, FRAME_TYPE.ROOM).then(res => {
|
|
|
+ this.roomFrameList = [...res]
|
|
|
+ })
|
|
|
+ API_Frame.getFrameByPartIdAndFrameType(this.$store.getters.partId, FRAME_TYPE.BED).then(res => {
|
|
|
+ this.bedFrameList = [...res]
|
|
|
+ })
|
|
|
},
|
|
|
-
|
|
|
/**
|
|
|
* 过滤状态发生变化,发送到服务器检索数据
|
|
|
*/
|
|
@@ -504,8 +544,52 @@ export default {
|
|
|
},
|
|
|
/** 设备类型选中变化 **/
|
|
|
deviceTypeChange(val) {
|
|
|
- this.deviceRules.eth_mac[0].required = !(val === 12 || val === 13 || val === 14)
|
|
|
- this.hasRoleId = val === 7
|
|
|
+ this.deviceTypeChangeToFrameTypeChange(val)
|
|
|
+ this.$set(this.deviceModel, 'frame_id', null)
|
|
|
+ if (val === DEVICE_TYPE.SIMULATE_BED_DEVICE ||
|
|
|
+ val === DEVICE_TYPE.SIMULATE_EMERGENCY_BUTTON ||
|
|
|
+ val === DEVICE_TYPE.SIMULATE_DOOR_LIGHT ||
|
|
|
+ val === DEVICE_TYPE.EMERGENCY_BUTTON) { // 模拟设备不需要mac地址
|
|
|
+ this.deviceRules.eth_mac[0].required = false
|
|
|
+ // this.deviceRules.eth_mac[1].pattern = null
|
|
|
+ } else if (val === DEVICE_TYPE.REMOTE_CONTROL) {
|
|
|
+ this.deviceRules.eth_mac[1].pattern = null
|
|
|
+ this.deviceRules.eth_mac[0].required = true
|
|
|
+ } else {
|
|
|
+ this.deviceRules.eth_mac[1].pattern = /^([0-9A-Fa-f]{2}:?){6}/gi
|
|
|
+ this.deviceRules.eth_mac[0].required = true
|
|
|
+ }
|
|
|
+ this.hasRoleId = val === DEVICE_TYPE.NURSE_WATCH
|
|
|
+ this.hasAudioId = val === DEVICE_TYPE.SIMULATE_BED_DEVICE ||
|
|
|
+ val === DEVICE_TYPE.SIMULATE_EMERGENCY_BUTTON ||
|
|
|
+ val === DEVICE_TYPE.SIMULATE_DOOR_LIGHT
|
|
|
+ },
|
|
|
+ /** 设备类型选中对应的空间结构 **/
|
|
|
+ deviceTypeChangeToFrameTypeChange(val) {
|
|
|
+ if (val === DEVICE_TYPE.NURSE_HOST ||
|
|
|
+ val === DEVICE_TYPE.DOCTOR_HOST ||
|
|
|
+ val === DEVICE_TYPE.LED_SCREEN ||
|
|
|
+ val === DEVICE_TYPE.LCD_SCREEN ||
|
|
|
+ val === DEVICE_TYPE.NURSE_WATCH ||
|
|
|
+ val === DEVICE_TYPE.WORKER_WATCH ||
|
|
|
+ val === DEVICE_TYPE.TRANSFER_DEVICE ||
|
|
|
+ val === DEVICE_TYPE.INFORMATION_BOARD ||
|
|
|
+ val === DEVICE_TYPE.RS485_TRANSFER) {
|
|
|
+ // this.getTypeFrame(this.$store.getters.partId, FRAME_TYPE.PART)
|
|
|
+ this.typeFrames = this.partFrameList
|
|
|
+ } else if (val === DEVICE_TYPE.DOOR_DEVICE ||
|
|
|
+ val === DEVICE_TYPE.SIMULATE_EMERGENCY_BUTTON ||
|
|
|
+ val === DEVICE_TYPE.SIMULATE_DOOR_LIGHT ||
|
|
|
+ val === DEVICE_TYPE.BEACON) {
|
|
|
+ // this.getTypeFrame(this.$store.getters.partId, FRAME_TYPE.ROOM)
|
|
|
+ this.typeFrames = this.roomFrameList
|
|
|
+ } else if (val === DEVICE_TYPE.DIGIT_BED_DEVICE ||
|
|
|
+ val === DEVICE_TYPE.SIMULATE_BED_DEVICE ||
|
|
|
+ val === DEVICE_TYPE.REMOTE_CONTROL ||
|
|
|
+ val === DEVICE_TYPE.CELL_PHONE) {
|
|
|
+ // this.getTypeFrame(this.$store.getters.partId, FRAME_TYPE.BED)
|
|
|
+ this.typeFrames = this.bedFrameList
|
|
|
+ }
|
|
|
},
|
|
|
/** 添加设备事件 **/
|
|
|
handleAdd() {
|
|
@@ -521,6 +605,8 @@ export default {
|
|
|
delete this.deviceModel.id
|
|
|
this.hasRoleId = false
|
|
|
this.getRoles({ page_size: 200, page_no: 1, fixedCondition: ' shop_id = -1', sort: ' role_id', dir: 'desc' })
|
|
|
+ this.hasAudioId = false
|
|
|
+ this.getDevices(this.$store.getters.partId)
|
|
|
this.deviceEditTitle = '添加设备'
|
|
|
this.deviceDialogVisible = true
|
|
|
this.deviceTypeDisabled = false // 新增设备可以选择设备类型
|
|
@@ -529,8 +615,12 @@ export default {
|
|
|
/** 修改设备 **/
|
|
|
handleEdit(params) {
|
|
|
this.getRoles({ page_size: 200, page_no: 1, fixedCondition: ' shop_id = -1', sort: ' role_id', dir: 'desc' })
|
|
|
+ this.getDevices(this.$store.getters.partId)
|
|
|
console.log('param', params)
|
|
|
- this.hasRoleId = params.device_type === 7
|
|
|
+ this.hasRoleId = params.device_type === DEVICE_TYPE.NURSE_WATCH
|
|
|
+ this.hasAudioId = params.device_type === DEVICE_TYPE.SIMULATE_BED_DEVICE ||
|
|
|
+ params.device_type === DEVICE_TYPE.SIMULATE_EMERGENCY_BUTTON ||
|
|
|
+ params.device_type === DEVICE_TYPE.SIMULATE_DOOR_LIGHT
|
|
|
this.deviceModel = {
|
|
|
...params
|
|
|
}
|
|
@@ -582,8 +672,16 @@ export default {
|
|
|
clerk_API.getRoles(param).then(response => {
|
|
|
this.rolesOptions = response.data
|
|
|
})
|
|
|
+ },
|
|
|
+ getDevices(partId) {
|
|
|
+ // 获取设备列表
|
|
|
+ API_Device.getDeviceByType(partId, DEVICE_TYPE.TRANSFER_DEVICE).then(response => {
|
|
|
+ this.audioOptions = response
|
|
|
+ })
|
|
|
+ API_Device.getDeviceByType(partId, DEVICE_TYPE.RS485_TRANSFER).then(response => {
|
|
|
+ this.rs485Options = response
|
|
|
+ })
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
</script>
|