|  | @ -11,7 +11,7 @@ | 
		
	
		
			
				|  |  |           <el-select v-model="deviceType" class="filter-item" style="margin-left:10px" placeholder="全部" @change="crud.toQuery"> |  |  |           <el-select v-model="deviceType" class="filter-item" style="margin-left:10px" placeholder="全部" @change="crud.toQuery"> | 
		
	
		
			
				|  |  |             <el-option :key="0" label="全部" value="" /> |  |  |             <el-option :key="0" label="全部" value="" /> | 
		
	
		
			
				|  |  |             <el-option v-for="item in deviceTypeOptions" :key="item.id" :label="item.name" :value="item.id" /> |  |  |             <el-option v-for="item in deviceTypeOptions" :key="item.id" :label="item.name" :value="item.id" /> | 
		
	
		
			
				|  |  |           </el-select> <!-- --> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |           </el-select> | 
		
	
		
			
				|  |  |         </template> |  |  |         </template> | 
		
	
		
			
				|  |  |         <template v-slot:rightButtonGroup> |  |  |         <template v-slot:rightButtonGroup> | 
		
	
		
			
				|  |  |           <div class="archives-handler-btn"> |  |  |           <div class="archives-handler-btn"> | 
		
	
	
		
			
				|  | @ -122,7 +122,7 @@ | 
		
	
		
			
				|  |  |       <span class="dialog-right-top" /> |  |  |       <span class="dialog-right-top" /> | 
		
	
		
			
				|  |  |       <span class="dialog-left-bottom" /> |  |  |       <span class="dialog-left-bottom" /> | 
		
	
		
			
				|  |  |       <div class="setting-dialog"> |  |  |       <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-form-item label="设备类型"> | 
		
	
		
			
				|  |  |             <el-select v-model="selectedDeviceType" style="width: 370px;"> |  |  |             <el-select v-model="selectedDeviceType" style="width: 370px;"> | 
		
	
		
			
				|  |  |               <el-option v-for="item in deviceTypeOptions" :key="item.id" :label="item.name" :value="item.name" /> |  |  |               <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-right-top" /> | 
		
	
		
			
				|  |  |       <span class="dialog-left-bottom" /> |  |  |       <span class="dialog-left-bottom" /> | 
		
	
		
			
				|  |  |       <div class="setting-dialog"> |  |  |       <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-form-item label="当前电脑Mac地址"> | 
		
	
		
			
				|  |  |             <el-input v-model="currentMac" style="width: 370px;" :disabled="true" /> |  |  |             <el-input v-model="currentMac" style="width: 370px;" :disabled="true" /> | 
		
	
		
			
				|  |  |           </el-form-item> |  |  |           </el-form-item> | 
		
	
	
		
			
				|  | @ -173,17 +157,17 @@ | 
		
	
		
			
				|  |  |       <span class="right-top-line" /> |  |  |       <span class="right-top-line" /> | 
		
	
		
			
				|  |  |       <span class="left-bottom-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" 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"> |  |  |           <template slot-scope="scope"> | 
		
	
		
			
				|  |  |             <span :class="{ 'spk-a': scope.row.deviceState === 1 }" /> |  |  |             <span :class="{ 'spk-a': scope.row.deviceState === 1 }" /> | 
		
	
		
			
				|  |  |           </template> |  |  |           </template> | 
		
	
		
			
				|  |  |         </el-table-column> |  |  |         </el-table-column> | 
		
	
		
			
				|  |  |         <el-table-column align="center" prop="deviceTypeId.name" label="设备类型" /> |  |  |         <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" prop="deviceName" label="设备名称" /> | 
		
	
		
			
				|  |  |         <el-table-column align="center" label="设备ID"> |  |  |         <el-table-column align="center" label="设备ID"> | 
		
	
		
			
				|  |  |           <template slot-scope="scope"> |  |  |           <template slot-scope="scope"> | 
		
	
	
		
			
				|  | @ -191,19 +175,19 @@ | 
		
	
		
			
				|  |  |             <span v-else>——</span> |  |  |             <span v-else>——</span> | 
		
	
		
			
				|  |  |           </template> |  |  |           </template> | 
		
	
		
			
				|  |  |         </el-table-column> |  |  |         </el-table-column> | 
		
	
		
			
				|  |  |         <el-table-column align="center" label="接口IP"> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |         <el-table-column align="center" label="接口IP" width="120"> | 
		
	
		
			
				|  |  |           <template slot-scope="scope"> |  |  |           <template slot-scope="scope"> | 
		
	
		
			
				|  |  |             <span v-if="scope.row.deviceIp"> {{ scope.row.deviceIp }} </span> |  |  |             <span v-if="scope.row.deviceIp"> {{ scope.row.deviceIp }} </span> | 
		
	
		
			
				|  |  |             <span v-else>——</span> |  |  |             <span v-else>——</span> | 
		
	
		
			
				|  |  |           </template> |  |  |           </template> | 
		
	
		
			
				|  |  |         </el-table-column> |  |  |         </el-table-column> | 
		
	
		
			
				|  |  |         <el-table-column align="center" label="端口"> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |         <el-table-column align="center" label="端口" width="90"> | 
		
	
		
			
				|  |  |           <template slot-scope="scope"> |  |  |           <template slot-scope="scope"> | 
		
	
		
			
				|  |  |             <span v-if="scope.row.devicePort"> {{ scope.row.devicePort }} </span> |  |  |             <span v-if="scope.row.devicePort"> {{ scope.row.devicePort }} </span> | 
		
	
		
			
				|  |  |             <span v-else>——</span> |  |  |             <span v-else>——</span> | 
		
	
		
			
				|  |  |           </template> |  |  |           </template> | 
		
	
		
			
				|  |  |         </el-table-column> |  |  |         </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-column align="center" prop="dicExplain" label="绑定参数" /> | 
		
	
		
			
				|  |  |       </el-table> |  |  |       </el-table> | 
		
	
		
			
				|  |  |       <!--分页组件--> |  |  |       <!--分页组件--> | 
		
	
	
		
			
				|  | @ -265,52 +249,7 @@ export default { | 
		
	
		
			
				|  |  |       selectDeviceTypeVisible: false, |  |  |       selectDeviceTypeVisible: false, | 
		
	
		
			
				|  |  |       bindingMacVisible: false, |  |  |       bindingMacVisible: false, | 
		
	
		
			
				|  |  |       currentMac: '', |  |  |       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: '密集架', // 选择添加的设备种类 |  |  |       selectedDeviceType: '密集架', // 选择添加的设备种类 | 
		
	
		
			
				|  |  |       supplierOptions: [] // 厂商 |  |  |       supplierOptions: [] // 厂商 | 
		
	
		
			
				|  |  |     } |  |  |     } | 
		
	
	
		
			
				|  | @ -325,7 +264,7 @@ export default { | 
		
	
		
			
				|  |  |       } |  |  |       } | 
		
	
		
			
				|  |  |     }, |  |  |     }, | 
		
	
		
			
				|  |  |     isInsidedevices() { |  |  |     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 |  |  |         return true | 
		
	
		
			
				|  |  |       } else { |  |  |       } else { | 
		
	
		
			
				|  |  |         return false |  |  |         return false | 
		
	
	
		
			
				|  | @ -424,19 +363,27 @@ export default { | 
		
	
		
			
				|  |  |     } |  |  |     } | 
		
	
		
			
				|  |  |   }, |  |  |   }, | 
		
	
		
			
				|  |  |   created() { |  |  |   created() { | 
		
	
		
			
				|  |  |     // this.crud.data = [ |  |  |  | 
		
	
		
			
				|  |  |     //   { id: 'DF333EF5B14634550D6898' }, |  |  |  | 
		
	
		
			
				|  |  |     //   { id: 'AEBC0ABC616E66544B82AC' }, |  |  |  | 
		
	
		
			
				|  |  |     //   { id: '9027E25364729064673FCC' } |  |  |  | 
		
	
		
			
				|  |  |     // ] |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     crudDevice.getDeviceType().then((data) => { | 
		
	
		
			
				|  |  |  |  |  |       this.deviceTypeOptions.splice(0, 0, ...data) | 
		
	
		
			
				|  |  |  |  |  |     }) | 
		
	
		
			
				|  |  |   }, |  |  |   }, | 
		
	
		
			
				|  |  |   methods: { |  |  |   methods: { | 
		
	
		
			
				|  |  |     // [CRUD.HOOK.afterSubmit]() { |  |  |     // [CRUD.HOOK.afterSubmit]() { | 
		
	
		
			
				|  |  |     //   this.needRefreshTree = true |  |  |     //   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]() { |  |  |     [CRUD.HOOK.beforeSubmit]() { | 
		
	
		
			
				|  |  |       this.crud.form.storeroomId = this.storeroomId |  |  |       this.crud.form.storeroomId = this.storeroomId | 
		
	
		
			
				|  |  |       this.crud.form.supplierId = this.supplierOptions.find(item => item.id === this.crud.form.supplier) |  |  |       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> |  |  | <style rel="stylesheet/scss" lang="scss" scoped> | 
		
	
		
			
				|  |  | .archives-handler-btn { |  |  | .archives-handler-btn { | 
		
	
		
			
				|  |  |   .el-button { |  |  |   .el-button { | 
		
	
		
			
				|  |  |     padding: 0 13px 0 3px; |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     padding: 0 13px 0 13px; | 
		
	
		
			
				|  |  |     ::v-deep span { |  |  |     ::v-deep span { | 
		
	
		
			
				|  |  |       margin-left: 5px; |  |  |  | 
		
	
		
			
				|  |  |  |  |  |       margin-left: 10px; | 
		
	
		
			
				|  |  |     } |  |  |     } | 
		
	
		
			
				|  |  |     &.binding-mac-btn { |  |  |     &.binding-mac-btn { | 
		
	
		
			
				|  |  |       border-color: #fd8042; |  |  |       border-color: #fd8042; | 
		
	
	
		
			
				|  | @ -543,7 +490,7 @@ export default { | 
		
	
		
			
				|  |  |     // } |  |  |     // } | 
		
	
		
			
				|  |  |   } |  |  |   } | 
		
	
		
			
				|  |  |   .iconfont { |  |  |   .iconfont { | 
		
	
		
			
				|  |  |     line-height: 30px; |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     line-height: 28px; | 
		
	
		
			
				|  |  |   } |  |  |   } | 
		
	
		
			
				|  |  |   margin-left: auto; |  |  |   margin-left: auto; | 
		
	
		
			
				|  |  | } |  |  | } | 
		
	
	
		
			
				|  | 
 |