|
|
@ -11,7 +11,7 @@ |
|
|
|
<el-select v-model="deviceType" class="filter-item" style="margin-left:10px" placeholder="全部" @change="crud.toQuery"> |
|
|
|
<el-option :key="0" label="全部" value="" /> |
|
|
|
<el-option v-for="item in deviceTypeOptions" :key="item.id" :label="item.name" :value="item.id" /> |
|
|
|
</el-select> <!-- --> |
|
|
|
</el-select> |
|
|
|
</template> |
|
|
|
<template v-slot:rightButtonGroup> |
|
|
|
<div class="archives-handler-btn"> |
|
|
@ -122,7 +122,7 @@ |
|
|
|
<span class="dialog-right-top" /> |
|
|
|
<span class="dialog-left-bottom" /> |
|
|
|
<div class="setting-dialog"> |
|
|
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px"> |
|
|
|
<el-form size="small" label-width="80px"> |
|
|
|
<el-form-item label="设备类型"> |
|
|
|
<el-select v-model="selectedDeviceType" style="width: 370px;"> |
|
|
|
<el-option v-for="item in deviceTypeOptions" :key="item.id" :label="item.name" :value="item.name" /> |
|
|
@ -140,23 +140,7 @@ |
|
|
|
<span class="dialog-right-top" /> |
|
|
|
<span class="dialog-left-bottom" /> |
|
|
|
<div class="setting-dialog"> |
|
|
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="140px"> |
|
|
|
<el-form-item label="当前电脑Mac地址"> |
|
|
|
<el-input v-model="currentMac" style="width: 370px;" :disabled="true" /> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<div slot="footer" class="dialog-footer"> |
|
|
|
<el-button type="primary" @click="dobindingMac()"> |
|
|
|
确定绑定 |
|
|
|
</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-dialog> |
|
|
|
<el-dialog :close-on-click-modal="false" :visible.sync="bindingMacVisible" title="绑定设备"> |
|
|
|
<span class="dialog-right-top" /> |
|
|
|
<span class="dialog-left-bottom" /> |
|
|
|
<div class="setting-dialog"> |
|
|
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="140px"> |
|
|
|
<el-form size="small" label-width="140px"> |
|
|
|
<el-form-item label="当前电脑Mac地址"> |
|
|
|
<el-input v-model="currentMac" style="width: 370px;" :disabled="true" /> |
|
|
|
</el-form-item> |
|
|
@ -173,17 +157,17 @@ |
|
|
|
<span class="right-top-line" /> |
|
|
|
<span class="left-bottom-line" /> |
|
|
|
<!--表格渲染--> |
|
|
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" highlight-current-row style="width: 100%;" @selection-change="selectionChangeHandler" @row-click="clickRowHandler"> |
|
|
|
<el-table-column align="center" type="selection" width="55" /> |
|
|
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" highlight-current-row style="width: 100%;" height="calc(100vh - 295px)" @selection-change="selectionChangeHandler" @row-click="clickRowHandler"> |
|
|
|
<el-table-column align="center" type="selection" width="50" /> |
|
|
|
<el-table-column align="center" type="index" label="序号" width="55" /> |
|
|
|
<el-table-column align="center" prop="storeroomId.name" label="所属区域" /> |
|
|
|
<el-table-column align="center" label="设备状态"> |
|
|
|
<el-table-column align="center" prop="storeroomId.name" label="所属区域" width="100" /> |
|
|
|
<el-table-column align="center" label="设备状态" width="100"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span :class="{ 'spk-a': scope.row.deviceState === 1 }" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column align="center" prop="deviceTypeId.name" label="设备类型" /> |
|
|
|
<el-table-column align="center" prop="supplierId.name" label="设备厂商" /> |
|
|
|
<el-table-column align="center" prop="supplierId.name" label="设备厂商" width="100" /> |
|
|
|
<el-table-column align="center" prop="deviceName" label="设备名称" /> |
|
|
|
<el-table-column align="center" label="设备ID"> |
|
|
|
<template slot-scope="scope"> |
|
|
@ -191,19 +175,19 @@ |
|
|
|
<span v-else>——</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column align="center" label="接口IP"> |
|
|
|
<el-table-column align="center" label="接口IP" width="120"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span v-if="scope.row.deviceIp"> {{ scope.row.deviceIp }} </span> |
|
|
|
<span v-else>——</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column align="center" label="端口"> |
|
|
|
<el-table-column align="center" label="端口" width="90"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span v-if="scope.row.devicePort"> {{ scope.row.devicePort }} </span> |
|
|
|
<span v-else>——</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column align="center" prop="dicExplain" label="绑定设备" /> |
|
|
|
<el-table-column align="center" prop="dicExplain" label="绑定设备" width="100" /> |
|
|
|
<el-table-column align="center" prop="dicExplain" label="绑定参数" /> |
|
|
|
</el-table> |
|
|
|
<!--分页组件--> |
|
|
@ -265,52 +249,7 @@ export default { |
|
|
|
selectDeviceTypeVisible: false, |
|
|
|
bindingMacVisible: false, |
|
|
|
currentMac: '', |
|
|
|
deviceTypeOptions: [ |
|
|
|
{ |
|
|
|
id: '89284777EFADA87FA342A7', |
|
|
|
name: '空调' |
|
|
|
}, |
|
|
|
{ |
|
|
|
id: 'DD656054BE3D1DF1E2F1FC', |
|
|
|
name: '密集架' |
|
|
|
}, |
|
|
|
{ |
|
|
|
id: '5643ED11723BBA5A4C1856', |
|
|
|
name: '回转柜' |
|
|
|
}, |
|
|
|
{ |
|
|
|
id: '65D1886B0F864291766421', |
|
|
|
name: '通道门' |
|
|
|
}, |
|
|
|
{ |
|
|
|
id: '7305DE3D273B0CAC079538', |
|
|
|
name: '摄像头' |
|
|
|
}, |
|
|
|
{ |
|
|
|
id: 'C09A1946216E496BB3FA88', |
|
|
|
name: '恒湿机' |
|
|
|
}, |
|
|
|
{ |
|
|
|
id: '250AE644EC43E4EC954A81', |
|
|
|
name: '漏水传感器' |
|
|
|
}, |
|
|
|
{ |
|
|
|
id: '7882487E0C15304A3758AF', |
|
|
|
name: '温湿度感应器' |
|
|
|
}, |
|
|
|
{ |
|
|
|
id: 'E58C8D7C896BCB9A408A78', |
|
|
|
name: '空气质量检测设备' |
|
|
|
}, |
|
|
|
{ |
|
|
|
id: 'E2767FEACA9CE0E3B16B89', |
|
|
|
name: '桌面式RFID读写器' |
|
|
|
}, |
|
|
|
{ |
|
|
|
id: '3B85FA21FDAFBB618B5D40', |
|
|
|
name: '手持式RFID读写器' |
|
|
|
} |
|
|
|
], |
|
|
|
deviceTypeOptions: [], |
|
|
|
selectedDeviceType: '密集架', // 选择添加的设备种类 |
|
|
|
supplierOptions: [] // 厂商 |
|
|
|
} |
|
|
@ -325,7 +264,7 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
isInsidedevices() { |
|
|
|
if (this.selectedDeviceType === '空调' || this.selectedDeviceType === '桌面式RFID读写器' || this.selectedDeviceType === '盘点机' || this.selectedDeviceType === '恒湿机' || this.selectedDeviceType === '漏水传感器' || this.selectedDeviceType === '温湿度感应器' || this.selectedDeviceType === '空气质监测' || this.selectedDeviceType === '漏水传感器') { |
|
|
|
if (this.selectedDeviceType === '空调' || this.selectedDeviceType === '桌面式RFID读写器' || this.selectedDeviceType === '盘点机' || this.selectedDeviceType === '恒湿机' || this.selectedDeviceType === '漏水传感器' || this.selectedDeviceType === '温湿度感应器' || this.selectedDeviceType === '空气质量检测设备' || this.selectedDeviceType === '漏水传感器') { |
|
|
|
return true |
|
|
|
} else { |
|
|
|
return false |
|
|
@ -424,19 +363,27 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
created() { |
|
|
|
// this.crud.data = [ |
|
|
|
// { id: 'DF333EF5B14634550D6898' }, |
|
|
|
// { id: 'AEBC0ABC616E66544B82AC' }, |
|
|
|
// { id: '9027E25364729064673FCC' } |
|
|
|
// ] |
|
|
|
crudDevice.getDeviceType().then((data) => { |
|
|
|
this.deviceTypeOptions.splice(0, 0, ...data) |
|
|
|
}) |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
// [CRUD.HOOK.afterSubmit]() { |
|
|
|
// this.needRefreshTree = true |
|
|
|
// }, |
|
|
|
// [CRUD.HOOK.afterDelete]() { |
|
|
|
// this.needRefreshTree = true |
|
|
|
// }, |
|
|
|
// 设备是密集架或回转柜时,需要先处理 联动操作,回调操作 数据是null的情况 |
|
|
|
[CRUD.HOOK.beforeToEdit](crud, form) { |
|
|
|
// if (form.deviceTypeId.name === '密集架' || form.deviceTypeId.name === '回转柜') { |
|
|
|
if (form.isLinkage === null) { |
|
|
|
form.isLinkage = { stateType: 1, lend: false, borrow: false, inBound: false, outBound: false } |
|
|
|
} |
|
|
|
if (form.isCallback === null) { |
|
|
|
form.isCallback = { stateType: 2, lend: false, borrow: false, inBound: false, outBound: false } |
|
|
|
} |
|
|
|
// } |
|
|
|
form.supplier = form.supplierId.id |
|
|
|
this.selectedDeviceType = form.deviceTypeId.name |
|
|
|
}, |
|
|
|
[CRUD.HOOK.beforeSubmit]() { |
|
|
|
this.crud.form.storeroomId = this.storeroomId |
|
|
|
this.crud.form.supplierId = this.supplierOptions.find(item => item.id === this.crud.form.supplier) |
|
|
@ -518,9 +465,9 @@ export default { |
|
|
|
<style rel="stylesheet/scss" lang="scss" scoped> |
|
|
|
.archives-handler-btn { |
|
|
|
.el-button { |
|
|
|
padding: 0 13px 0 3px; |
|
|
|
padding: 0 13px 0 13px; |
|
|
|
::v-deep span { |
|
|
|
margin-left: 5px; |
|
|
|
margin-left: 10px; |
|
|
|
} |
|
|
|
&.binding-mac-btn { |
|
|
|
border-color: #fd8042; |
|
|
@ -543,7 +490,7 @@ export default { |
|
|
|
// } |
|
|
|
} |
|
|
|
.iconfont { |
|
|
|
line-height: 30px; |
|
|
|
line-height: 28px; |
|
|
|
} |
|
|
|
margin-left: auto; |
|
|
|
} |
|
|
|